2010-06-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60684.
        http://trac.webkit.org/changeset/60684
        https://bugs.webkit.org/show_bug.cgi?id=40196

        This patch broke chromium reliability tests (Requested by
        tonyg-cr on #webkit).

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::evaluate):
        * bindings/v8/V8Proxy.h:

2010-06-04  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        AX: need an aria-help
        https://bugs.webkit.org/show_bug.cgi?id=40010

        Test: accessibility/aria-help.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::helpText):
        * html/HTMLAttributeNames.in:

2010-06-04  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Canvas arc() with zero radius should draw a line to the start point
        https://bugs.webkit.org/show_bug.cgi?id=40164

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arc

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArc):

2010-06-04  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] RenderThemeGtk leaks memory
        https://bugs.webkit.org/show_bug.cgi?id=40168

        Call gtk_widget_destroy in the RenderThemeGtk destructor. This cleans
        up all widget resources when a theme is destroyed.

        No new tests, because functionality has not changed.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::~RenderThemeGtk): Call gtk_widget_destroy on m_gtkWindow.

2010-06-04  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] RenderThemeGtk leaks memory
        https://bugs.webkit.org/show_bug.cgi?id=40168

        Remove the use of releaseRef to assign a value to a RefPtr. This results in
        the original pointer taking an extra reference.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::initMediaStyling): Remove the use of releaseRef here.

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Gavin Barraclough.

        Try to fix the windows build
        https://bugs.webkit.org/show_bug.cgi?id=40189

        Suppress the "unreachable code" warning because we want to assert that
        we don't reach certain code points.

        * html/HTML5Lexer.cpp:

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        A couple more cases like the previous patch that I missed.

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

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        Make all the state transitions in the machine explicit.  This allows us
        to remove all the break statements, which won't work correctly after we
        change the macro definitions.

        Also, while I was looking at every line of code, I fixed a bunch of the
        one-line-if style errors introduces in my previous patches.

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

2010-06-04  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 40187 - Change function signature of NativeConstructor to match NativeFunction

        Mostly for consistency, but constructor & args arguments are redundant,
        and this will help if we wish to be able to JIT calls to more constructors.

        * bindings/js/JSArrayBufferConstructor.cpp:
        (WebCore::constructCanvasArrayBuffer):
        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::constructAudio):
        * bindings/js/JSEventSourceConstructor.cpp:
        (WebCore::constructEventSource):
        * bindings/js/JSFloatArrayConstructor.cpp:
        (WebCore::constructCanvasFloatArray):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::constructImage):
        * bindings/js/JSInt16ArrayConstructor.cpp:
        (WebCore::constructCanvasShortArray):
        * bindings/js/JSInt32ArrayConstructor.cpp:
        (WebCore::constructCanvasIntArray):
        * bindings/js/JSInt8ArrayConstructor.cpp:
        (WebCore::constructCanvasByteArray):
        * bindings/js/JSMessageChannelConstructor.cpp:
        (WebCore::JSMessageChannelConstructor::construct):
        * bindings/js/JSMessageChannelConstructor.h:
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::constructHTMLOptionElement):
        * bindings/js/JSSharedWorkerConstructor.cpp:
        (WebCore::constructSharedWorker):
        * bindings/js/JSUint16ArrayConstructor.cpp:
        (WebCore::constructCanvasUnsignedShortArray):
        * bindings/js/JSUint32ArrayConstructor.cpp:
        (WebCore::constructCanvasUnsignedIntArray):
        * bindings/js/JSUint8ArrayConstructor.cpp:
        (WebCore::constructCanvasUnsignedByteArray):
        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
        (WebCore::constructWebKitCSSMatrix):
        * bindings/js/JSWebKitPointConstructor.cpp:
        (WebCore::constructWebKitPoint):
        * bindings/js/JSWebSocketConstructor.cpp:
        (WebCore::constructWebSocket):
        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::constructWorker):
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::constructXMLHttpRequest):
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::constructXSLTProcessor):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/runtime_object.cpp:
        (JSC::Bindings::callRuntimeConstructor):

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        Change the intent of the loop to match what it's going to be once we
        remove the loop.  This is a whitespace only change that will make the
        final diff much, much smaller.  Sorry for the transient ugly style.

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

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        Introduce ADVANCE_TO macro.  This is the last macro we need to
        introduce.

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

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        Fix the rest of the RECONSUME_IN cases that were missed by our script.
        Also, reorder some assigment to prepare for the ADVANCE_TO patch.

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

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        This patch handles the FLUSH_AND_ADVANCE_TO case.  Again, this patch
        introduces style errors that will be fixed shortly.

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

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        This patch handles the FLUSH_EMIT_AND_RESUME_IN case.  This patch
        introduces some bad style w.r.t. one-line if statements, but we'll fix
        them all automatically in cleanup patch when we're done.

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

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        More small steps.  This patch deals with emitting tokens.

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

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        The next step: using macros to delimit each state.  Evetually, we're
        going to change what these macros expand to.

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

2010-06-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make HTML5Lexer go fast
        https://bugs.webkit.org/show_bug.cgi?id=40048

        We're going to do this patch in small steps to make it easier to verify correctness.

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

2010-06-04  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by David Levin.

        [chromium] Adding support for the left and right Windows keys to the
                   NativeWebKeyboardEvent.
        https://bugs.webkit.org/show_bug.cgi?id=39752

        * platform/chromium/KeyCodeConversionGtk.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):

2010-06-04  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG filter on filter don't work
        https://bugs.webkit.org/show_bug.cgi?id=32708
        
        Any child of <text> was not allowed to use the same filter as the text root. 
        I couldn't found any reason in the SVG specification that legimitate this.
        Only batik also doesn't allow the same filter on the text root as on it's childs,
        while any other effect is still allowed.
        I removed this limitation so that the result looks like the result on Firefox.

        Test: svg/filters/filter-on-filter-for-text.svg

        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
        (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
        (WebCore::SVGRootInlineBox::paint):

2010-06-04  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Factor PageCache functionality out of FrameLoader and into
        PageCache itself.

        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:
        (WebCore::DocumentLoader::commitIfReady):
        * 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:
        (WebCore::SVGImage::dataChanged):

2010-06-04  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Web Inspector: it would be better to push object properties to JSON string in order of insertion.
        https://bugs.webkit.org/show_bug.cgi?id=40140

        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::writeJSON):
        * inspector/InspectorValues.h:
        (WebCore::InspectorObject::setBool):
        (WebCore::InspectorObject::setNumber):
        (WebCore::InspectorObject::setString):
        (WebCore::InspectorObject::set):

2010-06-04  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Persist V8's ScriptData to the memory cache.
        https://bugs.webkit.org/show_bug.cgi?id=38661

        This stores V8's ScriptData in the memory cache and also causes the
        network platform layer to be notified of the available cacheable
        metadata.

        Chromium's morejs benchmark shows a 3-4% improvement on fast hardware.

        No new tests because no new functionality.

        * bindings/v8/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        (WebCore::ScriptSourceCode::cachedScript):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::precompileScript):
        (WebCore::V8Proxy::evaluate):
        * bindings/v8/V8Proxy.h:

2010-06-04  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        Utilize new takeFirst() method where appropriate.
        https://bugs.webkit.org/show_bug.cgi?id=40089

        No new tests because no new functionality.

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
        * dom/XMLTokenizerLibxml2.cpp:
        (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::reset):
        (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::advanceSubstring):
        * storage/Database.cpp:
        (WebCore::Database::scheduleTransaction):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::getNextStatement):
        * storage/SQLTransactionCoordinator.cpp:
        (WebCore::SQLTransactionCoordinator::processPendingTransactions):

2010-06-04  Nikita Vasilyev  <me@elv1s.ru>

        Reviewed by Pavel Feldman.

        Web Inspector: better Function.prototype.bind for the internal code.

        In the "Event Listeners" pane show handler function instead of Function.prototype.bind.

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

        * inspector/front-end/utilities.js:
        (Function.prototype.bind.bound):
        (Function.prototype.bind.bound.toString):
        (Function.prototype.bind):

2010-06-04  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, fix Qt build.

        Add references to a new file.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/WebKit.qrc:

2010-06-04  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Eliminate direct dependency of StylesSidebarPane on InspectorBackend
        https://bugs.webkit.org/show_bug.cgi?id=40069

        No new tests are needed, as this is a refactoring.

        * inspector/front-end/CSSStyleModel.js: Added.
        (WebInspector.CSSStyleModel):
        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype.toggleStyleEnabled):
        (WebInspector.CSSStyleModel.prototype.setCSSText):
        (WebInspector.CSSStyleModel.prototype.applyStyleText):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
        (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
        (WebInspector.StylesSidebarPane.prototype.update):
        (WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertyTreeElement.prototype.):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):

2010-06-04  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Compilation fails when compiling against Qt 4.7 and Qt Mobility is installed
        https://bugs.webkit.org/show_bug.cgi?id=40116

        CONFIG += mobility has the side-effect of pulling in mobility includes, which conflict
        with Qt 4.7's bearer managenent includes and break the build.

        * WebCore.pro:

2010-06-04  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] Fix scrolling bug with pages using accelerated compositing.
        https://bugs.webkit.org/show_bug.cgi?id=40037

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

2010-06-04  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Darin Adler.

        CG implementation needed for compression quality in canvas.toDataURL
        https://bugs.webkit.org/show_bug.cgi?id=38492

        Took toDataURL.jpeg.quality.basic.html test off of Skipped list. Passes.

        Went the route of avoiding in-band signaling to flag the use of a quality 
        parameter or not. So, instead of simply passing the quality down as a
        double, instead I pass a reference to the quality parameter from where
        it comes in just after the JS bindings. Thus, no need for any global
        constants to signify when the quality is not specified. Updated the other 
        platforms to support this (qt was on the only one currently with any
        implementation). 

        * bindings/js/JSHTMLCanvasElementCustom.cpp: Moved range check logic for quality parameter down lower. Updated
        call to toDataURL to use double* instead of just passing the quality directly.
        (WebCore::JSHTMLCanvasElement::toDataURL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Updated toDataURL call to pass double*
        (WebCore::V8HTMLCanvasElement::toDataURLCallback):
        * dom/CanvasSurface.cpp: Updated method prototype.
        (WebCore::CanvasSurface::toDataURL):
        * dom/CanvasSurface.h: Updated method prototype.
        (WebCore::CanvasSurface::toDataURL):
        * platform/graphics/ImageBuffer.h: Updated method signature to use double* for quality param.
        * platform/graphics/cairo/ImageBufferCairo.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/cg/ImageBufferCG.cpp: Implemented support for quality parametejr when jpeg MIME type used.
        (WebCore::jpegUTI):
        (WebCore::utiFromMIMEType):
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/haiku/ImageBufferHaiku.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/qt/ImageBufferQt.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/skia/ImageBufferSkia.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wince/ImageBufferWince.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wx/ImageBufferWx.cpp: Updated prototype for consistency.
        (WebCore::ImageBuffer::toDataURL):

2010-06-04  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        Leaks in listDirectory
        https://bugs.webkit.org/show_bug.cgi?id=40008

        Fixed both leaks.

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

2010-06-04  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [Chromium] get rid of named interceptor on HTMLDocument and introduce/remove accessors when named items get deleted/removed
        https://bugs.webkit.org/show_bug.cgi?id=39877

        This patch makes callbacks invoked on named items addition/removal
        install API accessors and thus there is no more need in
        named and indexed interceptors on HTMLDocument which
        speeds up invocation of methods on document.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::checkDocumentWrapper):
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        (WebCore::getter):
        (WebCore::V8DOMWindowShell::namedItemAdded):
        (WebCore::V8DOMWindowShell::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::WrapInShadowObject):
        (WebCore::V8HTMLDocument::GetNamedProperty):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):

2010-06-04  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kent Tamura.

        Change filenameFromString to return CString
        https://bugs.webkit.org/show_bug.cgi?id=39494

        filenameFromString returns a newly allocated string and the caller must
        free the string. GTK and EFL ports use g_free while all others ports use
        fastFree. This is confusing because the same function behaves
        differently with respect to ports. Change filenameFromString to return
        CString.

        * platform/FileSystem.cpp:
        (WebCore::filenameFromString):
        * platform/FileSystem.h:
        * platform/efl/FileSystemEfl.cpp:
        (WebCore::filenameFromString):
        * platform/gtk/FileChooserGtk.cpp:
        (WebCore::FileChooser::basenameForWidth):
        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::filenameFromString):
        (WebCore::filenameForDisplay):
        (WebCore::fileExists):
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileSize):
        (WebCore::getFileModificationTime):
        (WebCore::makeAllDirectories):
        (WebCore::pathGetFileName):
        (WebCore::directoryName):
        (WebCore::listDirectory):
        * platform/gtk/SharedBufferGtk.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::startHttp):
        * platform/posix/SharedBufferPOSIX.cpp:
        (WebCore::SharedBuffer::createWithContentsOfFile):

2010-06-04  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

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

        The #ifdef QT_NO_GRAPHICSEFFECT was in the wrong place, would have
        made AC not work at all.

        No new tests.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::flushChanges):

2010-06-04  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arcTo.ensuresubpath.1.html
        https://bugs.webkit.org/show_bug.cgi?id=38645

        Path arcto function need to ensure there is subpath before it.

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArcTo):

2010-06-04  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] failed at http://philip.html5.org/tests/canvas/suite/tests/2d.path.arc.angle.3.html
        https://bugs.webkit.org/show_bug.cgi?id=38537

        For path.arc function handle span > 2PI

        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArc):

2010-06-04  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Set attributes.stencil to false by default at context creation
        https://bugs.webkit.org/show_bug.cgi?id=40090

        * platform/graphics/GraphicsContext3D.h: Set default attributes.stencil to false.
        (WebCore::GraphicsContext3D::Attributes::Attributes):

2010-06-03  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Eric Carlson.

        Fix a crash when trying to use an invalid media src url by
        moving the isValid url checks to a central location in
        isSafeToLoadURL function. Also added an empty string check
        in DocumentLoader::didTellClientAboutLoad.

        Test: media/invalid-media-url-crash.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::isSafeToLoadURL):
        (WebCore::HTMLMediaElement::selectNextSourceChild):
        (WebCore::HTMLMediaElement::getPluginProxyParams):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::didTellClientAboutLoad):

2010-06-03  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60642.
        http://trac.webkit.org/changeset/60642
        https://bugs.webkit.org/show_bug.cgi?id=40151

        Broke rendering of border images on rotated elements
        (Requested by jamesr on #webkit).

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage):
        (WebCore::GraphicsContext::drawTiledImage):
        * platform/graphics/GraphicsContext.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintNinePieceImage):

2010-06-03  Damian Kaleta  <dkaleta@apple.com>

        Reviewed by Beth Dakin.

        Pixel cracks in border images when drawing with a scale factor > 1
        <rdar://problem/7994266>pixel cracks in border images
        https://bugs.webkit.org/show_bug.cgi?id=15720
        
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage):
        (WebCore::GraphicsContext::drawTiledImage):
        * platform/graphics/GraphicsContext.h: Added two new methods to support drawing using FloatRect.
        If the boolean flag roundToPixels is true, the pixels are adjusted with the pixel boundaries.
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintNinePieceImage):

2010-06-03  James Robinson  <jamesr@chromium.org>

        Reviewed by Dan Bernstein.

        Take container's scroll offset and clip into account when initializing LayoutState
        https://bugs.webkit.org/show_bug.cgi?id=38506

        When doing a subtree layout, the initial LayoutState creation needs to
        take the layout root container's offset and its scroll offset into account
        to create the initial offset.  Otherwise if a subtree layout occurs
        for a layout root whose container has a non-zero scroll offset
        the LayoutState's offset and clip are wrong, resulting in a mispaint.
        See the test cases for examples.

        Tests: fast/repaint/layout-state-scrolloffset.html
               fast/repaint/layout-state-scrolloffset2.html
               fast/repaint/layout-state-scrolloffset3.html

        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):

2010-06-03  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (speculative Qt build fix II).

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

2010-06-03  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (speculative Qt build fix).

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

2010-06-02  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 40094 - The return type of NativeFunction should be EncodedJSValue
        On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback):
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSHTMLAllCollectionCustom.cpp:
        (WebCore::callHTMLAllCollection):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::callHTMLCollection):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::InjectedScriptHost::createInjectedScript):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::callNodeList):
        * bindings/js/JSPluginElementFunctions.cpp:
        (WebCore::callPlugin):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
        (WebCore::ScheduledAction::executeFunctionInContext):
        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::call):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::SerializingTreeWalker::convertIfTerminal):
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/NP_jsobject.cpp:
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        (_NPN_Construct):
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::callObjCFallbackObject):
        * bridge/runtime_method.cpp:
        (JSC::callRuntimeMethod):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::callRuntimeObject):

2010-06-03  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60614.
        http://trac.webkit.org/changeset/60614
        https://bugs.webkit.org/show_bug.cgi?id=40123

        It made fast/dom/Window/window-postmessage-clone.html fail on
        Mac bots (Requested by Ossy on #webkit).

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * dom/Document.cpp:
        (WebCore::Document::createEvent):
        (WebCore::Document::addListenerTypeIfNeeded):
        * dom/Document.h:
        (WebCore::Document::):
        * dom/Document.idl:
        * dom/Element.h:
        * dom/Element.idl:
        * dom/Event.cpp:
        (WebCore::Event::fromUserGesture):
        * dom/Event.h:
        * dom/EventNames.h:
        * dom/TransformActionEvent.cpp: Removed.
        * dom/TransformActionEvent.h: Removed.
        * dom/TransformActionEvent.idl: Removed.
        * html/HTMLAttributeNames.in:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

2010-06-03  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: show "Object" as description for values with anonymous constructor
        https://bugs.webkit.org/show_bug.cgi?id=40121

        * inspector/front-end/InjectedScript.js:
        (injectedScriptConstructor):

2010-06-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix NPAPI support on Mac OS X/Cocoa-32

        qt_mac_window_for() returns a NSWindow on Cocoa, so we were
        passing in a NSWindow instead of a WindowRef as part of the
        NP_CGContext.

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

        * WebCore.gypi: Reflect rename
        * WebCore.pro: Reflect rename
        * plugins/mac/PluginViewMac.cpp: Renamed to PluginViewMac.mm
        and fix bug by getting the Carbon windowRef from the NSWindow.
        * wscript: Reflect rename

2010-06-03  Kim Grönholm  <kim.1.gronholm@nokia.com>

        Reviewed by Simon Hausmann.

        Add TransformActionEvent support
        https://bugs.webkit.org/show_bug.cgi?id=39757

        Added only the necessary TransformAction event interfaces and not e.g.
        any eventhandler hooks that generate and dispatch them.

        Test: fast/events/transformaction/create-transformaction-event.html
        More tests will be added with the machinery that generates and
        dispatches these events.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::transformactionEnabled):
        (WebCore::RuntimeEnabledFeatures::setTransformActionEnabled):
        (WebCore::RuntimeEnabledFeatures::ontransformactionstartEnabled):
        (WebCore::RuntimeEnabledFeatures::ontransformactionupdateEnabled):
        (WebCore::RuntimeEnabledFeatures::ontransformactionendEnabled):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * dom/Document.cpp:
        (WebCore::Document::createEvent):
        (WebCore::Document::addListenerTypeIfNeeded):
        * dom/Document.h:
        (WebCore::Document::):
        * dom/Document.idl:
        * dom/Element.h:
        * dom/Element.idl:
        * dom/Event.cpp:
        (WebCore::Event::isTransformActionEvent):
        (WebCore::Event::fromUserGesture):
        * dom/Event.h:
        * dom/EventNames.h:
        * dom/TransformActionEvent.cpp: Added.
        (WebCore::TransformActionEvent::TransformActionEvent):
        (WebCore::TransformActionEvent::initTransformActionEvent):
        * dom/TransformActionEvent.h: Added.
        (WebCore::TransformActionEvent::create):
        (WebCore::TransformActionEvent::translateX):
        (WebCore::TransformActionEvent::translateY):
        (WebCore::TransformActionEvent::translateSpeedX):
        (WebCore::TransformActionEvent::translateSpeedY):
        (WebCore::TransformActionEvent::scale):
        (WebCore::TransformActionEvent::scaleSpeed):
        (WebCore::TransformActionEvent::rotate):
        (WebCore::TransformActionEvent::rotateSpeed):
        (WebCore::TransformActionEvent::TransformActionEvent):
        (WebCore::TransformActionEvent::isTransformActionEvent):
        * dom/TransformActionEvent.idl: Added.
        * html/HTMLAttributeNames.in:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

2010-06-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: a number of fixes that make InspectorController
        happy with null redirects.

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didReceiveContentLength):
        (WebCore::InspectorController::didFinishLoading):
        (WebCore::InspectorController::didFailLoading):

2010-06-03  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Rolling out aggressive cache part of the r60391
        described in the bug below. It was orthogonal to the rest of
        the patch and caused regression.

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

        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::drawResampledBitmap):

2010-06-02  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady Eidson.

        location.href and outgoing referrer not updated properly by
        pushState/replaceState
        https://bugs.webkit.org/show_bug.cgi?id=40027

        Tests: fast/loader/stateobjects/pushstate-updates-location.html
               fast/loader/stateobjects/replacestate-updates-location.html
               http/tests/navigation/pushstate-updates-referrer.html
               http/tests/navigation/replacestate-updates-referrer.html

        * dom/Document.cpp:
        (WebCore::Document::updateURLForPushOrReplaceState):
        Update the FrameLoader's notion of the current URL as well!

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadInSameDocument):
        Use the 'url' parameter instead of m_URL since m_URL might have
        changed during the handling of the PopState event.  Eventually,
        this will become irrelevant since the PopState event should be
        dispatched asynchronously, but just in case we patch HashChange
        to be asynchronous before PopState, this change would be needed.

2010-06-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        REGRESSION(60409): document.write is not synchronous when using the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=40047

        The HTML5 spec states that we should "spin the event loop" while
        waiting for stylesheets to load.  Currently we do that by yielding
        out of the parser when stylesheets are loading.  Because it was easy
        we made inline <scripts> yield for stylesheet loads as well.  However,
        this caused document.write() to return after encountering the first
        inline <script> tag in many cases which is incorrect.  document.write
        is supposed to block until the entire document is parsed (including)
        executing inline script tags.  To match the exiting parser, we'll just
        make inline <script> tags not block on stylesheets for now.

        This is tested by WebCore/benchmarks/html-parser.html as well
        as likely several other tests in LayoutTests which we haven't
        triaged yet.

        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::executeScript):
         - ASSERT that either stylesheets have loaded or we're executing an
           inline <script> tag.
        (WebCore::HTML5ScriptRunner::runScript):
         - Remove the code to block inline <script> tags on stylesheet loads.

2010-06-02  MORITA Hajime  <morrita@google.com>

        Unreviewd, Chromium windows build fix.

        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintProgressBar):

2010-06-02  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.
        
        [Chromium] Linux: progress bar image pieces should be painted with same resampling mode
        https://bugs.webkit.org/show_bug.cgi?id=40045

        computeResamplingMode(), used by Image::drawPattern() and
        BitmapImage::draw(), chooses an image resampling mode based on the
        size of given image and the destination rectangle. But when
        painting single component (i.e. a progress bar) from multiple
        images, it can choose different resampling modes for images of
        same component. That difference creates unexpected visual artifacts
        like seams between images of single component.
        
        This change introduced "image resampling hint" to allow callers to
        control the resampling mode. Using the hint,
        RenderThemeChromiumSkia now able to hold same resampling mode
        during draw a progress bar.
        
        No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
        enabled on chromium.
        
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::computeResamplingMode):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::save):        
        (PlatformContextSkia::setImageResamplingHint): Added
        (PlatformContextSkia::clearImageResamplingHint): Added
        (PlatformContextSkia::hasImageResamplingHint): Added
        (PlatformContextSkia::imageResamplingHint): Added
        * platform/graphics/skia/PlatformContextSkia.h:
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintProgressBar):

2010-06-03  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        [Chromium] Support HTML5 <progress> element on Linux.
        https://bugs.webkit.org/show_bug.cgi?id=37310
        
        Implemented RenderThemeChromiumSkia::paintProgressBar(), extracing
        determinateProgressValueRectFor() from RenderThemeChromiumWin to
        RenderThemeChromiumSkia
        
        No new tests. Expectations will come after ENABLE_PROGRESS_BAR get
        enabled on chromium.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::determinateProgressValueRectFor):
        (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
        (WebCore::RenderThemeChromiumSkia::animationRepeatIntervalForProgressBar):
        (WebCore::RenderThemeChromiumSkia::animationDurationForProgressBar):
        (WebCore::RenderThemeChromiumSkia::paintProgressBar):
        (WebCore::RenderThemeChromiumSkia::progressValueRectFor):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintProgressBar):

2010-06-02  Nico Weber  <thakis@chromium.org>

        Reviewed by Simon Fraser.

        Scroll events are sent twice per keypress for ports that don't have a platformWidget scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=39918

        This was regressed by http://trac.webkit.org/changeset/58615 . Fix this by slightly tweaking
        that patch.

        Test: editing/input/page-up-down-scrolls.html

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPositionChanged):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::valueChanged):
        * platform/ScrollView.h:
        (WebCore::ScrollView::repaintFixedElementsAfterScrolling):

2010-06-02  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: use platform-specific key designations in shortcuts help for mac
        https://bugs.webkit.org/show_bug.cgi?id=39158

        * inspector/front-end/KeyboardShortcut.js:
        (WebInspector.KeyboardShortcut.shortcutToString):
        (WebInspector.KeyboardShortcut._keyName):
        (WebInspector.KeyboardShortcut._modifiersToString):
        * inspector/front-end/inspector.js:
        (WebInspector._registerShortcuts):

2010-06-02  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Fisher.

        Enable WebGL on more platforms even if accelerated compositing is disabled
        https://bugs.webkit.org/show_bug.cgi?id=40085

        Conditionalize the code which prevents a WebGL rendering context
        from being created if accelerated compositing is disabled.
        Currently Chromium is the only port which will create a context if
        accelerated compositing is disabled; other ports may opt in to
        this code path if desired.

        Tested with existing WebGL layout tests in Safari and Chromium on
        Mac OS X.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):

2010-06-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60580.
        http://trac.webkit.org/changeset/60580
        https://bugs.webkit.org/show_bug.cgi?id=40087

        This broke dragging links if the selection was in a
        contentEditable element. (Requested by arv on #webkit).

        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded):

2010-06-02  Erik Arvidsson  <arv@chromium.org>

        Reviewed by ojan@chromium.org.

        REGRESSION: Weird focus behavior affects quoting on University of Washington message board system
        https://bugs.webkit.org/show_bug.cgi?id=38548

        Test: editing/selection/click-in-focusable-link-should-not-clear-selection.html

        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded):

2010-06-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Just disable the current version of multi-column layout completely when the new
        pagination model is in effect.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):

2010-06-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Turn off unforced page breaking at paint time when the new page breaking model is being used.

        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::paint):

2010-06-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Don't check page break properties at paint time if we're using the new page breaking model.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintChildren):

2010-06-02  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Fix an infinite recursion crash when trying to wrap
        media elements without a media player.

        No test because there isn't a good way to ensure the media player
        is off.

        * dom/make_names.pl: Call, e.g., V8HTMLElement::wrap(HTMLElement*)
          instead of toV8(HTMLElement*).

2010-06-02  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Notification object ref counting is not correct.
        https://bugs.webkit.org/show_bug.cgi?id=39998

        Return PassRefPtr<Notification> instead of a raw pointer from the create methods
        for Web Notifications. 

        No new tests are needed, as existing tests show the problem when sending the 
        "display" event asynchronously.

        * notifications/Notification.h:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::createHTMLNotification):
        (WebCore::NotificationCenter::createNotification):

2010-06-02  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: totalJSHeapSize and usedJSHeapSize. Later, it can be
        extended for reporting total browser's memory consumption.

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

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::memory):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::memoryAccessorGetter):
        * page/Console.h:
        * page/Console.idl:
        * page/MemoryInfo.cpp: Added.
        (WebCore::MemoryInfo::MemoryInfo):
        * page/MemoryInfo.h: Added.
        (WebCore::MemoryInfo::create):
        (WebCore::MemoryInfo::totalJSHeapSize):
        (WebCore::MemoryInfo::usedJSHeapSize):
        * page/MemoryInfo.idl: Added.

2010-06-02  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: support "Continue to Here" in debugger
        https://bugs.webkit.org/show_bug.cgi?id=39953

        * English.lproj/localizedStrings.js:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
        (WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
        (WebInspector.BreakpointManager.prototype.addBreakpoint):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView):
        (WebInspector.ScriptView.prototype._continueToLine):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.continueToLine):
        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView):
        (WebInspector.SourceView.prototype._continueToLine):
        (WebInspector.SourceView.prototype.updateLocalContent):

2010-06-02  Mikhail Naganov  <mnaganov@chromium.org>

        Unreviewed, rolling out r60563.
        http://trac.webkit.org/changeset/60563
        https://bugs.webkit.org/show_bug.cgi?id=39646

        windows build failed

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSConsoleCustom.cpp:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        * page/Console.h:
        * page/Console.idl:
        * page/MemoryInfo.cpp: Removed.
        * page/MemoryInfo.h: Removed.
        * page/MemoryInfo.idl: Removed.

2010-06-02  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: totalJSHeapSize and usedJSHeapSize. Later, it can be
        extended for reporting total browser's memory consumption.

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

        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::memory):
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::memoryAccessorGetter):
        * page/Console.h:
        * page/Console.idl:
        * page/MemoryInfo.cpp: Added.
        (WebCore::MemoryInfo::MemoryInfo):
        * page/MemoryInfo.h: Added.
        (WebCore::MemoryInfo::create):
        (WebCore::MemoryInfo::totalJSHeapSize):
        (WebCore::MemoryInfo::usedJSHeapSize):
        * page/MemoryInfo.idl: Added.

2010-06-02  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add test for resource parameters.

        https://bugs.webkit.org/show_bug.cgi?id=40026
        
        Test: http/tests/inspector/resource-parameters.html

        * inspector/front-end/HAREntry.js:
        (WebInspector.HAREntry.prototype._buildParameters):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._parseParameters):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshParms):

2010-06-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix make install on Symbian for headers in package builds when INSTALL_HEADERS is not defined

        First we wrote inst_headers.output with $$[QT_INSTALL_HEADERS] and then
        overwrote it with the $$INSTALL_HEADERS variant without checking if the
        variable was set.

        Fixed and cleaned up the logic of falling back to $$[QT_INSTALL_HEADERS].

        * WebCore.pro:

2010-06-02  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Style fixes for the generated code in DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=39949

        Get rid of extra spaces and wrong indentation in the generated
        code.

        * bindings/scripts/CodeGeneratorGObject.pm:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        (webkit_dom_test_callback_callback_with_class1param):
        (webkit_dom_test_callback_callback_with_class2param):
        (webkit_dom_test_callback_callback_with_non_bool_return_type):
        (webkit_dom_test_callback_set_property):
        (webkit_dom_test_callback_get_property):
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        (webkit_dom_test_interface_set_property):
        (webkit_dom_test_interface_get_property):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        (webkit_dom_test_obj_void_method):
        (webkit_dom_test_obj_void_method_with_args):
        (webkit_dom_test_obj_int_method):
        (webkit_dom_test_obj_int_method_with_args):
        (webkit_dom_test_obj_obj_method):
        (webkit_dom_test_obj_obj_method_with_args):
        (webkit_dom_test_obj_method_that_requires_all_args):
        (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
        (webkit_dom_test_obj_serialized_value):
        (webkit_dom_test_obj_method_with_exception):
        (webkit_dom_test_obj_with_dynamic_frame):
        (webkit_dom_test_obj_with_dynamic_frame_and_arg):
        (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
        (webkit_dom_test_obj_with_script_state_void):
        (webkit_dom_test_obj_with_script_state_obj):
        (webkit_dom_test_obj_with_script_state_void_exception):
        (webkit_dom_test_obj_with_script_state_obj_exception):
        (webkit_dom_test_obj_method_with_optional_arg):
        (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
        (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
        (webkit_dom_test_obj_get_read_only_int_attr):
        (webkit_dom_test_obj_get_read_only_string_attr):
        (webkit_dom_test_obj_get_read_only_test_obj_attr):
        (webkit_dom_test_obj_get_int_attr):
        (webkit_dom_test_obj_set_int_attr):
        (webkit_dom_test_obj_get_long_long_attr):
        (webkit_dom_test_obj_set_long_long_attr):
        (webkit_dom_test_obj_get_unsigned_long_long_attr):
        (webkit_dom_test_obj_set_unsigned_long_long_attr):
        (webkit_dom_test_obj_get_string_attr):
        (webkit_dom_test_obj_set_string_attr):
        (webkit_dom_test_obj_get_test_obj_attr):
        (webkit_dom_test_obj_set_test_obj_attr):
        (webkit_dom_test_obj_get_attr_with_exception):
        (webkit_dom_test_obj_set_attr_with_exception):
        (webkit_dom_test_obj_get_attr_with_setter_exception):
        (webkit_dom_test_obj_set_attr_with_setter_exception):
        (webkit_dom_test_obj_get_attr_with_getter_exception):
        (webkit_dom_test_obj_set_attr_with_getter_exception):
        (webkit_dom_test_obj_get_script_string_attr):
        (webkit_dom_test_obj_set_property):
        (webkit_dom_test_obj_get_property):
        (webkit_dom_test_obj_class_init):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:

2010-06-02  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Added conversion of inspector's resource representation into HAR.
        Moved common resource accessors from ResourceView to Resource.
        https://bugs.webkit.org/show_bug.cgi?id=30567

        Test: http/tests/inspector/resource-har-conversion.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/HAREntry.js: Added.
        (WebInspector.HAREntry):
        (WebInspector.HAREntry.prototype.build):
        (WebInspector.HAREntry.prototype._buildRequest):
        (WebInspector.HAREntry.prototype._buildResponse):
        (WebInspector.HAREntry.prototype._buildContent):
        (WebInspector.HAREntry.prototype._buildTimings):
        (WebInspector.HAREntry.prototype._buildHeaders):
        (WebInspector.HAREntry.prototype._buildPostData):
        (WebInspector.HAREntry.prototype._buildParameters):
        (WebInspector.HAREntry.prototype._buildParameter):
        (WebInspector.HAREntry.prototype._toMilliseconds):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.set url):
        (WebInspector.Resource.prototype.get receiveDuration):
        (WebInspector.Resource.prototype.requestHeaderValue):
        (WebInspector.Resource.prototype.get requestFormData):
        (WebInspector.Resource.prototype.set requestFormData):
        (WebInspector.Resource.prototype.responseHeaderValue):
        (WebInspector.Resource.prototype.get queryParameters):
        (WebInspector.Resource.prototype.get formParameters):
        (WebInspector.Resource.prototype._parseParameters):
        (WebInspector.Resource.prototype._headerValue):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshQueryString):
        (WebInspector.ResourceView.prototype._refreshFormData):
        (WebInspector.ResourceView.prototype._refreshParms):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2010-06-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60547.
        http://trac.webkit.org/changeset/60547
        https://bugs.webkit.org/show_bug.cgi?id=40051

        It made fast/overflow/overflow-with-local-background-
        attachment.html crash (Requested by Ossy on #webkit).

        * notifications/Notification.h:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::createHTMLNotification):
        (WebCore::NotificationCenter::createNotification):

2010-06-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        HTML5 parser does not track line numbers
        https://bugs.webkit.org/show_bug.cgi?id=39984

        This adds rudimentary line-number tracking to the HTML5Lexer.
        We'll still need to handle \r\n cases eventually, but this
        fixes the vast majority of our line-number related failures.

        Fixes 268 layout tests. :)

        * html/HTML5Lexer.cpp:
        (WebCore::HTML5Lexer::reset):
         - Reset m_lineNumber to 0.
        (WebCore::HTML5Lexer::consumeEntity):
         - Pass m_lineNumber to advance().
        (WebCore::HTML5Lexer::nextToken):
         - Pass m_lineNumber to advance().
        * html/HTML5Lexer.h:
        (WebCore::HTML5Lexer::lineNumber):
         - Expose m_lineNumber for HTML5Tokenizer.
        (WebCore::HTML5Lexer::columnNumber):
         - Mirrors the implementation in the old HTMLTokenizer.
           we might some day support column number tracking in
           the Lexer.  It certainly would be possible.
        * html/HTML5ScriptRunner.cpp:
        (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
         - ASSERT we're passed a host.
        (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
         - Use PendingScript.startingLineNumber when PendingScript is an inline script.
        (WebCore::HTML5ScriptRunner::execute):
         - Now expects a start line number passed from the TreeBuilder.
        (WebCore::HTML5ScriptRunner::runScript):
         - Now expects a start line number.
        * html/HTML5ScriptRunner.h:
        (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
         - Track startingLineNumber for any inline script.
        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::begin):
         - Add a FIXME.  The old HTMLTokenizer resets its "lexer" state here.
        (WebCore::HTML5Tokenizer::pumpLexer):
         - Pass scriptStartLine to the HTML5ScriptRunner
        (WebCore::HTML5Tokenizer::lineNumber):
         - Implementation for Tokenizer.h
        (WebCore::HTML5Tokenizer::columnNumber):
         - Implementation for Tokenizer.h
        * html/HTML5Tokenizer.h:
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
         - Initialize the new line number tracking variables.
        (WebCore::HTML5TreeBuilder::handleScriptEndTag):
         - Save off the line number from the start tag to pass to the ScriptRunner.
        (WebCore::HTML5TreeBuilder::takeScriptToProcess):
         - Return the line number from the start tag.
        (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
         - Save off the line number of ever script start tag we see.
        * html/HTML5TreeBuilder.h:
         - Keep both the line number of the last start tag, and the
           line number of the script we know we're expecting our caller to
           run before resuming parsing.  These are separate to keep the code
           clean, especially since the last script start tag line number is
           a hack specific to using the old HTMLParser.

2010-06-02  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Timeline should nicely format the Timer timeout
        https://bugs.webkit.org/show_bug.cgi?id=40040

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): Format the Timer's timeout time.

2010-06-02  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] Clamp dirtyRect updates of composited layer contents to the size
        of the layer to avoid writing outside texture bounds.
        https://bugs.webkit.org/show_bug.cgi?id=40030

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::updateTextureContents):

2010-06-02  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Notification object ref counting is not correct.
        https://bugs.webkit.org/show_bug.cgi?id=39998

        Return PassRefPtr<Notification> instead of a raw pointer from the create methods
        for Web Notifications. 

        No new tests are needed, as existing tests show the problem when sending the 
        "display" event asynchronously.

        * notifications/Notification.h:
        (WebCore::Notification::create):
        * notifications/NotificationCenter.h:
        (WebCore::NotificationCenter::createHTMLNotification):
        (WebCore::NotificationCenter::createNotification):

2010-06-02  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Dirk Schulze.

        [Qt] Image shadow doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=37804

        Implement the code for image shadow

        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):

2010-06-02  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Darin Fisher.

        Adding the precision qualifier to fragment shaders used by the GL
        compositor in chromium to turn them into valid GLSL ES.
        https://bugs.webkit.org/show_bug.cgi?id=40022

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

2010-06-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by David Levin.

        Fix type qualifier is meaningless on cast type in SVGFEColorMatrixElement::build
        https://bugs.webkit.org/show_bug.cgi?id=40015

        No new tests as there is no new functionality.

        Remove const from the cast type.

        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::build):

2010-06-02  Sterling Swigart  <sswigart@google.com>

        Reviewed by David Levin.

        Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
        https://bugs.webkit.org/show_bug.cgi?id=39906

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * WebCore.pri:

2010-06-01  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG repaintRect should be empty if content got clipped away
        https://bugs.webkit.org/show_bug.cgi?id=39965
        
        The SVG repaintRect of the renderer was not empty, if the content got clipped away.
        The MaskerData/ClipperData <-> RenderObject mapping is set up during the layout phase now, to be able to
        relayout a RenderObject, if it's repaintRect is empty. This has the following reason:
        We apply the object to the resource on painting at the moment.
        With an empty repaintRect, paint() quits earlier and therefore the object doesn't get applied to the resource.
        This can cause problems, if the resource get changed by animations or scripts.
        On a change, the resource tells all it's callers to relayout.
        If the reference to the caller (our RenderObject) is missing, the object won't ever update
        and therefore won't get drawn.
        We already have LayoutTests that cover this problem. The complete repaintRect calculation
        (including the smallest clipping area and shadow size calculation) moved from the renderers to SVGRenderSupport.
        This eliminates redundant code.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::updateCachedBoundaries):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
        * rendering/RenderSVGResourceFilter.h:
        * rendering/RenderSVGResourceGradient.h:
        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
        * rendering/RenderSVGResourceMarker.h:
        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.h:
        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
        * rendering/RenderSVGResourceSolidColor.h:
        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::strokeBoundingBox):
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::intersectRepaintRectWithResources):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeResources):
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::hasClipper):
        (WebCore::SVGRenderStyle::hasMasker):
        (WebCore::SVGRenderStyle::hasFilter):

2010-06-01  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60539.
        http://trac.webkit.org/changeset/60539
        https://bugs.webkit.org/show_bug.cgi?id=40043

        Accidentally added an unreviewed and invalid change to the
        patch. (Requested by krit on #webkit).

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::updateCachedBoundaries):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
        * rendering/RenderSVGResourceFilter.h:
        * rendering/RenderSVGResourceGradient.h:
        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
        * rendering/RenderSVGResourceMarker.h:
        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.h:
        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
        * rendering/RenderSVGResourceSolidColor.h:
        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::strokeBoundingBox):
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
        (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
        (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeResources):
        * rendering/style/SVGRenderStyle.h:
        * svg/SVGColor.cpp:
        (WebCore::SVGColor::colorFromRGBColorString):

2010-06-01  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG repaintRect should be empty if content got clipped away
        https://bugs.webkit.org/show_bug.cgi?id=39965
        
        The SVG repaintRect of the renderer was not empty, if the content got clipped away.
        The MaskerData/ClipperData <-> RenderObject mapping is set up during the layout phase now, to be able to
        relayout a RenderObject, if it's repaintRect is empty. This has the following reason:
        We apply the object to the resource on painting at the moment.
        With an empty repaintRect, paint() quits earlier and therefore the object doesn't get applied to the resource.
        This can cause problems, if the resource get changed by animations or scripts.
        On a change, the resource tells all it's callers to relayout.
        If the reference to the caller (our RenderObject) is missing, the object won't ever update
        and therefore won't get drawn.
        We already have LayoutTests that cover this problem. The complete repaintRect calculation
        (including the smallest clipping area and shadow size calculation) moved from the renderers to SVGRenderSupport.
        This eliminates redundant code.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::updateCachedBoundaries):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
        * rendering/RenderSVGResourceFilter.h:
        * rendering/RenderSVGResourceGradient.h:
        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
        * rendering/RenderSVGResourceMarker.h:
        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.h:
        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
        * rendering/RenderSVGResourceSolidColor.h:
        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::strokeBoundingBox):
        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
        * rendering/SVGRenderSupport.cpp:
        (WebCore::SVGRenderBase::intersectRepaintRectWithResources):
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeResources):
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::hasClipper):
        (WebCore::SVGRenderStyle::hasMasker):
        (WebCore::SVGRenderStyle::hasFilter):

2010-06-01  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60530.
        http://trac.webkit.org/changeset/60530
        https://bugs.webkit.org/show_bug.cgi?id=40041

        resource-har-conversion failed on GTK (Requested by abarth on
        #webkit).

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/HAREntry.js: Removed.
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.set url):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshQueryString):
        (WebInspector.ResourceView.prototype._refreshFormData):
        (WebInspector.ResourceView.prototype._refreshParms):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2010-06-01  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsLayer: warnings when reloading page
        https://bugs.webkit.org/show_bug.cgi?id=39694

        Made sure recaching and masks aren't attempted on zero-size layers.

        No new tests. Old tests (e.g. LayoutTests/compositing/masks) show the problem.

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::MaskEffectQt::draw):
        (WebCore::GraphicsLayerQtImpl::recache):

2010-06-01  anton muhin  <antonm@google.com>

        Reviewed by Nate Chapin.

        [Chromium] enforce presence of named property query callback if named property enumerator is present
        https://bugs.webkit.org/show_bug.cgi?id=40006
        We need to be able to distinguish between enumerable and not enumerable properties
        in the presence of named interceptor.  V8 is migrating to use query
        callback to report enumerable properties and fallback check---
        using getter callback---would report properties as not enumerable.
        Thus if there is an enumerator callback, there should be query callback as well.
        (see V8's r4751).

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8NPObject.cpp:
        (WebCore::npObjectQueryProperty):
        (WebCore::createV8ObjectForNPObject):
        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::V8Storage::namedPropertyQuery):

2010-06-01  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Added conversion of inspector's resource representation into HAR.
        Moved common resource accessors from ResourceView to Resource.
        https://bugs.webkit.org/show_bug.cgi?id=30567

        Test: http/tests/inspector/resource-har-conversion.html

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/HAREntry.js: Added.
        (WebInspector.HAREntry):
        (WebInspector.HAREntry.prototype.build):
        (WebInspector.HAREntry.prototype._buildRequest):
        (WebInspector.HAREntry.prototype._buildResponse):
        (WebInspector.HAREntry.prototype._buildContent):
        (WebInspector.HAREntry.prototype._buildTimings):
        (WebInspector.HAREntry.prototype._buildHeaders):
        (WebInspector.HAREntry.prototype._buildPostData):
        (WebInspector.HAREntry.prototype._buildParameters):
        (WebInspector.HAREntry.prototype._buildParameter):
        (WebInspector.HAREntry.prototype._toMilliseconds):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource.prototype.set url):
        (WebInspector.Resource.prototype.get receiveDuration):
        (WebInspector.Resource.prototype.requestHeaderValue):
        (WebInspector.Resource.prototype.get requestFormData):
        (WebInspector.Resource.prototype.set requestFormData):
        (WebInspector.Resource.prototype.responseHeaderValue):
        (WebInspector.Resource.prototype.get queryParameters):
        (WebInspector.Resource.prototype.get formParameters):
        (WebInspector.Resource.prototype._parseParameters):
        (WebInspector.Resource.prototype._headerValue):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.prototype._refreshQueryString):
        (WebInspector.ResourceView.prototype._refreshFormData):
        (WebInspector.ResourceView.prototype._refreshParms):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2010-06-01  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Fix "variable may be used before being set" warning in TextResourceDecoder::checkForHeadCharset
        https://bugs.webkit.org/show_bug.cgi?id=40001

        No new tests as there is no new functionality.

        Initialize len to 0 just to eliminate the compiler warning.

        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::checkForHeadCharset):

2010-06-01  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Safari specific files InspectorFrontendClientLocal were removed from chromium project.
        https://bugs.webkit.org/show_bug.cgi?id=39993

        * WebCore.gypi:

2010-06-01  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Fix broken code generation in GenerateParametersCheckExpression.
        https://bugs.webkit.org/show_bug.cgi?id=39960

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/test/JS/JSTestObj.cpp: Updated baseline.

2010-06-01  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Adam Roben.

        Remove Breakpoint.js. It was emptied in r60450 but for some reason it was not
        deleted at that time. The presence of empty files within the inspector's resource
        folder causes Mac OS X production builds to fail.

        * inspector/front-end/Breakpoint.js: Removed.

2010-05-24  James Hawkins  <jhawkins@chromium.org>

        Reviewed by Darin Fisher.

        Added ability for PopupMenuClient to signal when
        * selection changed, and
        * selection cleared.

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

        No new tests because this functionality is intentionally hidden from
        everything other than renderer.

        * platform/PopupMenuClient.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::selectIndex):
        (WebCore::PopupListBox::clearSelection):
        * rendering/RenderMenuList.h:
        (WebCore::RenderMenuList::RenderMenuList::selectionChanged):
        (WebCore::RenderMenuList::RenderMenuList::selectionCleared):
        * rendering/RenderTextControlSingleLine.h:
        (WebCore::RenderTextControlSingleLine::selectionChanged):
        (WebCore::RenderTextControlSingleLine::selectionCleared):

2010-06-01  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Check if a database needs to be auto-vacuumed only after transactions that have deleted something.
        https://bugs.webkit.org/show_bug.cgi?id=39688

        * storage/Database.cpp:
        (WebCore::Database::resetDeletes):
        (WebCore::Database::hadDeletes):
        * storage/Database.h:
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::resetDeletes):
        (WebCore::DatabaseAuthorizer::dropTable):
        (WebCore::DatabaseAuthorizer::dropTempTable):
        (WebCore::DatabaseAuthorizer::dropIndex):
        (WebCore::DatabaseAuthorizer::dropTempIndex):
        (WebCore::DatabaseAuthorizer::dropTrigger):
        (WebCore::DatabaseAuthorizer::dropTempTrigger):
        (WebCore::DatabaseAuthorizer::dropView):
        (WebCore::DatabaseAuthorizer::dropTempView):
        (WebCore::DatabaseAuthorizer::dropVTable):
        (WebCore::DatabaseAuthorizer::allowDelete):
        (WebCore::DatabaseAuthorizer::updateDeletesBasedOnTableName): Added.
        * storage/DatabaseAuthorizer.h:
        (WebCore::DatabaseAuthorizer::hadDeletes):
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::openTransactionAndPreflight):
        (WebCore::SQLTransaction::postflightAndCommit):

2010-06-01  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Add a preference for paginating during layout (the new model for computing page breaks).

        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setPaginateDuringLayoutEnabled):
        (WebCore::Settings::paginateDuringLayoutEnabled):

2010-06-01  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Clean up the DB classes in preparation for a bigger refactoring.
        https://bugs.webkit.org/show_bug.cgi?id=39041

        * storage/ChangeVersionWrapper.cpp:
        * storage/ChangeVersionWrapper.h:
        * storage/Database.cpp:
        (WebCore::Database::Database):
        (WebCore::Database::lastActionChangedDatabase):
        (WebCore::Database::lastActionWasInsert):
        (WebCore::Database::inProgressTransactionCompleted):
        (WebCore::Database::securityOrigin):
        * storage/Database.h:
        (WebCore::Database::sqliteDatabase):
        (WebCore::Database::databaseDebugName):
        * storage/DatabaseTask.cpp:
        (WebCore::DatabaseTransactionTask::doPerformTask):
        * storage/DatabaseTask.h:
        * storage/SQLStatement.cpp:
        (WebCore::SQLStatement::execute):
        * storage/SQLStatement.h:
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::SQLTransaction):
        (WebCore::SQLTransaction::openTransactionAndPreflight):
        (WebCore::SQLTransaction::runStatements):
        (WebCore::SQLTransaction::runCurrentStatement):
        (WebCore::SQLTransaction::postflightAndCommit):
        (WebCore::SQLTransaction::cleanupAfterSuccessCallback):
        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
        * storage/SQLTransaction.h:

2010-06-01  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Nikolas Zimmermann.

        Large SVG rect with shadow fails to render
        https://bugs.webkit.org/show_bug.cgi?id=38851

        Store intermediate shadow calculation in floats to prevent integer overflow.

        Test: svg/filters/shadow-on-rect-large.svg

        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::getSVGShadowExtent):
        (WebCore::SVGRenderStyle::inflateForShadow):

2010-06-01  Jer Noble  <jer.noble@apple.com>

        Reviewed by Sam Weinig.

        QuickTime 7.6.4 + Safari Nightly = Crash
        https://bugs.webkit.org/show_bug.cgi?id=40019
        rdar://problem/8035443
        
        Check the return value of QTCFPropertyListCreateXMLData before calling CFDataGetLength().

        * platform/graphics/win/QTCFDictionary.cpp:
        (QTCFDictionaryCreateCopyWithDataCallback):

2010-06-01  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Dirk Schulze.

        Manipulating SVG element attributes in Javascript does not work as expected
        https://bugs.webkit.org/show_bug.cgi?id=34328

        Reset the viewBox to be empty when removing the viewBox attribute.

        Test: svg/custom/svg-viewBox-dynamic.html

        * svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::parseViewBox):
        (WebCore::SVGFitToViewBox::parseMappedAttribute):
        * svg/SVGFitToViewBox.h:
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::setViewBoxString):
        (WebCore::SVGViewSpec::parseViewSpec):

2010-06-01  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        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
 
        There are some parameters that super handles that are not explicitly returned by the list of the element's attributes.
        In those cases, super should handle.

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

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

        Reviewed by Beth Dakin.

        https://bugs.webkit.org/show_bug.cgi?id=15550, complete implementation of column-span.  Add support for nested column
        spans.  When a column span is nested inside multiple enclosing blocks, the blocks have to be split around the column-span.
        We do this using block element continuations, the same kind of solution we employed for blocks inside inlines.
        
        The code for block continuations is very similar to the code for inline continuations.  It may be possible to refactor the
        code into RenderBoxModelObject so that more of it can be shared, but this first pass avoids that so as not to risk
        causing any regressions in core rendering.

        Note also that - just as with inline continuations - you can't unsplit block continuations yet.  There is no technical limitation
        here... the functions just need to be written to handle it.
        
        Added new tests in fast/multicol/span.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleDidChange):
        (WebCore::RenderBlock::continuationBefore):
        (WebCore::RenderBlock::addChildToContinuation):
        (WebCore::RenderBlock::containingColumnsBlock):
        (WebCore::RenderBlock::clone):
        (WebCore::RenderBlock::splitBlocks):
        (WebCore::RenderBlock::splitFlow):
        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
        (WebCore::RenderBlock::columnsBlockForSpanningElement):
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
        (WebCore::RenderBlock::addChild):
        (WebCore::RenderBlock::addChildIgnoringContinuation):
        (WebCore::RenderBlock::blockElementContinuation):
        (WebCore::RenderBlock::layoutColumns):
        * rendering/RenderBlock.h:

2010-06-01  Alexey Proskuryakov  <ap@apple.com>

        Build fix.

        Hopefully, touching WebCore.base.exp will actually rebuild the export file.

        * WebCore.Geolocation.exp:
        * WebCore.base.exp:

2010-06-01  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Execute void callbacks in the context they were created in.
        https://bugs.webkit.org/show_bug.cgi?id=39145

        * bindings/v8/custom/V8CustomVoidCallback.cpp:
        (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
        (WebCore::V8CustomVoidCallback::handleEvent):
        * bindings/v8/custom/V8CustomVoidCallback.h:

2010-06-01  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=39434
        REGRESSION (r59811): Geolocation callbacks cannot be created

        * DerivedSources.make: Don't append both WebCore.Geolocation.exp and WebCore.ClientBasedGeolocation.exp,
        they are mutually exclusive.

        * WebCore.Geolocation.exp: Touched to force .exp file rebuild.

        * WebCore.xcodeproj/project.pbxproj: Removed GeolocationService related files.

        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::createPositionCallback): Functions defined in JavaScript code no longer inherit
        from InternalFunction, they inherit from JSFunction. This check is still imperfect, because
        it's not clear what definition of "function" should really be used, if any - other bindings
        code never checks callback type.
        (WebCore::createPositionErrorCallback): Ditto.

        * page/Geolocation.h: Don't include GeolocationService.h unless it's going to be used.

2010-06-01  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        IndexedDB cleanup
        https://bugs.webkit.org/show_bug.cgi?id=40007

        Remove the exception code parameter since this function can no longer
        cause an exception.

        * storage/IDBObjectStoreRequest.idl:
        * storage/IndexedDatabase.h:
        * storage/IndexedDatabaseImpl.cpp:
        (WebCore::IndexedDatabaseImpl::open):
        * storage/IndexedDatabaseImpl.h:
        * storage/IndexedDatabaseRequest.cpp:
        (WebCore::IndexedDatabaseRequest::open):
        * storage/IndexedDatabaseRequest.h:
        * storage/IndexedDatabaseRequest.idl:

2010-06-01  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Double clicks cause three button press events
        https://bugs.webkit.org/show_bug.cgi?id=38853

        Add GOwnPtr wrapper for GdkEvent and expose a setter for
        PlatformMouseEvent::m_clickCount.

        * GNUmakefile.am: Add GOwnPtrGtk.{cpp,h} to the sources list.
        * platform/PlatformMouseEvent.h: 
        (WebCore::PlatformMouseEvent::setClickCount): Added.
        * platform/gtk/GOwnPtrGtk.cpp: Added.
        (WTF::GdkEvent):
        * platform/gtk/GOwnPtrGtk.h: Added.

2010-06-01  Adam Langley  <agl@chromium.org>

        Reviewed by Eric Seidel.

        [chromium] respect the user's embedded bitmap settings on Linux.

        We plumbed everything through Skia and Chrome, but forgot to connect
        the two wires inside WebCore.

        (Note: no layout test because test_shell forces this option off. Also,
         the test font which triggers this behaviour is 32MB.)

        https://bugs.webkit.org/show_bug.cgi?id=39894
        http://code.google.com/p/chromium/issues/detail?id=21149

        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::setupPaint):

2010-06-01  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Fix installation of the QtWebKit module .pri file when building inside of Qt

        * WebCore.pro:

2010-06-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix a QtWebKit.pc corruption problem.
        https://bugs.webkit.org/show_bug.cgi?id=36826

        The problem occurs while installing QtWebKit from trunk
        or a source package.

        * WebCore.pro:

2010-06-01  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Fix Symbian package dependencies of apps against QtWebKit when installing into Qt

        Install the versioning qt_webkit_version.pri into $$[QMAKE_MKSPECS]/modules, which is
        where mkspecs/features/qt.prf expects it.

        * WebCore.pro:

2010-06-01  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60470.
        http://trac.webkit.org/changeset/60470
        https://bugs.webkit.org/show_bug.cgi?id=39990

        Need to rollout until bot can be updated (Requested by jorlow
        on #webkit).

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::namedPropertyDeleter):
        (WebCore::V8HTMLDocument::namedPropertyGetter):
        (WebCore::V8HTMLDocument::indexedPropertyGetter):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):

2010-06-01  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [Chromium] get rid of named interceptor on HTMLDocument and introduce/remove accessors when named items get deleted/removed
        https://bugs.webkit.org/show_bug.cgi?id=39877

        This patch makes callbacks invoked on named items addition/removal
        install API accessors and thus there is no more need in
        named and indexed interceptors on HTMLDocument which
        speeds up invocation of methods on document.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::namedItemAdded):
        (WebCore::ScriptController::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::checkDocumentWrapper):
        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
        (WebCore::getter):
        (WebCore::V8DOMWindowShell::namedItemAdded):
        (WebCore::V8DOMWindowShell::namedItemRemoved):
        * bindings/v8/V8DOMWindowShell.h:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::V8HTMLDocument::WrapInShadowObject):
        (WebCore::V8HTMLDocument::GetNamedProperty):
        (WebCore::V8HTMLDocument::allAccessorSetter):
        (WebCore::toV8):

2010-06-01  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Dirk Schulze.

        Make the spot light anti-alias effect look similar to SVG expected values.
        https://bugs.webkit.org/show_bug.cgi?id=39477

        The W3 standard only mention, that the edge of the spotlight should be
        anti-aliased but it does not specify how. The provided expected values
        gives some hint about their intentions. The algorithm uses a fixed
        range, which computed as follows: let a = cos(spot light cutoff range)
        the light fades off in the [a-0.016, a] range.

        Test: svg/W3C-SVG-1.1/filters-light-04-f.svg
        Updated pixel test: svg/W3C-SVG-1.1/filters-light-01-f.svg

        * svg/graphics/filters/SVGLightSource.cpp:
        (WebCore::SpotLightSource::initPaintingData):

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

        Reviewed by Eric Seidel.

        Fix default action for EndTagOpenState
        https://bugs.webkit.org/show_bug.cgi?id=39982

        Add a test for a bogus end tag to webkit01.dat and update expected
        results now that we pass some more tests.

        Adding this test revealed a bug in resuming the bogus comment state.
        I've left these broken expectations, but I'll fix the bug in a future
        patch. (The bug existed prior to this patch, just not the test.)

        * html5lib/resources/webkit01.dat:
        * html5lib/runner-expected-html5.txt:
        * html5lib/webkit-resumer-expected-html5.txt:

2010-05-31  Lyon Chen  <liachen@rim.com>

        Reviewed by Kent Tamura.

        Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
        https://bugs.webkit.org/show_bug.cgi?id=35530

        Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
        (WebCore::AccessibilityRenderObject::doAXRangeForLine):
        * editing/Editor.cpp:
        (WebCore::Editor::deleteWithDirection):
        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        * editing/EditorCommand.cpp:
        (WebCore::executeDeleteBackward):
        (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter):
        (WebCore::executeDeleteForward):
        (WebCore::executeDeleteToBeginningOfLine):
        (WebCore::executeDeleteToBeginningOfParagraph):
        (WebCore::executeDeleteToEndOfLine):
        (WebCore::executeDeleteToEndOfParagraph):
        (WebCore::executeDeleteWordBackward):
        (WebCore::executeDeleteWordForward):
        (WebCore::executeForwardDelete):
        (WebCore::executeMoveBackward):
        (WebCore::executeMoveBackwardAndModifySelection):
        (WebCore::executeMoveDown):
        (WebCore::executeMoveDownAndModifySelection):
        (WebCore::executeMoveForward):
        (WebCore::executeMoveForwardAndModifySelection):
        (WebCore::executeMoveLeft):
        (WebCore::executeMoveLeftAndModifySelection):
        (WebCore::executeMovePageDown):
        (WebCore::executeMovePageDownAndModifySelection):
        (WebCore::executeMovePageUp):
        (WebCore::executeMovePageUpAndModifySelection):
        (WebCore::executeMoveRight):
        (WebCore::executeMoveRightAndModifySelection):
        (WebCore::executeMoveToBeginningOfDocument):
        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
        (WebCore::executeMoveToBeginningOfLine):
        (WebCore::executeMoveToBeginningOfLineAndModifySelection):
        (WebCore::executeMoveToBeginningOfParagraph):
        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
        (WebCore::executeMoveToBeginningOfSentence):
        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
        (WebCore::executeMoveToEndOfDocument):
        (WebCore::executeMoveToEndOfDocumentAndModifySelection):
        (WebCore::executeMoveToEndOfSentence):
        (WebCore::executeMoveToEndOfSentenceAndModifySelection):
        (WebCore::executeMoveToEndOfLine):
        (WebCore::executeMoveToEndOfLineAndModifySelection):
        (WebCore::executeMoveToEndOfParagraph):
        (WebCore::executeMoveToEndOfParagraphAndModifySelection):
        (WebCore::executeMoveParagraphBackwardAndModifySelection):
        (WebCore::executeMoveParagraphForwardAndModifySelection):
        (WebCore::executeMoveUp):
        (WebCore::executeMoveUpAndModifySelection):
        (WebCore::executeMoveWordBackward):
        (WebCore::executeMoveWordBackwardAndModifySelection):
        (WebCore::executeMoveWordForward):
        (WebCore::executeMoveWordForwardAndModifySelection):
        (WebCore::executeMoveWordLeft):
        (WebCore::executeMoveWordLeftAndModifySelection):
        (WebCore::executeMoveWordRight):
        (WebCore::executeMoveWordRightAndModifySelection):
        (WebCore::executeMoveToLeftEndOfLine):
        (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
        (WebCore::executeMoveToRightEndOfLine):
        (WebCore::executeMoveToRightEndOfLineAndModifySelection):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::willBeModified):
        (WebCore::SelectionController::modify):
        * editing/SelectionController.h:
        (WebCore::SelectionController::):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::modify):
        (WebCore::DOMSelection::deleteFromDocument):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleKeyboardSelectionMovement):

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

        Reviewed by Adam Barth.

        REGRESSION(60409): window.onload never fires when using HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39981

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::finish):
         - The logic was just wrong here.  We should only be setting
           m_wasWaitingOnScriptsDuringFinish if isWaitingForScripts()
           is true, and we should be calling end() when it is not.
        (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
         - Add another ASSERT to catch cases like this.
        * html/HTML5TreeBuilder.cpp:
        (WebCore::HTML5TreeBuilder::finished):
         - Add a comment about why we don't need to call m_document->finishedParsing()

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

        Reviewed by Dan Bernstein.

        REGRESSION (r58665): Infinite recursion in Position::getInlineBoxAndOffset()
        https://bugs.webkit.org/show_bug.cgi?id=39946
        
        r58665 added an infinite recursion check, but didn't take into consideration recursion between two
        Positions.  This adds a check for when
        downstreamIgnoringEditingBoundaries(p1) == p2 and upstreamIgnoringEditingBoundaries(p2) == p1

        Test: editing/selection/mixed-editability-12.html

        * dom/Position.cpp:
        (WebCore::Position::getInlineBoxAndOffset):

2010-05-31  Leo Yang  <leo.yang@torchmobile.com.cn>

        Reviewed by George Staikos.

        Fix canvas.toDataURL(type, quality, ...) to let it support quality parameter. 
        And implement it in Qt port. 
        https://bugs.webkit.org/show_bug.cgi?id=37304

        Tests: platform/qt/fast/canvas/toDataURL-jpeg-alpha.html
               platform/qt/fast/canvas/toDataURL-jpeg-primarycolors.html
               platform/qt/fast/canvas/toDataURL-jpeg-quality-basic.html
               platform/qt/fast/canvas/toDataURL-jpeg-quality-notnumber.html
               platform/qt/fast/canvas/toDataURL-jpeg-quality-outsiderange.html

        * bindings/js/JSHTMLCanvasElementCustom.cpp:
        (WebCore::JSHTMLCanvasElement::toDataURL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::V8HTMLCanvasElement::toDataURLCallback):
        * dom/CanvasSurface.cpp:
        (WebCore::CanvasSurface::toDataURL):
        * dom/CanvasSurface.h:
        (WebCore::CanvasSurface::toDataURL):
        * html/HTMLCanvasElement.idl:
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/haiku/ImageBufferHaiku.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wince/ImageBufferWince.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::toDataURL):

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

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Add Context Menu implementation
        https://bugs.webkit.org/show_bug.cgi?id=39821

        * platform/ContextMenu.h: add port-specific attributes.
        * platform/ContextMenuItem.h: create PlatformMenuItemDescription as in
        other ports
        (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
        * platform/efl/ContextMenuEfl.cpp:implement needed methods for this
        port.
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::setPlatformDescription):
        (WebCore::ContextMenu::releasePlatformDescription):
        * platform/efl/ContextMenuItemEfl.cpp:  implement needed methods for
        this port.
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::releasePlatformDescription):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::setType):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setSubMenu):
        (WebCore::ContextMenuItem::checked):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::enabled):
        (WebCore::ContextMenuItem::setEnabled):

2010-05-31  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Classes for native serialization to JSON were implemented.
        https://bugs.webkit.org/show_bug.cgi?id=34204

        * GNUmakefile.am:
        * WebCore.Inspector.exp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorValues.cpp: Added.
        (WebCore::escapeChar):
        (WebCore::doubleQuoteString):
        (WebCore::InspectorBaseValue::toJSONString):
        (WebCore::InspectorBaseValue::writeJSON):
        (WebCore::InspectorValue::writeJSON):
        (WebCore::InspectorString::writeJSON):
        (WebCore::InspectorObject::writeJSON):
        (WebCore::InspectorArray::writeJSON):
        * inspector/InspectorValues.h: Added.
        (WebCore::InspectorBaseValue::InspectorBaseValue):
        (WebCore::InspectorBaseValue::~InspectorBaseValue):
        (WebCore::InspectorBaseValue::null):
        (WebCore::InspectorBaseValue::):
        (WebCore::InspectorBaseValue::type):
        (WebCore::InspectorValue::create):
        (WebCore::InspectorValue::InspectorValue):
        (WebCore::InspectorValue::):
        (WebCore::InspectorString::create):
        (WebCore::InspectorString::InspectorString):
        (WebCore::InspectorObject::create):
        (WebCore::InspectorObject::~InspectorObject):
        (WebCore::InspectorObject::InspectorObject):
        (WebCore::InspectorArray::create):
        (WebCore::InspectorArray::~InspectorArray):
        (WebCore::InspectorArray::length):
        (WebCore::InspectorArray::InspectorArray):
        (WebCore::InspectorObject::setBool):
        (WebCore::InspectorObject::setNumber):
        (WebCore::InspectorObject::setString):
        (WebCore::InspectorObject::set):
        (WebCore::InspectorArray::pushBool):
        (WebCore::InspectorArray::pushNumber):
        (WebCore::InspectorArray::pushString):
        (WebCore::InspectorArray::push):

2010-05-31  Olivier Goffart <olivier.goffart@nokia.com>

        Reviewed by Oliver Hunt.

        [PATCH] compilation error with clang in JSDOMBinding.h
        https://bugs.webkit.org/show_bug.cgi?id=39945

        JSNode is only forward declared at this point. And since neither
        "wrapper" nor JSValue are type-dependent. Compilers should report errors
        at the first compilation pass.

        The fix is to move the conversion the line above, as the call to the
        function getCachedDOMNodeWrapper is type-dependent, the conversion will
        happen at template-instantiation time.

        See also http://llvm.org/bugs/show_bug.cgi?id=7244

        * bindings/js/JSDOMBinding.h:
        (WebCore::getDOMNodeWrapper):

2010-05-31  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Moved breakpoints add/remove logic to the BreakpointManager.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/Breakpoint.js:
        * inspector/front-end/BreakpointManager.js: Added.
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype.addBreakpoint):
        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
        (WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
        (WebInspector.BreakpointManager.prototype.breakpointsForURL):
        (WebInspector.BreakpointManager.prototype.reset):
        (WebInspector.BreakpointManager.prototype._saveBreakpointOnBackend):
        (WebInspector.BreakpointManager.prototype._removeBreakpointFromBackend):
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.prototype.get enabled):
        (WebInspector.Breakpoint.prototype.set enabled):
        (WebInspector.Breakpoint.prototype.get sourceText):
        (WebInspector.Breakpoint.prototype.set sourceText):
        (WebInspector.Breakpoint.prototype.get label):
        (WebInspector.Breakpoint.prototype.get id):
        (WebInspector.Breakpoint.prototype.get condition):
        (WebInspector.Breakpoint.prototype.set condition):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane):
        (WebInspector.BreakpointsSidebarPane.prototype.reset):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointAdded):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
        * inspector/front-end/Object.js:
        (WebInspector.Object.prototype.dispatchEventToListeners):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype._addBreakpoint):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
        (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
        (WebInspector.ScriptsPanel.prototype.editScriptSource):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._contextMenu):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype._addBreakpoint):
        (WebInspector.SourceView.prototype._removeBreakpoint):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):
        (WebInspector.restoredBreakpoint):
        (WebInspector.reset):

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

        Unreviewed, build fix.

        Add references to inspector/front-end/TabbedPane.js wherever applicable.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/WebKit.qrc:

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

        Unreviewed, add a file not added in r60445.

        * inspector/front-end/TabbedPane.js: Added

2010-05-31  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Text copied from a WebView cannot be pasted into gnome-terminal
        https://bugs.webkit.org/show_bug.cgi?id=39827

        Switch all methods in Pasteboard to use the PasteboardHelper + DataObjectGtk
        approach used in other parts of WebKit GTK+.

        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::writeSelection): Switch to using PasteboardHelper.
        (WebCore::Pasteboard::writePlainText): Ditto.
        (WebCore::Pasteboard::writeURL): Ditto.
        (WebCore::Pasteboard::writeImage): Ditto.
        (WebCore::Pasteboard::clear): Small cleanup.
        (WebCore::Pasteboard::documentFragment): Switch to using PasteboardHelper.
        (WebCore::Pasteboard::plainText): Ditto.

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

        Updated bindings test results for change in JavaScript host calling convention change
        from 2 days ago.

        * bindings/scripts/test/JS/JSTestObj.cpp: Regenerated and inspected to see that the new
        result is correct.
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.

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

        Reviewed by Pavel Feldman.

        Web Inspector: Implement additional tabs support in ResourceView
        https://bugs.webkit.org/show_bug.cgi?id=39822

        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView):
        (WebInspector.ResourceView.prototype._selectHeadersTab):
        (WebInspector.ResourceView.prototype._innerSelectContentTab):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.show):
        (WebInspector.SourceView.prototype.hide):
        (WebInspector.SourceView.prototype.resize):
        (WebInspector.SourceView.prototype.updateLocalContent):
        (WebInspector.SourceView.prototype.selectLocalContentTab):
        * inspector/front-end/TabbedPane.js: Added.
        (WebInspector.TabbedPane):
        (WebInspector.TabbedPane.prototype.appendTab):
        (WebInspector.TabbedPane.prototype.tabObjectForId):
        (WebInspector.TabbedPane.prototype.hideTab):
        (WebInspector.TabbedPane.prototype.selectTabById):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._getSelection):
        * inspector/front-end/inspector.html:

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

        Reviewed by Pavel Feldman.

        Web Inspector: Implement retrieval of CSS stylesheets for source editing
        https://bugs.webkit.org/show_bug.cgi?id=39833

        Test: inspector/styles-source-offsets.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseSheet):
        (WebCore::CSSParser::createStyleRule):
        * css/CSSParser.h:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getStyleSheet):
        (WebCore::InspectorBackend::getRuleRangesForStyleSheetId):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorCSSStore.cpp:
        (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
        (WebCore::InspectorCSSStore::asCSSStyleRule):
        (WebCore::InspectorCSSStore::styleSheetForId):
        * inspector/InspectorCSSStore.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::getStyleSheet):
        (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
        (WebCore::InspectorDOMAgent::buildObjectForStyle):
        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
        (WebCore::InspectorDOMAgent::buildObjectForRule):
        (WebCore::InspectorDOMAgent::getParentStyleSheet):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorFrontend.cpp:
        (WebCore::InspectorFrontend::didGetStyleSheet):
        * inspector/InspectorFrontend.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.CSSStyleDeclaration):

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

        Reviewed by Xan Lopez.

        [GStreamer] float variables misused
        https://bugs.webkit.org/show_bug.cgi?id=38842

        Use 0.0f for float variables instead of 0.0. Also added some
        missing casts around GST_SECOND.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::playbackPosition):
        (WebCore::MediaPlayerPrivateGStreamer::duration):
        (WebCore::MediaPlayerPrivateGStreamer::currentTime):
        (WebCore::MediaPlayerPrivateGStreamer::seek):
        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
        (WebCore::MediaPlayerPrivateGStreamer::setRate):
        (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
        (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
        (WebCore::MediaPlayerPrivateGStreamer::totalBytes):

2010-05-31  Steve Block  <steveblock@google.com>

        Unreviewed, rolling out r60069.
        http://trac.webkit.org/changeset/60069
        https://bugs.webkit.org/show_bug.cgi?id=39288

        Roll out r60069 while the need for Geolocation::stop() is
        investigated.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        * page/Geolocation.cpp:
        (WebCore::Geolocation::disconnectFrame):
        * page/Geolocation.h:

2010-05-31  Olivier Tilloy  <olivier@tilloy.net>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] Implement RenderThemeGtk::systemColor to apply the correct colors
        from the current GTK theme.
        https://bugs.webkit.org/show_bug.cgi?id=37779

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::RenderThemeGtk):
        (WebCore::RenderThemeGtk::systemColor):
        (WebCore::RenderThemeGtk::gtkButton):
        * platform/gtk/RenderThemeGtk.h:

2010-05-31  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG Filter: Crash if parent and child elements use the same filter
        https://bugs.webkit.org/show_bug.cgi?id=39536

        If a parent and a child used the same filter, the temporary saved
        context reference got overwritten by the child. The reference is
        stored in FilterData now. FilterData depends to the target object
        and avoids overwriting any reference.

        Test: svg/filters/parent-children-with-same-filter.svg

        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
        (WebCore::RenderSVGResourceFilter::applyResource):
        (WebCore::RenderSVGResourceFilter::postApplyResource):
        * rendering/RenderSVGResourceFilter.h:

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

        Reviewed by Gustavo Noronha.

        Fix all compiler warnings.

        * plugins/gtk/gtk2xtbin.c:
        (xt_event_dispatch):
        (gtk_xtbin_get_type):
        (gtk_xtbin_set_position):
        (xt_add_focus_listener):
        (xt_remove_focus_listener):

2010-05-31  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Escape backslashes in the .pro files

        qmake in Qt 4.7 warns about unescaped backspaces and deprecates them.

        * WebCore.pro:

2010-05-31  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-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Fix LayoutTests/fast/parser/xml-declaration-missing-ending-mark.html in HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39939

        Turns out we need to implement the bogus comment state.  :)

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

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

        Reviewed by Adam Barth.

        fast/tokenizer/write-partial-entity.html hits ASSERT SegmentedString in the HTML5 Parser
        https://bugs.webkit.org/show_bug.cgi?id=39935

        Test: fast/tokenizer/write-partial-entity.html

        * html/HTML5Tokenizer.cpp:
        (WebCore::HTML5Tokenizer::executeScript):
         - Use m_source.append(oldInsertionPoint) instead of
           oldInsertionPoint.prepend(m_source) because m_source may have had
           characters pushed onto it and prepend() does not handle that case.

2010-05-30  Lyon Chen  <liachen@rim.com>

        Reviewed by Kent Tamura.

        This is a coding style cleanup before fixing to bug 35530.

        Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
        https://bugs.webkit.org/show_bug.cgi?id=35530

        * editing/Editor.cpp:
        (WebCore::Editor::deleteWithDirection):
        (WebCore::Editor::fontForSelection):
        (WebCore::Editor::applyStyle):
        (WebCore::Editor::applyParagraphStyle):
        (WebCore::Editor::applyStyleToSelection):
        (WebCore::Editor::applyParagraphStyleToSelection):
        (WebCore::triStateOfStyleInComputedStyle):
        (WebCore::Editor::selectionStartHasStyle):
        (WebCore::Editor::selectionHasStyle):
        (WebCore::Editor::paste):
        (WebCore::Editor::ignoreSpelling):
        (WebCore::Editor::learnSpelling):
        (WebCore::findFirstMisspellingInRange):
        (WebCore::findFirstGrammarDetailInRange):
        (WebCore::findFirstBadGrammarInRange):
        (WebCore::findFirstMisspellingOrBadGrammarInRange):
        (WebCore::Editor::advanceToNextMisspelling):
        (WebCore::Editor::isSelectionMisspelled):
        (WebCore::isRangeUngrammatical):
        (WebCore::Editor::guessesForMisspelledSelection):
        (WebCore::guessesForMisspelledOrUngrammaticalRange):
        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        * editing/EditorCommand.cpp:
        (WebCore::applyCommandToFrame):
        (WebCore::executeToggleStyleInList):
        (WebCore::executeApplyParagraphStyle):
        (WebCore::executeDelete):
        (WebCore::executeForwardDelete):
        (WebCore::executeInsertLineBreak):
        (WebCore::supportedCopyCut):
        (WebCore::supportedPaste):
        (WebCore::enabledDelete):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modifyExtendingRight):
        (WebCore::SelectionController::modifyExtendingForward):
        (WebCore::SelectionController::modifyMovingRight):
        (WebCore::SelectionController::modifyMovingForward):
        (WebCore::SelectionController::modifyExtendingLeft):
        (WebCore::SelectionController::modifyExtendingBackward):
        (WebCore::SelectionController::modifyMovingLeft):
        (WebCore::SelectionController::modifyMovingBackward):
        (WebCore::SelectionController::modify):
        (WebCore::SelectionController::xPosForVerticalArrowNavigation):
        (WebCore::SelectionController::debugRenderer):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        (WebCore::TypingCommand::insertLineBreak):
        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
        (WebCore::TypingCommand::insertParagraphSeparator):
        (WebCore::TypingCommand::doApply):
        (WebCore::TypingCommand::insertText):
        (WebCore::TypingCommand::updatePreservesTypingStyle):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        (WebCore::EventHandler::selectCursor):
        (WebCore::EventHandler::canHandleDragAndDropForTarget):
        (WebCore::EventHandler::dispatchMouseEvent):
        (WebCore::EventHandler::sendContextMenuEvent):
        (WebCore::EventHandler::handleKeyboardSelectionMovement):
        (WebCore::EventHandler::handleDrag):

2010-05-30  Daniel Bates  <dbates@rim.com>

        Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.

        * html/HTMLFormControlElement.h:
        (WebCore::HTMLFormControlElement::isEnabledFormControl):
        (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
        (WebCore::HTMLFormControlElement::isFormControlElement):
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isPasswordField):

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

        Reviewed by Sam Weinig.

        Make more HTML DOM members private, especially constructors, third and final batch
        https://bugs.webkit.org/show_bug.cgi?id=39916

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::createDeletionUI):
        * editing/EditorCommand.cpp:
        (WebCore::executeInsertHorizontalRule):
        (WebCore::executeInsertImage):
        * editing/htmlediting.cpp:
        (WebCore::createDefaultParagraphElement):
        (WebCore::createListItemElement):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError):
        (WebCore::HTMLParser::headCreateErrorCheck):
        (WebCore::HTMLParser::formCreateErrorCheck):
        (WebCore::HTMLParser::createHead):
        (WebCore::HTMLParser::handleIsindex):
        (WebCore::HTMLParser::finished):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::createSubtreeIfNeeded):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
        Use create instead of new to create HTML elements.

        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::formCollectionInfo):
        (WebCore::HTMLFormCollection::item):
        (WebCore::HTMLFormCollection::getNamedFormItem):
        (WebCore::HTMLFormCollection::updateNameCache):
        * html/HTMLFormControlElement.h:
        Updated for name and privacy changes in HTMLFormElement.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::HTMLFormElement):
        (WebCore::HTMLFormElement::create):
        (WebCore::HTMLFormElement::~HTMLFormElement):
        (WebCore::HTMLFormElement::length):
        (WebCore::HTMLFormElement::submitImplicitly):
        (WebCore::HTMLFormElement::createFormData):
        (WebCore::HTMLFormElement::submit):
        (WebCore::HTMLFormElement::reset):
        (WebCore::HTMLFormElement::formElementIndex):
        (WebCore::HTMLFormElement::registerFormElement):
        (WebCore::HTMLFormElement::removeFormElement):
        (WebCore::HTMLFormElement::registerImgElement):
        (WebCore::HTMLFormElement::removeImgElement):
        (WebCore::HTMLFormElement::defaultButton):
        (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
        (WebCore::HTMLFormElement::addElementAlias):
        (WebCore::HTMLFormElement::documentDidBecomeActive):
        * html/HTMLFormElement.h:
        Added create functions. Made constructors and other members private.
        Used an OwnPtr for m_elementAliases. Renamed collectionInfo to
        m_collectionCache and used an OwnPtr for it. Renamed formElements to
        m_associatedElements (since its contents are what HTML5 calls
        "form-associated element", not form elements). Renamed imgElements to
        m_imageElements.

        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
        (WebCore::HTMLFrameSetElement::create):
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
        * html/HTMLFrameSetElement.h:
        Added create functions. Made constructors and other members private.
        Renamed m_rows and m_cols to m_rowLengths and m_colLengths and used
        OwnArrayPtr for both.

        * html/HTMLLabelElement.cpp:
        (WebCore::nodeAsLabelableFormControl): Made this cast to Element instead
        of HTMLElement, since isFormControlElement is available on Element.
        (WebCore::HTMLLabelElement::HTMLLabelElement):
        (WebCore::HTMLLabelElement::create):
        * html/HTMLLabelElement.h:
        Added create functions. Made constructors and other members private.

        * html/HTMLLegendElement.cpp:
        (WebCore::HTMLLegendElement::HTMLLegendElement):
        (WebCore::HTMLLegendElement::create):
        (WebCore::HTMLLegendElement::associatedControl):
        (WebCore::HTMLLegendElement::focus):
        (WebCore::HTMLLegendElement::accessKeyAction):
        * html/HTMLLegendElement.h:
        Added create functions. Made constructors and other members private.
        Renamed formElement to associatedControl since hte control associated
        with this legend is not a "form element".

        * editing/DeleteButton.cpp:
        (WebCore::DeleteButton::DeleteButton):
        (WebCore::DeleteButton::create):
        * editing/DeleteButton.h:
        * html/HTMLDivElement.cpp:
        (WebCore::HTMLDivElement::HTMLDivElement):
        (WebCore::HTMLDivElement::create):
        * html/HTMLDivElement.h:
        * html/HTMLFontElement.cpp:
        (WebCore::HTMLFontElement::create):
        * html/HTMLFontElement.h:
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::HTMLHRElement):
        (WebCore::HTMLHRElement::create):
        * html/HTMLHRElement.h:
        * html/HTMLHeadElement.cpp:
        (WebCore::HTMLHeadElement::HTMLHeadElement):
        (WebCore::HTMLHeadElement::create):
        * html/HTMLHeadElement.h:
        * html/HTMLHeadingElement.cpp:
        (WebCore::HTMLHeadingElement::HTMLHeadingElement):
        (WebCore::HTMLHeadingElement::create):
        * html/HTMLHeadingElement.h:
        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::HTMLHtmlElement):
        (WebCore::HTMLHtmlElement::create):
        * html/HTMLHtmlElement.h:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::HTMLImageElement):
        (WebCore::HTMLImageElement::create):
        * html/HTMLImageElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::HTMLInputElement):
        (WebCore::HTMLInputElement::create):
        (WebCore::HTMLInputElement::createTemporaryFormForIsIndex):
        * html/HTMLInputElement.h:
        * html/HTMLIsIndexElement.cpp:
        (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
        (WebCore::HTMLIsIndexElement::create):
        * html/HTMLIsIndexElement.h:
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::HTMLLIElement):
        (WebCore::HTMLLIElement::create):
        * html/HTMLLIElement.h:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::HTMLLinkElement):
        (WebCore::HTMLLinkElement::create):
        * html/HTMLLinkElement.h:
        Added create functions. Made constructors and other members private.

        * html/HTMLTagNames.in: Removed the createWithNew flag from all the
        tags that were still using it: div, font, form, frameset, h1, h2, h3,
        h4, h5, h6, head, hr, html, image, img, input, ins, isindex, label,
        legend, li, and link.

        * html/HTMLTextAreaElement.h: Removed unneeded definition of the readOnly
        function, since the one in HTMLFormElement does the same thing.

        * loader/ImageDocument.cpp:
        (WebCore::ImageDocumentElement::ImageDocumentElement):
        (WebCore::ImageDocumentElement::create):
        (WebCore::ImageDocument::createDocumentStructure):
        Added create functions. Made constructors and other members private.

        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag): Use the non-virtual disabled
        function instead of the virtual isEnabledFormControl function, which just
        turns around and calls the disabled function.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
        (WebCore::MediaControlShadowRootElement::create):
        (WebCore::MediaControlElement::MediaControlElement):
        (WebCore::MediaControlElement::create):
        (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
        (WebCore::MediaControlTimelineContainerElement::create):
        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
        (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
        (WebCore::MediaControlVolumeSliderContainerElement::create):
        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
        (WebCore::MediaControlStatusDisplayElement::create):
        (WebCore::MediaControlStatusDisplayElement::update):
        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
        (WebCore::MediaControlInputElement::MediaControlInputElement):
        (WebCore::MediaControlInputElement::styleForElement):
        (WebCore::MediaControlInputElement::rendererIsNeeded):
        (WebCore::MediaControlInputElement::attach):
        (WebCore::MediaControlInputElement::updateStyle):
        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
        (WebCore::MediaControlMuteButtonElement::create):
        (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
        (WebCore::MediaControlMuteButtonElement::updateDisplayType):
        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
        (WebCore::MediaControlPlayButtonElement::create):
        (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
        (WebCore::MediaControlPlayButtonElement::updateDisplayType):
        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
        (WebCore::MediaControlSeekButtonElement::create):
        (WebCore::MediaControlSeekButtonElement::isForwardButton):
        (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
        (WebCore::MediaControlSeekButtonElement::seekTimerFired):
        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
        (WebCore::MediaControlRewindButtonElement::create):
        (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
        (WebCore::MediaControlReturnToRealtimeButtonElement::create):
        (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
        (WebCore::MediaControlTimelineElement::create):
        (WebCore::MediaControlTimelineElement::defaultEventHandler):
        (WebCore::MediaControlTimelineElement::update):
        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
        (WebCore::MediaControlVolumeSliderElement::create):
        (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
        (WebCore::MediaControlVolumeSliderElement::update):
        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
        (WebCore::MediaControlFullscreenButtonElement::create):
        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
        (WebCore::MediaControlTimeDisplayElement::create):
        * rendering/MediaControlElements.h:
        Added create functions. Made constructors and other members private.

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::ShadowInputElement::ShadowInputElement):
        (WebCore::ShadowInputElement::create):
        (WebCore::RenderFileUploadControl::updateFromElement):
        Added create functions. Made constructors and other members private.

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::createControlsShadowRoot):
        (WebCore::RenderMedia::createPanel):
        (WebCore::RenderMedia::createMuteButton):
        (WebCore::RenderMedia::createPlayButton):
        (WebCore::RenderMedia::createSeekBackButton):
        (WebCore::RenderMedia::createSeekForwardButton):
        (WebCore::RenderMedia::createRewindButton):
        (WebCore::RenderMedia::createReturnToRealtimeButton):
        (WebCore::RenderMedia::createToggleClosedCaptionsButton):
        (WebCore::RenderMedia::createStatusDisplay):
        (WebCore::RenderMedia::createTimelineContainer):
        (WebCore::RenderMedia::createTimeline):
        (WebCore::RenderMedia::createVolumeSliderContainer):
        (WebCore::RenderMedia::createVolumeSlider):
        (WebCore::RenderMedia::createCurrentTimeDisplay):
        (WebCore::RenderMedia::createTimeRemainingDisplay):
        (WebCore::RenderMedia::createFullscreenButton):
        Use create instead of new.

        * rendering/RenderProgress.cpp:
        (WebCore::ProgressValueElement::ProgressValueElement):
        (WebCore::ProgressValueElement::create):
        (WebCore::RenderProgress::updateValuePartState):
        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::SliderThumbElement):
        (WebCore::SliderThumbElement::create):
        (WebCore::RenderSlider::updateFromElement):
        Added create functions. Made constructors and other members private.

        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::TextControlInnerElement):
        (WebCore::TextControlInnerElement::create):
        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
        (WebCore::TextControlInnerTextElement::create):
        (WebCore::TextControlInnerTextElement::defaultEventHandler):
        (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
        (WebCore::SearchFieldResultsButtonElement::create):
        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
        (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
        (WebCore::SearchFieldCancelButtonElement::create):
        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
        (WebCore::SpinButtonElement::SpinButtonElement):
        (WebCore::SpinButtonElement::create):
        (WebCore::SpinButtonElement::defaultEventHandler):
        * rendering/TextControlInnerElements.h:
        Added create functions. Made constructors and other members private.

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

        Reviewed by Darin Adler.

        Incorrect build dependencies for GObject DOM Bindings
        https://bugs.webkit.org/show_bug.cgi?id=39932

        -include does not execute the implicit % expansion, we have to do
        it manually.

        * GNUmakefile.am:

2010-05-30  Robert Hogan  <robert@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Enhance Qt DRT implementation to support platform scroll wheel events.

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

        Fix the bug in webkit.org/b/29601 for Qt.  A delta not divisible by 120
        indicates a device that is sending fine-resolution scroll events, so
        use the delta as the number of pixels to scroll.

        * platform/qt/WheelEventQt.cpp:
        (WebCore::PlatformWheelEvent::applyDelta):

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

        Reviewed by Pavel Feldman.

        https://bugs.webkit.org/show_bug.cgi?id=39224
        Bug 39224 - Web Inspector: There should be a way to clean up profiles

        Adds a button to clear the profiles from the profiles panel like that
        used for the console, the audits panel, and the timeline panel.
        Consolidates the css rules, since they all use the same image.
        Also allows for individual profiles to be deleted via the keyboard
        (U+0008 or U+007F) and uses this new schema for the Elements Tree.

        * English.lproj/localizedStrings.js:
        Add tooltip text for the button to clear the profiles pane.

        * inspector/InspectorBackend.idl:
        Add ability to remove the profiles from the backend when they are
        deleted or cleared in the frontend.
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::removeProfile):
        (WebCore::InspectorBackend::clearProfiles):
        * inspector/InspectorBackend.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::removeProfile):
        (WebCore::InspectorController::clearProfiles):
        * inspector/InspectorController.h:

        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        Use the 'clear-status-bar-item' class.
        * inspector/front-end/ChangesView.js:
        (WebInspector.ChangesView):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
        * inspector/front-end/audits.css:
        * inspector/front-end/inspector.css:
        (.clear-status-bar-item .glyph):
        * inspector/front-end/inspector.html:

        * inspector/front-end/ElementsTreeOutline.js:
        Replace the keyDown handler on the Outline with specific methods to
        handle delete and enter on the TreeElements.
        (WebInspector.ElementsTreeOutline):
        (WebInspector.ElementsTreeOutline.prototype.get editing):
        Return whether or not an element in the tree is currently being edited.
        (WebInspector.ElementsTreeElement.prototype.ondelete):
        (WebInspector.ElementsTreeElement.prototype.onenter):

        * inspector/front-end/Panel.js:
        (WebInspector.Panel.prototype.createSidebar):
        Make the TreeOutline for a Panel's sidebar aware of its enclosing Panel.

        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        Add the clear button.
        (WebInspector.ProfilesPanel.prototype.get statusBarItems):
        (WebInspector.ProfilesPanel.prototype._clearProfiles):
        Remove the profiles from the backend, the reset the frontend interface.
        (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
        Remove the profile from both the frontend and the backend, and clear the
        view when the last profile is removed.
        (WebInspector.ProfilesPanel.prototype._updateInterface):
        Hide the clear button when profiling is disabled.
        (WebInspector.ProfileSidebarTreeElement.prototype.onselect):
        Replace access to global variable with reference to the Panel held by the
        TreeOutline.
        (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
        Remove the profile corresponding the tree element when the user deletes
        that tree element.

        * inspector/front-end/treeoutline.js:
        (TreeOutline.prototype._treeKeyDown):
        Allow the selected tree element to handle the user pressing a delete
        key or enter key.

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 ==
