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