2010-05-29  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Darin Adler.

        Check if a CC environment variable is defined before hard-coding gcc's
        path. Simply hard-coding it breaks cross-compilation and Linux
        distributions with more than one gcc installed (or not in the default
        path).
        https://bugs.webkit.org/show_bug.cgi?id=35551

        No new functionality, so no new tests.

        * bindings/scripts/CodeGeneratorObjC.pm:
        * bindings/scripts/IDLParser.pm:
        * dom/make_names.pl:

2010-05-29  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: [REGRESSION] caller locations are not shown on Timeline Panel.

        https://bugs.webkit.org/show_bug.cgi?id=39923

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.FormattedRecord):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):

2010-05-29  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 parser should block script execution until stylesheets load
        https://bugs.webkit.org/show_bug.cgi?id=39903

        All <script> tag execution now blocks on stylesheet load, including
        inline <script> content which the old parser doesn't support blocking.

        Hyatt says we could now get rid of updateLayoutIgnorePendingStylesheets
        once our primary parser knows how to wait for stylesheets
        before executing inline <script> content.

        All of http/tests/local passes in --html5-parser mode now.
        Also fixed fast/parser/tokenizer-close-during-document-write.html.

        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
         - Added a m_hasScriptsWaitingForStylesheets bool so that we can
           detect when we're actually waiting on stylesheets or not.
           If we're not waiting on stylesheets then we're still parsing and
           executing scripts would cause parser/script reentrancy and bad news bears.
        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
         - Re-enable the check that the stylesheets have loaded.
        (WebCore::HTML5ScriptRunner::executePendingScript):
         - ASSERT that stylesheets have loaded.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
         - ASSERT that this is never called reentrantly.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
         - Execute any scripts which were blocked on stylesheet loads.
         - ASSERT (in two ways) that this is never called reentrantly.
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::hasScriptsWaitingForStylesheets):
         - Callers need to check this before calling executeScriptsWaitingForLoad.
        (WebCore::HTML5ScriptRunner::inScriptExecution):
         - Used by callers to ASSERT that we're not called re-entrantly.
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
         - Add m_hasScriptsWaitingForStylesheets for tracking if we've paused
           due to stylesheets or not.  Callers need to know this to know if they
           should ignore executeScriptsWaitingForStylesheets calls from
           Document (which may be generated when parsing </script> tags).
           We only care about executeScriptsWaitingForStylesheets calls when
           we've actually blocked the parser due to waiting on a stylesheet load.
        (WebCore::HTML5Tokenizer::end):
         - Move m_source.close() back to this method now that I understand more
           about when finish() is called.  This should fix several layout test ASSERTS.
        (WebCore::HTML5Tokenizer::finish):
         - This should not close m_source since scripts may still write to
           the document.  Set m_wasWaitingOnScriptsDuringFinish to indicate
           that we were not able to end parsing during finish.
        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
         - ASSERT that this is never caller re-entrantly.
        (WebCore::HTML5Tokenizer::executeScript):
         - ASSERT that the ScriptRunner always thinks we're running scripts when this is called.
        (WebCore::HTML5Tokenizer::executingScript):
         - Added implementation to fix fast/parser/tokenizer-close-during-document-write.html
        (WebCore::HTML5Tokenizer::notifyFinished):
         - ASSERT that this is never called re-entrantly.
        (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
         - Call the ScriptRunner to tell it that stylesheets have loaded if
           it is blocked on stylesheet loads.
         - ASSERT(m_hasScriptsWaitingForStylesheets).  We can't just assert
           isPaused() since we may be paused for script loads.
        * html/HTML5Tokenizer.h:

2010-05-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Darin Adler.

        Remove set but never used variables
        https://bugs.webkit.org/show_bug.cgi?id=35252

        No new tests as there is no new functionality.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::lastChildConsideringContinuation):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFontFaceUnicodeRange):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::loadManifestHostHashes):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleWheelEvent):
        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::getTimeToNextEvent):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::layout):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::calcInlinePrefWidths):
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::createClipData):
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::canEstablishDatabase):

2010-05-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60405.
        http://trac.webkit.org/changeset/60405
        https://bugs.webkit.org/show_bug.cgi?id=39921

        It broke GTK build. (Requested by Ossy on #webkit).

        * dom/Node.cpp:
        (WebCore::Node::getElementsByTagName):
        (WebCore::Node::getElementsByTagNameNS):
        * dom/Node.h:

2010-05-29  Anton Muhin  <antonm@chromium.org>

        Reviewed by Darin Adler.

        Make NodeList getters take AtomicString instead of plain String
        https://bugs.webkit.org/show_bug.cgi?id=39892

        Those methods turn String into AtomicString later.  And this conversion
        is faster if underlying string is already atomic.
        That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
        I don't know if Safari benefits from it.

        * dom/Node.cpp:
        (WebCore::Node::getElementsByTagName):
        (WebCore::Node::getElementsByTagNameNS):
        * dom/Node.h:

2010-05-29  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Allow descendant frame navigation for file URLs when allowFileAccessFromFileURLs is false
        https://bugs.webkit.org/show_bug.cgi?id=39750

        Fix for local HTML package breakage when each file is its own origin. 
        In this case we should allow descendant file: frames to navigate each 
        other when they share the same top frame.

        Test: fast/frames/location-change-no-file-access.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::shouldAllowNavigation):

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Updated for ArgList changes.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Updated for ArgList changes.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Updated for ArgList changes.

        * bridge/qt/qt_pixmapruntime.cpp:
        (JSC::Bindings::QtPixmapInstance::invokeMethod):
        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::findMethodIndex):
        (JSC::Bindings::QtRuntimeMetaMethod::call):
        (JSC::Bindings::QtRuntimeConnectionMethod::call):
        * bridge/qt/qt_runtime.h:

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Updated for ArgList changes.

        * bridge/qt/qt_pixmapruntime.cpp:
        (JSC::Bindings::QtPixmapAssignToElementMethod::invoke):
        (JSC::Bindings::QtPixmapToDataUrlMethod::invoke):
        (JSC::Bindings::QtPixmapToStringMethod::invoke):
        (JSC::Bindings::QtPixmapInstance::invokeMethod):
        * bridge/qt/qt_pixmapruntime.h:

2010-05-29  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Keep this borken class limping along.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::invokeMethod):
        * bridge/qt/qt_instance.h:

2010-05-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.

        Simplified the host calling convention.

        PART ONE: Functional code changes.
        
        [ None in WebCore ]
        
        PART TWO: Global search and replace.
        
        In the areas below, I used global search-and-replace to change
            (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
            args.size() => exec->argumentCount()
            args.at(i) => exec->argument(i)

        * bindings/js/JSArrayBufferViewCustom.cpp:
        (WebCore::JSArrayBufferView::slice):
        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::setWebGLArrayHelper):
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::setFillColor):
        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
        (WebCore::JSCanvasRenderingContext2D::strokeRect):
        (WebCore::JSCanvasRenderingContext2D::drawImage):
        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
        (WebCore::JSCanvasRenderingContext2D::setShadow):
        (WebCore::JSCanvasRenderingContext2D::createPattern):
        (WebCore::JSCanvasRenderingContext2D::createImageData):
        (WebCore::JSCanvasRenderingContext2D::putImageData):
        (WebCore::JSCanvasRenderingContext2D::fillText):
        (WebCore::JSCanvasRenderingContext2D::strokeText):
        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::clearData):
        (WebCore::JSClipboard::getData):
        (WebCore::JSClipboard::setDragImage):
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::hasItem):
        (WebCore::JSDOMApplicationCache::add):
        (WebCore::JSDOMApplicationCache::remove):
        * bindings/js/JSDOMFormDataCustom.cpp:
        (WebCore::JSDOMFormData::append):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::open):
        (WebCore::JSDOMWindow::showModalDialog):
        (WebCore::JSDOMWindow::postMessage):
        (WebCore::JSDOMWindow::setTimeout):
        (WebCore::JSDOMWindow::setInterval):
        (WebCore::JSDOMWindow::addEventListener):
        (WebCore::JSDOMWindow::removeEventListener):
        (WebCore::JSDOMWindow::openDatabase):
        * bindings/js/JSDatabaseCustom.cpp:
        (WebCore::JSDatabase::changeVersion):
        (WebCore::createTransaction):
        (WebCore::JSDatabase::transaction):
        (WebCore::JSDatabase::readTransaction):
        * bindings/js/JSDatabaseSyncCustom.cpp:
        (WebCore::JSDatabaseSync::changeVersion):
        (WebCore::createTransaction):
        (WebCore::JSDatabaseSync::transaction):
        (WebCore::JSDatabaseSync::readTransaction):
        * bindings/js/JSDedicatedWorkerContextCustom.cpp:
        (WebCore::JSDedicatedWorkerContext::postMessage):
        * bindings/js/JSDesktopNotificationsCustom.cpp:
        (WebCore::JSNotificationCenter::requestPermission):
        * bindings/js/JSFloatArrayCustom.cpp:
        (WebCore::JSFloatArray::set):
        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::JSGeolocation::getCurrentPosition):
        (WebCore::JSGeolocation::watchPosition):
        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        (WebCore::callHTMLAllCollection):
        (WebCore::JSHTMLAllCollection::item):
        (WebCore::JSHTMLAllCollection::namedItem):
        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::getContext):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::callHTMLCollection):
        (WebCore::JSHTMLCollection::item):
        (WebCore::JSHTMLCollection::namedItem):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        (WebCore::documentWrite):
        (WebCore::JSHTMLDocument::write):
        (WebCore::JSHTMLDocument::writeln):
        * bindings/js/JSHTMLInputElementCustom.cpp:
        (WebCore::JSHTMLInputElement::setSelectionRange):
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::add):
        (WebCore::JSHTMLOptionsCollection::remove):
        * bindings/js/JSHTMLSelectElementCustom.cpp:
        (WebCore::JSHTMLSelectElement::remove):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::pushState):
        (WebCore::JSHistory::replaceState):
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::databaseForId):
        (WebCore::JSInjectedScriptHost::currentCallFrame):
        (WebCore::JSInjectedScriptHost::nodeForId):
        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
        (WebCore::JSInjectedScriptHost::selectDatabase):
        (WebCore::JSInjectedScriptHost::selectDOMStorage):
        (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        (WebCore::JSInspectorFrontendHost::platform):
        (WebCore::JSInspectorFrontendHost::port):
        (WebCore::JSInspectorFrontendHost::showContextMenu):
        * bindings/js/JSInt16ArrayCustom.cpp:
        (WebCore::JSInt16Array::set):
        * bindings/js/JSInt32ArrayCustom.cpp:
        (WebCore::JSInt32Array::set):
        * bindings/js/JSInt8ArrayCustom.cpp:
        (WebCore::JSInt8Array::set):
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::evaluate):
        (WebCore::JSJavaScriptCallFrame::scopeType):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::replace):
        (WebCore::JSLocation::reload):
        (WebCore::JSLocation::assign):
        (WebCore::JSLocation::toString):
        * bindings/js/JSMessageEventCustom.cpp:
        (WebCore::JSMessageEvent::initMessageEvent):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::postMessage):
        * bindings/js/JSMessagePortCustom.h:
        (WebCore::handlePostMessage):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::insertBefore):
        (WebCore::JSNode::replaceChild):
        (WebCore::JSNode::removeChild):
        (WebCore::JSNode::appendChild):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::callNodeList):
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::callPlugin):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/JSSQLTransactionCustom.cpp:
        (WebCore::JSSQLTransaction::executeSql):
        * bindings/js/JSSQLTransactionSyncCustom.cpp:
        (WebCore::JSSQLTransactionSync::executeSql):
        * bindings/js/JSSVGLengthCustom.cpp:
        (WebCore::JSSVGLength::convertToSpecifiedUnits):
        * bindings/js/JSSVGMatrixCustom.cpp:
        (WebCore::JSSVGMatrix::multiply):
        (WebCore::JSSVGMatrix::inverse):
        (WebCore::JSSVGMatrix::rotateFromVector):
        * bindings/js/JSSVGPODListCustom.h:
        (WebCore::JSSVGPODListCustom::clear):
        (WebCore::JSSVGPODListCustom::initialize):
        (WebCore::JSSVGPODListCustom::getItem):
        (WebCore::JSSVGPODListCustom::insertItemBefore):
        (WebCore::JSSVGPODListCustom::replaceItem):
        (WebCore::JSSVGPODListCustom::removeItem):
        (WebCore::JSSVGPODListCustom::appendItem):
        * bindings/js/JSSVGPathSegListCustom.cpp:
        (WebCore::JSSVGPathSegList::clear):
        (WebCore::JSSVGPathSegList::initialize):
        (WebCore::JSSVGPathSegList::getItem):
        (WebCore::JSSVGPathSegList::insertItemBefore):
        (WebCore::JSSVGPathSegList::replaceItem):
        (WebCore::JSSVGPathSegList::removeItem):
        (WebCore::JSSVGPathSegList::appendItem):
        * bindings/js/JSUint16ArrayCustom.cpp:
        (WebCore::JSUint16Array::set):
        * bindings/js/JSUint32ArrayCustom.cpp:
        (WebCore::JSUint32Array::set):
        * bindings/js/JSUint8ArrayCustom.cpp:
        (WebCore::JSUint8Array::set):
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::bufferData):
        (WebCore::JSWebGLRenderingContext::bufferSubData):
        (WebCore::getObjectParameter):
        (WebCore::JSWebGLRenderingContext::getBufferParameter):
        (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::JSWebGLRenderingContext::getParameter):
        (WebCore::JSWebGLRenderingContext::getProgramParameter):
        (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
        (WebCore::JSWebGLRenderingContext::getShaderParameter):
        (WebCore::JSWebGLRenderingContext::getTexParameter):
        (WebCore::JSWebGLRenderingContext::getUniform):
        (WebCore::JSWebGLRenderingContext::getVertexAttrib):
        (WebCore::JSWebGLRenderingContext::texImage2D):
        (WebCore::JSWebGLRenderingContext::texSubImage2D):
        (WebCore::dataFunctionf):
        (WebCore::dataFunctioni):
        (WebCore::dataFunctionMatrix):
        (WebCore::JSWebGLRenderingContext::uniform1fv):
        (WebCore::JSWebGLRenderingContext::uniform1iv):
        (WebCore::JSWebGLRenderingContext::uniform2fv):
        (WebCore::JSWebGLRenderingContext::uniform2iv):
        (WebCore::JSWebGLRenderingContext::uniform3fv):
        (WebCore::JSWebGLRenderingContext::uniform3iv):
        (WebCore::JSWebGLRenderingContext::uniform4fv):
        (WebCore::JSWebGLRenderingContext::uniform4iv):
        (WebCore::JSWebGLRenderingContext::uniformMatrix2fv):
        (WebCore::JSWebGLRenderingContext::uniformMatrix3fv):
        (WebCore::JSWebGLRenderingContext::uniformMatrix4fv):
        (WebCore::JSWebGLRenderingContext::vertexAttrib1fv):
        (WebCore::JSWebGLRenderingContext::vertexAttrib2fv):
        (WebCore::JSWebGLRenderingContext::vertexAttrib3fv):
        (WebCore::JSWebGLRenderingContext::vertexAttrib4fv):
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocket::send):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::importScripts):
        (WebCore::JSWorkerContext::setTimeout):
        (WebCore::JSWorkerContext::setInterval):
        (WebCore::JSWorkerContext::openDatabase):
        (WebCore::JSWorkerContext::openDatabaseSync):
        * bindings/js/JSWorkerCustom.cpp:
        (WebCore::JSWorker::postMessage):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::open):
        (WebCore::JSXMLHttpRequest::send):
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessor::importStylesheet):
        (WebCore::JSXSLTProcessor::transformToFragment):
        (WebCore::JSXSLTProcessor::transformToDocument):
        (WebCore::JSXSLTProcessor::setParameter):
        (WebCore::JSXSLTProcessor::getParameter):
        (WebCore::JSXSLTProcessor::removeParameter):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/js/ScheduledAction.h:
        * bindings/js/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        * bindings/js/ScriptCallFrame.h:
        * bindings/js/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::ScriptCallStack):
        (WebCore::ScriptCallStack::initialize):
        * bindings/js/ScriptCallStack.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::invokeMethod):
        (JSC::Bindings::CInstance::invokeDefaultMethod):
        * bridge/c/c_instance.h:
        * bridge/jni/jsc/JavaInstanceJSC.cpp:
        (JavaInstance::invokeMethod):
        * bridge/jni/jsc/JavaInstanceJSC.h:
        * bridge/jsc/BridgeJSC.h:
        (JSC::Bindings::Instance::invokeDefaultMethod):
        * bridge/objc/objc_instance.h:
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::invokeMethod):
        (ObjcInstance::invokeObjcMethod):
        (ObjcInstance::invokeDefaultMethod):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::callObjCFallbackObject):
        * bridge/runtime_method.cpp:
        (JSC::callRuntimeMethod):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::callRuntimeObject):

2010-05-28  Stephen White  <senorblanco@chromium.org>

        Reviewed by Darin Fisher.

        Implement GraphicsContext::setImageInterpolation() for the Chromium
        port.  This is preparatory work for bug 38233.  A number of
        background-resize tests will need a rebaseline, since the images are
        taken during the initial "low quality" phase (<800ms).

        [CHROMIUM] Chromium port should support image interpolation quality
        https://bugs.webkit.org/show_bug.cgi?id=38686

        Covered by fast/backgrounds/size/backgroundSize15.html, and others.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        Implement WebCore::GraphicsContext::setImageInterpolationQuality.
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::computeResamplingMode):  Only enable high quality
        interpolation if it has been requested in the GraphicsContext.
        (WebCore::drawResampledBitmap):  Enable cacheing of resampled images
        even if the size is not full (fix from Brett Wilson).
        (WebCore::paintSkBitmap):  Pass in the PlatformContextSkia to
        computeResamplingMode, so it can query it for interpolation quality.
        (WebCore::Image::drawPattern):  Ibid.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::State::State):
        (PlatformContextSkia::interpolationQuality):
        (PlatformContextSkia::setInterpolationQuality):
        * platform/graphics/skia/PlatformContextSkia.h:
        Add a member fn and accessors to retain the image interpolation quality
        in the platform context, and to save/restore it with the state.

2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Remove compiler warnings about uninitialized variable.
        https://bugs.webkit.org/show_bug.cgi?id=39871

        No new tests, just cosmetic changes.

        * platform/efl/WidgetEfl.cpp:
        (WebCore::Widget::applyCursor):

2010-05-28  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        Prevent chromium composited layers from rendering on top of the scrollbars.
        https://bugs.webkit.org/show_bug.cgi?id=39851

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayers):

2010-05-28  Aaron Boodman  <aa@chromium.org>

        Reviewed by Darin Fisher.

        Added isXHTMLDocument() to WebCore::Document.

        https://bugs.webkit.org/show_bug.cgi?id=39887

        * dom/Document.h: Add isXHTMLDocument().
        (WebCore::Document::isXHTMLDocument): Ditto.

2010-05-28  Peter Kasting  <pkasting@google.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=39857
        Make GIFs loop the correct number of times.  Previously, everyone looped
        one time too few for non-infinitely-looping GIFs.

        Modified a Qt manual test to be correct and moved it to the general
        manual test directory.

        * manual-tests/animated-gif-looping.html: Copied from WebCore/manual-tests/qt/qt-gif-test.html.
        * manual-tests/qt/qt-10loop-anim.gif: Removed.
        * manual-tests/qt/qt-anim.gif: Removed.
        * manual-tests/qt/qt-gif-test.html: Removed.
        * manual-tests/qt/qt-noanim.gif: Removed.
        * manual-tests/resources/animated-10x.gif: Copied from WebCore/manual-tests/qt/qt-10loop-anim.gif and modified.
        * manual-tests/resources/animated-infinite.gif: Copied from WebCore/manual-tests/qt/qt-anim.gif.
        * manual-tests/resources/non-animated.gif: Copied from WebCore/manual-tests/qt/qt-noanim.gif.
        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::internalAdvanceAnimation): For a loop count of n, show a total of n + 1 animation cycles.
        * platform/graphics/ImageSource.h:
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::repetitionCount):
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::repetitionCount): Remove translation code now that WebCore matches Qt's internal handling of the loop count.  Qt itself may still have a bug here.
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::repetitionCount):
        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::read): Translate loop count 0 to "loop infinitely" (by restoring one piece of the Mozilla code we'd removed).

2010-05-28  Ben Murdoch  <benm@google.com>

        Reviewed by Darin Adler.

        openFile(...) in FIleSystemPOSIX does not call fileSystemRepresentation
        https://bugs.webkit.org/show_bug.cgi?id=39882

        No new tests. Existing tests in fast/files should suffice.

        * platform/posix/FileSystemPOSIX.cpp:
        (WebCore::openFile): pass the path parameter through fileSystemRepresentation before using it.

2010-05-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Named entities in attributes aren't parsed correctly by HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39873

        I misplaced this if statement when writing this code originally.  Now
        that we have test coverage for this paragraph in the spec, we can see
        and fix the bug.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::consumeEntity):

2010-05-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Handle edge cases in HTML5 entity parsing
        https://bugs.webkit.org/show_bug.cgi?id=39823

        The HTML5 specification tells us to handle HTML entities in a somewhat
        complicated way.  This patch attempts to correctly handle numeric
        entities.  Some of this code is duplicated from HTMLTokenizer.

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::):
        (WebCore::HTMLNames::adjustEntity):
        (WebCore::HTMLNames::legalEntityFor):
        (WebCore::HTML5Lexer::consumeEntity):
        (WebCore::HTML5Lexer::processEntity):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::emitCodePoint):
        * html/HTML5Lexer.h:

2010-05-28  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: stop prepping value conversion in accessibilityAttributeValueForParameter
        https://bugs.webkit.org/show_bug.cgi?id=39880

        Cleaning up a FIXME so that all values are not converted before they're needed in accessibilityAttributeValue:forParameter:

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (visiblePositionForTextMarker):
        (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2010-05-28  Adam Treat  <atreat@rim.com>

        Reviewed by Daniel Bates.

        RIM Bug #293 and https://bugs.webkit.org/show_bug.cgi?id=39859

        Layout is not dependent upon ScrollView::frameRect when useFixedLayout
        is true.  No reason to set the needs layout flag in this case.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setFrameRect):

2010-05-28  Mikhail Naganov  <mnaganov@chromium.org>

        Unreviewed. Revert 60353 -- immature.

        https://bugs.webkit.org/show_bug.cgi?id=39646

        * bindings/js/JSConsoleCustom.cpp:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        * page/Console.cpp:
        * page/Console.h:
        * page/Console.idl:

2010-05-27  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Make more HTML DOM members private, especially constructors, batch 2
        https://bugs.webkit.org/show_bug.cgi?id=39706

        Refactoring so no new tests.

        Worked my way up from the bottom of HTMLTagNames.in.

        * html/HTMLTagNames.in: Removed createWithNew from keygen, listing,
        map, marquee, menu, meta, ol, optgroup, option, p, param, pre,
        script, select, source, style, table, tbody, td, textarea, tfoot,
        th, thead, title, tr, ul, video, xmp, and noscript.

        * editing/htmlediting.cpp:
        (WebCore::createOrderedListElement): Use create function instead of new.
        (WebCore::createUnorderedListElement): Ditto.
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError): Ditto.
        (WebCore::HTMLParser::mapCreateErrorCheck): Ditto.
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
        (WebCore::HTMLViewSourceDocument::addLine): Ditto.

        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement): Use create function
        instead of new.
        (WebCore::HTMLKeygenElement::create): Added.
        * html/HTMLKeygenElement.h: Made constructor and virtual function
        overrides private, added create function.

        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::HTMLMapElement):
        (WebCore::HTMLMapElement::create):
        * html/HTMLMapElement.h:
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
        (WebCore::HTMLMarqueeElement::create):
        * html/HTMLMarqueeElement.h:
        * html/HTMLMenuElement.cpp:
        (WebCore::HTMLMenuElement::HTMLMenuElement):
        (WebCore::HTMLMenuElement::create):
        * html/HTMLMenuElement.h:
        * html/HTMLMetaElement.cpp:
        (WebCore::HTMLMetaElement::HTMLMetaElement):
        (WebCore::HTMLMetaElement::create):
        * html/HTMLMetaElement.h:
        * html/HTMLNoScriptElement.cpp:
        (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
        (WebCore::HTMLNoScriptElement::create):
        (WebCore::HTMLNoScriptElement::childShouldCreateRenderer):
        * html/HTMLNoScriptElement.h:
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::HTMLOListElement):
        (WebCore::HTMLOListElement::create):
        * html/HTMLOListElement.h:
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
        (WebCore::HTMLOptGroupElement::create):
        * html/HTMLOptGroupElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::HTMLOptionElement):
        (WebCore::HTMLOptionElement::create):
        * html/HTMLOptionElement.h:
        * html/HTMLParagraphElement.cpp:
        (WebCore::HTMLParagraphElement::HTMLParagraphElement):
        (WebCore::HTMLParagraphElement::create):
        * html/HTMLParagraphElement.h:
        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::HTMLParamElement):
        (WebCore::HTMLParamElement::create):
        * html/HTMLParamElement.h:
        * html/HTMLPreElement.cpp:
        (WebCore::HTMLPreElement::HTMLPreElement):
        (WebCore::HTMLPreElement::create):
        * html/HTMLPreElement.h:
        * html/HTMLQuoteElement.cpp:
        (WebCore::HTMLQuoteElement::HTMLQuoteElement):
        (WebCore::HTMLQuoteElement::create):
        * html/HTMLQuoteElement.h:
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::HTMLScriptElement):
        (WebCore::HTMLScriptElement::create):
        * html/HTMLScriptElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::create):
        * html/HTMLSelectElement.h:
        * html/HTMLSourceElement.cpp:
        (WebCore::HTMLSourceElement::HTMLSourceElement):
        (WebCore::HTMLSourceElement::create):
        * html/HTMLSourceElement.h:
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::HTMLStyleElement):
        (WebCore::HTMLStyleElement::create):
        * html/HTMLStyleElement.h:
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::HTMLTableRowElement):
        (WebCore::HTMLTableRowElement::create):
        (WebCore::HTMLTableRowElement::insertCell):
        * html/HTMLTableRowElement.h:
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::HTMLTableSectionElement):
        (WebCore::HTMLTableSectionElement::create):
        (WebCore::HTMLTableSectionElement::insertRow):
        * html/HTMLTableSectionElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::create):
        * html/HTMLTextAreaElement.h:
        * html/HTMLTitleElement.cpp:
        (WebCore::HTMLTitleElement::HTMLTitleElement):
        (WebCore::HTMLTitleElement::create):
        * html/HTMLTitleElement.h:
        * html/HTMLUListElement.cpp:
        (WebCore::HTMLUListElement::HTMLUListElement):
        (WebCore::HTMLUListElement::create):
        * html/HTMLUListElement.h:
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::HTMLVideoElement):
        (WebCore::HTMLVideoElement::create):
        * html/HTMLVideoElement.h:
        Made constructors and virtual function overrides private, added
        create function.

        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::HTMLTableCellElement): Updated
        names of data members. Renamed _row to m_row, _col to m_col,
        rSpan to m_rowSpan, cSpan to m_colSpan, and removed unused
        rowHeight and m_solid.
        (WebCore::HTMLTableCellElement::create): Added.
        (WebCore::HTMLTableCellElement::parseMappedAttribute): Updated names.
        * html/HTMLTableCellElement.h: Ditto.

        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::create): Added.
        (WebCore::HTMLTableElement::createTHead): Used create instead of new.
        (WebCore::HTMLTableElement::createTFoot): Ditto.
        (WebCore::HTMLTableElement::insertRow): Ditto.
        * html/HTMLTableElement.h:

        * html/HTMLTablePartElement.h: Made members protected instead of
        public.

2010-05-28  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] REGRESSION(r59837): Incorrect clipping of TransparencyLayers
        https://bugs.webkit.org/show_bug.cgi?id=39784

        Move coordinate transformation from TransparencyLayer to clipToImageBuffer()

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::TransparencyLayer::TransparencyLayer):
        (WebCore::GraphicsContext::clipToImageBuffer):

2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EF] Implement methods for supporting PopupMenu
        https://bugs.webkit.org/show_bug.cgi?id=39629

        * platform/PopupMenu.h: add needed attribute
        * platform/efl/PopupMenuEfl.cpp: implement methods to show/hide popup
        menu
        (WebCore::PopupMenu::PopupMenu): initialize new attribute
        (WebCore::PopupMenu::show): ditto.
        (WebCore::PopupMenu::hide): ditto.

2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        Reorder class initializers to remove compiler warnings.
        https://bugs.webkit.org/show_bug.cgi?id=39596

        * platform/efl/PlatformKeyboardEventEfl.cpp: ditto.
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): ditto.
        * platform/efl/PlatformMouseEventEfl.cpp: ditto.
        (WebCore::PlatformMouseEvent::PlatformMouseEvent): ditto.
        * platform/efl/PlatformWheelEventEfl.cpp: ditto
        (WebCore::PlatformWheelEvent::PlatformWheelEvent): ditto.

2010-05-27  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Add IndexedDB's IDBIndex
        https://bugs.webkit.org/show_bug.cgi?id=39850

        Flesh out IDBIndex as much as possible until Andrei finishes
        his patch to get around passing Frame*'s all around.  I also
        cleaned up a bunch of existing files as I noticed style
        violations (while basing my new files off of the old).

        Not hooked up enough to test.  Will add tests soon.

        * Android.derived.jscbindings.mk
        * Android.derived.v8bindings.mk
        * Android.mk
        * CMakeLists.txt
        * DerivedSources.cpp
        * DerivedSources.make
        * GNUmakefile.am
        * WebCore.pri
        * WebCore.pro
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj
        * WebCore.xcodeproj/project.pbxproj
        * bindings/js/JSIDBAnyCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8IDBAnyCustom.cpp:
        (WebCore::toV8):
        * storage/IDBAny.cpp:
        (WebCore::IDBAny::idbIndexRequest):
        (WebCore::IDBAny::set):
        * storage/IDBAny.h:
        (WebCore::IDBAny::):
        * storage/IDBCallbacks.h:
        * storage/IDBDatabase.h:
        * storage/IDBDatabaseError.h:
        (WebCore::IDBDatabaseError::):
        * storage/IDBDatabaseError.idl:
        * storage/IDBDatabaseException.h:
        * storage/IDBDatabaseException.idl:
        * storage/IDBDatabaseImpl.cpp:
        * storage/IDBDatabaseImpl.h:
        * storage/IDBDatabaseRequest.cpp:
        * storage/IDBDatabaseRequest.h:
        * storage/IDBDatabaseRequest.idl:
        * storage/IDBIndex.h: Added.
        (WebCore::IDBIndex::~IDBIndex):
        * storage/IDBIndexImpl.cpp: Added.
        (WebCore::IDBIndexImpl::IDBIndexImpl):
        (WebCore::IDBIndexImpl::~IDBIndexImpl):
        * storage/IDBIndexImpl.h: Added.
        (WebCore::IDBIndexImpl::create):
        (WebCore::IDBIndexImpl::name):
        (WebCore::IDBIndexImpl::keyPath):
        (WebCore::IDBIndexImpl::unique):
        * storage/IDBIndexRequest.cpp: Added.
        (WebCore::IDBIndexRequest::IDBIndexRequest):
        (WebCore::IDBIndexRequest::~IDBIndexRequest):
        * storage/IDBIndexRequest.h: Added.
        (WebCore::IDBIndexRequest::create):
        (WebCore::IDBIndexRequest::name):
        (WebCore::IDBIndexRequest::keyPath):
        (WebCore::IDBIndexRequest::unique):
        * storage/IDBIndexRequest.idl: Added.
        * storage/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::IDBObjectStore):
        (WebCore::IDBObjectStore::~IDBObjectStore):
        (WebCore::IDBObjectStore::indexNames):
        (WebCore::IDBObjectStore::createIndex):
        (WebCore::IDBObjectStore::index):
        (WebCore::IDBObjectStore::removeIndex):
        * storage/IDBObjectStore.h:
        * storage/IDBObjectStoreRequest.cpp:
        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
        (WebCore::IDBObjectStoreRequest::name):
        (WebCore::IDBObjectStoreRequest::keyPath):
        (WebCore::IDBObjectStoreRequest::indexNames):
        (WebCore::IDBObjectStoreRequest::createIndex):
        (WebCore::IDBObjectStoreRequest::index):
        (WebCore::IDBObjectStoreRequest::removeIndex):
        * storage/IDBObjectStoreRequest.h:
        * storage/IDBObjectStoreRequest.idl:
        * storage/IDBRequest.cpp:
        (WebCore::IDBRequest::onSuccess):
        * storage/IDBRequest.h:
        * storage/IndexedDatabaseRequest.idl:

2010-05-28  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: hide node highlight when inspected page closes.
        https://bugs.webkit.org/show_bug.cgi?id=39872

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::inspectedPageDestroyed):

2010-05-28  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add Console API for retrieving memory stats

        Add 'console.memory' property which returns an object. Currently
        it has two fields: totalHeapSize and usedHeapSize. Later, it can be
        extended for reporting total browser's memory consumption.

        https://bugs.webkit.org/show_bug.cgi?id=39840

        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::memory):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::memoryAccessorGetter):
        * page/Console.cpp:
        (WebCore::Console::memory):
        * page/Console.h:
        * page/Console.idl:

2010-05-28  Xan Lopez  <xlopez@igalia.com>

        Add new file to the build system.

        * GNUmakefile.am:

2010-05-28  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Kenneth Rohde Christiansen.

        https://bugs.webkit.org/show_bug.cgi?id=39874
        [Qt] Make tiled backing store more configurable
    
        Make tile size, tile creation delay and tiling area dynamically configurable.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::TiledBackingStore):
        (WebCore::TiledBackingStore::setTileSize):
        (WebCore::TiledBackingStore::setTileCreationDelay):
        (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
        (WebCore::TiledBackingStore::createTiles):
        * platform/graphics/TiledBackingStore.h:
        (WebCore::TiledBackingStore::tileSize):
        (WebCore::TiledBackingStore::tileCreationDelay):
        (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):

2010-05-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        document.write does not work correctly in the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39828

        Added a new HTML5ScriptRunnerHost interface which
        HTML5Tokenizer implements.  This allows HTML5ScriptController
        to delegate the actual ScriptController::executeScript back to
        HTML5Tokenizer.  HTML5Tokenizer saves off the current m_source
        before calling ScriptController::executeScript to allow safe
        reentrancy through document.write().

        * WebCore.xcodeproj/project.pbxproj:
         - Added HTML5ScriptRunnerHost.h
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
         - Unregister m_parsingBlockingScript if stopped before
           load completion.  This was probably causing some of the
           crashes on page navigation we saw during LayoutTest runs.
        (WebCore::documentURLForScriptExecution):
         - Unify our documentURL handling so all callsites get it right.
        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
         - Use documentURLForScriptExecution
        (WebCore::HTML5ScriptRunner::executePendingScript):
         - Call stopWatchingForLoad instead of removeClient()
         - Call executeScript instead of ScriptController directly.
        (WebCore::HTML5ScriptRunner::executeScript):
         - Wraps calls to HTML5ScriptRunnerHost::executeScript
        (WebCore::HTML5ScriptRunner::watchForLoad):
         - Wraps calls to HTML5ScriptRunnerHost::watchForLoad
        (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
         - Wraps calls to HTML5ScriptRunnerHost::stopWatchingForLoad
        (WebCore::HTML5ScriptRunner::requestScript):
         - Only watch for load if the CachedScript isn't already loaded.
           This gets rid of rentrancy due to addClient calls, and as a result
           also stops us from hitting ASSERT(m_scriptNestingLevel)
           in executePendingScript.
        (WebCore::HTML5ScriptRunner::runScript):
         - Use the new fancy documentURLForScriptExecution and executeScript.
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
         - Add a watchingForLoad bool so we know if we ever called watchForLoad
           with this CachedScript*.
        * html/HTML5ScriptRunnerHost.h: Added.
        (WebCore::HTML5ScriptRunnerHost::~HTML5ScriptRunnerHost):
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
         - Store an m_document pointer since we need to access
           m_document->frame()->script() for script execution.
        (WebCore::HTML5Tokenizer::pumpLexer):
         - Always pause or unpause the TreeBuilder after script execution.
           Previously nested script execution would leave the TreeBuilder
           paused even though the top-level loop wanted to resume parsing.
           Now whenever m_scriptRunner->execute returns "continue parsing"
           parsing will actually continue.  This fixed cases where we would
           ignore the rest of the document after document.write() of a script tag.
        (WebCore::HTML5Tokenizer::write):
         - Explain how document.write() reentrancy is safe in the new world.
        (WebCore::HTML5Tokenizer::watchForLoad):
         - HTML5ScriptRunnerHost implementation.  We assert that this call will
           never cause script execution since that's our current design.
        (WebCore::HTML5Tokenizer::stopWatchingForLoad):
         - HTML5ScriptRunnerHost implementation.
        (WebCore::HTML5Tokenizer::executeScript):
         - HTML5ScriptRunnerHost implementation. Save off the current source
           before executing scripts in case document.write is called during
           script execution.
        * html/HTML5Tokenizer.h:
         - Implement HTML5ScriptRunnerHost.

2010-05-28  Nathan Lawrence  <nlawrence@apple.com>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=39460

        Because not just <img> and <image> elements can preload images, we
        dont want to restrict the element associated with the loader.

        No new tests. Should share the same tests as the last patch.

        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::notifyFinished):

2010-05-27  MORITA Hajime  <morrita@google.com>

        Reviewed by Ojan Vafai.

        Cursor movement and text selection does not work well if a block is followed by an inline.
        https://bugs.webkit.org/show_bug.cgi?id=32123

        RenderInline::setSelectionState() missed selection state
        propagation for ancestors.  This fix pulled
        RenderBlock::setSelectionState() up to RenderBoxModelObject, to
        share it with RenderInline.

        Test: editing/selection/range-between-block-and-inline.html: Added.
        
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlock.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::setSelectionState):
        * rendering/RenderBoxModelObject.h:
        Moved setSelectionState() from RenderBlock to RenderBoxModelObject.
        
2010-05-27  MORITA Hajime  <morrita@google.com>

        Not reviewed. Fixed typo

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):

2010-05-27  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Make more HTML DOM members private, especially constructors
        https://bugs.webkit.org/show_bug.cgi?id=39697

        Refactoring, so no new tests needed.

        Working my way through HTMLTagNames.in from top to bottom, skipping any
        that are non-trivial for some reason.

        * html/HTMLTagNames.in: Removed createWithNew from audio, base, basefont,
        blockquote, body, br, button, canvas, caption, col, colgroup, datagrid,
        datalist, dcell, dcol, drow, del, dir, dl, and fieldset.

        * mathml/mathtags.in: Removed createWithNew from msub, and msup.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose): Use create function instead of new.
        (WebCore::Document::getCSSCanvasElement): Ditto.
        * editing/IndentOutdentCommand.cpp:
        (WebCore::createIndentBlockquoteElement): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::createBreakElement): Ditto.
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::createCaption): Ditto.
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::setInnerTextValue): Ditto.

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError): Use create function instead of new.
        Required reordering the code slightly, but the new order works fine.

        * html/HTMLAudioElement.cpp:
        (WebCore::HTMLAudioElement::create):
        * html/HTMLAudioElement.h:
        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::create):
        * html/HTMLBRElement.h:
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::create):
        * html/HTMLBaseElement.h:
        * html/HTMLBaseFontElement.cpp:
        (WebCore::HTMLBaseFontElement::create):
        * html/HTMLBaseFontElement.h:
        * html/HTMLBlockquoteElement.cpp:
        (WebCore::HTMLBlockquoteElement::create):
        * html/HTMLBlockquoteElement.h:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::create):
        * html/HTMLBodyElement.h:
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::create):
        * html/HTMLButtonElement.h:
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::create):
        * html/HTMLCanvasElement.h:
        * html/HTMLDListElement.cpp:
        (WebCore::HTMLDListElement::create):
        * html/HTMLDListElement.h:
        * html/HTMLDataGridCellElement.cpp:
        (WebCore::HTMLDataGridCellElement::create):
        * html/HTMLDataGridCellElement.h:
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::create):
        * html/HTMLDataGridColElement.h:
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::create):
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridRowElement.cpp:
        (WebCore::HTMLDataGridRowElement::create):
        * html/HTMLDataGridRowElement.h:
        * html/HTMLDataListElement.cpp:
        (WebCore::HTMLDataListElement::create):
        * html/HTMLDataListElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setInnerText):
        * html/HTMLFieldSetElement.cpp:
        (WebCore::HTMLFieldSetElement::create):
        * html/HTMLFieldSetElement.h:
        * html/HTMLModElement.cpp:
        (WebCore::HTMLModElement::HTMLModElement):
        (WebCore::HTMLModElement::create):
        * html/HTMLModElement.h:
        * html/HTMLTableCaptionElement.cpp:
        (WebCore::HTMLTableCaptionElement::create):
        * html/HTMLTableCaptionElement.h:
        Made constructors and virtual function overrides private, added create functions.
        Made constructors inline in cases where they were called in only one place.

        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::HTMLTableColElement): Changed data member name
        from _span to m_span.
        (WebCore::HTMLTableColElement::create): Added.
        (WebCore::HTMLTableColElement::parseMappedAttribute): Updated to use m_span.
        * html/HTMLTableColElement.h:
        Made constructor and virtual function overrides private, added create function.
        Renamed _span to m_span.

2010-05-27  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Darin Adler.

        wx port: build fix for Linux
        https://bugs.webkit.org/show_bug.cgi?id=39860

        Use uint16_t instead of uint16.

        * plugins/PluginPackageNone.cpp:
        (WebCore::PluginPackage::NPVersion):

2010-05-27  Nathan Lawrence  <nlawrence@apple.com>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=39460

        Fixes the issue where images prefetched by JavaScript do not report
        their memory usage to the GC.

        There is a new test manual-tests/image-prefetch-stress.html that loads
        a new 4MB image every half a second.

        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::notifyFinished):
        * manual-tests/image-prefetch-stress.html: Added.

2010-05-27  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Adam Barth.

        Add v8 bindings for async DB API in workers
        https://bugs.webkit.org/show_bug.cgi?id=39145

        No new tests.  This should share layout tests with JSC.

        Tweak the callback generation to switch lots of Frame* to ScriptExecutionContext*, and use the context passed in to handleEvent where possible.
        * bindings/scripts/CodeGeneratorV8.pm:

        As with CodeGeneratorV8; these are pretty much all tiny tweaks.
        We do have to use a slightly different patch for callback invocation in invokeCallback, as V8Proxy::retrieve() doesn't work in the worker context.
        * bindings/v8/custom/V8CustomPositionCallback.cpp:
        (WebCore::V8CustomPositionCallback::handleEvent):
        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
        (WebCore::V8CustomPositionErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8SQLStatementErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomVoidCallback.cpp:
        (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
        (WebCore::V8CustomVoidCallback::handleEvent):
        (WebCore::invokeCallback):
        * bindings/v8/custom/V8CustomVoidCallback.h:
        (WebCore::V8CustomVoidCallback::create):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::openDatabaseCallback):
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        (WebCore::V8Database::changeVersionCallback):
        (WebCore::createTransaction):
        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
        (WebCore::V8DatabaseSync::changeVersionCallback):
        (WebCore::createTransaction):
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
        (WebCore::V8NotificationCenter::requestPermissionCallback):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::V8SQLTransaction::executeSqlCallback):

        Add openDatabaseCallback.
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::V8WorkerContext::openDatabaseCallback):
        Remove an obsolete parameter.
        (WebCore::V8WorkerContext::openDatabaseSyncCallback):

2010-05-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [REGRESSION] Query parameters are not displayed in the resources headers section.

        https://bugs.webkit.org/show_bug.cgi?id=39848

        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        (WebInspector.ResourceView.prototype._refreshRequestPayload):

2010-05-27  Nico Weber  <thakis@chromium.org>

        Reviewed by Eric Seidel

        https://bugs.webkit.org/show_bug.cgi?id=39092

        Add Yank support to chromium mac. Do this by moving WebKit Mac's
        implementation of Editor::yankFromKillRing() into its own class and
        then using that.

        * editing/Editor.cpp:
          Use new KillRing class.
        * editing/Editor.h:
        (WebCore::Editor::killRing):
          Use new KillRing class.
        * editing/EditorCommand.cpp:
        (WebCore::executeYankAndSelect):
          Use new KillRing class.
        * platform/KillRing.h:
          Add new KillRing class, which acts as null object.
        (WebCore::KillRing::~KillRing):
        * platform/mac/KillRingMac.h:
          Add new KillRingMac class, which writes to the mac's kill ring.
        * platform/mac/KillRingMac.mm:
          Add new KillRingMac class, which writes to the mac's kill ring.

2010-05-27  Ben Murdoch  <benm@google.com>

        Reviewed by Jian Li.

        Build break in FileStream.cpp
        https://bugs.webkit.org/show_bug.cgi?id=39841

        When ENABLE_BLOB_SLICE is not defined, an undefined variable is used
        in FileStream.cpp:114. Fix by using the correct variable.

        Build fix so no new tests.

        * html/FileStream.cpp:
        (WebCore::FileStream::openForRead): Replace undefined variable with a defined one.

2010-05-27  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        [Chromium] Default popup window size should not depend on zoom level
        https://bugs.webkit.org/show_bug.cgi?id=39835

        V8DOMWindow::openCallback should not set width and height of new
        window unless specified in the function's arguments.

        There is already code to reset the new window's origin coordinates,
        but the same thing should be done to its dimensions as well. Otherwise,
        a new popup with unspecified size will have its size depending on the
        parent's zoom level, which is not desirable.

        This is the same as what is done in
        bindings/js/JSDOMWindowCustom.cpp:826.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::openCallback):

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_instance.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39744

        Fix webkit coding style issues in qt_instance.cpp

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::getQtInstance):
        (JSC::Bindings::QtInstance::removeCachedMethod):
        (JSC::Bindings::QtInstance::markAggregate):
        (JSC::Bindings::QtInstance::getPropertyNames):
        (JSC::Bindings::QtInstance::stringValue):
        (JSC::Bindings::QtField::name):
        (JSC::Bindings::QtField::valueFromInstance):

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_instance.h has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39743

        Fix webkit coding style issues in qt_instance.h

        * bridge/qt/qt_instance.h:

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_class.h has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39742

        Fix webkit coding style issues in qt_class.h

        * bridge/qt/qt_class.h:

2010-05-27  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8016158> Crash in CVPixelBufferCreateResolvedAttributesDictionary with RLE
        compressed movie.

        Configure the visual context to generate Direct3D compatible pixel buffers when we are able to
        use a CAImageQueue so there will be less conversion required before display. This change also  
        works around the issue that causes the RLE compressed movie to crash.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Pass enum to QTMovieVisualContext
        constructor instead of CFDictionary.
        * platform/graphics/win/QTMovieVisualContext.cpp:
        (SetNumberValue):
        (getPixelBufferCreationOptions): New, create options dictionary appropriate for the visual 
        context type.
        (pixelBufferCreationOptions): New, return options dictionary appropriate for the visual 
        context type.
        (QTMovieVisualContextPriv::QTMovieVisualContextPriv): Get the options dictionary from
        getPixelBufferCreationOptions insteaad of taking it as a parameter.
        (QTMovieVisualContext::QTMovieVisualContext): Take enum instead of CFDictionary for 
        visual context configuration type.
        * platform/graphics/win/QTMovieVisualContext.h:

2010-05-27  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam Roben.

        [Qt] REGRESSION(r60258): It broke 10 tests.
        https://bugs.webkit.org/show_bug.cgi?id=39819

        * plugins/qt/PluginDataQt.cpp:
        (WebCore::PluginData::initPlugins):
        Append the MimeClassInfo object after it's been initialized.

2010-05-27  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fixes for Windows after recent changes.

        * platform/graphics/wx/FontWx.cpp:
        * wscript:

2010-05-27  Chris Fleizach  <cfleizach@apple.com>

        No review, build fixage.

        Bug 39324 - AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
        https://bugs.webkit.org/show_bug.cgi?id=39324

        Rolling out change from r60307 until a better fix is ready.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2010-05-27  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: check that ScriptDebugListener was not removed
        while messages were dispatched in the nested loop.
        https://bugs.webkit.org/show_bug.cgi?id=39838

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::handleV8DebugEvent):

2010-05-27  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: undefined script URL value should be converted to an emtpy
        WebCore::String instead of "undefined" string. Otherwise it's shown
        in the Scripts panel with "undefined:<line no>" URL.
        https://bugs.webkit.org/show_bug.cgi?id=39845

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):

2010-05-27  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
        https://bugs.webkit.org/show_bug.cgi?id=39324

        Make sure that accessibilityAttributeValue:forParameter: will default to its super's implementation. This is how AppKit expects objects to behave.

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2010-05-27  Xan Lopez  <xlopez@igalia.com>

        More GTK+ distcheck fixes.

        * GNUmakefile.am:

2010-05-27  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: notify ScriptDebugListener when execution is resumed
        https://bugs.webkit.org/show_bug.cgi?id=39838

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::handleV8DebugEvent):

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_pixmapruntime.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39745

        Fix webkit coding style issues in qt_pixmapruntime.cpp

        * bridge/qt/qt_pixmapruntime.cpp:

2010-05-26  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Clean up IndexedDB layout tests
        https://bugs.webkit.org/show_bug.cgi?id=39748

        Remove an assert that always fires.

        Tests: storage/indexeddb/idb-database-request.html
               storage/indexeddb/indexed-database-request.html

        * storage/IDBDatabaseImpl.cpp:
        (WebCore::IDBDatabaseImpl::objectStores):

2010-05-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Get CSS rule offsets lazily.

        https://bugs.webkit.org/show_bug.cgi?id=39832

        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::getStartEndOffsets):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::buildObjectForRule):

2010-05-27  Anders Bakken  <agbakken@gmail.com>

        Reviewed by David Levin.

        qt_class.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39741

        Fix webkit coding style issues in qt_class.cpp

        * bridge/qt/qt_class.cpp:
        (JSC::Bindings::QtClass::fieldNamed):

2010-05-27  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Remove bit-rotten INSTRUMENT_LAYOUT_SCHEDULING code from HTMLTokenizer
        https://bugs.webkit.org/show_bug.cgi?id=39714

        This came from a discussion on #webkit with Hyatt about this code
        being old and no longer used to either of our knowledge.

        No functional changes, thus no tests.

        I also removed a bogus FIXME I had added in an earlier patch
        before I understood what the HTMLTokenizer was trying to do.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler):
        (WebCore::HTMLTokenizer::scriptExecution):
        (WebCore::HTMLTokenizer::continueProcessing):
        (WebCore::HTMLTokenizer::willWriteHTML):
        (WebCore::HTMLTokenizer::didWriteHTML):
        (WebCore::HTMLTokenizer::timerFired):
        (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):

2010-05-27  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        Add callbacks to ScriptController to allow notifications on named items additions and removals
        https://bugs.webkit.org/show_bug.cgi?id=39679

        * bindings/js/ScriptController.h: Callbacks with empty implementation added.
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/ScriptController.cpp: Empty implementation of callbacks.
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/ScriptController.h: Callbacks added.
        * html/HTMLDocument.cpp: Hooking in callbacks.
        (WebCore::HTMLDocument::addItemToMap):
        (WebCore::HTMLDocument::removeItemFromMap):
        * html/HTMLDocument.h:

2010-05-27  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Implement lazy clearing of renderbuffers
        https://bugs.webkit.org/show_bug.cgi?id=36248

        Test: fast/canvas/webgl/renderbuffer-initialization.html

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::WebGLFramebuffer): Init added members.
        (WebCore::WebGLFramebuffer::setAttachment): Set attachment object.
        (WebCore::WebGLFramebuffer::onBind): Perform buffer clearing if needed.
        (WebCore::WebGLFramebuffer::onAttachedObjectChange): Ditto.
        (WebCore::WebGLFramebuffer::isUninitialized): Check whether an attached object is uninitialized renderbuffer.
        (WebCore::WebGLFramebuffer::setInitialized): After initialize a renderbuffer, set the flag.
        (WebCore::WebGLFramebuffer::initializeRenderbuffers): Clear un-initialized renderbuffers if framebuffer is complete.
        * html/canvas/WebGLFramebuffer.h:
        (WebCore::WebGLFramebuffer::isDepthAttached): Changed to check object.
        (WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
        (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
        * html/canvas/WebGLRenderbuffer.cpp:
        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
        * html/canvas/WebGLRenderbuffer.h:
        (WebCore::WebGLRenderbuffer::isInitialized): As the function name.
        (WebCore::WebGLRenderbuffer::setInitialized): Ditto.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::bindFramebuffer): Call onBind().
        (WebCore::WebGLRenderingContext::copyTexImage2D): Call onAttachedObjectChange().
        (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
        (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Call setAttachment.
        (WebCore::WebGLRenderingContext::framebufferTexture2D): Call onAttachedObjectChange().
        (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
        * platform/graphics/mac/GraphicsContext3DMac.cpp:
        (WebCore::GraphicsContext3D::reshape): Initialize internal buffers.

2010-05-27  Kristian Monsen  <kristianm@google.com>

        Reviewed by Darin Adler.

        Compile fix for Android, added include for Refcounted.h, this did not get
        included through Threading.h in Android.
        https://bugs.webkit.org/show_bug.cgi?id=39678

        Build fix only, no new tests.

        * storage/SQLTransactionSyncCallback.h:

2010-05-27  Joone Hur  <joone@kldp.org>

        Reviewed by Xan Lopez.

        Add GtkVersioning.h in ScrollbackGtk.cpp for maintaining compatibility with the previous GTK+

        https://bugs.webkit.org/show_bug.cgi?id=39567

        * platform/gtk/ScrollbarGtk.cpp:

2010-05-27  Hans Wennborg  <hans@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Increase limit on number of (i)frames from 200 to 1000.
        https://bugs.webkit.org/show_bug.cgi?id=39427

        The limit on number of iframes was introduced in r3707 back in 2003.
        An example of a page that is broken because of this is:
        http://vimcolorschemetest.googlecode.com/svn/html/index-c.html
        Neither Firefox nor IE has such a limit.

        It seems that WebKit can handle a significantly higher number of frames, and
        the original reasons for imposing the limit are believed to be gone.

        Tests: compositing/iframes/lots-of-iframes.html
               compositing/iframes/lots-of-objects.html

        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::isURLAllowed):
        * page/FrameTree.cpp:
        (WebCore::FrameTree::uniqueChildName):
        * page/Page.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::isURLAllowed):

2010-05-27  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Xan Lopez.

        [GTK] writeToFile fails when length is large
        https://bugs.webkit.org/show_bug.cgi?id=39666

        writeToFile forgot to increment data pointer.

        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::writeToFile):

2010-05-26  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
        
        Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
        |to| argument to be a RenderBlock.
        
        Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
        by hand.

        Make the append forms of the functions just use the insert forms with a beforeChild of 0.
        
        Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
        case where it does an append.
        
        Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
        messed up when using append/insertChildNode.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        (WebCore::RenderBlock::createAndAppendRootInlineBox):
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::moveChildrenTo):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::addChild):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::insertChildNode):
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):

2010-05-27  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add <pre>/<listing> hack to HTML5Lexer to fix the last remaining HTML5 test suite regressions
        https://bugs.webkit.org/show_bug.cgi?id=39818

        HTML parsers are supposed to ignore the first \n after a <pre> or <listing> tag
        for authoring convenience.  Our new HTML5Lexer didn't have this hack yet
        so there were 4 HTML5 tests failing.  Fixing this fixed the last of the HTML5
        test suite regressions using the HTML5Lexer vs the old lexer.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::reset):
        (WebCore::HTML5Lexer::nextToken):
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):

2010-05-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Teach the HTML5 parser how to handle external scripts
        https://bugs.webkit.org/show_bug.cgi?id=39716

        Make it possible for the HTML5Tokenizer to run external scripts.
        I created a new class HTML5ScriptRunner to hold all of the
        script-logic which is scattered throughout the old HTMLTokenizer.

        The design is for the HTML5Tokenizer (the "controller") to hold
        the Lexer, TreeBuilder and ScriptRunner.  The Lexer returns back
        to the controller, which passes tokens to the TreeBuilder.  When the
        treebuilder encounters a </script> tag it pauses itself and returns
        back to the controller which calls the ScriptRunner.  The TreeBuilder
        is un-paused when the HTML5Tokenizer calls takeScriptToProcess().

        The ScriptRunner attempts to process the passed script, and additionally
        any blocked scripts it can.  It returns to the controller indicating if
        parsing should continue.  If not, callbacks when external scripts load
        or when stylesheets are finished parsing will cause the controller to
        kick off script execution and parsing again at a later point.

        * WebCore.xcodeproj/project.pbxproj:
         - Add HTML5ScriptRunner.*
        * bindings/js/CachedScriptSourceProvider.h:
         - Add missing include discovered while building.
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::finishParsingChildren):
         - Remove previous hack for inline <script> execution.
        * dom/ScriptElement.h:
         - Explain the HTML5 spec names for m_evaluated and m_createdByParser.
        * html/HTML5ScriptRunner.cpp: Added.
        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
         - The HTML5Tokenizer is passed to the HTML5ScriptRunner as a
           CachedResourceClient.  The HTML5ScriptRunner will register the
           HTML5Tokenizer for notifyFinished callbacks when the scripts load.
           The HTML5Tokenizer is expected to call the HTML5ScriptRunner to
           execute any loaded scripts at that point.
        (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
        (WebCore::HTML5ScriptRunner::frame): Helper method.
        (WebCore::createScriptLoadEvent): Helper method.
        (WebCore::createScriptErrorEvent): Helper method.
        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
         - Helper method for dealing with both inline and external script types.
        (WebCore::HTML5ScriptRunner::isPendingScriptReady):
         - Helper for dealing with both inline and external scripts.
        (WebCore::HTML5ScriptRunner::executePendingScript):
         - Execute one script.  Both external and inline scripts
           can become m_parsingBlockingScript if they can't be executed
           immediately after parsing.
        (WebCore::HTML5ScriptRunner::execute):
         - Takes a script element from the tree builder and tries
           to process it.
        (WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
         - Runs the current parsing blocking script if ready.
         - Running a script could add another parsing blocking script
           so we loop until there is no ready-to-run parsing blocking script.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
         - Called by HTML5Tokenizer when a script loads.
        (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
         - Called by HTML5Tokenizer when stylesheets complete.
        (WebCore::HTML5ScriptRunner::requestScript):
         - Transcription of the HTML5 spec.
        (WebCore::HTML5ScriptRunner::runScript):
         - Transcription of the HTML5 spec.
        * html/HTML5ScriptRunner.h: Added.
         - New class to handle script loading and execution for the HTML5 parser.
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
         - Create a HTML5ScriptRunner and pass it "this" as the CachedResourceClient.
        (WebCore::HTML5Tokenizer::pumpLexer):
         - When the parser is paused, try to run scripts.
        (WebCore::HTML5Tokenizer::write):
         - Only pump the lexer when the parser is not paused.
        (WebCore::HTML5Tokenizer::end):
         - finish() tells us that we've reached EOF, not end()
         - Only pump the lexer when the parser is not paused.
        (WebCore::HTML5Tokenizer::finish):
         - Mark EOF, and end() if we're not waiting on scripts.
        (WebCore::HTML5Tokenizer::isWaitingForScripts):
         - isPaused() seems to mean isPausedForExternalScripts().
        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
        (WebCore::HTML5Tokenizer::notifyFinished):
        (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
        * html/HTML5Tokenizer.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
         - Add an m_isPaused flag.
        (WebCore::HTML5TreeBuilder::handleScriptStartTag):
        (WebCore::HTML5TreeBuilder::handleScriptEndTag):
        (WebCore::HTML5TreeBuilder::takeScriptToProcess):
         - Acknowledge that the caller has received the script element.
           It is the caller's responsibility to execute the script if necessary
           and re-pause the tree builder if necessary.
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
         - Save off the current script tag so that it can be passed to
           the HTML5ScriptRunner when we're paused.
        * html/HTML5TreeBuilder.h:
        (WebCore::HTML5TreeBuilder::setPaused):
        (WebCore::HTML5TreeBuilder::isPaused):

2010-05-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Implement SegmentedString::lookAheadSlowCase
        https://bugs.webkit.org/show_bug.cgi?id=39802

        The slow case is need by the resumer test suite.  Sadly, the resumer
        test suite is really slow and produces infinite errors (many of which
        are false positives).  I'll land more of the resumer test suite in a
        future patch.

        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::advance):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::lookAhead):
        (WebCore::SegmentedString::lookAheadIgnoringCase):
        (WebCore::SegmentedString::equalsLiterally):
        (WebCore::SegmentedString::equalsIgnoringCase):
        (WebCore::SegmentedString::lookAheadInline):
        (WebCore::SegmentedString::lookAheadSlowCase):

2010-05-26  Jer Noble  <jer.noble@apple.com>

        Patch edited by Adele Peterson and Mark Rowe.
        Reviewed by Eric Carlson

        Video elements show no video on Windows machines that do not support accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=39446
        rdar://problem/7999794
        
        Create the visual context in setUpVideoRendering (as opposed to in load), and destroy it in
        tearDownVideoRendering (as opposed to in the destructor.)

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Moved creation of the visual context to setUpVideoRendering.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Return early if the visual context isn't set up.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode): If the visual context isn't set up,
        return MediaRenderingNone.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering): Create the visual context.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering): Destroy the visual context.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering): For software rendering mode, 
        make sure the visual context has been set up when saying the setup has been done.
        * platform/graphics/win/QTMovieVisualContext.cpp:
        (QTMovieVisualContextPriv::~QTMovieVisualContextPriv): Destruction moved to tearDownVideoRendering.
        Also, make sure to cancel the visual context's newImageAvailable callback in the visual context's destructor.
        (QTMovieVisualContext::create): Added.
        * platform/graphics/win/QTMovieVisualContext.h:

2010-05-26  Gustavo Noronha Silva  <gns@gnome.org>

        Build fixes for make distcheck.

        * GNUmakefile.am:

2010-05-26  Zelidrag Hornung  <zelidrag@chromium.org>

        Reviewed by Ojan Vafai.

        Fixed frame page up/down scrolling calculation. Made sure that the
        cursor moves with page up/down event. Please note that now for mac
        editing behavior we will scroll the content to center the cursor on
        page up/down while other platforms will align the cursor with the top of
        displayed frame.
        https://bugs.webkit.org/show_bug.cgi?id=38213

        Tests: editing/input/option-page-up-down.html (fixed)
               editing/input/scroll-viewport-page-up-down.html

        * WebCore.base.exp:
        * editing/EditorCommand.cpp:
        (WebCore::verticalScrollDistance): Fixed page scroll calculation. Now scroll height is calculated only from the visible portion not the entire frame height.
        (WebCore::executeMovePageDown): Now it can tell SelectionController to move the cursor with the page scroll up/down events.
        (WebCore::executeMovePageDownAndModifySelection): Ditto.
        (WebCore::executeMovePageUp): Ditto.
        (WebCore::executeMovePageUpAndModifySelection): Ditto.
        * editing/SelectionController.cpp:
        * editing/SelectionController.cpp: Exposed an enum param that lets EditorCommand.cpp control how cursor position will be aligned when page moves.
        (WebCore::SelectionController::setSelection): Ditto.
        (WebCore::SelectionController::modify): Ditto.
        * editing/SelectionController.h: Ditto.
        (WebCore::SelectionController::): Ditto.
        (WebCore::SelectionController::setSelection): Ditto.

2010-05-26  Jaime Yap  <jaimeyap@google.com>

        Reviewed by Pavel Feldman.

        ScriptCallStack::callLocation() sometimes passed an empty handle to
        toWebCoreString() causing a null pointer deref.
        https://bugs.webkit.org/show_bug.cgi?id=39681

        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::callLocation):

2010-05-26  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Mark Rowe.

        Web Inspector: Tooltip on Pause on Exceptions doesn't show up until it is clicked.
        https://bugs.webkit.org/show_bug.cgi?id=39804
        
        Initialize the title attribute of the Pause on Exceptions button when we initialize other information
        about it. 

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):

2010-05-26  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r60262.
        http://trac.webkit.org/changeset/60262
        https://bugs.webkit.org/show_bug.cgi?id=39783

        Broke every build and is blocking me from working.  :(

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::addChild):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::insertChildNode):
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):
        (WebCore::RenderRubyBase::moveBlockChildren):
        (WebCore::RenderRubyBase::mergeBlockChildren):

2010-05-26  Anders Carlsson  <andersca@apple.com>

        Unreviewed, rolling out r60256.
        http://trac.webkit.org/changeset/60256
        https://bugs.webkit.org/show_bug.cgi?id=39382

        Causes fast/dom/prototype-inheritance-2.html to start
        crashing.

        * history/PageCache.cpp:
        (WebCore::PageCache::PageCache):
        (WebCore::PageCache::add):
        * history/PageCache.h:
        (WebCore::PageCache::get):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::commitIfReady):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePageContainingThisFrame):
        (WebCore::FrameLoader::canCachePage):
        (WebCore::pageCacheLogPrefix):
        (WebCore::pageCacheLog):
        (WebCore::FrameLoader::logCanCachePageDecision):
        (WebCore::FrameLoader::logCanCacheFrameDecision):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
        (WebCore::FrameLoader::cachePageForHistoryItem):
        (WebCore::FrameLoader::navigateToDifferentDocument):
        * loader/FrameLoader.h:
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2010-05-26  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
        
        Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
        |to| argument to be a RenderBlock.
        
        Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
        by hand.

        Make the append forms of the functions just use the insert forms with a beforeChild of 0.
        
        Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
        case where it does an append.
        
        Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
        messed up when using append/insertChildNode.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        (WebCore::RenderBlock::createAndAppendRootInlineBox):
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::moveChildrenTo):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::addChild):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::insertChildNode):
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):

2010-05-26  Anders Carlsson  <andersca@apple.com>

        Fix GTK+ test failures.

        * plugins/gtk/PluginDataGtk.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/win/PluginDataWin.cpp:
        (WebCore::PluginData::initPlugins):

2010-05-25  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Clean up MimeClassInfo and PluginInfo
        https://bugs.webkit.org/show_bug.cgi?id=39700

        This gets rid of all the heap allocation from MimeClassInfo and PluginInfo. 
        
        It also changes the m_plugins and m_mimes vectors in PluginData to not hold heap allocated MimeClassInfo
        and PluginClassInfo objects.

        * page/Page.cpp:
        (WebCore::Page::refreshPlugins):
        * plugins/MimeType.cpp:
        (WebCore::MimeType::type):
        (WebCore::MimeType::suffixes):
        (WebCore::MimeType::description):
        (WebCore::MimeType::enabledPlugin):
        * plugins/MimeType.h:
        (WebCore::MimeType::mimeClassInfo):
        * plugins/MimeTypeArray.cpp:
        (WebCore::MimeTypeArray::item):
        (WebCore::MimeTypeArray::canGetItemsForName):
        (WebCore::MimeTypeArray::namedItem):
        * plugins/Plugin.cpp:
        (WebCore::Plugin::name):
        (WebCore::Plugin::filename):
        (WebCore::Plugin::description):
        (WebCore::Plugin::length):
        (WebCore::Plugin::item):
        (WebCore::Plugin::canGetItemsForName):
        (WebCore::Plugin::namedItem):
        * plugins/Plugin.h:
        (WebCore::Plugin::pluginInfo):
        * plugins/PluginArray.cpp:
        (WebCore::PluginArray::length):
        (WebCore::PluginArray::item):
        (WebCore::PluginArray::canGetItemsForName):
        (WebCore::PluginArray::namedItem):
        (WebCore::PluginArray::pluginData):
        * plugins/PluginArray.h:
        * plugins/PluginData.cpp:
        (WebCore::PluginData::PluginData):
        (WebCore::PluginData::~PluginData):
        (WebCore::PluginData::supportsMimeType):
        (WebCore::PluginData::pluginNameForMimeType):
        * plugins/PluginData.h:
        (WebCore::operator==):
        (WebCore::PluginData::create):
        (WebCore::PluginData::disconnectPage):
        (WebCore::PluginData::page):
        (WebCore::PluginData::plugins):
        (WebCore::PluginData::mimes):
        * plugins/chromium/PluginDataChromium.cpp:
        (WebCore::PluginCache::reset):
        (WebCore::PluginCache::plugins):
        (WebCore::PluginData::initPlugins):
        (WebCore::getPluginMimeTypeFromExtension):
        * plugins/gtk/PluginDataGtk.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/mac/PluginDataMac.mm:
        (WebCore::PluginData::initPlugins):
        * plugins/qt/PluginDataQt.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/win/PluginDataWin.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/wx/PluginDataWx.cpp:
        (WebCore::PluginData::initPlugins):

2010-05-26  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Factor PageCache functionality out of FrameLoader and into
        PageCache.

        https://bugs.webkit.org/show_bug.cgi?id=39382

        Refactor only, so no new tests.

        * history/PageCache.cpp:
        (WebCore::pageCacheLogPrefix):
        (WebCore::pageCacheLog):
        (WebCore::logCanCacheFrameDecision):
        (WebCore::logCanCachePageDecision):
        (WebCore::PageCache::canCachePageContainingThisFrame):
        (WebCore::PageCache::canCache):
        (WebCore::PageCache::add):
        (WebCore::PageCache::get):
        * history/PageCache.h:
        * loader/DocumentLoader.cpp:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::prepareForCachedPageRestore):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
        (WebCore::FrameLoader::navigateToDifferentDocument):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::quickRedirectComing):
        * svg/graphics/SVGImage.cpp:

2010-05-26  Peter Kasting  <pkasting@google.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=39786
        Properly reset |bytes_to_consume| when reaching the "gif_done" state in
        the open-source GIF decoder.
        
        No tests, since there's no test harness support for checking the
        internal ImageDecoder state values.

        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::read): Use a macro to perform the state change, like we do everywhere else in the file.  Also correctly return "failure" for certain corrupt GIFs, since that doesn't prevent their display (due to WebKit's different use of this code compared to Mozilla).

2010-05-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60251.
        http://trac.webkit.org/changeset/60251
        https://bugs.webkit.org/show_bug.cgi?id=39788

        broke tests (Requested by dhyatt on #webkit).

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):
        (WebCore::RenderRubyBase::moveBlockChildren):
        (WebCore::RenderRubyBase::mergeBlockChildren):
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::removeChild):

2010-05-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix webkit01.dat resumer tests in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39796

        To match the old tokenizer, we should only flush character tokens when
        we reach EOF.  Added a notion of a "closed" segmented string that
        cannot be appended to, which models EOF.

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::shouldEmitBufferedCharacterToken):
        * html/HTML5Lexer.h:
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::pumpLexer):
        (WebCore::HTML5Tokenizer::write):
        (WebCore::HTML5Tokenizer::end):
        * html/HTML5Tokenizer.h:
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::SegmentedString):
        (WebCore::SegmentedString::clear):
        (WebCore::SegmentedString::append):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::SegmentedString):
        (WebCore::SegmentedString::close):
        (WebCore::SegmentedString::isClosed):

2010-05-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5 lexer not ASSERT when resuming partial parses
        https://bugs.webkit.org/show_bug.cgi?id=39755

        I'm working through a variation of the webkit-runner.html test suite
        that stops the parser at every character to make sure we can resume
        parsing correctly.  This patch fixes some errors caught by ASSERTs,
        which prevent the basic tests from running to completion.  There's a
        bunch more work to do, however.

        Test: html5lib/webkit-resumer.html

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::isEndTagBufferingState):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::addToPossibleEndTag):
        * html/HTML5Lexer.h:
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::write):
        * html/HTML5Tokenizer.h:

2010-05-26  Alexey Proskuryakov  <ap@apple.com>

        Mac 32 bit build fix.

        * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
        Use static_cast instead of narrowPrecisionToFloat - the latter can't convert from float to float.

2010-05-26  David Hyatt  <hyatt@apple.com>

        Reviewed by Ojan.

        https://bugs.webkit.org/show_bug.cgi?id=39783, clean up moveChild functions in RenderBlock.

        Cut out the need to pass the to block's child list by tightening up the type of the to object
        from RenderObject to RenderBlock.

        Implement the "append" versions of the move functions using their "insert" counterparts, since
        insertChildNode just calls appendChildNode when beforeChild is 0 anyway.

        Add comments explaining why the default for fullRemoveInsert is false, and make sure all forms
        of the move functions have the optional parameter for consistency.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::createAndAppendRootInlineBox):
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        (WebCore::RenderBlock::makeChildrenNonInline):
        (WebCore::RenderBlock::removeChild):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::moveChildTo):
        (WebCore::RenderBlock::moveAllChildrenTo):
        * rendering/RenderRubyBase.cpp:
        (WebCore::RenderRubyBase::moveInlineChildren):
        (WebCore::RenderRubyBase::moveBlockChildren):
        (WebCore::RenderRubyBase::mergeBlockChildren):
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::removeChild):

2010-05-26  Dan Bernstein  <mitz@apple.com>

        Typed and reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=39682
        <rdar://problem/8026774> REGRESSION: WebKit nightly adding insane height to div at random

        Test: fast/css/custom-font-xheight.html

        * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
        Calling an Objective C method that returns a structure with a null object can leave garbage in
        returned value. Custom fonts don't have an NSFont, they only have a CGFont. Call
        platformBoundsForGlyph() function instead, which works with CGFont.
        (WebCore::SimpleFontData::platformBoundsForGlyph): Fixed to work on Tiger (for fonts that
        have an NSFont), since this is now used in more cases.

2010-05-26  Beth Dakin  <bdakin@apple.com>

        Build fix for Mac clean builds.

        * storage/IDBDatabaseRequest.idl:

2010-05-26  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        Must not cast between CFNumberRef and CFBooleanRef.
        <rdar://problem/8030739> 
        https://bugs.webkit.org/show_bug.cgi?id=39756

        * platform/graphics/win/QTMovieVisualContext.cpp:
        (QTMovieVisualContext::getCGImageOptions): QuickTime assumes the value associated 
        with kCVPixelBufferCGImageCompatibilityKey is a CFBoolean, so add one.

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        GTK+ build fix, strike two.

        * bindings/gobject/WebKitDOMEventTarget.cpp:
        (webkit_dom_event_target_get_type):
        (webkit_dom_event_target_default_init):

2010-05-26  Jeremy Orlow  <jorlow@chromium.org>

        Unreviewed build fix for Windows + clean up the Visual Studio project.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:

2010-05-26  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        Indexed Database component is missing IDBObjectStoreRequest interface
        https://bugs.webkit.org/show_bug.cgi?id=39490

        Adding IDL and stub implementation for IDBObjectStoreRequest.

        No new tests, indexed database isn't yet testable.

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSIDBObjectStoreRequestCustom.cpp: Added.
        (WebCore::JSIDBObjectStoreRequest::remove):
        (WebCore::JSIDBObjectStoreRequest::addOrModify):
        (WebCore::JSIDBObjectStoreRequest::modify):
        (WebCore::JSIDBObjectStoreRequest::add):
        (WebCore::JSIDBObjectStoreRequest::get):
        * bindings/v8/custom/V8IDBObjectStoreRequestCustom.cpp: Added.
        (WebCore::V8IDBObjectStoreRequest::removeCallback):
        (WebCore::V8IDBObjectStoreRequest::addOrModifyCallback):
        (WebCore::V8IDBObjectStoreRequest::modifyCallback):
        (WebCore::V8IDBObjectStoreRequest::addCallback):
        (WebCore::V8IDBObjectStoreRequest::getCallback):
        * storage/IDBObjectStore.cpp: Added.
        * storage/IDBObjectStore.h: Added.
        (WebCore::IDBObjectStore::~IDBObjectStore):
        * storage/IDBObjectStoreRequest.cpp: Added.
        (WebCore::IDBObjectStoreRequest::name):
        (WebCore::IDBObjectStoreRequest::keyPath):
        (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
        * storage/IDBObjectStoreRequest.h: Added.
        (WebCore::IDBObjectStoreRequest::create):
        (WebCore::IDBObjectStoreRequest::~IDBObjectStoreRequest):
        * storage/IDBObjectStoreRequest.idl: Added.

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        Unreviewed GTK+ build fix.

        Use G_DEFINE_INTERFACE only if it's available.

        * bindings/gobject/WebKitDOMEventTarget.cpp:
        (webkit_dom_event_target_get_type):
        (webkit_dom_event_target_default_init):

2010-05-26  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        Implement WebDOMStorageList and make WebIDBDatabase use it
        https://bugs.webkit.org/show_bug.cgi?id=39731

        Remove unused function.

        * dom/DOMStringList.h:

2010-05-26  Jessie Berlin  <jberlin@webkit.org>

        Reviewed by Pavel Feldman

        Bug 31296 - Web Inspector: Should support console.groupCollapsed
        https://bugs.webkit.org/show_bug.cgi?id=31296

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::startGroup):
        Set the message type based on whether or not it should be initially collapsed.
        * inspector/InspectorController.h:

        * inspector/front-end/ConsoleView.js:
        Treat a StartGroupCollapsed message the same way as a StartGroup message, but display the tree for the group as collapsed.
        (WebInspector.ConsoleView.prototype.addMessage):
        (WebInspector.ConsoleMessage.prototype.toMessageElement):
        (WebInspector.ConsoleMessage.prototype.toString):
        (WebInspector.ConsoleGroup.prototype.addMessage):

        * page/Console.cpp:
        (WebCore::Console::groupCollapsed):
        Create a group and indicate that it should be collapsed.
        * page/Console.h:
        Add the StartGroupCollapsed message type.

        (WebCore::):
        * page/Console.idl:
        Create the JS bindings for groupCollapsed.

2010-05-26  yael aharon  <yael.aharon@nokia.com>

        Reviewed by Kent Tamura.

        Support the labels attribute in labelable form controls
        https://bugs.webkit.org/show_bug.cgi?id=38713

        Added a new cache type in NodeRareData to store the new cache type.
        This cache is created on demand.

        Added the "labels" attribute to all form controls that support this attribute.

        Tests: fast/forms/labels-add-htmlFor-label.html
               fast/forms/labels-add-parent-label.html
               fast/forms/labels-change-htmlFor-attribute.html
               fast/forms/labels-item-index.html
               fast/forms/labels-remove-htmlFor-attribute.html
               fast/forms/labels-remove-htmlFor-label.html
               fast/forms/labels-remove-parent-label.html
               fast/forms/labels-set-htmlFor-attribute.html

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Node.cpp:
        (WebCore::Node::notifyLocalNodeListsLabelChanged):
        (WebCore::Node::removeCachedLabelsNodeList):
        (WebCore::NodeListsNodeData::invalidateCaches):
        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
        (WebCore::NodeListsNodeData::isEmpty):
        * dom/Node.h:
        * dom/NodeRareData.h:
        (WebCore::NodeListsNodeData::NodeListsNodeData):
        * html/HTMLButtonElement.idl:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::isLabelable):
        (WebCore::HTMLFormControlElement::labels):
        * html/HTMLFormControlElement.h:
        * html/HTMLInputElement.idl:
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::parseMappedAttribute):
        * html/HTMLLabelElement.h:
        * html/HTMLMeterElement.idl:
        * html/HTMLProgressElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/LabelsNodeList.cpp: Added.
        (WebCore::LabelsNodeList::LabelsNodeList):
        (WebCore::LabelsNodeList::~LabelsNodeList):
        (WebCore::LabelsNodeList::nodeMatches):
        * html/LabelsNodeList.h: Added.
        (WebCore::LabelsNodeList::create):

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jeremy Orlow.

        Style fix in JSEventCustom.cpp
        https://bugs.webkit.org/show_bug.cgi?id=39727

        Conditional includes should be all together after the
        unconditional includes.

        * bindings/js/JSEventCustom.cpp:

2010-05-24  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        Add IDBDatabase's attributes
        https://bugs.webkit.org/show_bug.cgi?id=39602

        Add the attributes (like name, description, etc) for
        IDBDatabaseRequest.  Plumb that back to the IDBDatabase
        object which stores the data.

        CMake and Android build changes in another CL (that
        fixes other stuff too).

        Updated the layout test, but there's some further testing
        that needs to be added once the Chromium side of this lands.

        * GNUmakefile.am
        * WebCore.gypi:
        * WebCore.pro
        * WebCore.vcproj/WebCore.vcproj
        * WebCore.xcodeproj/project.pbxproj
        * dom/DOMStringList.h:
        (WebCore::DOMStringList::strings):
        * storage/IDBDatabase.cpp: Removed.
        * storage/IDBDatabase.h:
        * storage/IDBDatabaseImpl.cpp: Added.
        (WebCore::IDBDatabaseImpl::IDBDatabaseImpl):
        (WebCore::IDBDatabaseImpl::~IDBDatabaseImpl):
        (WebCore::IDBDatabaseImpl::objectStores):
        * storage/IDBDatabaseImpl.h: Added.
        (WebCore::IDBDatabaseImpl::create):
        (WebCore::IDBDatabaseImpl::name):
        (WebCore::IDBDatabaseImpl::description):
        (WebCore::IDBDatabaseImpl::version):
        * storage/IDBDatabaseRequest.h:
        (WebCore::IDBDatabaseRequest::name):
        (WebCore::IDBDatabaseRequest::description):
        (WebCore::IDBDatabaseRequest::version):
        (WebCore::IDBDatabaseRequest::objectStores):
        * storage/IDBDatabaseRequest.idl:
        * storage/IDBSuccessEvent.cpp:
        (WebCore::IDBSuccessEvent::IDBSuccessEvent):
        * storage/IndexedDatabaseImpl.cpp:
        (WebCore::IndexedDatabaseImpl::open):
        * storage/IndexedDatabaseImpl.h:

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by NOBODY Gustavo Noronha.

        [GTK] Add support for DOM events in the GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=38844

        Add actual GObject event objects to the DOM event signals.

        * GNUmakefile.am:
        * bindings/gobject/GObjectEventListener.cpp:
        (WebCore::GObjectEventListener::handleEvent):
        * bindings/gobject/WebKitDOMBinding.cpp:
        (WebKit::wrapEventTarget):
        (WebKit::kit):
        * bindings/gobject/WebKitDOMBinding.h:
        * bindings/gobject/WebKitDOMEventTarget.cpp: Added.
        (webkit_dom_event_target_default_init):
        (webkit_dom_event_target_dispatch_event):
        * bindings/gobject/WebKitDOMEventTarget.h: Added.
        * bindings/scripts/CodeGeneratorGObject.pm:

2010-05-24  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        [Android] Add IndexedDB to the build
        https://bugs.webkit.org/show_bug.cgi?id=39593

        Add the current list of build files to Android's make files.  From now on,
        I'll try to be sure to update these along with the rest.
        Also, fix a nit in the gypi file.

        No tests..just changing build files.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * WebCore.gypi:

2010-05-26  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Expose CSS rule body start/end offsets in the parent stylesheet
        https://bugs.webkit.org/show_bug.cgi?id=38906

        CSSParser::parseSheet() accepts an optional external Vector where the start/end offsets
        of the CSSStyleRule bodies, relative to the beginning of the stylesheet, will be stored.
        This Vector is only used when the Web Inspector needs the body ranges, thus there is no
        memory overhead until the user starts editing styles via the Web Inspector.
        Additionally, fixed an issue with a single inspectorStyleSheet for all frames in the page.

        Test: inspector/styles-source-offsets.html

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::setupParser):
        (WebCore::CSSParser::parseSheet):
        (WebCore::CSSParser::createStyleRule):
        (WebCore::CSSParser::updateLastSelectorLineAndPosition):
        (WebCore::CSSParser::markRuleBodyStart):
        (WebCore::CSSParser::markRuleBodyEnd):
        * css/CSSParser.h:
        (WebCore::CSSParser::resetRuleBodyMarks):
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::InspectorCSSStore):
        (WebCore::InspectorCSSStore::reset):
        (WebCore::InspectorCSSStore::removeDocument):
        (WebCore::InspectorCSSStore::inspectorStyleSheet):
        (WebCore::InspectorCSSStore::getStartEndOffsets):
        (WebCore::InspectorCSSStore::getIndexInStyleRules):
        (WebCore::InspectorCSSStore::disabledStyleForId):
        (WebCore::InspectorCSSStore::styleForId):
        (WebCore::InspectorCSSStore::ruleForId):
        (WebCore::InspectorCSSStore::bindStyle):
        (WebCore::InspectorCSSStore::bindStyleSheet):
        (WebCore::InspectorCSSStore::bindRule):
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::resourceForURL):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::inspectorFrontend):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::unbind):
        (WebCore::InspectorDOMAgent::getStyles):
        (WebCore::InspectorDOMAgent::getAllStyles):
        (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
        (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
        (WebCore::InspectorDOMAgent::applyStyleText):
        (WebCore::InspectorDOMAgent::setStyleText):
        (WebCore::InspectorDOMAgent::setStyleProperty):
        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
        (WebCore::InspectorDOMAgent::setRuleSelector):
        (WebCore::InspectorDOMAgent::addRule):
        (WebCore::InspectorDOMAgent::buildObjectForStyle):
        (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.CSSStyleDeclaration):

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Add support for DOM events in the GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=38844

        Use GObject-like names for the DOM event signals. Basically go
        from 'mousewheel' to 'mouse-wheel-event'.

        * bindings/scripts/CodeGeneratorGObject.pm:

2010-05-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Sort Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Add support for DOM events in the GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=38844

        First step towards DOM events support. We create one signal per
        event supported in the DOM classes, and create a custom
        GObjectEventListener that will emit a GObject signal when an event
        is dispatched to the object. There is no event object at the
        moment (we just pass NULL), and no support for hooking into the
        capture phase.

        * GNUmakefile.am:
        * bindings/gobject/GObjectEventListener.cpp: Added.
        (WebCore::GObjectEventListener::handleEvent):
        (WebCore::GObjectEventListener::operator==):
        * bindings/gobject/GObjectEventListener.h: Added.
        (WebCore::GObjectEventListener::create):
        (WebCore::GObjectEventListener::cast):
        (WebCore::GObjectEventListener::GObjectEventListener):
        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        (WebKit::core):
        (webkit_dom_test_callback_finalize):
        (webkit_dom_test_callback_class_init):
        (WebKit::wrapTestCallback):
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        (WebKit::core):
        (webkit_dom_test_interface_finalize):
        (webkit_dom_test_interface_class_init):
        (WebKit::wrapTestInterface):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (WebKit::core):
        (webkit_dom_test_obj_finalize):
        (webkit_dom_test_obj_class_init):
        (WebKit::wrapTestObj):
        * dom/EventListener.h:
        (WebCore::EventListener::):

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=33590

        We need to protect the body of some methods with #ifdefs, since
        the availability of the code they call into is decided at compile
        time.

        * bindings/scripts/CodeGeneratorGObject.pm:

2010-05-26  Kent Tamura  <tkent@chromium.org>

        Reviewed by Shinichiro Hamaji.

        Move date/time limit values to DateComponents.h from HTMLInputElement.cpp
        https://bugs.webkit.org/show_bug.cgi?id=39423

        The minimum and maximum values for date, datetime, datetime-local,
        month, time, and week types depend on the implementation of
        DateComponents.  So move them to DateComponents.

        * html/DateComponents.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::minimum):
        (WebCore::HTMLInputElement::maximum):

2010-05-26  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Simon Hausmann.

        Buildfix for build without ENABLE(RUBY) after r60201.

        * rendering/RenderBlock.cpp:
        (WebCore::canMergeContiguousAnonymousBlocks): Missing #if ENABLE(RUBY) guard added.

2010-05-26  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Update test expectations for JS generator, when using run-webkit-tests. This has been forgotten.

        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
        (WebCore::JSTestInterface::createPrototype):
        * bindings/scripts/test/JS/JSTestInterface.h:
        (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObjConstructor::JSTestObjConstructor):
        (WebCore::JSTestObj::createPrototype):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore::JSTestObjPrototype::JSTestObjPrototype):

2010-05-25  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GStreamer] Apple trailers not playing
        https://bugs.webkit.org/show_bug.cgi?id=37390

        Set the AppleTrailer User-Agent workaround after
        FrameLoader::addExtraFieldsToSubresourceRequest has been called
        because that method sets the global User-Agent.

        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (webKitWebSrcStart):

2010-05-25  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, changing "fts2" to "fts3" in one location I missed in r60188.

        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::dropVTable):

2010-05-25  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:

2010-05-25  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Show HTTP status message sent from server in Resources tab.

        This patch obtains an HTTP status message of each resource and pass it to
        the front end of Web Inspector. The status message is shown in "Headers" tab in
        the detail view of that resource, along with the HTTP status code.

        Web Inspector does not respect HTTP status message
        https://bugs.webkit.org/show_bug.cgi?id=39595

        * inspector/InspectorResource.cpp:
        (WebCore::InspectorResource::updateResponse):
        (WebCore::InspectorResource::updateScriptObject):
        * inspector/InspectorResource.h:
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.CompareByTransferSize):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshHTTPInformation):
        * inspector/front-end/inspector.js:
        (WebInspector.updateResource):
        * inspector/front-end/utilities.js:
        (String.prototype.escapeHTML): Escape '"' so that we can escape messages
        that may occur inside HTML attributes.

2010-05-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=39615, implement basic support for -webkit-column-span.

        This patch adds support for -webkit-column-span elements that can span across all of the columns
        in a multi-column block.  In this first stage, column span support is limited to only immediate
        children of the multi-column block, so no elements actually have to split across a span yet.

        Two new kinds of anonymous blocks have been added: anonymous columns blocks and anonymous column
        span blocks.  When a span gets inserted into a multicol block, the block is split, with the
        column portions of the multicol getting wrapped in anonymous columns blocks and the spans getting
        wrapped in anonymous column span blocks.  The multicol block then stops being multicol and lets
        the anonymous multicol blocks take over column layout.
        
        Many new tests added in fast/multicol/span.

        * dom/Node.cpp:
        (WebCore::Node::diff):
        Changes to column span result in a detach/attach, since spanning elements don't typically have
        much content.
    
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleDidChange):
        Make sure to inherit the appropriate new styles into the anonymous column and column span blocks.

        (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
        This method handles the insertion of new children into the block after it has had to wrap its
        children in anonymous column/column-span blocks.
        
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        A helper method for splitting all anonymous blocks between beforeChild and this block so that
        a new element with an incompatible type can be inserted between them.
        
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        This method does the initial split of a block into anonymous components.  This happens the first
        time a column-span element gets inserted into the block.

        (WebCore::columnsBlockForSpanningElement):
        This function checks whether or not the column-span element is actually being inserted into a viable
        columns block.

        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
        This is the original RenderBlock::addChild.  It handles everything else just like it used to.
        
        (WebCore::RenderBlock::addChild):
        Patched to now call addChildToAnonymousColumnBlocks if the block has wrapped its current children
        in anonymous column/column-span blocks already.

        (WebCore::RenderBlock::moveAllChildrenTo):
        moveAllChildrenTo has been enhanced to support doing a full remove/append in the case where elements
        are shifting across layers.  (This should arguably be the default behavior, but that can happen in
        a future patch.)

        (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
        Patched to fix a bug when the leftover block is empty and to prevent anonymous column/column-span
        block from being coalesced with a parent if they are non-empty.

        (WebCore::canMergeContiguousAnonymousBlocks):
        Whether or not two contiguous anonymous blocks can merge after the removal of a child.

        (WebCore::RenderBlock::removeChild):
        removeChild has been patched to handle more cases of merging/deletion than it did before.  It
        can now destroy empty anonymous block chains and can now merge two contiguous anonymous blocks
        that don't share the same childrenInline() setting (by putting one inside the other).  It also
        makes sure to do full appends/moves/inserts in the cases where the affected blocks have layers.
        
        (WebCore::RenderBlock::fillSelectionGaps):
        Don't let the selection extend outside of a column-span.
        
        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
        Turn off multi-column layout on the outermost block if it has wrapped its children in anonymous
        column/column-span blocks.

        (WebCore::RenderBlock::createAnonymousBlockWithSameTypeAs):
        (WebCore::RenderBlock::createAnonymousColumnsBlock):
        (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
        New helper functions for anonymous block creation.
        
        (WebCore::RenderBlock::renderName):
        Patched to dump anonymous column and column-span blocks so that they can be distinguished from
        regular anonymous blocks.
        * rendering/RenderBlock.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isAnonymousColumnsBlock):
        (WebCore::RenderObject::isAnonymousColumnSpanBlock):
        New helper functions for asking the type of an anonymous block.
        
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::inheritColumnPropertiesFrom):
        A helper function to allow anonymous column blocks to easily inherit all column properties for
        rendering.

2010-05-25  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Re-commit r58765 - it had been rolled out to see if it was causing
        a perf regression (in r59787), but that does not seem to have been
        the case.

        Tests: fast/notifications/notifications-replace.html
               fast/notifications/notifications-rtl.html

        https://bugs.webkit.org/show_bug.cgi?id=39605

        * notifications/Notification.h:
        (WebCore::Notification::dir):
        (WebCore::Notification::setDir):
        (WebCore::Notification::replaceId):
        (WebCore::Notification::setReplaceId):
        * notifications/Notification.idl:

2010-05-22  Jer Noble  <jer.noble@apple.com>

        Reviewed by Adam Roben.

        Full screen doesn't work for video elements
        https://bugs.webkit.org/show_bug.cgi?id=39557
        rdar://problem/8011813
        
        Add fullscreen support for MediaPlayerPrivateVisualContext.  A new class, MediaPlayerPrivateFullscreenWindow,
        provides the fullscreen hwnd and layer renderer.  Any WKCACFLayer can be provided to MediaPlayerPrivateFullscreenWindow
        so future additional MediaPlayerPrivate implementations can use the fullscreen window.
        
        Minor additions have been made to the FloatSize and IntSize classes.

        MediaPlayerPrivateQuickTimeVisualContext now calls retrieveCurrentImage after creating a new 
        videoLayer; this is an existing bug that was never really exposed before now.

        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/FloatSize.h: Added aspectRatio() and scale(float).
        (WebCore::FloatSize::aspectRatio):
        (WebCore::FloatSize::scale):
        * platform/graphics/IntSize.h: Added aspectRatio().
        (WebCore::IntSize::aspectRatio):
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: Added.
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Added.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Call retrieveCurrentImage() after creating the videoLayer.
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
        * platform/graphics/win/WKCACFLayer.cpp: 
        (WebCore::WKCACFLayer::WKCACFLayer):
        (WebCore::WKCACFLayer::removeFromSuperlayer):
        (WebCore::WKCACFLayer::setFrame):
        (WebCore::WKCACFLayer::internalSetNeedsDisplay):
        (WebCore::WKCACFLayer::setLayoutClient):
        (WebCore::WKCACFLayer::layoutSublayersProc):
        (WebCore::WKCACFLayer::layoutClient):
        (WebCore::WKCACFLayer::setNeedsLayout):
        * platform/graphics/win/WKCACFLayer.h: Add layout client class.
        (WebCore::WKCACFLayerLayoutClient::~WKCACFLayerLayoutClient):
        (WebCore::WKCACFLayer::frame): Added back frame()/setFrame().
        * platform/graphics/win/WebTiledLayer.cpp:
        (WebCore::WebTiledLayer::setFrame): Implamented setFrame() in subclass of WKCACFLayer
        * platform/graphics/win/WebTiledLayer.h:
        * platform/graphics/win/WebTiledLayer.cpp: Added setFrame() overriding WKCACFLayer's implementation
        (WebCore::WebTiledLayer::setFrame):
        * platform/graphics/win/WebTiledLayer.h:


2010-05-25  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Brady Eidson.

        Allow FTS3 functions.
        https://bugs.webkit.org/show_bug.cgi?id=38003

        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
        (WebCore::DatabaseAuthorizer::createVTable):

2010-05-25  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Get rid of PluginDatabaseClient
        https://bugs.webkit.org/show_bug.cgi?id=39685

        PluginDatabaseClient isn't used anywhere so just remove it.

        * GNUmakefile.am:
        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::PluginDatabase):
        (WebCore::PluginDatabase::refresh):
        * plugins/PluginDatabase.h:
        * plugins/PluginDatabaseClient.h: Removed.

2010-05-25  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=18595
        REGRESSION (r20766): Setting display:none on an iframe causes the ownerDocument to freeze

        Test: fast/events/frame-detached-in-mousedown.html

        * page/EventHandler.h: Added a boolean tracking whether EventHandler needs to reset capturing
        node on mouse up. It's only done for nodes that hold subframes - elements that capture events
        are responsible for resetting the state.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler): Don't initialize m_capturingMouseEventsNode, it's a
        RefPtr and is initialized automatically.
        (WebCore::EventHandler::handleMousePressEvent): Remember that EventHandler should reset
        capturing node on its own.
        (WebCore::EventHandler::handleMouseDoubleClickEvent): The code here looked like it was copied
        from the below in r21156. Copied correct code instead.
        (WebCore::EventHandler::handleMouseReleaseEvent): We only clear the capturing node when it
        holds a subframe, but the frame may be already detached by the time mouse up is handled, so the
        check was wrong - and return code of passMouseReleaseEventToSubframe() is obviously irrelevant.
        (WebCore::EventHandler::setCapturingMouseEventsNode): Remember that EventHandler should not
        reset capturing node on its own.

2010-05-25  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix for missing symbol.

        * wscript:

2010-05-25  Darin Adler  <darin@apple.com>

        * dom/Element.cpp:
        (WebCore::Element::getIDAttribute): Added comments about problems with this function.

2010-05-25  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Gustavo Noronha Silva.

        [EFL] Build fix.
        http://webkit.org/b/39598

        * CMakeLists.txt:

2010-05-25  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        REGRESSION(51522): typing at the end of a line in designMode documents is *very* slow.
        https://bugs.webkit.org/show_bug.cgi?id=36037
        <rdar://problem/8022887>

        The performance regression was traced to r51522 but this is not entirely true. That revision introduced, among other things,
        additional checks in the method isCandidate of both Position and PositionIterator classes to support scenarios of mixed editability
        that were not allowed before. This change uncovered an underlying issue with the decrement method of PositionIterator, that in some
        cases would iterate through every position as offset in a block before moving to the last child in the block.
        This was exactly the case of the attached test case, where, trying to check if the caret was placed at the end of a block, we were examining
        every position in the block before considering the last true position in the block.
        The performance was linear with the number of child nodes in the block, instead of constant.
        
        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::decrement):

2010-05-25  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=39621
        <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test

        The largest cause of memory growth on this test were autoreleased DOMNode objects created
        to make webView:formStateDidChangeForNode: delegate calls.

        * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
        Don't call notifyFormStateChanged() - since the element starts with refcount 0, it's not
        safe to call functions that are likely to create temporary wrappers (wrapper destructor
        would bring refcount back to 0, and destroy HTMLTextAreaElement from within its constructor).

2010-05-25  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        [DRT/Chromium] Enable 3D_CANVAS, FILTERS, METER_TAG and PROGRESS_TAG
        https://bugs.webkit.org/show_bug.cgi?id=39652

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paintMeter): Fix narrowPrecisionToFloat() usage.

2010-05-25  Darin Adler  <darin@apple.com>

        Sort ".exp" files with the sort tool.
        This makes later merging easier.

        These Mac-specific files should probably move into a subdirectory
        at some point.

        * WebCore.Inspector.exp: Sorted.
        * WebCore.PluginHostProcess.exp: Removed blank line.
        * WebCore.VideoProxy.exp: Sorted.
        * WebCore.base.exp: Ditto.

2010-05-25  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        Removing the persistent GraphicsContext from LayerChromium to save on
        memory and simplify code. Layers now create a temporary context, draw into
        it, update the GL texture and discard the context.
        https://bugs.webkit.org/show_bug.cgi?id=39640

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::~LayerChromium):
        (WebCore::LayerChromium::setLayerRenderer):
        (WebCore::LayerChromium::updateTextureContents):
        (WebCore::LayerChromium::setContents):
        (WebCore::LayerChromium::setBounds):
        (WebCore::LayerChromium::setNeedsDisplay):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::~LayerRendererChromium):
        (WebCore::LayerRendererChromium::setRootLayerCanvasSize):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::assignTextureForLayer):
        (WebCore::LayerRendererChromium::compositeLayersRecursive):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::rootLayerGraphicsContext):

2010-05-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Make text filling work together with text stroke.

        When the text has stroke a new QPen was set, overriding the pen
        set for text filling. This patch fixes that by storing the two
        pens and using where appropriate.

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::drawComplexText):

2010-05-17  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Darin Adler.

        Add an optional "starting node' parameter to scrollRecursively and scrollOverflow of EventHandler
        https://bugs.webkit.org/show_bug.cgi?id=39217

        It would be usefull if scrollOverflow and scrollRecursively methods of EventHandler
        could receive a parameter to specify where to start scrolling from. Currently they
        start scrolling from either the current focused node or the node where mouse last
        pressed on. Patch proposes an aditional starting point as an optional parameter.
        Since it is optional, all call sites can remain as are, and if a Null node is passed
        in, both methods work as previously.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::scrollOverflow):
        (WebCore::EventHandler::scrollRecursively):
        * page/EventHandler.h:

2010-05-25  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: localize heap graph strings.

        https://bugs.webkit.org/show_bug.cgi?id=39674

        * English.lproj/localizedStrings.js:

2010-05-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Switch HTML parsing benchmark to use document.write instead of innerHTML
        https://bugs.webkit.org/show_bug.cgi?id=39661

        We'd like to exercise the main parsing pipeline instead of the fragment
        parsing pipeline.

        * benchmarks/parser/html-parser.html:

2010-05-25  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Laszlo Gombos.

        [Qt] Running with accelerated compositing enabled sometimes result in a crash
        https://bugs.webkit.org/show_bug.cgi?id=39609

        Check if we have a scene before applying the workaround for
        the QGraphicsScene bug where opacity change doesn't always have
        immediate effect.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::OpacityAnimationQt::applyFrame):

2010-05-25  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix Chromium Mac Release build.

        * bindings/v8/ScriptDebugServer.cpp:

2010-05-24  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        ScriptDebugServer is now implemented as DebugEventListener which means it doesn't
        depend on v8 debugging protocol, instead it uses ExecState to collect debugging
        info and pass it to the listeners.

        New implementation of ScriptDebugServer uses methods provided by client to dispatch
        its messages while JS is paused(previously the messages was dispatched in a callback
        passed to v8 along with DebugEventHandler).

        https://bugs.webkit.org/show_bug.cgi?id=39594

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidPause):
        (WebCore::ScriptDebugServer::dispatchDidContinue):
        (WebCore::ScriptDebugServer::dispatchFunctionToListeners): Changed method signature to allow
        invocation of ScriptDebugListener methods that have non-empty argument list.
        (WebCore::ScriptDebugServer::pauseIfNeeded):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::retrieveFrame):
        (WebCore::ScriptDebugServer::ScriptDebugServer):
        (WebCore::ScriptDebugServer::addListener):
        (WebCore::ScriptDebugServer::removeListener): Execution is resumed(nested message loop is terminated) when
        corresponding debugger window closes.
        (WebCore::ScriptDebugServer::clearBreakpoints):
        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
        (WebCore::ScriptDebugServer::continueProgram):
        (WebCore::ScriptDebugServer::stepIntoStatement):
        (WebCore::ScriptDebugServer::stepOverStatement):
        (WebCore::ScriptDebugServer::stepOutOfFunction):
        (WebCore::ScriptDebugServer::v8DebugEventCallback):
        (WebCore::ScriptDebugServer::handleV8DebugEvent):
        (WebCore::ScriptDebugServer::didResume):
        * bindings/v8/ScriptDebugServer.h:
        (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
        (WebCore::ScriptDebugServer::setClientMessageLoop):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didPause):
        * inspector/InspectorController.h:
        * inspector/ScriptDebugListener.h: Changed didPause signature to explicitly pass ScriptState
        where execution is paused.

2010-05-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Clear attributes for each tag in the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39660

        Yes, I did screw this up.

        * html/HTML5Token.h:
        (WebCore::HTML5Token::beginStartTag):
        (WebCore::HTML5Token::beginEndTag):

2010-05-25  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Darin Adler.

        Remove warning for GCC 4.4.3

        GCC suggest parentheses around && within ||

        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):

2010-05-25  Xan Lopez  <xlopez@igalia.com>

        Fix the GTK+ build, PluginInfoStore was removed.

        * GNUmakefile.am:

2010-05-25  Ada Chan  <adachan@apple.com>

        Reviewed by Steve Falkenburg.

        Add a base class for DOMTimer called SuspendableTimer which captures just the
        basic functionality of TimerBase and ActiveDOMObject combined.  It does not
        contain functionality specific to scripting timers.
        
        SuspendableTimer is used in fixing https://bugs.webkit.org/show_bug.cgi?id=39651

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/DOMTimer.cpp:
        (WebCore::DOMTimer::DOMTimer):
        (WebCore::DOMTimer::contextDestroyed):
        (WebCore::DOMTimer::stop):
        * page/DOMTimer.h:
        * page/SuspendableTimer.cpp: Added.
        (WebCore::SuspendableTimer::SuspendableTimer):
        (WebCore::SuspendableTimer::~SuspendableTimer):
        (WebCore::SuspendableTimer::hasPendingActivity):
        (WebCore::SuspendableTimer::stop):
        (WebCore::SuspendableTimer::suspend):
        (WebCore::SuspendableTimer::resume):
        (WebCore::SuspendableTimer::canSuspend):
        * page/SuspendableTimer.h: Added.

2010-05-25  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Nate Chapin.

        Remove custom bindings for Element.SetAttribute*
        https://bugs.webkit.org/show_bug.cgi?id=39604

        Custom bindings are no longer needed because origin checks were moved
        out of the bindings by: http://trac.webkit.org/changeset/59866

        Behavior isn't changed and is covered by existing tests.

        * bindings/js/JSElementCustom.cpp:
        * bindings/v8/custom/V8ElementCustom.cpp:
        * dom/Element.idl:

2010-05-25  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Add memory graph to Timeline overview pane.

        https://bugs.webkit.org/show_bug.cgi?id=37879

        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer):
        (WebInspector.Drawer.prototype.show.animationFinished):
        (WebInspector.Drawer.prototype.show):
        (WebInspector.Drawer.prototype.hide):
        (WebInspector.Drawer.prototype.set currentPanelCounters):
        * inspector/front-end/Panel.js:
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype.showTimelines):
        (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
        (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
        (WebInspector.TimelineOverviewPane.prototype.update):
        (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
        (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
        (WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
        (WebInspector.HeapGraph):
        (WebInspector.HeapGraph.prototype.get element):
        (WebInspector.HeapGraph.prototype.get visible):
        (WebInspector.HeapGraph.prototype.show):
        (WebInspector.HeapGraph.prototype.hide):
        (WebInspector.HeapGraph.prototype.setSize):
        (WebInspector.HeapGraph.prototype.update):
        (WebInspector.HeapGraph.prototype._clear):
        (WebInspector.HeapGraph.prototype._drawScale):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype.toolbarItemClass._createTopPane):
        (WebInspector.TimelinePanel.prototype.get statusBarItems):
        (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
        (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
        (WebInspector.TimelinePanel.prototype.setSidebarWidth):
        (WebInspector.TimelinePanel.prototype.show):
        (WebInspector.TimelinePanel.prototype.hide):
        * inspector/front-end/inspector.css:
        (#counters):
        (#timeline-overview-sidebar):
        (.timeline-category-statusbar-item):
        (.timeline-category-statusbar-item .timeline-category-checkbox):
        (.timeline-category-statusbar-item .timeline-category-checkbox:checked):
        (.timeline-category-statusbar-item.timeline-category-loading .timeline-category-checkbox):
        (.timeline-category-statusbar-item.timeline-category-scripting .timeline-category-checkbox):
        (.timeline-category-statusbar-item.timeline-category-rendering .timeline-category-checkbox):
        (#timeline-overview-memory):
        (.timeline-records-counter):
        (#main-status-bar > .timeline-records-counter):
        (#counters > .timeline-records-counter):
        * inspector/front-end/inspector.html:
        * inspector/front-end/utilities.js:
        ():

2010-05-25  Adam Barth  <abarth@webkit.org>

        Unreviewed.  Fix typo pointed out by Maciej.

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::unconsumeCharacters):
        (WebCore::HTML5Lexer::consumeEntity):

2010-05-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Fix <noembed> and <plaintext> content models
        https://bugs.webkit.org/show_bug.cgi?id=39653

        PLAINTEXTState is my favorite lexer state.  :)

        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):

2010-05-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        First cut at HTML5 entities
        https://bugs.webkit.org/show_bug.cgi?id=39649

        There's still a bunch more work to do to get our entity parsing fully
        up to spec.  This patch contains the bulk of the implementation
        however.
        
        The basics are covered by the existing html5lib tests.  I'll add more
        detailed tests in a followup patch.

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::legalEntityFor):
        (WebCore::HTMLNames::isHexDigit):
        (WebCore::HTMLNames::isAlphaNumeric):
        (WebCore::HTMLNames::uncomsumeCharacters):
        (WebCore::HTML5Lexer::consumeEntity):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::haveBufferedCharacterToken):
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::):
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::write):

2010-05-24  Tasuku Suzuki  <tasuku.suzuki@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix compilation with QT_NO_TEMPORARYFILE
        https://bugs.webkit.org/show_bug.cgi?id=38324

        * platform/qt/FileSystemQt.cpp:
        (WebCore::openTemporaryFile):

2010-05-24  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Fixed handling of bare '/' and '?' at console prompt.
        https://bugs.webkit.org/show_bug.cgi?id=39585

        * inspector/front-end/inspector.js:
        (WebInspector.documentKeyDown):

2010-05-24  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Sam Weinig.

        The 'prototype' property on generated Web IDL interfaces should be { DontDelete | ReadOnly }.

        Spec link:
        http://www.w3.org/TR/WebIDL/#interface-object

        https://bugs.webkit.org/show_bug.cgi?id=39436

        Test: fast/dom/prototype-property.html

        * bindings/scripts/CodeGeneratorJS.pm:

2010-05-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add RCDATA and RAWTEXT suport to the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39642

        Adam Barth wrote half of this patch.

        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):

2010-05-24  Tony Chang  <tony@chromium.org>

        Not reviewed, build fix.

        Fix the chromium compile due to pageZoomFactor refactoring.

        * page/EventHandler.cpp:
        (WebCore::pageZoomFactor):

2010-05-24  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        HTML5 <video> tag performance worse than Flash
        https://bugs.webkit.org/show_bug.cgi?id=39577
        rdar://problem/7982458
        
        Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
        
        WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
        a CAImageQueueRef to be set as a layer's contents.
        
        WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
        
        MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if 
        certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
        threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
        
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/QTPixelBuffer.cpp:
        * platform/graphics/win/QTPixelBuffer.h:
        * platform/graphics/win/WKCACFLayer.cpp:
        * platform/graphics/win/WKCACFLayer.h:
        * platform/graphics/win/WKCAImageQueue.cpp: Added.
        * platform/graphics/win/WKCAImageQueue.h: Added.

2010-05-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Teach the HTML5 parser how to lex escaped script data
        https://bugs.webkit.org/show_bug.cgi?id=39630

        * html/HTML5Lexer.cpp:
        (WebCore::HTMLNames::vectorEqualsString):
        (WebCore::HTML5Lexer::nextToken):
        (WebCore::HTML5Lexer::temporaryBufferIs):
        (WebCore::HTML5Lexer::isAppropriateEndTag):
        (WebCore::HTML5Lexer::maybeFlushBufferedEndTag):
        (WebCore::HTML5Lexer::flushBufferedEndTag):
        * html/HTML5Lexer.h:

2010-05-24  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Trick MSVC into ignoring our unused code for the moment.

        Prepare HTML5TreeBuilder for addition of new HTML5 parser code
        https://bugs.webkit.org/show_bug.cgi?id=39623

        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::constructTreeFromToken):

2010-05-24  Darin Adler  <darin@apple.com>

        Fix build on platforms with touch code enabled.

        * page/EventHandler.cpp:
        (WebCore::pageZoomFactor): Added.
        (WebCore::EventHandler::handleTouchEvent): Use pageZoomFactor.

2010-05-24  Darin Adler  <darin@apple.com>

        Reviewed by Eric Seidel.

        Move view-related functions from Frame to FrameView
        https://bugs.webkit.org/show_bug.cgi?id=39366

        Refactoring only so adds no new tests.

        * WebCore.base.exp: Updated.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument): Call zoom factor function
        on FrameView.
        (WebCore::CSSStyleSelector::applyProperty): Ditto.
        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
        * dom/Document.cpp:
        (WebCore::Document::elementFromPoint): Ditto.
        (WebCore::Document::caretRangeFromPoint): Ditto.
        * dom/MouseRelatedEvent.cpp:
        (WebCore::contentsX): Ditto.
        (WebCore::contentsY): Ditto.
        (WebCore::pageZoomFactor): Added helper function.
        (WebCore::MouseRelatedEvent::computePageLocation): Use helper.
        (WebCore::MouseRelatedEvent::receivedTarget): Ditto.
        * dom/Node.cpp:
        (WebCore::Node::dispatchMouseEvent): Call zoom factor function on FrameView.
        (WebCore::Node::dispatchWheelEvent): Ditto.
        * dom/Touch.cpp:
        (WebCore::contentsX): Call zoom factor function on FrameView.
        (WebCore::contentsY): Ditto.
        * html/HTMLBodyElement.cpp:
        (WebCore::adjustForZoom): Ditto.
        (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
        (WebCore::HTMLBodyElement::setScrollTop): Ditto.
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::width): Ditto.
        (WebCore::HTMLImageElement::height): Ditto.
        * loader/ImageDocument.cpp:
        (WebCore::pageZoomFactor): Added helper function.
        (WebCore::ImageTokenizer::finish): Use helper function
        (WebCore::ImageDocument::scale): Ditto.
        (WebCore::ImageDocument::resizeImageToFit): Ditto.
        (WebCore::ImageDocument::imageChanged): Ditto.
        (WebCore::ImageDocument::restoreImageSize): Ditto.
        (WebCore::ImageDocument::imageFitsInWindow): Ditto.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::innerHeight): Ditto.
        (WebCore::DOMWindow::innerWidth): Ditto.
        (WebCore::DOMWindow::scrollX): Ditto.
        (WebCore::DOMWindow::scrollY): Ditto.
        (WebCore::DOMWindow::scrollTo): Ditto.
        * page/DragController.cpp:
        (WebCore::elementUnderMouse): Ditto.

        * page/Frame.cpp:
        (WebCore::Frame::Frame): Removed code to initialize m_zoomFactor.
        * page/Frame.h: Moved functions to FrameView. Moved all #if to the left
        margin to make the style consistent. Removed empty function
        removeEditingStyleFromBodyElement.

        * page/FrameView.cpp:
        (WebCore::parentZoomFactor): Added helper function for constructor.
        (WebCore::FrameView::FrameView): Added initialization of m_zoomFactor.
        (WebCore::FrameView::shouldApplyTextZoom): Moved this here from Frame.
        (WebCore::FrameView::shouldApplyPageZoom): Ditto.
        (WebCore::FrameView::setZoomFactor): Ditto.

        * page/FrameView.h: Added members moved here from Frame.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::zoomFactor): Call FrameView instead of Frame.
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::currentScale): Ditto.
        (WebCore::SVGSVGElement::setCurrentScale): Ditto.

2010-05-24  Jer Noble  <jer.noble@apple.com>

        No review; build fix only.

        Roll-out changes r60094, 60096-60097.
        
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/QTPixelBuffer.cpp:
        * platform/graphics/win/QTPixelBuffer.h:
        * platform/graphics/win/WKCACFLayer.cpp:
        (WebCore::WKCACFLayer::printLayer):
        * platform/graphics/win/WKCACFLayer.h:
        (WebCore::WKCACFLayer::setContents):
        (WebCore::WKCACFLayer::contents):
        (WebCore::WKCACFLayer::speed):
        (WebCore::WKCACFLayer::timeOffset):
        * platform/graphics/win/WKCAImageQueue.cpp: Removed.
        * platform/graphics/win/WKCAImageQueue.h: Removed.

2010-05-24  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Add wtf/UnusedParam.h include to make Chromium happy.

        Chromium does not use a prefix header in order to support
        distcc3.  Other ports all do.  The real fix is to remove
        wtf/UnusedParam.h from the prefix header.

        * html/HTML5TreeBuilder.cpp:

2010-05-24  Jer Noble  <jer.noble@apple.com>

        No review; build fix only.

        Second half of previous build fix, in which I add the include in the correct place.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

2010-05-24  Jer Noble  <jer.noble@apple.com>

        No review; build fix only.

        Include WKCAImageQueue.h outside the ACCELERATED_COMPOSITING check.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

2010-05-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Prepare HTML5TreeBuilder for addition of new HTML5 parser code
        https://bugs.webkit.org/show_bug.cgi?id=39623

        Before we start transcribing the parser, we need a place to put it.

        This also cleans up HTML5 token to not convert comment and character
        data into AtomicStrings (which makes no sense).

        No functionality change, so no new tests.

        * html/HTML5Token.h:
        (WebCore::HTML5Token::beginStartTag):
        (WebCore::HTML5Token::beginEndTag):
        (WebCore::HTML5Token::beginCharacter):
        (WebCore::HTML5Token::beginComment):
        (WebCore::HTML5Token::name):
        (WebCore::HTML5Token::adoptDataAsStringImpl):
        (WebCore::HTML5Token::characters):
        (WebCore::HTML5Token::commentData):
        (WebCore::HTML5Token::clearData):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTML5TreeBuilder::constructTreeFromToken):
        (WebCore::HTML5TreeBuilder::processToken):
        * html/HTML5TreeBuilder.h:

2010-05-23  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        HTML5 <video> tag performance worse than Flash
        https://bugs.webkit.org/show_bug.cgi?id=39577
        rdar://problem/7982458
        
        Added attachments() back to QTPixelBuffer, as they are necessary for CAImageQueue.
        
        WKCACFLayer contents()/setContents() now return/take a CFTypeRef instead of a CGImageRef, which allows
        a CAImageQueueRef to be set as a layer's contents.
        
        WKCAImageQueue is a simple C++ wrapper around the WebKitSystemInterface CAImageQueue functions.
        
        MediaPlayerPrivateQuickTimeVisualContext will now use a CAImageQueue to display movie frames if 
        certain prerequisites are met (QuartzCore.dll and CoreVideo.dll version numbers must meet a certain
        threshold defined in MediaPlayerPrivateQuickTimeVisualContext.cpp).
        
        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/QTPixelBuffer.cpp:
        * platform/graphics/win/QTPixelBuffer.h:
        * platform/graphics/win/WKCACFLayer.cpp:
        * platform/graphics/win/WKCACFLayer.h:
        * platform/graphics/win/WKCAImageQueue.cpp: Added.
        * platform/graphics/win/WKCAImageQueue.h: Added.

2010-05-24  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
        <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486

        Currently, a Tracker needs to know it's path before origins are populated. Testing databases and 
        related features is made very difficult with this regression, so instead of changing things in a
        complicated way to make this not the case, I've added an "initialize Tracker with this path" function
        that calls the DatabaseTracker constructor with the initial path.

        I checked the other platforms besides Mac and Win, and none of them seem to perform the 
        "initialize databases if necessary" step in their init routines, so this change shouldn't effect them.

        No new tests. (API specific layout test in DRT is forthcoming)

        * WebCore.base.exp:

        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::initializeTracker): Added to create the tracker with its initial path.
        (WebCore::DatabaseTracker::tracker): Move the static tracker out so tracker() and initializeTracker()
          can share it. Add a fallback to not change behavior of platforms that don't call the new 
          "initializeTracker()" method.
        (WebCore::DatabaseTracker::DatabaseTracker): Changed to take the initial path as an argument.
        * storage/DatabaseTracker.h:

        * storage/chromium/DatabaseTrackerChromium.cpp:
        (WebCore::DatabaseTracker::tracker): Adapt to new c'tor.
        (WebCore::DatabaseTracker::DatabaseTracker): Ditto.

2010-05-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Teach the HTML5 parser to lex DOCTYPEs
        https://bugs.webkit.org/show_bug.cgi?id=39571

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::nextToken):
        * html/HTML5Lexer.h:
        * html/HTML5Token.h:
        (WebCore::HTML5Token::beginDOCTYPE):
        (WebCore::HTML5Token::publicIdentifier):
        (WebCore::HTML5Token::systemIdentifier):
        (WebCore::HTML5Token::setPublicIdentifierToEmptyString):
        (WebCore::HTML5Token::setSystemIdentifierToEmptyString):
        (WebCore::HTML5Token::appendToPublicIdentifier):
        (WebCore::HTML5Token::appendToSystemIdentifier):
        (WebCore::HTML5Token::DoctypeData::DoctypeData):
        * html/HTML5TreeBuilder.cpp:
        (WebCore::convertToOldStyle):
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::lookAheadIgnoringCase):
        (WebCore::SegmentedString::advanceAndASSERTIgnoringCase):

== Rolled over to ChangeLog-2010-05-24 ==
