ChangeLog   [plain text]


2009-07-27  Mark Rowe  <mrowe@apple.com>

        Merge r46449.

    Reviewed by Darin Adler.

        <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread

        Add a method for detecting if we're being used within Microsoft Messenger.

        * WebCore.base.exp: Export applicationIsMicrosoftMessenger and sort existing entries.
        * platform/mac/RuntimeApplicationChecks.h:
        * platform/mac/RuntimeApplicationChecks.mm:
        (WebCore::applicationIsMicrosoftMessenger):

2009-07-23  Mark Rowe  <mrowe@apple.com>

        Merge r46246.

    2009-07-22  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adele Peterson.

        Null deref in JSObject::mark due to null xhr wrapper
        https://bugs.webkit.org/show_bug.cgi?id=27565

        Make event target binding for appcache and xhr behave in the same way as
        it does for all other events.

        No test as I couldn't make a testcase which was remotely reliable.

        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):

2009-07-20  Mark Rowe  <mrowe@apple.com>

        Merge r46039.

    2009-07-17  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

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

        Let WebCore always enforce the connection-per-host limit itself.

        * loader/loader.cpp:
        (WebCore::Loader::Host::servePendingRequests):

2009-07-16  Mark Rowe  <mrowe@apple.com>

        Merge r45979.

    2009-07-16  Brady Eidson  <beidson@apple.com>

        Reviewed by Antti Koivisto.
        Patch by Brady Eidson and Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=26496
        <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation

        After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption
        from the connection-per-host limit.  Removing that exemption makes the test case load smoothly after reloads.

        * loader/loader.cpp:
        (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit.

2009-07-15  Steve Falkenburg  <sfalken@apple.com>

        Merge r45892.
    
    2009-07-14  Steve Falkenburg  <sfalken@apple.com>

        Reorganize JavaScriptCore headers into:
        API: include/JavaScriptCore/
        Private: include/private/JavaScriptCore/

        Reviewed by Darin Adler.

        * WebCore.vcproj/QTMovieWin.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/build-generated-files.sh:

2009-07-14  Mark Rowe  <mrowe@apple.com>

        Merge r45850.

    2009-07-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Image rendered as layer contents looks different from image rendered via CG.
        <rdar://problem/7048830> 
        
        Fix a visible color profile difference between between images rendered via Core Graphics
        and those rendered via a compositing layer, by assigning the GenericRGB profile to
        untagged images (which come through as having the DeviceRGB profile) when they are set
        as layer contents.

        Test: compositing/color-matching/image-color-matching.html

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::setContentsToImage):

2009-07-14  Mark Rowe  <mrowe@apple.com>

        Merge r45836.

    2009-07-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
        <rdar://problem/7054356>

        Add null page check in HTMLDocument::hasFocus.

        Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html

        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::hasFocus): Add page null check.
        (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.

2009-07-14  Mark Rowe  <mrowe@apple.com>

        Merge r45832.

    2009-07-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        spellcheck="false" is ignored
        <rdar://problem/7054177>

        * editing/Editor.cpp:
        (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
            spellcheck attribute from here...
        (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
            if spell chcking is disabled by the spellcheck attribute.
        * editing/Editor.h:

2009-07-12  Mark Rowe  <mrowe@apple.com>

        Merge r45758.

    2009-07-11  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Antti Koivisto.

        HTMLMediaElement.canPlayType "maybe" and "probably" reversed
        https://bugs.webkit.org/show_bug.cgi?id=27186

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivate::supportsType):
            Return "probably" if type has codecs parameter.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::supportsType):
            Ditto.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::supportsType):
            Ditto.

2009-07-12  Mark Rowe  <mrowe@apple.com>

        Merge r45755.

    2009-07-11  Brady Eidson  <beidson@apple.com>

        Reviewed by Mark Rowe.

        A worker-thread inspired follow-up for:
        https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
        REGRESSION: XHR stream connection blocks iFrame loading and resource downloading

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
          is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
          not currently supported.

2009-07-12  Mark Rowe  <mrowe@apple.com>

        Merge r45744.

    2009-07-10  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7049066>.
        Update SnowLeopard media controller layout.

        * css/mediaControlsQT.css:
            Update for new layout.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::movieLoadType):
            Added to replace isStreaming.
        * html/HTMLMediaElement.h:
            Declare movieLoadType, remove isStreaming.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlStatusDisplayElement::update):
            Use movieLoadType instead of isStreaming.
        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
            MediaControlElement is the base class, not HTMLInputElement.
        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
            Ditto.
        (WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
            Don't display rewind button for live streams.
        (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
            MediaControlInputElement is the base class, not HTMLInputElement.
        * rendering/MediaControlElements.h:

        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::getMediaUIPartStateFlags):
            New, return wkDrawMediaUIPart flags.
        (WebCore::RenderThemeMac::paintMediaFullscreenButton):
        (WebCore::RenderThemeMac::paintMediaMuteButton):
        (WebCore::RenderThemeMac::paintMediaPlayButton):
        (WebCore::RenderThemeMac::paintMediaSeekBackButton):
        (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
        (WebCore::RenderThemeMac::paintMediaSliderTrack):
        (WebCore::RenderThemeMac::paintMediaSliderThumb):
        (WebCore::RenderThemeMac::paintMediaRewindButton):
        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
        (WebCore::RenderThemeMac::paintMediaControlsBackground):
        (WebCore::RenderThemeMac::paintMediaCurrentTime):
        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
            Use getMediaUIPartStateFlags.

2009-07-12  Mark Rowe  <mrowe@apple.com>

        Merge r45734.

    2009-07-10  Brady Eidson  <beidson@apple.com>

        Style cleanup over my last patch.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::~XMLHttpRequest):

2009-07-12  Mark Rowe  <mrowe@apple.com>

        Merge r45733.

    2009-07-10  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Geoffrey Garen.

        * inspector/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
        * inspector/JavaScriptCallFrame.h: New helper method, used below.

        * inspector/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::detach): In the special case
        where we detach from a window currently executing JavaScript,
        manually tear down our representation of the JavaScript
        call stack, since we won't get any more callbacks from JavaScriptCore
        to automatically tear it down. It's too bad that WebCore is
        responsible for this kind of tracking -- in the future, it would
        be nice if more of the breakpoint handling was inside of JavaScriptCore.

2009-07-12  Mark Rowe  <mrowe@apple.com>

        Merge r45732.

    2009-07-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Antti Koivisto.

        https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
        REGRESSION: XHR stream connection blocks iFrame loading and resource downloading

        With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
        When that happened, the first request that was over the limit ended up in a bizarre state where it 
        wasn't fully serviced until after the long running XHR was complete.

        Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
        resources - such as XHR - could still end up causing this limit to be exceeded.

        This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
        handle this at the resource handle level.

        * loader/loader.cpp:
        (WebCore::Loader::nonCacheRequestInFlight):
        (WebCore::Loader::nonCacheRequestComplete):
        (WebCore::Loader::Host::Host):
        (WebCore::Loader::Host::nonCacheRequestInFlight):
        (WebCore::Loader::Host::nonCacheRequestComplete):
        (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
        * loader/loader.h:
        (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::~XMLHttpRequest): 
        (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
        (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
        (WebCore::XMLHttpRequest::didFinishLoading): Ditto.

2009-07-12  Mark Rowe  <mrowe@apple.com>

        Merge r45728.

    2009-07-10  Beth Dakin  <bdakin@apple.com>

        Reviewed by Anders Carlsson.

        The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT): 
        In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after 
        clicking To Do's close box

        Make the Widget* in passMouseDownEventToWidget() a RefPtr.

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMouseDownEventToWidget):

2009-07-12  Mark Rowe  <mrowe@apple.com>

        Merge r45721.

    2009-07-10  Steve Falkenburg  <sfalken@apple.com>

        <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave

        Use altered search path while loading plug-ins. This modifies the DLL search order
        to look in the directory containing the plug-in even if a call to SetDllDirectory
        was previously made. Use of SetDllDirectory removes the current directory from the search path,
        breaking the previous strategy for locating any dependent DLLs of the plug-in.

        Reviewed by Jon Honeycutt.

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH

2009-07-12  Mark Rowe  <mrowe@apple.com>

        Merge r45715.

    2009-07-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by John Sullivan.

        Fix crash when changing the zoom level in http://iphone.akamai.com/
        <rdar://problem/7029077>

        RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
        which could potentially destroy that compositing layer, causing a crash.
        Prevent this from happening by not doing a compositing update from paintIntoLayer().

        The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
        and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
        compositing layers, and is still called from paintIntoLayer().

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::hitTestLayer):
        (WebCore::RenderLayer::updateLayerListsIfNeeded):
        (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
        * rendering/RenderLayer.h:

2009-07-12  Mark Rowe  <mrowe@apple.com>

        Merge r45710.

    2009-07-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - fix https://bugs.webkit.org/show_bug.cgi?id=27137
          <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
          to infinite recursion into FrameLoader::gotoAnchor() ->
          FrameView::layout()

        Test: fast/loader/goto-anchor-infinite-layout.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
        find the renderer to scroll to, and scroll from here to methods on
        FrameView, and replaced it with a call to
        FrameView::maintainScrollPositionAtAnchor().
        (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
        instead of setLockedToAnchor().

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView): Removed initialization of
        m_lockedToAnchor.
        (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
        of m_lockedToAnchor.
        (WebCore::FrameView::layout): Removed the code related to scrolling to
        the anchor from here, because scrolling can trigger events which
        invalidate the layout, and as such, belongs with the post-layout tasks.
        (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
        with a node scrolls the view to the top of that node and maintains it
        scrolled to the top of the node during subsequent layouts, until
        this function is called with 0 or other things trigger scrolling.
        (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
        m_maintainScrollPositionAnchor.
        (WebCore::FrameView::setScrollPosition): Ditto.
        (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
        m_maintainScrollPositionAnchor, if it is set.
        (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
        (WebCore::FrameView::setWasScrolledByUser): Reset
        m_maintainScrollPositionAnchor.

        * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
        and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
        m_maintainScrollPositionAnchor.

2009-07-10  Beth Dakin  <bdakin@apple.com>

        <rdar://problem/7045243> Roll text metrics change out

        * css/html.css:
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::SimpleFontData):
        * platform/graphics/SimpleFontData.h:
        * platform/graphics/mac/SimpleFontDataMac.mm:
        * platform/graphics/win/SimpleFontDataCGWin.cpp:
        * platform/graphics/win/SimpleFontDataWin.cpp:
        (WebCore::SimpleFontData::initGDIFont):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::calcPrefWidths):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::preferredContentWidth):

2009-07-11  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/7047403> Disable channel messaging

        * Configurations/FeatureDefines.xcconfig:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/build-generated-files.sh:

2009-07-11  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/7048551> Disable datagrid

        * Configurations/FeatureDefines.xcconfig:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/build-generated-files.sh:

2009-07-10  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Holger Freyther.

        Enable HTML 5 Messaging to fix message channel Qt DRT failures in
        fast/events.

        * WebCore.pro:

2009-07-09  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Maciej Stachowiak.

        added InlineBox::isLeaf()
        firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
        firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.   
        Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
        Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes

        Currently, these methods are called on RootInlineBox objects only, so above changes should not have
        any observable effect (only the removal of the square performance behavior could apply, 
        but the conditions for that are probably of a rather theoretical nature).

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nextLeafChild):
        (WebCore::InlineBox::prevLeafChild):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::isLeaf):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::firstLeafChild):
        (WebCore::InlineFlowBox::lastLeafChild):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::firstChild):
        (WebCore::InlineFlowBox::lastChild):
        (WebCore::InlineFlowBox::isLeaf):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::closestLeafChildForXPos):

2009-07-09  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Maciej Stachowiak.

        Added InlineBox::baselinePosition() and lineHeight() methods
        (adapted remaining code accordingly to use those methods)

        No change in functionality.

        * rendering/InlineBox.h:
        (WebCore::InlineBox::baselinePosition):
        (WebCore::InlineBox::lineHeight):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
        (WebCore::InlineFlowBox::placeBoxesVertically):

2009-07-09  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Bug 27142 - canPlayType() should return empty string for unsupported content
        <https://bugs.webkit.org/show_bug.cgi?id=27142>

        Return "" instead of "no" for unsupport media types. 

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::canPlayType):

2009-07-09  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Maciej Stachowiak.

        Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
        in that their end tags are optional if followed by <rp>/<rt>.

        Also specify a new accessibility role "annotation" for <rp> and <rt>.

        Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
        is not affected by whether ruby is rendered properly or not (in fact, it may 
        be more profound without ruby layouting, since the contents of <rp> are not hidden).

        Test: fast/ruby/parse-rp.html

        * accessibility/AccessibilityObject.h:
        (WebCore::):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::roleValue):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::endTagRequirement):
        (WebCore::HTMLElement::tagPriority):
        (WebCore::inlineTagList):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::rpCreateErrorCheck):
        (WebCore::HTMLParser::rtCreateErrorCheck):
        (WebCore::HTMLParser::getNode):
        * html/HTMLParser.h:
        * html/HTMLTagNames.in:

2009-07-09  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, fix for previous commit.

        The change http://trac.webkit.org/changeset/45695 did not correctly
        enabled GTL and QT build flags. This caused layout tests failure.
        This is speculative fix for those failures.

        * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
        * WebCore.pro: ditto.
        * page/DOMWindow.idl: touched to cause recompile.
        * workers/WorkerContext.idl: ditto.

2009-07-09  Drew Wilson  <atwilson@google.com>

        Reviewed by Alexey Proskuryakov.

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

        Turned on CHANNEL_MESSAGING by default because the MessageChannel API
        is now implemented for Web Workers and is reasonably stable.

        Tests: fast/events/message-channel-gc-2.html
               fast/events/message-channel-gc-3.html
               fast/events/message-channel-gc-4.html
               fast/events/message-channel-gc.html
               fast/events/message-channel-listener-circular-ownership.html
               fast/events/message-port-clone.html
               fast/events/message-port-constructor-for-deleted-document.html
               fast/events/message-port-deleted-document.html
               fast/events/message-port-deleted-frame.html
               fast/events/message-port-inactive-document.html
               fast/events/message-port-no-wrapper.html
               fast/events/message-port.html
               fast/workers/worker-cloneport.html
               fast/workers/worker-messageport-gc.html
               fast/workers/worker-messageport.html

        * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
        * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
        * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
        * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
        * WebCore/workers/WorkerContext.idl: ditto.


2009-07-09  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

        Full page zoom breaks remaining and elapsed time display in the <video> controller.
        https://bugs.webkit.org/show_bug.cgi?id=27123

        We are changing the size of the time remaining and time elapsed field, to
        automatically hide them, when the controller is too short.

        Because we toggle the size between 0 and the previous value of the
        controller, we miss any width change that may occur during full page zoom,
        and we fail to restore a correct width.

        This change fixes that problem by using a cloned style on which we
        set the width to 0, and restoring the previous style when going back to
        the normal width.

        We take care about properly using the cloned style or the pseudo style,
        by overriding styleForElement().

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlElement::styleForElement):
        (WebCore::MediaControlElement::attach):
        (WebCore::MediaControlElement::updateStyle):
        (WebCore::MediaControlInputElement::styleForElement):
        (WebCore::MediaControlInputElement::attach):
        (WebCore::MediaControlInputElement::updateStyle):
        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
        (WebCore::MediaControlTimeDisplayElement::styleForElement):
        (WebCore::MediaControlTimeDisplayElement::setVisible):
        * rendering/MediaControlElements.h:
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
        we take in account the zoom level when deciding if we should hide the 
        ellapsed and remaining time.

2009-07-09  Michael Nordman  <michaeln@google.com>

        Reviewed by Darin Adler.

        Fix chromium build bustage due to Widget being a RefCounted class.
        https://bugs.webkit.org/show_bug.cgi?id=27139

        * platform/chromium/PopupMenuChromium.cpp:
        * platform/chromium/PopupMenuChromium.h:

2009-07-09  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 27130 - Need to implement ARIA role="toolbar"
        https://bugs.webkit.org/show_bug.cgi?id=27130

        Test: platform/mac/accessibility/aria-toolbar.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::RoleEntry::):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper roleDescription]):

2009-07-09  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
        https://bugs.webkit.org/show_bug.cgi?id=27135

        * WebCore.gypi: Added.

2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>

        A more robust fix for <rdar://problem/6930280> Reproducible crash at
        USA Today photo gallery

        Reviewed by Steve Falkenburg.

        * plugins/win/PluginMessageThrottlerWin.cpp:
        (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
        Protect the PluginView from destruction before calling its window proc.

2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>

        <rdar://problem/6978804> WER #16: Repro Access Violation in
        WebCore::PluginView::bindingInstance (1310178023)

        Reviewed by Darin Adler.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::bindingInstance):
        Protect the PluginView from destruction before calling NPN_GetValue. If
        the renderer for the PluginView was destroyed during the call, and the
        PluginView's ref count is now 1, return null.

2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>

        Speculative fix for <rdar://problem/6991251> WER #13: Crash in
        WebKit!WebCore::PluginView::performRequest+203 (1311461169)

        Reviewed by Darin Adler.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::performRequest):
        Protect the PluginView from destruction before performing a load.
        Removed some trailing whitespace.

2009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>

        Build fix.

        * inspector/JavaScriptDebugServer.cpp:
        (WebCore::JavaScriptDebugServer::setJavaScriptPaused):

2009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Make Widget RefCounted to fix or make fixable:

        <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
        at WebCore::Widget::afterMouseDown() after clicking To Do's close 
        box
        <rdar://problem/6978804> WER #16: Repro Access Violation in 
        WebCore::PluginView::bindingInstance (1310178023)
        -and-
        <rdar://problem/6991251> WER #13: Crash in WebKit!
        WebCore::PluginView::performRequest+203 (1311461169) 

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::createPlugin):
        Changed to return PassRefPtr
        (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
        Ditto.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadSubframe):
        (WebCore::FrameLoader::loadPlugin):
        Make the widget variable a RefPtr. Use .get() when passing it to
        RenderPart::setWidget().
        (WebCore::FrameLoader::createJavaAppletWidget):
        Make the widget variable a RefPtr.

        * loader/FrameLoader.h:
        Changed the return type of createJavaAppletWidget().

        * loader/FrameLoaderClient.h:
        Change the return types of createPlugin() and 
        createJavaAppletWidget().

        * page/Frame.cpp:
        (WebCore::Frame::createView):
        No need to call .get() since setWidget() takes a RefPtr.

        * page/FrameView.cpp:
        (WebCore::FrameView::layoutIfNeededRecursive):
        children() now returns a HashSet of RefPtrs.

        * page/FrameView.h:
        Remove inheritance from RefCounted; we pick this up from ScrollView
        through Widget.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::addChild):
        addChild() now takes a PassRefPtr and m_children now keeps a 
        HashSet of RefPtrs.

        * platform/ScrollView.h:
        ScrollView constructor is now protected.
        (WebCore::ScrollView::children):
        m_children is now a HashSet of RefPtrs.

        * platform/Scrollbar.h:
        Remove inheritance from RefCounted; we pick this up from ScrollView
        through Widget.

        * platform/Widget.h:
        Inherit from RefCounted. Cleaned up some whitespace. Make m_widget 
        a RefPtr.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::create):
        Adopt the PluginView when returning it.

        * plugins/PluginView.h:
        Changed create() to return a PassRefPtr.

        * rendering/RenderApplet.cpp:
        Receive result in a RefPtr when calling createJavaAppletWidget().

        * rendering/RenderPart.cpp:
        (WebCore::RenderPart::setWidget): 
        setWidget() now takes a PassRefPtr. Also removed the manual ref of 
        FrameViews. This is handled by having m_widget be a RefPtr. Removed 
        deleteWidget().

        * rendering/RenderPart.h:
        Removed override of deleteWidget().

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::destroy):
        (WebCore::RenderWidget::setWidget):
        (WebCore::RenderWidget::paint):
        (WebCore::RenderWidget::setOverlapTestResult):
        (WebCore::RenderWidget::updateWidgetPosition):
        Use .get().
        (WebCore::RenderWidget::clearWidget):
        Don't call deleteWidget(). It was removed. 

        * rendering/RenderWidget.h:
        Removed deleteWidget(). Made m_widget a RefPtr.
        (WebCore::RenderWidget::widget):
        Use .get().

2009-07-09  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 27129 - AX: possible assertion for a non-native image in accessibility
        https://bugs.webkit.org/show_bug.cgi?id=27129 

        It's possible for an image that is not really an image to assert, because its renderer
        is turned into a RenderImage.

        Test: accessibility/non-native-image-crash.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::RoleEntry::):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper roleDescription]):

2009-07-09  Simon Fraser  <simon.fraser@apple.com>

        Build fix for SnowLeopard.
        
        Avoid using the contentsTransform methods if not on Leopard, because
        we don't need to call them.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::updateContentsTransform):
        * platform/graphics/mac/WebLayer.mm:
        (-[WebLayer setNeedsDisplayInRect:]):
        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer setNeedsDisplayInRect:]):

2009-07-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
        is not available.
        <rdar://problem/6120614>

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::setContentsOrientation):
        (WebCore::GraphicsLayer::contentsOrientation):
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::GraphicsLayer):
        Add a m_contentsOrientation member and getter/setter to control whether
        the contents of this layer have a transform applied to them before display.

        * platform/graphics/mac/GraphicsLayerCA.h:
        New method to return the default contents orientation.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::flipTransform):
        Convenience method to return a transform with a Y flip.

        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
        (WebCore::GraphicsLayerCA::setSize):
        After the size changes we have to update the contentsTransform.

        (WebCore::GraphicsLayerCA::setGeometryOrientation):
        (WebCore::GraphicsLayerCA::geometryOrientation):
        If -setGeometryFlipped: is not available, use a children transform.
        
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
        Tiled layers have issues with flipped contentsTransform, so just use
        top-down drawing for them. Call updateContentsTransform() to set the
        new contents transform after swapping layers.
        
        (WebCore::GraphicsLayerCA::defaultContentsOrientation):
        Use bottom-up when -geometryFlipped is not available, otherwise top-down.
        
        (WebCore::GraphicsLayerCA::updateContentsTransform):
        Set the layer contents transform based on contentsOrientation().

        (WebCore::GraphicsLayerCA::setContentsLayer):
        We have to manually flip contents layers if we're not using -geometryFlipped.
        
        * platform/graphics/mac/WebLayer.h:
        * platform/graphics/mac/WebLayer.mm:
        Do early return if layerContents is nil. Flip the CTM if the layer has
        bottom-up coordinates, so that CG sees a CTM with no flip.
        Do the CGContextRestoreGState() after drawing the debug indicator.
        
        (-[WebLayer setNeedsDisplayInRect:]):
        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer setNeedsDisplayInRect:]):
        Need to map the dirty rect through the contentsTransform.

2009-07-09  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Geoff Garen.

        <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.

        Can't test this functionality with layout tests.

        * WebCore.base.exp:
        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::recordVisitAtTime):
        (WebCore::HistoryItem::visited):
        * history/HistoryItem.h:
        Only increase visit count if explicitly told to. Now, some visits change last access time,
        but do not increase visit count.

2009-07-09  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3

        Require QuickTime 7.6.3 or higher to enable the new media controller UI.

        * rendering/RenderThemeMac.mm:
        (WebCore::mediaControllerTheme):

2009-07-09  Sam Weinig  <sam@webkit.org>

        Reviewed by Beth Dakin.

        Remove incorrect comment.

        * page/MouseEventWithHitTestResults.h:

2009-07-09  Mads Ager  <ager@chromium.org>

        Reviewed by Dimitri Glazkov.

        Update the V8 bindings codegenerator to use the RGBColor::create
        method to handle refcounts for RGBColor objects correctly.
        
       * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.

2009-07-09  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson.

        Crash in RenderMedia::styleDidChange.
        <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with 
        media element (RenderMedia::styleDidChange + 115)

        Speculative fix for crash in styleDidChange. Null check controller elements before tell
        them to update style.

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::styleDidChange):

2009-07-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        [V8] Move V8DOMWrapper to its own file
        https://bugs.webkit.org/show_bug.cgi?id=27121

        * bindings/v8/V8DOMWrapper.cpp: Added.
        (WebCore::GetToStringName):
        (WebCore::ConstructorToString):
        (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
        (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
        (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
        (WebCore::V8DOMWrapper::getTemplate):
        (WebCore::V8DOMWrapper::convertToV8Object):
        (WebCore::V8DOMWrapper::setHiddenWindowReference):
        (WebCore::V8DOMWrapper::domWrapperType):
        (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
        (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
        (WebCore::V8DOMWrapper::lookupDOMWrapper):
        (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
        (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
        (WebCore::V8DOMWrapper::instantiateV8Object):
        (WebCore::V8DOMWrapper::setDOMWrapper):
        (WebCore::V8DOMWrapper::maybeDOMWrapper):
        (WebCore::V8DOMWrapper::isDOMEventWrapper):
        (WebCore::V8DOMWrapper::isWrapperOfType):
        (WebCore::V8DOMWrapper::htmlElementType):
        (WebCore::V8DOMWrapper::svgElementType):
        (WebCore::V8DOMWrapper::convertEventToV8Object):
        (WebCore::):
        (WebCore::V8DOMWrapper::convertNodeToV8Object):
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
        (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
        (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
        (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
        (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
        (WebCore::V8DOMWrapper::convertWindowToV8Object):
        * bindings/v8/V8DOMWrapper.h: Added.
        (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
        (WebCore::V8DOMWrapper::wrapCPointer):
        (WebCore::V8DOMWrapper::extractCPointer):
        (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
        (WebCore::V8DOMWrapper::convertToV8Object):
        (WebCore::V8DOMWrapper::convertToNativeObject):
        (WebCore::V8DOMWrapper::convertToNativeEvent):
        (WebCore::V8DOMWrapper::extractCPointerImpl):
        (WebCore::V8DOMWrapper::instantiateV8Object):
        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/V8Proxy.h:

2009-07-09  David Hyatt  <hyatt@apple.com>

        Reviewed by Adele Peterson.

        Crash in setFocusedFrame.
        <rdar://7032869> Crashing in setFocusedFrame on blogger.com.

        Speculative fix for crasher in setFocusedFrame.  Make sure to ref both frames and fire
        the events only after the local member has been updated.

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

2009-07-09  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson.

        Possible crashes when mouse clicks not dispatched because range input destroyed while 
        thumb is being dragged (e.g. scrub to end of movie)
        <rdar://problem/7037494> 
        https://bugs.webkit.org/show_bug.cgi?id=27101

        Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to 
        get mouse events even when the mouse is moved outside of the node. This is done by putting
        EventHandler into a mode where it sends all mouse events to the node regardless of the
        actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
        node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
        to try to send events to the deleted node. This sometimes results in a crash, and sometimes
        in a page that doesn't respond to click events.

        Tests: fast/forms/search-delete-while-cancel-button-clicked.html
               fast/forms/slider-delete-while-dragging-thumb.html
               media/audio-delete-while-slider-thumb-clicked.html
               media/audio-delete-while-step-button-clicked.html

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlSeekButtonElement::detach):
            New, call setCapturingMouseEventsNode if capturing mouse events.
        * rendering/MediaControlElements.h:
            Declare detach().

        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::detach):
            New, call setCapturingMouseEventsNode if capturing mouse events.

        * rendering/TextControlInnerElements.cpp:
        (WebCore::SearchFieldCancelButtonElement::detach):
            New, call setCapturingMouseEventsNode if capturing mouse events.
        * rendering/TextControlInnerElements.h:
            Declare detach().

2009-07-09  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Dimitri Glazkov.

        Enter the Frame's context before creating new objects in setContextDebugId.

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

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setContextDebugId):

2009-07-09  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt build.

        * WebCore.pro: Add new storage impl files to the build.

2009-07-08  Adam Barth  <abarth@webkit.org>

        Rubber stamped by Eric Seidel.

        [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
        https://bugs.webkit.org/show_bug.cgi?id=27107

        This patch is just renaming.  Code motion will occur next.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::processingUserGesture):
        (WebCore::createScriptObject):
        (WebCore::ScriptController::createScriptObjectForPluginElement):
        * bindings/v8/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::set):
        * bindings/v8/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::handleEvent):
        (WebCore::V8AbstractEventListener::getReceiverObject):
        * bindings/v8/V8Collection.cpp:
        (WebCore::toOptionsCollectionSetter):
        * bindings/v8/V8Collection.h:
        (WebCore::getV8Object):
        (WebCore::getNamedPropertyOfCollection):
        (WebCore::nodeCollectionNamedPropertyGetter):
        (WebCore::getIndexedPropertyOfCollection):
        (WebCore::nodeCollectionIndexedPropertyGetter):
        (WebCore::nodeCollectionIndexedPropertyEnumerator):
        (WebCore::collectionIndexedPropertyEnumerator):
        (WebCore::collectionStringOrNullIndexedPropertyGetter):
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::DOMData::handleWeakObject):
        (WebCore::DOMData::removeObjectsFromWrapperMap):
        * bindings/v8/V8GCController.cpp:
        (WebCore::enumerateDOMObjectMap):
        (WebCore::DOMObjectVisitor::visitDOMWrapper):
        (WebCore::GCPrologueVisitor::visitDOMWrapper):
        (WebCore::GCEpilogueVisitor::visitDOMWrapper):
        * bindings/v8/V8Helpers.cpp:
        (WebCore::wrapNPObject):
        * bindings/v8/V8NodeFilterCondition.cpp:
        (WebCore::V8NodeFilterCondition::acceptNode):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
        (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
        (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
        (WebCore::V8Proxy::evaluateInNewContext):
        (WebCore::V8Proxy::getConstructor):
        (WebCore::V8DOMWrapper::getTemplate):
        (WebCore::V8Proxy::retrieveWindow):
        (WebCore::V8Proxy::updateDocumentWrapperCache):
        (WebCore::V8Proxy::clearForNavigation):
        (WebCore::V8Proxy::installDOMWindow):
        (WebCore::setDOMExceptionHelper):
        (WebCore::V8DOMWrapper::convertToV8Object):
        (WebCore::V8DOMWrapper::setHiddenWindowReference):
        (WebCore::V8DOMWrapper::domWrapperType):
        (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
        (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
        (WebCore::V8DOMWrapper::lookupDOMWrapper):
        (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
        (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
        (WebCore::V8DOMWrapper::instantiateV8Object):
        (WebCore::V8DOMWrapper::setDOMWrapper):
        (WebCore::V8DOMWrapper::maybeDOMWrapper):
        (WebCore::V8DOMWrapper::isDOMEventWrapper):
        (WebCore::V8DOMWrapper::isWrapperOfType):
        (WebCore::V8DOMWrapper::htmlElementType):
        (WebCore::V8DOMWrapper::svgElementType):
        (WebCore::V8DOMWrapper::convertEventToV8Object):
        (WebCore::V8DOMWrapper::convertNodeToV8Object):
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
        (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
        (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
        (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
        (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
        (WebCore::V8DOMWrapper::convertWindowToV8Object):
        (WebCore::V8Proxy::bindJsObjectToWindow):
        * bindings/v8/V8Proxy.h:
        (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
        (WebCore::V8DOMWrapper::wrapCPointer):
        (WebCore::V8DOMWrapper::extractCPointer):
        (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
        (WebCore::V8DOMWrapper::convertToV8Object):
        (WebCore::V8DOMWrapper::convertToNativeObject):
        (WebCore::V8DOMWrapper::convertToNativeEvent):
        (WebCore::V8DOMWrapper::extractCPointerImpl):
        (WebCore::V8DOMWrapper::instantiateV8Object):
        (WebCore::V8Proxy::constructDOMObject):
        (WebCore::toV8):
        * bindings/v8/V8SVGPODTypeWrapper.h:
        (WebCore::V8SVGPODTypeUtil::toSVGPODType):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::retrieve):
        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
        (WebCore::WorkerContextExecutionProxy::GetConstructor):
        (WebCore::WorkerContextExecutionProxy::ToV8Object):
        (WebCore::WorkerContextExecutionProxy::EventToV8Object):
        (WebCore::WorkerContextExecutionProxy::toV8):
        * bindings/v8/custom/V8AttrCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::toV8):
        (WebCore::toCanvasStyle):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8ClientRectListCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8CustomBinding.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::INDEXED_ACCESS_CHECK):
        (WebCore::NAMED_ACCESS_CHECK):
        (WebCore::V8Custom::GetTargetFrame):
        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
        (WebCore::V8CustomSQLStatementCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
        (WebCore::V8CustomSQLTransactionCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
        (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::V8Custom::ClearTimeoutImpl):
        (WebCore::NAMED_ACCESS_CHECK):
        (WebCore::INDEXED_ACCESS_CHECK):
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8ElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        (WebCore::getItem):
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_SETTER):
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::removeElement):
        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::INDEXED_ACCESS_CHECK):
        (WebCore::NAMED_ACCESS_CHECK):
        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8NavigatorCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
        (WebCore::toV8):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NodeListCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
        (WebCore::storageGetter):
        (WebCore::storageSetter):
        (WebCore::storageDeleter):
        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
        (WebCore::toV8):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::SetTimeoutOrInterval):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

        Make sure we can click outside the slider thumb and start dragging.
        https://bugs.webkit.org/show_bug.cgi?id=26229

        Previously we were assuming that if the thumb hasn't been clicked, we
        wouldn't issue any value change upon dragging.

        We need to handle the two different cases:
        - Clicked in the thumb, we need to make sure the cursor is always pointing
        the same slider thumb point.
        - Clicked outside, the cursor should always be pointing to the center of
        the thumb.

        For simplicity, we don't remember the original point of the mouse down,
        but a vector between that point and the thumb.

        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::SliderThumbElement):
        (WebCore::SliderThumbElement::defaultEventHandler):
        (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
        * rendering/RenderSlider.h:

2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=27100
        <rdar://problem/7042621>

        Don't display "loading" in the <video> controller when
        there is no src specified.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlStatusDisplayElement::update): The only
        way to find out if we have an element is currentSrc(). networkState()
        will always report LOADING according to the spec.

2009-07-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        [V8] Move V8GCController functions to their own file
        https://bugs.webkit.org/show_bug.cgi?id=27102

        * bindings/v8/V8GCController.cpp: Added.
        * bindings/v8/V8GCController.h: Added.
        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/V8Proxy.h:

2009-07-08  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        Split StorageArea and StorageNamespace into an interface and implementation.
        https://bugs.webkit.org/show_bug.cgi?id=27072

        I need to split StorageNamespace and StorageArea into an interface and
        implementation.  In a later patch, I'll implement a proxy interface
        that'll run inside the Chromium renderer process.

        Additionally, fix the alphabetical ordering of files I recently added
        in the project files.

        This is a continuation of other refactoring work:
        https://bugs.webkit.org/show_bug.cgi?id=25376

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/StorageArea.cpp:
        (WebCore::StorageArea::create):
        * storage/StorageArea.h:
        (WebCore::StorageArea::~StorageArea):
        * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
        (WebCore::StorageAreaImpl::create):
        (WebCore::StorageAreaImpl::~StorageAreaImpl):
        (WebCore::StorageAreaImpl::StorageAreaImpl):
        (WebCore::StorageAreaImpl::copy):
        (WebCore::StorageAreaImpl::length):
        (WebCore::StorageAreaImpl::key):
        (WebCore::StorageAreaImpl::getItem):
        (WebCore::StorageAreaImpl::setItem):
        (WebCore::StorageAreaImpl::removeItem):
        (WebCore::StorageAreaImpl::clear):
        (WebCore::StorageAreaImpl::contains):
        (WebCore::StorageAreaImpl::importItem):
        (WebCore::StorageAreaImpl::securityOrigin):
        (WebCore::StorageAreaImpl::close):
        (WebCore::StorageAreaImpl::blockUntilImportComplete):
        (WebCore::StorageAreaImpl::dispatchStorageEvent):
        * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
        * storage/StorageAreaSync.h:
        * storage/StorageNamespace.cpp:
        (WebCore::StorageNamespace::localStorageNamespace):
        (WebCore::StorageNamespace::sessionStorageNamespace):
        * storage/StorageNamespace.h:
        (WebCore::StorageNamespace::~StorageNamespace):
        * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
        (WebCore::StorageNamespaceImpl::localStorageNamespace):
        (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
        (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
        (WebCore::StorageNamespaceImpl::copy):
        (WebCore::StorageNamespaceImpl::storageArea):
        (WebCore::StorageNamespaceImpl::close):
        * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.

2009-07-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        [V8] Move garbage collector related functions from V8Proxy to V8GCController
        https://bugs.webkit.org/show_bug.cgi?id=26967

        This patch just moves the functions around in V8Proxy.  We'll actually
        move them to a separate file in another patch.

        * bindings/v8/NPV8Object.cpp:
        (freeV8NPObject):
        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::~ScheduledAction):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::gcProtectJSWrapper):
        (WebCore::ScriptController::gcUnprotectJSWrapper):
        * bindings/v8/ScriptInstance.cpp:
        (WebCore::V8ScriptInstance::clear):
        (WebCore::V8ScriptInstance::set):
        * bindings/v8/ScriptValue.h:
        (WebCore::ScriptValue::ScriptValue):
        (WebCore::ScriptValue::operator=):
        (WebCore::ScriptValue::clear):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::disposeListenerObject):
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::~V8LazyEventListener):
        (WebCore::V8LazyEventListener::getListenerFunction):
        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
        * bindings/v8/V8NodeFilterCondition.cpp:
        (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
        (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8GCController::registerGlobalHandle):
        (WebCore::V8GCController::unregisterGlobalHandle):
        (WebCore::V8GCController::gcProtect):
        (WebCore::V8GCController::gcUnprotect):
        (WebCore::V8Proxy::destroyGlobal):
        (WebCore::V8Proxy::updateDocumentWrapper):
        (WebCore::V8Proxy::clearDocumentWrapper):
        (WebCore::V8Proxy::disposeContextHandles):
        (WebCore::V8Proxy::initContextIfNeeded):
        * bindings/v8/V8Proxy.h:
        (WebCore::):
        (WebCore::GlobalHandleInfo::GlobalHandleInfo):
        * bindings/v8/custom/V8CustomEventListener.cpp:
        (WebCore::V8EventListener::V8EventListener):

2009-07-08  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.
        
        https://bugs.webkit.org/show_bug.cgi?id=26918
        
        Prevents injection of HTML Base tag.

        Tests: http/tests/security/xssAuditor/base-href-control-char.html
               http/tests/security/xssAuditor/base-href-null-char.html
               http/tests/security/xssAuditor/base-href-safe.html
               http/tests/security/xssAuditor/base-href-safe2.html
               http/tests/security/xssAuditor/base-href-scheme-relative.html
               http/tests/security/xssAuditor/base-href.html

        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::parseMappedAttribute):
        (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
        to determine if it is safe to use base element URL.
        * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::canSetBaseElementURL):
        * page/XSSAuditor.h:

2009-07-08  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Upstream V8 npruntime bindings.

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

        * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
        (StringKey::operator==):
        (StringKey::StringKeyHash::hash):
        (StringKey::StringKeyHash::equal):
        (StringKeyHashTraits::constructDeletedValue):
        (StringKeyHashTraits::isDeletedValue):
        (getStringIdentifierMap):
        (getIntIdentifierMap):
        * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
        * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
        * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.

2009-07-08  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Darin Fisher.

        Extending the PlatformFileHandle definition from PLATFORM(WIN) to
        PLATFORM(WIN_OS)

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

        * platform/FileSystem.h:

2009-07-08  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.
        
        https://bugs.webkit.org/show_bug.cgi?id=27071
        
        Resolves issue when HTTP parameters contain null- and  non-null-control- characters.

        Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
               http/tests/security/xssAuditor/embed-tag-control-char.html
               http/tests/security/xssAuditor/embed-tag-null-char.html
               http/tests/security/xssAuditor/embed-tag.html
               http/tests/security/xssAuditor/link-onclick-control-char.html
               http/tests/security/xssAuditor/link-onclick-null-char.html
               http/tests/security/xssAuditor/object-embed-tag-control-char.html
               http/tests/security/xssAuditor/object-embed-tag-null-char.html
               http/tests/security/xssAuditor/object-embed-tag.html
               http/tests/security/xssAuditor/object-tag.html
               http/tests/security/xssAuditor/script-tag-post-control-char.html
               http/tests/security/xssAuditor/script-tag-post-null-char.html
               http/tests/security/xssAuditor/script-tag-with-source-control-char.html
               http/tests/security/xssAuditor/script-tag-with-source-null-char.html

        * page/XSSAuditor.cpp:
        (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
        (WebCore::XSSAuditor::canEvaluate):
        (WebCore::XSSAuditor::canCreateInlineEventListener):
        (WebCore::XSSAuditor::canLoadObject):
        (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
        and matchNonNullControlCharacters.
        (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
        and matchNonNullControlCharacters.
        * page/XSSAuditor.h:

2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
        https://bugs.webkit.org/show_bug.cgi?id=27093

        This is specific for v8, no change in behavior.

        * bindings/v8/DerivedSourcesAllInOne.cpp: Added.

2009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

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

        Make sure the Media controller doesn't fade in for no reason.
        This is happening because a update() call to the controller
        panel may reset the opacity to 1.0, given that it reloads the
        style.

        We also add a different fade in and fade out time to soften
        the fade out effect.

        No test case because this depends on how the movie is loaded.

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::RenderMedia):
        (WebCore::RenderMedia::updateControls):
        (WebCore::RenderMedia::updateControlVisibility): Simplify
        , and make sure we stop the timer if there is no animation
        to do.
        (WebCore::RenderMedia::opacityAnimationTimerFired): 
        * rendering/RenderMedia.h:

2009-07-08  David Kilzer  <ddkilzer@apple.com>

        Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)

        <https://bugs.webkit.org/show_bug.cgi?id=27081>

        Reviewed by Timothy Hatcher.

        * platform/cf/RunLoopTimerCF.cpp: This code is only used on
        Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
        in that macro as well.

2009-07-08  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Darin Adler.

        Add -[WebView _isProcessingUserGesture]
        https://bugs.webkit.org/show_bug.cgi?id=27084

        Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
        for clarity.

        * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::processingUserGesture):
        * loader/FrameLoader.cpp: 
        (WebCore::FrameLoader::requestFrame):
        (WebCore::FrameLoader::isProcessingUserGesture):
        * loader/FrameLoader.h:

2009-07-08  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed (an earlier version) by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=27090
        Remove lockBackForwardList argument from HTMLFormElement::submit()

        No change in behavior, so no tests.

        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::submit):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::submit):
        * html/HTMLFormElement.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::scheduleFormSubmission):
        * loader/FrameLoader.h:
        Don't pass lockBackForwardList around when it's known to be false.

2009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>

        Reviewed by Adam Barth.

        Fix V8 idl codegen to use unique constant names
        <https://bugs.webkit.org/show_bug.cgi?id=27089>

        Embed the interface name in the global constant names so coagulating all
        the .cc files into one compile unit works with V8 bindings.

        Nothing added; Still compiles and pass tests.

        * bindings/scripts/CodeGeneratorV8.pm:

2009-07-08  Brent Fulgham  <bfulgham@webkit.org>

        Build fix: Add missing #includes for Windows (cURL) build.
        The <winsock2.h> and <windows.h> headers were not being
        included in Windows cURL builds.

        * platform/network/ResourceHandleInternal.h:
        * platform/network/curl/ResourceHandleManager.h:

2009-07-08  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by David Kilzer.

        WebKit needs a style linting tool
        https://bugs.webkit.org/show_bug.cgi?id=25884

        Fix bunch of style issues in WebCore/rendering.
        This patch is created to demonstrate cpplint.py.

        No testcase because it's just a style fixes.

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::layout):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeEllipsisBox):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintTextMatchMarker):
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlTimelineElement::defaultEventHandler):
        * rendering/MediaControlElements.h:
        * rendering/RenderArena.cpp:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::startDelayUpdateScrollInfo):
        (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::newLine):
        (WebCore::RenderBlock::floatBottom):
        (WebCore::RenderBlock::leftBottom):
        (WebCore::RenderBlock::rightBottom):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcReplacedWidthUsing):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::layoutLegend):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::FlexBoxIterator::FlexBoxIterator):
        (WebCore::FlexBoxIterator::reset):
        (WebCore::FlexBoxIterator::first):
        (WebCore::FlexBoxIterator::next):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderFrameSet.cpp:
        (WebCore::borderStartEdgeColor):
        * rendering/RenderFrameSet.h:
        * rendering/RenderImage.cpp:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateVisibilityStatus):
        (WebCore::RenderLayer::calculateClipRects):
        (WebCore::RenderLayer::calculateRects):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::panScroll):
        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::updateMarqueeStyle):
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::updateControls):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawLineForBoxSide):
        (WebCore::RenderObject::localCaretRect):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
        * rendering/RenderSlider.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::outerBorderBottom):
        * rendering/RenderTableCol.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::itemIsSeparator):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::supportsHover):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::supportsFocusRing):
        * rendering/SVGCharacterLayoutInfo.cpp:
        (WebCore::SVGCharacterLayoutInfo::addStackContent):
        * rendering/SVGCharacterLayoutInfo.h:
        * rendering/TextControlInnerElements.h:
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine):

2009-07-07  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Reduce complexity of lifetime management in DynamicNodeList caches
        <https://bugs.webkit.org/show_bug.cgi?id=27068>

        Switch the Cache object used by DynamicNodeList into a normal
        refcounted object rather than having a weird flag controlled
        refcounting system, where positive refcount did not automatically
        imply the cache object would actually still be live.

        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicNodeList::DynamicNodeList):
        (WebCore::DynamicNodeList::~DynamicNodeList):
        (WebCore::DynamicNodeList::Caches::Caches):
        (WebCore::DynamicNodeList::Caches::create):
        * dom/DynamicNodeList.h:
        * dom/Node.cpp:
        (WebCore::Node::childNodes):
        (WebCore::Node::getElementsByTagNameNS):
        (WebCore::Node::getElementsByName):
        (WebCore::Node::getElementsByClassName):
        (WebCore::NodeListsNodeData::invalidateCaches):
        (WebCore::NodeListsNodeData::isEmpty):
        * dom/NodeRareData.h:
        (WebCore::NodeListsNodeData::NodeListsNodeData):

2009-07-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.
        
        -webkit-perspective should be a Length
        https://bugs.webkit.org/show_bug.cgi?id=27066
        
        -webkit-perspective should not take a magic valueless number, but should
        be a normal Length value which responds to zooming. Treat valueless numbers
        as pixels for backward compatibility.
        
        Test: transforms/3d/general/perspective-units.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2009-07-07  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

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

        We need to make sure that when we reattach, we also reattach
        the children in every MediaControlElement. Else we may end up
        having no remaining or elapsed time.

        We have to handle that, because we are using a special shadow
        tree in the DOM, and that we are ourselves handling
        attaching/detaching the renderer.

        The strategy here is to try to implement ::attach(), and try
        to reuse as much code as we can from the super class, including
        children attachement.

        Test: media/controls-after-reload.html

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlElement::styleForElement): Code factoring.
        (WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
        (WebCore::MediaControlElement::attach): Implement attach
        and call super class so that children are also attached.
        (WebCore::MediaControlElement::updateStyle): Use attach()
        (WebCore::MediaControlInputElement::styleForElement): Code factoring.
        (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
        (WebCore::MediaControlInputElement::attach): See above.
        (WebCore::MediaControlInputElement::updateStyle): Use attach()
        * rendering/MediaControlElements.h:
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::updateControls): Directly run attach() on
        the m_panel, which is a root node for our shadow tree.

2009-07-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Repaint issue after layer drops out of composited mode.
        <https://bugs.webkit.org/show_bug.cgi?id=27022>

        RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
        and expect these to stay valid from one style change to the next. These rects
        are relative to the repaint container, so if a layer stops being composited,
        we need to recompute them.
        
        Test: compositing/repaint/layer-repaint-rects.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::computeRepaintRects):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking):

2009-07-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt and Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=26963
          <rdar://problem/7030998> Reproducible crash at
          FontCache::getFontData() when a custom font is used in a pseudo-style

        Test: fast/css/pseudo-cache-stale.html

        * dom/Element.cpp:
        (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
        style and the new style, goes over cached pseudo-styles in the old
        style and re-resolves the same style types off the new style. If any of
        the new pseudo-styles is different from the currently cached
        corresponding style, returns true. Otherwise, returns false.
        (WebCore::Element::recalcStyle): Validate the pseudo-style cache before
        deciding to keep the existing style.
        * dom/Element.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
        returns an uncached first-line style based off the given style.
        (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
        parameter.
        * rendering/RenderObject.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
        pseudo-styles in the passed-in vector.
        * rendering/style/RenderStyle.h:

2009-07-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - fix https://bugs.webkit.org/show_bug.cgi?id=27042
          <rdar://problem/7010981> Incomplete painting of newly created floats

        Tests: fast/repaint/float-in-new-block-with-layout-delta.html
               fast/repaint/float-new-in-block.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren): If the child has never been
        laid out before, paint its overhanging floats in addition to itself.
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and
        initialized a boolean everHadLayout member.
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have
        never been laid out before and did not move from (0, 0).

2009-07-07  Brady Eidson  <beidson@apple.com>

        Contributions from both Darin Adler and Brady Eidson.
        Reviewed by Darin Adler.

        <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com

        In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame
        navigation was still in progress.

        This patch makes things even better than it used to be by:
        - Locking back/forward history at the time the navigation is scheduled, not after the load has committed.
        - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame.

        Test: fast/loader/subframe-navigate-during-main-frame-load.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be
          used from multiple sites.
        (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading.
        (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in
          lockBackForwardList flag.
        (WebCore::FrameLoader::scheduleFormSubmission): Ditto.

2009-07-07  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Fisher.

        Upstream DOMObjectsInclude.h from src.chromium.org.

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

        * bindings/v8/DOMObjectsInclude.h: Added.

2009-07-07  Nate Chapin  <japhet@chromium.org>

        Reviewed by David Levin.

        Relanding r45559, which was rolled back at r45574.

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

        * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings.
        * bindings/v8/V8Binding.cpp: Moved from src.chromium.org.
        * bindings/v8/V8Binding.h: Contents moved from src.chromium.org.
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::getListenerFunction):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::handleConsoleMessage):
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::sourceName):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::handleConsoleMessage):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::NAMED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::removeElement):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-07-07  Gregory Hughes  <gfhughesVO+webkit@gmail.com>

        Reviewed by Darin Adler.

        AX: Some webpages do not send AXLoadComplete
        https://bugs.webkit.org/show_bug.cgi?id=26995

        When sending the AXLayoutComplete notification it is possible
        that the AXObjectCache was cleared, resulting in no valid
        object to send the notification to. This fix ensures that an
        AX object is created and cached if one does not already exist.

        Not able to add a test because notifications get sent after the layout test is completed.

        * dom/Document.cpp:
        (WebCore::Document::implicitClose):

2009-07-06  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

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

        Make sure that the CSS properties letter-spacing, word-spacing,
        line-height, text-transform, text-indent, text-shadow,
        text-decoration and color do not affect the media element controls,
        that display text.

        Controls that display text are only present in when the theme
        MediaControllerThemeQT is being used.

        Test: media/controls-styling.html

        * css/mediaControlsQT.css:
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlElement::updateStyle): Special case for
        text-decoration. text-decoration can't be overriden from CSS, because
        text-decoration is additive for historical reasons.

2009-07-07  Albert Wong  <ajwong@chromium.org>

        Not reviewed, Chromium build fix.

        Add in missing header + fix syntax issue that crept into last patch.
        https://bugs.webkit.org/show_bug.cgi?id=27027

        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):

2009-07-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Make use of geometry information to decide which layers become composited.

        <rdar://problem/7011947>
        <https://bugs.webkit.org/show_bug.cgi?id=27021>
        
        In addition to looking at painting order, also, optionally, take layer
        overlap into account when deciding which RenderLayers need to be composited.

        No testcase because DRT doesn't dump which layers are composited.
        
        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::updateCompositingLayers):
        Removed the unused CompositingUpdate parameter, and just do an early return
        when there is no view.
        
        * rendering/RenderLayer.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::rendererContentChanged):
        (WebCore::RenderLayer::dirtyZOrderLists):
        (WebCore::RenderLayer::dirtyNormalFlowList):
        (WebCore::RenderLayer::styleChanged):
        (WebCore::RenderLayer::mustOverlapCompositedLayers):
        (WebCore::RenderLayer::setMustOverlapCompositedLayers):
        Change "overlay" to "overlap" for consistency with the use of "overlap"
        elsewhere.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateAfterLayout):
        compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild().
        
        (WebCore::RenderLayerBacking::startAnimation):
        (WebCore::RenderLayerBacking::startTransition):
        Tell the compositor that we started an accelerated animation or transition.
        
        * rendering/RenderLayerCompositor.h:
        (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild):
        Renamed, since it's explicitly about changes in hierarchy now.
        
        (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap):
        (WebCore::RenderLayerCompositor::compositingConsultsOverlap):
        New getter and setter for whether compositing should take overlap into account.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        Add m_compositingConsultsOverlap, re-order some member variables.
        
        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
        Whitespace cleanup and method rename.
        
        (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
        Method and variable renaming.
        
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        Now we have to run through the layer hierarchy every time if looking
        at overlap, because changes in layout can now alter compositing behavior.
        We minimize work by tracking whether we actually need to change the layer
        hierarchy via needLayerRebuild.
        
        (WebCore::RenderLayerCompositor::updateBacking):
        3D transforms turn off overlap mode.
        
        (WebCore::RenderLayerCompositor::layerWasAdded):
        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
        Method rename.
        
        (WebCore::RenderLayerCompositor::addToOverlapMap):
        (WebCore::RenderLayerCompositor::overlapsCompositedLayers):
        Utility methods to add a layer to the overlapMap (computing the absolute
        bounding box only if we haven't already done so), and testing the map
        entries.
        
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        If a layer would composite only because it comes after other compositing
        layers in the painting order, then consult the overlap map to determine whether
        it overlaps, and thus actually needs to composite.
        
        Add layers to the map when they must be composited.
        
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        Only do re-parenting work if the updateHierarchy flag is set.
        
        (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation):
        When we start an accelerated transition or animation, we stop looking at
        overlap because we can no longer guarantee correct front-to-back ordering while the
        accelerated animation is running.

        (WebCore::RenderLayerCompositor::needsToBeComposited):
        Method renames.
        
        * rendering/RenderView.cpp:
        (WebCore::RenderView::setMaximalOutlineSize):
        Add comment indicating that this could be optimized.

2009-07-07  Anton Muhin  <antonm@chromium.org>

        Reviewed by Darin Fisher.

        Speed up creation of V8 wrappers for DOM nodes.

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

        This patch doesn't require new tests as it a set of refactorings
        to speed up wrapper creation.  

        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/V8Proxy.h:

2009-07-07  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Gustavo Noronha.

        [GTK] textarea height property works only if other property are defined
        https://bugs.webkit.org/show_bug.cgi?id=18984

        Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk.

        Test: fast/forms/textarea-metrics.html

        * platform/gtk/RenderThemeGtk.cpp:
        * platform/gtk/RenderThemeGtk.h:

2009-07-07  Ben Murdoch  <benm@google.com>

        Reviewed by Antti Koivisto.

        HTML5 Database becomes locked if a transaction is in progress when the page is refreshed.
        https://bugs.webkit.org/show_bug.cgi?id=25711

        Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web
        storage databases could become locked until the browser is shut
        down if the page is refreshed whilst a transaction is in progress.

        Test: storage/database-lock-after-reload.html

        * storage/Database.cpp:
        (WebCore::Database::Database):
        (WebCore::Database::close): add code to inform the database thread we've closed the database.
        (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database.
        * storage/Database.h:
        (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed.
        * storage/DatabaseThread.cpp:
        (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread.
        (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread.
        (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases.
        * storage/DatabaseThread.h:
        (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread.

2009-07-07  Jiahua Huang  <jhuangjiahua@gmail.com>

        Reviewed by Jan Alonzo.

        [Gtk] Paste of rich text from firefox results garbled markup
        https://bugs.webkit.org/show_bug.cgi?id=26791

        Fix problem with UTF-16 clipboard pasted.

        * manual-tests/gtk/paste-richtext-from-firefox.html: Added.
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::documentFragment):

2009-07-07  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug.

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

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

2009-07-06  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Maciej Stachowiak.

        Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API
        change.

        Fix compile RenderThemeChromiumMac.mm due to API changes from r45572
        https://bugs.webkit.org/show_bug.cgi?id=27018

        This is mainly an API change update to fix the chromium compile.  It
        also has a small fix of a typo in RenderThemeMac.mm.

        Compilation against the head of chromium trunk passed.  Since this is
        a compile fix, that should be sufficient.

        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::):
        (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
        (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
        (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
        * rendering/RenderThemeMac.mm:
        (WebCore::):

2009-07-06  David Kilzer  <ddkilzer@apple.com>

        Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter

        <https://bugs.webkit.org/show_bug.cgi?id=27002>

        Reviewed by Geoff Garen.

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
        Mark gradient as an unused parameter when DASHBOARD_SUPPORT is
        disabled.

2009-07-06  David Kilzer  <ddkilzer@apple.com>

        Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node>

        <https://bugs.webkit.org/show_bug.cgi?id=27001>

        Reviewed by Geoff Garen.

        PassRefPtr<> should only be used for arguments to functions that
        take ownership of the object, or as return values from functions
        that relinquish ownership of the object.

        * editing/Editor.cpp:
        (WebCore::Editor::increaseSelectionListLevelOrdered): Changed
        stack-allocated PassRefPtr<Node> to RefPtr<Node> and call
        release() on returned object.
        (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto.

2009-07-06  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7035474> Make new media controller UI default on SnowLeopard

        * rendering/RenderThemeMac.mm:
        (WebCore::mediaControllerTheme):
            New media controller UI is enabled by default on SnowLeopard.

2009-07-06  Nate Chapin  <japhet@chromium.org>

        Unreviewed, build fix.

        Roll out r45559 to fix Chromium canary.

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

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8Binding.cpp: Removed.
        * bindings/v8/V8Binding.h:
        (WebCore::toInt32):
        (WebCore::toWebCoreString):
        (WebCore::fromWebCoreString):
        (WebCore::toWebCoreStringWithNullCheck):
        (WebCore::isUndefinedOrNull):
        (WebCore::v8Boolean):
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::getListenerFunction):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::handleConsoleMessage):
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::sourceName):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::handleConsoleMessage):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::NAMED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::removeElement):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-07-06  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7008093> Media controller can’t be used to scrub when movie is 
        narrow — track is too narrow

        Do not show media controller time display elements when the a movie is too narrow.

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
            The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
            Give current time and time remaining controls a common base class.
        (WebCore::MediaControlTimeDisplayElement::setVisible):
            New method, hide and show the element.
        * rendering/MediaControlElements.h:

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::RenderMedia):
            Initialize m_previousVisible.
        (WebCore::RenderMedia::layout):
            Show/hide the time display elements as the movie width changes.
        (WebCore::RenderMedia::createCurrentTimeDisplay):
        (WebCore::RenderMedia::createTimeRemainingDisplay):
            Base class is now MediaControlTimeDisplayElement, not MediaControlElement.
        (WebCore::RenderMedia::shouldShowTimeDisplayControls):
            New, decide if time display elements should be visible or not.
        * rendering/RenderMedia.h:

        * rendering/RenderThemeMac.mm:
        (WebCore::):
        (WebCore::RenderThemeMac::paintMediaFullscreenButton):
        (WebCore::RenderThemeMac::paintMediaMuteButton):
        (WebCore::RenderThemeMac::paintMediaPlayButton):
        (WebCore::RenderThemeMac::paintMediaSeekBackButton):
        (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
        (WebCore::RenderThemeMac::paintMediaSliderTrack):
        (WebCore::RenderThemeMac::paintMediaSliderThumb):
        (WebCore::RenderThemeMac::paintMediaRewindButton):
        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
        (WebCore::RenderThemeMac::paintMediaControlsBackground):
        (WebCore::RenderThemeMac::paintMediaCurrentTime):
        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
            The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.

2009-07-06  David Kilzer  <ddkilzer@apple.com>

        Bug 27000: Minor clean up to runtime_root.{cpp|h}

        <https://bugs.webkit.org/show_bug.cgi?id=27000>

        Reviewed by Geoff Garen.

        * bridge/runtime_root.cpp: Added blank line between license and
        the first #include statement.
        * bridge/runtime_root.h: Added comment to #endif.

2009-07-06  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Maciej Stachowiak.

        generalize the special height treatment for SVG (to be re-used for ruby):
            renamed InlineBox::m_isSVG to m_hasVirtualHeight
            renamed InlineBox::isSVG() to hasVirtualHeight()
            renamed InlineBox::setIsSVG() to setHasVirtualHeight()

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::height):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::InlineBox):
        (WebCore::InlineBox::isText):
        (WebCore::InlineBox::setIsText):
        (WebCore::InlineBox::isSVGRootInlineBox):
        (WebCore::InlineBox::hasVirtualHeight):
        (WebCore::InlineBox::setHasVirtualHeight):
        (WebCore::InlineBox::virtualHeight):
        * rendering/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::createFlowBox):
        * rendering/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::createTextBox):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::createRootBox):
        * rendering/SVGInlineFlowBox.h:
        (WebCore::SVGInlineFlowBox::virtualHeight):
        * rendering/SVGInlineTextBox.h:
        (WebCore::SVGInlineTextBox::virtualHeight):
        * rendering/SVGRootInlineBox.h:
        (WebCore::SVGRootInlineBox::virtualHeight):

2009-07-06  Alice Liu  <alice.liu@apple.com>

        Reviewed by Darin Adler.

        REGRESSION(r45285): focus rings are black on windows safari
        https://bugs.webkit.org/show_bug.cgi?id=26821
        <rdar://problem/7018252>

        Add a mechanism for setting a custom focus ring color, and relocate the 
        determination of focus ring color to base class RenderTheme.

        No new tests.  Already-existing tests run in pixel mode would have caught this regression

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility
        of determining focus color to base class RenderTheme.
        * rendering/RenderTheme.cpp:
        (WebCore::customFocusRingColor): Added static local.
        (WebCore::RenderTheme::setCustomFocusRingColor): Added
        (WebCore::RenderTheme::focusRingColor): Use custom color over platform color.
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin
        are the same under which we want to use the focus ring color from SafariTheme.
        (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor
        * rendering/RenderThemeSafari.h:

        Renaming focusRingColor to platformFocusRingColor in these files:
        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::platformFocusRingColor):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::platformFocusRingColor):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::platformFocusRingColor):

        Cleanup leftover from removal of WebCore::Color in r45285 in these files:
        * WebCore.order:
        * platform/graphics/Color.h:

2009-07-06  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by David Hyatt.

        Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's
        contents makes its container scroll to the top
        https://bugs.webkit.org/show_bug.cgi?id=15135

        Delay updateing scroll bar of descendants of flexbox until their
        positions are determined.  In this way we can prevent descendants
        of flexible boxes from changing positions of their scrollbars
        using tentative positions.

        Test: fast/flexbox/repaint-scrollbar.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::startDelayUpdateScrollInfo):
        (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
        * rendering/RenderBlock.h:
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):

2009-07-06  Hironori Bono  <hbono@chromium.org>

        Reviewed by Maciej Stachowiak.

        Make unconfirmed IME text affect textarea's value.
        This matches input and contentEditable elements as well
        IE and Firefox.

        This fixes https://bugs.webkit.org/show_bug.cgi?id=25061.

        Input elements would go down this code path because it
        would always get a null compositionNode from frame->editor().
        Special casing compositionNodes is wrong because we explicitly
        want unconfirmed IME input in the textarea's value (assuming we
        want to match IE and Firefox here).

        This change is originally created by Ojan Vafai <ojan@chromium.org> and
        I just changed its manual tests with an automated test on his behalf.

        Test: platform/mac/editing/input/text-control-ime-input.html

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::text):
        (WebCore::RenderTextControl::textWithHardLineBreaks):

2009-07-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adele Peterson.

        Add the ability for wheel events to latch to a node.
        
        * WebCore.base.exp:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::clear):
        (WebCore::EventHandler::handleWheelEvent):
        * page/EventHandler.h:
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::wheelEvent):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2009-07-06  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL.

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

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL.

2009-07-06  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: suggest global properties based on async evaluation.

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

        Before this change, empty string was evaluated to the global object
        (or scope chain object) synchronously. This is now fixed and global
        object is evaluated using the same control flow.

        * inspector/front-end/Console.js:
        (WebInspector.Console.prototype.completions):
        (WebInspector.Console.prototype._evalInInspectedWindow):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._variablesInScope):

2009-07-06  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        Fix crash when indenting in an empty table cell.
        https://bugs.webkit.org/show_bug.cgi?id=26872

        The crash is that we would call splitTreeToNode where the node
        and the nodeToSplitTo were the same node.

        Test: editing/execCommand/indent-empty-table-cell.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::splitTreeToNode):
        Added an assert in that node and nodeToSplitTo
        are different nodes to make this assumption explicit.

        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::isAtUnsplittableElement):
        (WebCore::IndentOutdentCommand::indentRegion):
        * editing/IndentOutdentCommand.h:

2009-07-06  Nate Chapin  <japhet@chromium.org>

        Reviewed by David Levin.

        Upstream V8Binding and update some function names.

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

        * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files.
        * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org.
        * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org.
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::getListenerFunction):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::handleConsoleMessage):
        (WebCore::V8Proxy::compileScript):
        (WebCore::V8Proxy::sourceName):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::handleConsoleMessage):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::NAMED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::removeElement):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Jan Alonzo.

        Use soup's content sniffing
        https://bugs.webkit.org/show_bug.cgi?id=26982

        Drop our hackish content sniffing code, and use the new libsoup
        feature to do that job for us.

        Testing this is in a cross-platform way is not obvious or possible
        while we are using platform-specific code for sniffing.

        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::gotHeadersCallback):
        (WebCore::contentSniffedCallback):
        (WebCore::gotChunkCallback):
        (WebCore::ResourceHandle::startHttp):

2009-07-05  Antonio Gomes  <antonio.gomes@openbossa.org>

        Reviewed by Darin Adler.

        REGRESSION (r40499): fast/dom/cssTarget-crash.html fails
        https://bugs.webkit.org/show_bug.cgi?id=20342

        Re-added code removed by commit r40499.
        Without this, both Qt and Mac were crashing while running the test.

        Note that this does not entirely fix the bug. It fixes the WebCore
        crash, but the test no longer seems to work due to loader changes.
        So this patch does not reenable the test. The test probably has to
        be rewritten.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removedFromDocument): Re-added code to
        set the CSS target of the document to 0.

2009-07-05  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

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

        When one transition finishes slightly before another the longer
        one will fire a second time. This is because the second
        ImplicitAnmation object is culled too early, before its final
        RenderStyle is in place. This is done by cleanupFinishedAnimations()
        so I got rid of that method completely and now cleanup each
        transition or animation at the point where I am setting the final
        style, or when I detect that the transition or animation has been
        terminated early (which happens when you remove it from the style).

        Test: transitions/extra-transition.html

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions):
        (WebCore::CompositeAnimation::updateKeyframeAnimations):
        (WebCore::CompositeAnimation::animate):
        * page/animation/CompositeAnimation.h:

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::getTimeToNextEvent):
        Avoid a divide by zero if m_animation->duration() is zero, which can happen
        if the duration is changed to zero while the animation is running.

2009-07-05  Simon Fraser  <simon.fraser@apple.com>

        Revert the previous commit because it broke the
        animations/transition-and-animation-1.html
        testcase.

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::getTimeToNextEvent):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions):
        (WebCore::CompositeAnimation::updateKeyframeAnimations):
        (WebCore::CompositeAnimation::animate):
        (WebCore::CompositeAnimation::cleanupFinishedAnimations):
        * page/animation/CompositeAnimation.h:

2009-07-05  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

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

        When one transition finishes slightly before another the longer
        one will fire a second time. This is because the second 
        ImplicitAnmation object is culled too early, before its final
        RenderStyle is in place. This is done by cleanupFinishedAnimations()
        so I got rid of that method completely and now cleanup each 
        transition or animation at the point where I am setting the final
        style, or when I detect that the transition or animation has been
        terminated early (which happens when you remove it from the style).

        Test: transitions/extra-transition.html

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions):
        (WebCore::CompositeAnimation::updateKeyframeAnimations):
        (WebCore::CompositeAnimation::animate):
        * page/animation/CompositeAnimation.h:

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::getTimeToNextEvent):
        Avoid a divide by zero if m_animation->duration() is zero, which can happen
        if the duration is changed to zero while the animation is running.

2009-07-05  Lars Knoll  <lars.knoll@nokia.com>

        Reviewed by Maciej Stachowiak.

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

        Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.

        The Metrowerks compiler on the Symbian platform moves the globally
        defined Hashtables into read-only memory, despite one of the members
        being mutable. This causes crashes at run-time due to write access to
        read-only memory.

        Avoid the use of const with this compiler by introducing the
        JSC_CONST_HASHTABLE macro.

        Based on idea by Norbert Leser.

        * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables
        define in the bindings.

2009-07-05  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Maciej Stachowiak.

        Bug 26897 - Dynamic SVG images do not display correctly
        https://bugs.webkit.org/show_bug.cgi?id=26897

        Use repaint() to fix a rendering problem with a SVG image embedded in xhtml.

        Test: svg/custom/createImageElement2.xhtml

        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::imageChanged):

2009-07-05  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=26960
        [Gtk] caret offset not updated when selecting text

        Report the caret offset from the end of the selection so it works
        correctly for multi-char selections too (ie, anything that is not
        the zero width caret).

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_text_get_caret_offset):

2009-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>

        Unreviewed link fix for Qt.

        Fix Qt link error by adding two new localized strings

        In r45474 two new strings got added to LocalizedStrings.h add
        the definition of them to Qt.

        * platform/qt/Localizations.cpp:
        (WebCore::mediaElementLoadingStateText):
        (WebCore::mediaElementLiveBroadcastStateText):

2009-07-03  Darin Adler  <darin@apple.com>

        Reviewed by Adele Peterson.

        REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com
        https://bugs.webkit.org/show_bug.cgi?id=26959
        rdar://problem/7029882

        The code to handle iteration boundaries was malfunctioning when the boundary was
        at the edge of a shadow tree. This happens all the time with <input> elements.

        It's not immediately obvious how to make a regression test for this since the
        symptom was a performance problem, not incorrect behavior. I'll add a test if I
        figure out a way to make one.

        * editing/TextIterator.cpp:
        (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent.
        (WebCore::depthCrossingShadowBoundaries): Updated for name change.
        (WebCore::nextInPreOrderCrossingShadowBoundaries): Added.
        (WebCore::previousInPostOrderCrossingShadowBoundaries): Added.
        (WebCore::setUpFullyClippedStack): Updated for name change.
        (WebCore::TextIterator::TextIterator): Updated for name change. Use
        nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug.
        (WebCore::TextIterator::advance): Updated for name change.
        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
        Tweaked formatting.
        (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that
        initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries.
        (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting.
        (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.

2009-07-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Background audio stops playing when JS GC runs
        https://bugs.webkit.org/show_bug.cgi?id=26956
        
        Ensure we keep the Audio object around while it is playing, so that it
        doesn't get collected.
        
        Not testable because there's no way to know whether the audio keeps
        playing without holding a reference to it.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::isObservableThroughDOM):

2009-07-02  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=26814
        [Gtk] Caret-moved events are not issued for the correct offset
        when text is selected forward

        Report the caret offset from the end of the selection, otherwise
        we'll report the same offset when moving the caret while
        modififying the selection (eg, with Shift + Right).

        * editing/gtk/SelectionControllerGtk.cpp:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):

2009-07-02  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=26815
        [Gtk] text-selection-changed events are not issued for the correct
        object when the selection spans multiple objects

        Get the focused node from the end of the selection, not the start,
        so we can detect when we cross object boundaries.

        * editing/gtk/SelectionControllerGtk.cpp:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):

2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

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

        Fix the media controls hit tests. They may lose click events.

        Test cases already covered in the video-controls-zoomed tests.

        Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough.

        * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart.
        * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart.

2009-07-02  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by Eric Seidel.

        RenderBlock and RenderInline have confusingly named object creation methods:
        RenderBlock::createRootBox/createRootInlineBox
        RenderInline::createFlowBox/createInlineFlowBox
        where the 2nd method in both cases just calls the first and then appends the created object.
        I therefore renamed those methods to something IMHO more informative:
        
        createRootBox()         -> createRootInlineBox()
        createRootInlineBox()   -> createAndAppendRootInlineBox();
        createFlowBox()         -> createInlineFlowBox();
        createInlineFlowBox()   -> createAndAppendInlineFlowBox();

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

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::createRootInlineBox):
        (WebCore::RenderBlock::createAndAppendRootInlineBox):
        * rendering/RenderBlock.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::createInlineFlowBox):
        (WebCore::RenderInline::createAndAppendInlineFlowBox):
        * rendering/RenderInline.h:
        * rendering/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::createInlineFlowBox):
        * rendering/RenderSVGInline.h:
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::createRootInlineBox):
        * rendering/RenderSVGText.h:
        * rendering/bidi.cpp:
        (WebCore::createInlineBoxForRenderer):

2009-07-02  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Fix typo in the resource panel enabler caption.

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

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):

2009-07-02  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Adam Roben.

        [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
        https://bugs.webkit.org/show_bug.cgi?id=26699

        * manual-tests/drag-escape.html: Added.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::dragSourceEndedAt):

2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser. 
        
        https://bugs.webkit.org/show_bug.cgi?id=26944

        Make sure we support full page zoom in video controls.

        This is tracked by a the video-controls-zoom test case.

        * css/mediaControlsQT.css: Make sure we don't have any inherited margin.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext.
        * rendering/RenderThemeMac.mm: Adjust the painting rect.
        (WebCore::getUnzoomedRectAndAdjustCurrentContext):
        (WebCore::RenderThemeMac::paintMediaSliderTrack):
        (WebCore::RenderThemeMac::paintMediaCurrentTime):
        (WebCore::RenderThemeMac::paintMediaTimeRemaining):

2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>

        Fix the Gtk build after r45474. The localized strings should
        have been added there.

        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::mediaElementLoadingStateText):
        (WebCore::mediaElementLiveBroadcastStateText):

2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

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

        Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html

        We fix two things:
        - We use px instead of em, because px is used everywhere else
        and because 0.09em hit the font size limit.
        - We use -webkit-box instead of inline-block because in strict mode
        inline-block has a different behavior.

        Test: media/controls-strict.html

        * css/mediaControlsQT.css:

2009-07-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style.
        https://bugs.webkit.org/show_bug.cgi?id=26942

        * editing/TextIterator.cpp:
        (WebCore::fullyClipsContents):

2009-07-02  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave Hyatt.

        Fix for <rdar://problem/5230700>
        Remove local .xhtml file workaround

        * platform/network/mac/ResourceResponseMac.mm:
        (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary.

2009-07-02  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Sort, add functions used by WebKit.
        
        * WebCore.base.exp:

2009-07-02  Brady Eidson  <beidson@apple.com>

        Rubberstamped by Sam Weinig.

        More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.

        * platform/network/mac/WebCoreURLResponse.mm:
        (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery.

2009-07-02  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Chromium Linux: fix complex text rendering with line break characters.

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

        If the CSS white-space property is inhibiting line breaking, we might
        find end-of-line characters rendered via the complex text path. Fonts
        don't provide glyphs for these code points so, if we find one, we
        simulate the space glyph being interposed in this case.  Because the
        input is variable-length per code point, we walk the input in step
        with the output.

        Covered by:
            LayoutTests/fast/text/international/bidi-linebreak-002.html
            LayoutTests/fast/text/international/bidi-linebreak-003.html
            LayoutTests/fast/text/international/hindi-whitespace.html

        * platform/graphics/chromium/HarfbuzzSkia.cpp:
        (WebCore::stringToGlyphs):

2009-07-02  Victor Wang  <victorw@chromium.org>

        Reviewed by Darin Fisher.

        https://bugs.webkit.org/show_bug.cgi?id=26521
        Expose file size to chromium.

        Implement getFileSize() for Chromium.

        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/FileSystemChromium.cpp:
        (WebCore::getFileSize):

2009-07-02  Nate Chapin  <japhet@chromium.org>

        Unreviewed, build fix.

        * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list.

2009-07-02  Simon Fraser  <simon.fraser@apple.com>

        Build fix: add missing #include.

        * platform/mac/ThemeMac.mm:

2009-07-02  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed

        Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code
        that can possibly throw Objective-C exceptions when drawing Mac form controls.

        * platform/mac/ThemeMac.mm:
        (WebCore::paintCheckbox):
        (WebCore::paintRadio):
        (WebCore::paintButton):
        (WebCore::ThemeMac::inflateControlPaintRect):

2009-07-02  Nate Chapin  <japhet@chromium.org>

        Reviewed by David Levin.

        Upstream V8SVGPODTypeWrapper.

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

        * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h.
        * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org.

2009-07-02  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Adds an abstraction layer between the DB classes and the file
        system, which allows us to add our own logic for storing, opening,
        deleting, etc. databases.

        The patch was tested using the tests in WebCore/storage.

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

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/sql/SQLiteDatabase.cpp:
        (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs.
        * platform/sql/SQLiteFileSystem.cpp: Added.
        * platform/sql/SQLiteFileSystem.h: Added.
        * platform/win/FileSystemWin.cpp:
        (WebCore::directoryName): Implemented.
        * storage/Database.cpp:
        (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem.
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS.
        (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem.
        (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem.
        (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem.
        (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem.
        (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem.
        (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem.
        (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem.
        * storage/OriginUsageRecord.cpp:
        (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem.

2009-07-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        Always clip replaced elements to border radii.
        https://bugs.webkit.org/show_bug.cgi?id=26933

        Make sure to always clip replaced elements to border radii, even when overflow is visible.
        Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer
        necessary.

        Covered by existing tests (since the UA default changing keeps the behavior exactly the same).

        * css/html.css:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):

2009-07-02  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Simon Fraser.

        convertFromScrollbarToContainingView and friends should be in ScrollView
        https://bugs.webkit.org/show_bug.cgi?id=26929

        This is breaking Chromium's build because PopupMenuChromium inherits
        from ScrollView, but these functions are pure virtual in it.  I could
        put it directly in PopupMenuChromium, but that seems a bit silly since
        the functions are fairly generic.

        Passes existing layout tests.

        * page/FrameView.cpp:  Remove the 4 functions Hyatt just added
        (IntRect WebCore::FrameView::convertFromScrollbarToContainingView):
        (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar):
        (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView):
        (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar):
        * page/FrameView.h: ditto
        * platform/ScrollView.cpp:  Move the 4 functions from FrameView here
        (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView):
        (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar):
        (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView):
        (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar):
        * platform/ScrollView.h: ditto

2009-07-02  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Darin Fisher.

        Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin 
        doesn't handle errors well at all; revise it to fail silently 
        (drawing nothing), and bulletproof FontChromiumWin to handle the
        failure accordingly.

        Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html
               fast/text/text-letter-spacing.html

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::TransparencyWin):
        (WebCore::TransparencyWin::setupLayerForNoLayer):
        (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
        (WebCore::TransparencyWin::setupLayerForWhiteLayer):
        (WebCore::TransparencyWin::setupTransformForKeepTransform):
        (WebCore::TransparencyWin::setupTransformForScaleTransform):
        (WebCore::TransparencyWin::initializeNewContext):
        (WebCore::TransparencyWin::compositeOpaqueComposite):
        (WebCore::TransparencyWin::compositeTextComposite):
        (WebCore::TransparencyWin::makeLayerOpaque):
        * platform/graphics/chromium/TransparencyWin.h:
        (WebCore::TransparencyWin::platformContext):

2009-07-02  Eric Carlson  <eric.carlson@apple.com>

        Change #import to #include to fix non-ObjC builds.

        * rendering/MediaControlElements.cpp:

2009-07-02  Anders Carlsson  <andersca@apple.com>

        Build fix.
        
        * platform/network/mac/WebCoreURLResponse.mm:
        (mimeTypeFromUTITree):

2009-07-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        Fix for bug 22119, clicks in the scrollbars of transformed content don't work.  Add new
        conversion methods for going across parent/child widget boundaries that can be implemented
        by the FrameView and ScrollbarClient to be transform-aware.

        Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow.

        * WebCore.base.exp:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseMoveEvent):
        * page/FrameView.cpp:
        (WebCore::FrameView::convertFromScrollbarToContainingView):
        (WebCore::FrameView::convertFromContainingViewToScrollbar):
        (WebCore::FrameView::convertFromRenderer):
        (WebCore::FrameView::convertToRenderer):
        (WebCore::FrameView::convertToContainingView):
        (WebCore::FrameView::convertFromContainingView):
        * page/FrameView.h:
        * platform/ScrollView.h:
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::convertToContainingView):
        (WebCore::Scrollbar::convertFromContainingView):
        * platform/Scrollbar.h:
        * platform/ScrollbarClient.h:
        (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
        (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
        * platform/Widget.cpp:
        (WebCore::Widget::convertFromContainingWindow):
        (WebCore::Widget::convertToContainingWindow):
        (WebCore::Widget::convertFromRootToContainingWindow):
        (WebCore::Widget::convertFromContainingWindowToRoot):
        (WebCore::Widget::convertToContainingView):
        (WebCore::Widget::convertFromContainingView):
        * platform/Widget.h:
        * platform/graphics/IntPoint.h:
        (WebCore::IntPoint::move):
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::convertFromRootToContainingWindow):
        (WebCore::Widget::convertFromContainingWindowToRoot):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isPointInOverflowControl):
        * rendering/RenderDataGrid.cpp:
        (WebCore::RenderDataGrid::convertFromScrollbarToContainingView):
        (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar):
        * rendering/RenderDataGrid.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::convertFromScrollbarToContainingView):
        (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
        (WebCore::RenderLayer::scrollbarOffset):
        (WebCore::RenderLayer::hitTestOverflowControls):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::isPointInOverflowControl):
        (WebCore::RenderListBox::convertFromScrollbarToContainingView):
        (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
        * rendering/RenderListBox.h:

2009-07-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt and Simon Fraser.

        - fix <rdar://problem/6933052> SPOD playing video in a div with a box
          shadow

        Test: fast/box-shadow/transform-fringing.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the
        box even if it has an opaque background, but in that case, inset the
        clip path by 1 pixel, to avoid antialiasing artifacts.
        Do not inset the clip rect by 1 pixel if the CTM is purely a
        translation.
        Move the shadow-casting path away in the non-rounded-rect case (it
        was already being done in the rounded-rect case), to avoid a black
        fringe when the CTM is not purely a translation.

2009-07-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.

        Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found.

        For many types of text files (such as source code files) this ends up being text/plain.

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output.

        * platform/network/mac/WebCoreURLResponse.h:
        * platform/network/mac/WebCoreURLResponse.mm:
        (mimeTypeFromUTITree): 
        (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension.
        (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us.

2009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/6518119>

        Add a rewind button and hide the timeline for live broadcasts when
        in MediaUI mode.

        * css/CSSPrimitiveValueMappings.h: 
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element.

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::extractPseudoType): Ditto.
        * css/CSSSelector.h: 

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.

        * css/CSSValueKeywords.in: Ditto.
        * css/mediaControls.css: Ditto.
        * css/mediaControlsQT.css: Ditto.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::rewind): New.
        (WebCore::HTMLMediaElement::returnToRealTime): New.
        (WebCore::HTMLMediaElement::isStreaming): New.
        * html/HTMLMediaElement.h:

        * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText.

        * platform/LocalizedStrings.h: Add localized media state messages.

        * platform/ThemeTypes.h: Add the new pseudo element.

        * platform/mac/LocalizedStringsMac.mm: 
        (WebCore::mediaElementLoadingStateText): Add localized media state.
        (WebCore::mediaElementLiveBroadcastStateText): Ditto.

        * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support
           multiple states.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.

        * rendering/MediaControlElements.cpp: 
        (WebCore::MediaControlElement::MediaControlElement): Deal with new elements.
        (WebCore::MediaControlElement::attachToParent): Ditto.
        (WebCore::MediaControlElement::update): Ditto.
        (WebCore::MediaControlElement::updateStyle): Ditto.
        (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto.
        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
        (WebCore::MediaControlStatusDisplayElement::update): Ditto.
        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto.
        (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto.
        (WebCore::MediaControlInputElement::attachToParent): Ditto.
        (WebCore::MediaControlInputElement::updateStyle): Ditto.
        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
        (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
        (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto.
        (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlTimelineElement::update): Ditto.
        (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto.
        * rendering/MediaControlElements.h: Ditto.

        * rendering/RenderMedia.cpp: 
        (WebCore::RenderMedia::styleDidChange): Deal with the new elements.
        (WebCore::RenderMedia::createPanel): Ditto.
        (WebCore::RenderMedia::createRewindButton): Ditto.
        (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto.
        (WebCore::RenderMedia::createStatusDisplay): Ditto.
        (WebCore::RenderMedia::createTimelineContainer): Ditto.
        (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto.
        (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto.
        (WebCore::RenderMedia::updateControls): Ditto.
        (WebCore::RenderMedia::forwardEvent): Ditto.
        * rendering/RenderMedia.h:

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paint): Deal with the new elements.

        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements.
        (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto.
        (WebCore::RenderTheme::paintMediaControlsBackground): Ditto.

        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements.
        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
        (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.

        * rendering/style/RenderStyleConstants.h: Add constants for the new elements.

2009-07-01  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Darin Fisher.

        Small refactoring of MessagePortChannel so that PlatformMessagePortChannel
        may be defined at the WebKit layer.

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

        * dom/MessageChannel.cpp:
        (WebCore::MessageChannel::MessageChannel):
        * dom/MessagePortChannel.cpp:
        * dom/MessagePortChannel.h:
        * dom/default/PlatformMessagePortChannel.cpp:
        (WebCore::MessagePortChannel::createChannel):
        (WebCore::MessagePortChannel::create):
        (WebCore::MessagePortChannel::MessagePortChannel):
        (WebCore::MessagePortChannel::~MessagePortChannel):

2009-07-01  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        <video> fails to show on http://camendesign.com/code/video_for_everybody
        <rdar://problem/7026010>
        https://bugs.webkit.org/show_bug.cgi?id=26919

        Fix an issue introduced in r44961. In that revision we changed to only update
        compositing layer geometry when all siblings had been laid out (i.e. we pushed
        the updates one level down). However, that left out the root layer, so this
        fix ensures that the root layer geometry gets updated at the end.

        Test: compositing/geometry/root-layer-update.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateAfterLayout):

2009-07-01  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein
        
        <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody

        First part of fix: when outline width changes, don't to a synchronous
        layer update right away, but just set the flag to say that compositing
        layers need updating. The synchronous layer update left the layer geometries
        out of whack when it happened in the middle of layout (e.g. when inside ::first-letter).
        
        Test: compositing/geometry/outline-change.html

        * rendering/RenderView.cpp:
        (WebCore::RenderView::setMaximalOutlineSize):

2009-07-01  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26842
        Build fix when ENABLE_DATABASE is off

        Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE
        off does not break builds.

        * bindings/js/ScriptObjectQuarantine.cpp:

2009-07-01  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.
        
        https://bugs.webkit.org/show_bug.cgi?id=26899
        
        Modified XSSAuditor::decodeURL to only remove null characters so that 
        it is consistent with the behavior of HTMLTokenizer and prevents 
        injected scripts that contain control characters. 

        Tests: http/tests/security/xssAuditor/script-tag-control-char.html
               http/tests/security/xssAuditor/script-tag-null-char.html

        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters. 
        * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL
        from allowControlCharacters back to allowNullCharacters.
        * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003.
        (WebCore::isControlCharacter):
        * platform/network/ResourceResponseBase.h: Reverted back to rev #45003.  

2009-07-01  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Timothy Hatcher.

        - supported keyboard shortcuts compatible with Firebug in Scripts Debugger:
        F5, Ctrl+/ (win,lin), Command+/ (mac) - continue
        F10, Ctrl+' (win, lin), Command+' (mac) - step over
        F11, Ctrl+; (win, lin), Command+; (mac) - step into
        Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out

        - added call stack navigation shortcuts:
        Ctrl+. - next call frame
        Ctrl+, - previouse call frame

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

        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane):
        (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent):
        (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack):
        (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack):
        (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
        (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
        * inspector/front-end/KeyboardShortcut.js: Added.
        (WebInspector.KeyboardShortcut):
        (WebInspector.KeyboardShortcut.makeKey):
        (WebInspector.KeyboardShortcut.makeKeyFromEvent):
        (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.handleKeyEvent):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2009-07-01  Daniel Erat  <derat@google.com>

        Reviewed by David Levin.

        Chromium Linux: Move the scrollbar thumb on middle-click.

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

        Tested by building Chrome and checking that the scrollbar moves as expected.

        * platform/chromium/ScrollbarThemeChromium.cpp:
        * platform/chromium/ScrollbarThemeChromium.h:
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        * platform/chromium/ScrollbarThemeChromiumLinux.h:
        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
        * platform/chromium/ScrollbarThemeChromiumWin.h:

2009-07-01  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        Add a preference/setting to toggle whether content sniffing is enabled for file URLs.

        * WebCore.base.exp:

        * page/Settings.cpp:
        (WebCore::Settings::setLocalFileContentSniffingEnabled):
        * page/Settings.h:
        (WebCore::Settings::localFileContentSniffingEnabled):

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::start):
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):

2009-07-01  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Oliver Hunt.

        Bug 26909: aria-label needs to be supported
        https://bugs.webkit.org/show_bug.cgi?id=26909

        Test: accessibility/aria-label.html

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

2009-07-01  David Hyatt  <hyatt@apple.com>

        Reviewed by Oliver Hunt.

        More datagrid columns work.  Make sure columns cache both a style for the column header as well
        as a style for the column background (behind the cells).

        Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and
        unimplemented).

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn):
        (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader):
        * css/CSSStyleSelector.h:
        * html/DataGridColumn.h:
        (WebCore::DataGridColumn::setColumnList):
        (WebCore::DataGridColumn::columnStyle):
        (WebCore::DataGridColumn::setColumnStyle):
        (WebCore::DataGridColumn::headerStyle):
        (WebCore::DataGridColumn::setHeaderStyle):
        * rendering/RenderDataGrid.cpp:
        (WebCore::RenderDataGrid::recalcStyleForColumn):
        (WebCore::RenderDataGrid::columnStyle):
        (WebCore::RenderDataGrid::headerStyle):
        (WebCore::RenderDataGrid::paintColumnHeaders):
        * rendering/RenderDataGrid.h:

2009-07-01  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.
        
        <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change 
        back to Play button

        Grab onto the current time when QTKit "ended" notification fires and use it as 
        duration from that point on as QuickTime sometimes refuses to play all the way to
        the time it reports for duration and buffered. HTMLMediaElement assumes that there
        more to play in this situation and tries to restart playback, endlessly.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
            Rename m_duration to m_reportedDuration. Declare m_cachedDuration.
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
            Rename m_duration to m_reportedDuration. Initialize m_cachedDuration.
        (WebCore::MediaPlayerPrivate::duration):
            Return m_cachedDuration once it has been set.
        (WebCore::MediaPlayerPrivate::updateStates):
            Rename m_duration to m_reportedDuration.
        (WebCore::MediaPlayerPrivate::didEnd):
            Set m_cachedDuration to currentTime().

2009-07-01  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
        https://bugs.webkit.org/show_bug.cgi?id=26900

        Editable web areas should have a clickpoint that uses where the selection is.

        Test: accessibility/editable-webarea-context-menu-point.html

        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::clickPoint):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2009-07-01  David Levin  <levin@chromium.org>

        Reviewed by Eric Seidel.

        Remove unused code in SVGTransformList and SVGTransformDistance
        <https://bugs.webkit.org/show_bug.cgi?id=26891>

        * svg/SVGTransformDistance.cpp:
        (WebCore::SVGTransformDistance::SVGTransformDistance):
        * svg/SVGTransformList.cpp:
        * svg/SVGTransformList.h:

2009-07-01  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        Begin stubbing out functions for layout, painting and style/geometry caching on columns.  Not enough
        is implemented for this to do much of anything yet, but it should help keep patch sizes down. :)

        * html/DataGridColumn.cpp:
        (WebCore::DataGridColumn::columnChanged):
        * html/DataGridColumn.h:
        (WebCore::DataGridColumn::setId):
        (WebCore::DataGridColumn::setLabel):
        (WebCore::DataGridColumn::setType):
        (WebCore::DataGridColumn::setSortable):
        (WebCore::DataGridColumn::setSortDirection):
        (WebCore::DataGridColumn::setColumnList):
        (WebCore::DataGridColumn::style):
        (WebCore::DataGridColumn::setStyle):
        (WebCore::DataGridColumn::rect):
        (WebCore::DataGridColumn::setRect):
        * html/DataGridColumnList.cpp:
        (WebCore::DataGridColumnList::DataGridColumnList):
        (WebCore::DataGridColumnList::setDataGridNeedsLayout):
        (WebCore::DataGridColumnList::add):
        (WebCore::DataGridColumnList::remove):
        (WebCore::DataGridColumnList::move):
        (WebCore::DataGridColumnList::clear):
        (WebCore::DataGridColumnList::primaryColumnChanged):
        * html/DataGridColumnList.h:
        (WebCore::DataGridColumnList::create):
        (WebCore::DataGridColumnList::dataGrid):
        (WebCore::DataGridColumnList::clearDataGrid):
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
        (WebCore::HTMLDataGridColElement::findDataGridAncestor):
        (WebCore::HTMLDataGridColElement::insertedIntoTree):
        (WebCore::HTMLDataGridColElement::removedFromTree):
        * html/HTMLDataGridColElement.h:
        (WebCore::HTMLDataGridColElement::dataGrid):
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
        (WebCore::HTMLDataGridElement::~HTMLDataGridElement):
        * rendering/RenderDataGrid.cpp:
        (WebCore::RenderDataGrid::styleDidChange):
        (WebCore::RenderDataGrid::recalcStyleForColumns):
        (WebCore::RenderDataGrid::recalcStyleForColumn):
        (WebCore::RenderDataGrid::styleForColumn):
        (WebCore::RenderDataGrid::layout):
        (WebCore::RenderDataGrid::layoutColumns):
        (WebCore::RenderDataGrid::paintColumnHeaders):
        (WebCore::RenderDataGrid::paintColumnHeader):
        * rendering/RenderDataGrid.h:
        (WebCore::RenderDataGrid::renderName):
        (WebCore::RenderDataGrid::canHaveChildren):

2009-07-01  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=26807
        
        Fixes this address by checking whether frame->document()->decoder() is null. 

        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::findInRequest):

2009-07-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

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

        Correctly reset history length to '0', not '1'. Old relict from early WML days.
        Add some new WML testcases covering the use of history length (by onenterforward event handling)

        Tests: wml/onenterforward-event.html
               wml/onenterforward-inline-event.html
               wml/ontimer-event.html
 
        * wml/WMLPageState.cpp:
        (WebCore::WMLPageState::reset):

2009-07-01  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object.

        Added new test in fast/dom/HTMLDataGridElement.

        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::parseMappedAttribute):
        * html/HTMLDataGridColElement.h:

2009-07-01  David Hyatt  <hyatt@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
        even though the field is not actually focused for keyboard input
        
        Add the concept of whether or not the Page is focused by adding a boolean to the focusController.  This allows the
        focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't
        actually happen to have focus at that time.

        * WebCore.base.exp:
        * page/FocusController.cpp:
        (WebCore::FocusController::FocusController):
        (WebCore::FocusController::setFocusedFrame):
        (WebCore::FocusController::setFocused):
        (WebCore::FocusController::setActive):
        * page/FocusController.h:
        (WebCore::FocusController::isFocused):

2009-07-01  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Simon Hausmann.

        [Qt] Move some API headers from WebCore.pro to headers.pri so that they
        get installed when running make install from the build directory.

        * WebCore.pro:

2009-07-01  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Ariya Hidayat.

        Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the
        qrc file with new png files from the web inspector.

        * inspector/front-end/WebKit.qrc:

2009-06-30  Mark Rowe  <mrowe@apple.com>

        Land some code that has a hope of compiling.

        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::imageSourceOptions):

2009-06-30  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Simon Fraser.

        Flip back on block caching. Throwing away block data, while 
        a perceived memory win, is a performance hit in cases where we 
        are repainting large images (i.e. backgrounds) frequently 
        (i.e. a flash video playing on top).  
        <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are 
        decoded on drawing, slowing down painting of sites that frequently 
        repaint e.g. because of Flash (pandora.com, Starcraft 2)

        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::imageSourceOptions):

2009-06-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Sam Weinig.

        - Rename html4.css to html.css, since we target HTML5 now
        https://bugs.webkit.org/show_bug.cgi?id=26873

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSelector.cpp:
        (WebCore::loadFullDefaultStyle):
        * css/html.css: Copied from css/html4.css.
        * css/html4.css: Removed.
        * css/themeWin.css:
        * platform/Theme.h:
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
        * rendering/RenderTheme.h:

2009-06-30  Zan Dobersek  <zandobersek@gmail.com>

        Reviewed by Gustavo Noronha.

        [GTK] Drag and drop support
        https://bugs.webkit.org/show_bug.cgi?id=23642

        Define DragImageRef as GdkPixbuf and implement essential
        functions which manipulate drag images.

        * platform/DragImage.h:
        * platform/gtk/DragImageGtk.cpp:
        (WebCore::dragImageSize):
        (WebCore::deleteDragImage):
        (WebCore::scaleDragImage):
        (WebCore::createDragImageFromImage):

2009-06-30  Maxime Simon  <simon.maxime@gmail.com>

        Reviewed by Eric Seidel.

        StorageNamespace.cpp build issue
        https://bugs.webkit.org/show_bug.cgi?id=26859

        Moved #endif //ENABLE(DOM_STORAGE) position
        so that the build doesn't fail.
        The namespace WebCore was started after the #if ENABLE(DOM_STORAGE)
        but closed after the #endif.

        * storage/StorageNamespace.cpp:

2009-06-30  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in 
        buffered time ranges

        * html/HTMLMediaElement.cpp:
            Don't ASSERT if the network state goes to Idle when when the ready state is 
            HaveEnoughData or higher, it is perfectly legal.
        (WebCore::HTMLMediaElement::setReadyState): 
            Don't clear m_seeking after posting a 'seeking' event.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::seek):
            Do nothing when asked to seek to the same time we are already seeking to. Check requested
            seek time against maxTimeSeekable, not maxTimeLoaded.
        (WebCore::MediaPlayerPrivate::doSeek):
            Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable.
        (WebCore::MediaPlayerPrivate::seekTimerFired):
            Check requested seek time against maxTimeSeekable, not maxTimeLoaded.
        (WebCore::MediaPlayerPrivate::updateStates):
            A streaming movie has as much data as it needs once it reaches "playable", so 
            set the ready state to HaveFutureData. A movie with metadata doesn't drop back 
            to "have nothing" when seeking. A streaming movie doesn't use the network when paused.
        (WebCore::MediaPlayerPrivate::timeChanged):
            It may not be possible to seek to a specific time in a streamed movie but when seeking 
            in a streaming movie QuickTime sets the time to closest time possible and posts a  
            timechanged notification, so update m_seekTo so we can detect when the seek completes.

2009-06-30  Steve Falkenburg  <sfalken@apple.com>

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

        Reviewed by Sam Weinig.

        Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6.
        Earlier versions cause corruption crashes.

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::isPluginBlacklisted):

2009-06-30  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING
        
        Fix drawImage of video in CanvasRenderingContext2D when
        accelerated compositing is enabled. This is done by
        adding a new paint method to HTMLVideoElement that
        is only called from canvas, which will create the software
        renderer if necessary, but otherwise calls the regular
        paint method. Meanwhile, add logic to the software video
        renderer so that it can be created without calling repaint
        every time it sees a new frame.
        
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::paintCurrentFrameInContext):
        * html/HTMLVideoElement.h:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::paintCurrentFrameInContext):
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovie):
        (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
        (WebCore::MediaPlayerPrivate::currentRenderingMode):
        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
        (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):

2009-06-30  David Hyatt  <hyatt@apple.com>

        Reviewed by Beth Dakin.

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

        Get <dcol> elements reflected into the datagrid's column list.  Make sure columns get added/removed
        properly.  (Attribute changes are still not caught.  That is coming in a separate patch.)

        Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html

        * html/DataGridColumn.h:
        (WebCore::DataGridColumn::create):
        (WebCore::DataGridColumn::setColumnList):
        (WebCore::DataGridColumn::DataGridColumn):
        * html/DataGridColumnList.cpp:
        (WebCore::DataGridColumnList::add):
        (WebCore::DataGridColumnList::remove):
        (WebCore::DataGridColumnList::clear):
        * html/DataGridColumnList.h:
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
        (WebCore::HTMLDataGridColElement::findDatagridAncestor):
        (WebCore::HTMLDataGridColElement::ensureColumn):
        (WebCore::HTMLDataGridColElement::insertedIntoTree):
        (WebCore::HTMLDataGridColElement::removedFromTree):
        (WebCore::HTMLDataGridColElement::sortable):
        (WebCore::HTMLDataGridColElement::setSortable):
        * html/HTMLDataGridColElement.h:
        (WebCore::HTMLDataGridColElement::column):
        (WebCore::HTMLDataGridColElement::setColumn):
        (WebCore::HTMLDataGridColElement::datagrid):
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::setDataSource):
        (WebCore::HTMLDataGridElement::dataSource):

2009-06-30  Jeremy Orlow (jorlow@chromium.org)

        Reviewed by David Levin.

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

        Fix some minor build issues in the v8 bindings.

        * bindings/v8/custom/V8StorageCustom.cpp:
        (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
        (WebCore::storageGetter):
        (WebCore::storageSetter):
        (WebCore::storageDeleter):
        * storage/StorageArea.cpp:

2009-06-30  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Chromium Linux: use different fonts for each script run.

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

        Previously, when rendering complex text, we picked a single font which
        could render all the glyphs needed for the run. However, this meant
        that sometimes lines were rendered with, for example, [LATIN, THAI,
        LATIN] and we could end up with a different font for the Latin parts
        than for lines without Thai in them.

        With this patch, we pick a font for each script run.

        This change is covered by existing layout tests.

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawGlyphs):
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::~TextRunWalker):
        (WebCore::TextRunWalker::nextScriptRun):
        (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
        (WebCore::TextRunWalker::setupFontForScriptRun):
        (WebCore::TextRunWalker::allocHarfbuzzFont):
        (WebCore::setupForTextPainting):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::setupPaint):

2009-06-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt, Dan Bernstein.
        
        <rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing

        There are two parts to this fix. First, if a compositing layer has overflow clipping
        or a mask, then the compositing layer does not need to be sized to encompass all
        non-composited children.
        
        Second, when scrolling, we have to back up to the compositing ancestor and have
        it reposition descendant compositing layers, because overflow doesn't follow
        the z-order tree.
        
        Test: compositing/overflow/overflow-scroll.html

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        Pass the UpdateCompositingLayers flag when updating layers after layout, so that
        we can reposition compositing layers if we're not about to do a layer rebuild.
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositions):
        Only update compositing layers if the flag is set.
        
        (WebCore::RenderLayer::scrollToOffset):
        Do compositing layer updates from the compositing ancestor in one fell swoop.

        * rendering/RenderLayer.h:
        Replace the unused FullUpdate flag with one that allows us to specify whether
        compositing layers should be updated.
        
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateAfterLayout):
        * rendering/RenderLayerBacking.h:
        New param that we can pass to updateCompositingDescendantGeometry to control
        whether the update goes deep.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
        We can return earlier if this is not a self-painting layer.
        If the layer has overflow clip or a mask, then the composited bounds are just the
        local bounds, excluding descendants.
        
        (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
        * rendering/RenderLayerCompositor.h:
        Renamed from updateCompositingChildrenGeometry, and added a flag that allows
        us to do a deep update.

2009-06-30  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=26764
        Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file

        Test: fast/parser/empty-text-resource.html

        * loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it
        hasn't been created yet.

2009-06-30  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        Renamed scrollbarUnderPoint to scrollbarAtPoint.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseMoveEvent):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollbarAtPoint):
        * platform/ScrollView.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::handleMouseDownEvent):
        (WebCore::PopupListBox::handleMouseMoveEvent):

2009-06-30  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoff Garen.

        <rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const + 62

        <select> elements and other elements the produce popups can keep their popups
        live across a page load.  If this occurs and the <select> element has an
        onchange handler it is possible to get into a state where we try to execute
        JS on a page that no longer has an execution context. 

        * bindings/js/JSLazyEventListener.cpp:
        (WebCore::JSLazyEventListener::parseCode):
          Be paranoid and add a null check, but assert as well because we shouldn't
          actually get to this point.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::valueChanged):

2009-06-30  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        <https://bugs.webkit.org/show_bug.cgi?id=25435>

        Added support for sending MessagePorts to/from Workers via postMessage().

        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::messageChannel):
        Exposes MessageChannel constructor WorkerContext.
        * bindings/js/JSWorkerCustom.cpp:
        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        Now correctly handles being instantiated from within a Worker.
       * platform/CrossThreadCopier.h:
        (WebCore::GenericWorkerTaskTraits<PassOwnPtr>):
        Added support for passing PassOwnPtr as argument to GenericWorkerTask
       * workers/GenericWorkerTask.h:
        (WebCore::):
        * workers/Worker.cpp:
        (WebCore::Worker::postMessage):
        Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
        (WebCore::Worker::dispatchMessage):
        * workers/Worker.h:
        * workers/Worker.idl:
        Added an optional MessagePort argument to postMessage()
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::hasPendingActivity):
        Workers now report pending activity whenever there are remotely entangled ports.
        (WebCore::WorkerContext::postMessage):
        Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
        (WebCore::WorkerContext::dispatchMessage):
        * workers/WorkerContext.h:
        * workers/WorkerContext.idl:
        Added an optional MessagePort argument to postMessage()
        * workers/WorkerContextProxy.h:
        * workers/WorkerMessagingProxy.cpp:
        Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel.
        (WebCore::MessageWorkerContextTask::create):
        (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
        (WebCore::MessageWorkerContextTask::performTask):
        (WebCore::MessageWorkerTask::create):
        (WebCore::MessageWorkerTask::MessageWorkerTask):
        (WebCore::MessageWorkerTask::performTask):
        (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
        * workers/WorkerMessagingProxy.h:
        Added additional postMessage() API that accepts a MessagePort
        * workers/WorkerObjectProxy.h:
        Added additional postMessage() API that accepts a MessagePort

2009-06-30  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Chromium: Add complex text support on Linux.

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

        This patch adds complex text support on Linux using Harfbuzz. It's not
        the fastest code possible: some caching of font tables will certainly
        be required. However, it's probably the simplest code that works.

        This will require checking in new baselines in the Chromium tree for
        those layout tests which now pass.

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawGlyphs):
        (WebCore::truncateFixedPointToInteger):
        (WebCore::TextRunWalker::TextRunWalker):
        (WebCore::TextRunWalker::~TextRunWalker):
        (WebCore::TextRunWalker::reset):
        (WebCore::TextRunWalker::setXOffsetToZero):
        (WebCore::TextRunWalker::rtl):
        (WebCore::TextRunWalker::setBackwardsIteration):
        (WebCore::TextRunWalker::nextScriptRun):
        (WebCore::TextRunWalker::glyphs):
        (WebCore::TextRunWalker::length):
        (WebCore::TextRunWalker::xPositions):
        (WebCore::TextRunWalker::advances):
        (WebCore::TextRunWalker::width):
        (WebCore::TextRunWalker::logClusters):
        (WebCore::TextRunWalker::numCodePoints):
        (WebCore::TextRunWalker::widthOfFullRun):
        (WebCore::TextRunWalker::allocHarfbuzzFont):
        (WebCore::TextRunWalker::deleteGlyphArrays):
        (WebCore::TextRunWalker::createGlyphArrays):
        (WebCore::TextRunWalker::expandGlyphArrays):
        (WebCore::TextRunWalker::shapeGlyphs):
        (WebCore::TextRunWalker::setGlyphXPositions):
        (WebCore::setupForTextPainting):
        (WebCore::fontPlatformDataForTextRun):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::glyphIndexForXPositionInScriptRun):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):
        * platform/graphics/chromium/HarfbuzzSkia.cpp: Added.
        (WebCore::SkiaScalarToHarfbuzzFixed):
        (WebCore::stringToGlyphs):
        (WebCore::glyphsToAdvances):
        (WebCore::canRender):
        (WebCore::getOutlinePoint):
        (WebCore::getGlyphMetrics):
        (WebCore::getFontMetric):
        (WebCore::harfbuzzSkiaGetTable):

2009-06-30  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::updateStates):
            Always fall back to a plug-in if m_hasUnsupportedTracks is set.
        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
            Set m_hasUnsupportedTracks if we disable a track.

2009-06-30  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix inverted if/else that's causing a layout test in src.chromium.org to fail.

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

        * bindings/v8/V8Proxy.cpp:
        (WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2).

2009-06-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
          to Grid" window is clipping

        Added an app-specific quirk to revert the behavior of <link> elements
        to the way it was before r30673, namely that if the rel attribute
        is not "stylesheet" but the type attribute contains "text/css", the
        link behaves as a stylesheet link.

        * WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet().
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process): Check
            Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a
            style sheet link if the type contains "text/css".
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
            Initialize m_treatsAnyTextCSSLinkAsStylesheet.
        (WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added.
        * page/Settings.h:
        (WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added.

2009-06-30  Adrien Nader  <camaradetux@gmail.com>

        Reviewed by Xan Lopez.

        Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore.

        * GNUmakefile.am:

2009-06-30  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez.

        [Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests.

        * GNUmakefile.am:

2009-06-30  Raju Kunnath  <raju.kunnath@nokia.com>

        Reviewed by Simon Hausmann.

        <https://bugs.webkit.org/show_bug.cgi?id=26752>

        [Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008. 

        * WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008.

2009-06-30  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        Initialize member variables in the right order. Fixes compiler
        warning.

        * platform/image-decoders/bmp/BMPImageReader.cpp:
        (WebCore::BMPImageReader::BMPImageReader):

2009-06-29  Xan Lopez  <xlopez@igalia.com>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26831
        Fix compiler warning in WorkerLoaderProxy.h

        Forward declaration of a class within a class is not allowed,
        since the compiler can't know if the declaration is legal at that
        point. This gives the following compiler warning:

        ../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration
        "class WebCore::ScriptExecutionContext::Task" does not declare
        anything

        Include the full ScriptExecutionHeader header instead.

        * workers/WorkerLoaderProxy.h:

2009-06-29  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        Remove unused function.

        * plugins/gtk/PluginPackageGtk.cpp:

2009-06-29  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Change RenderLayer::updateLayerPositions() to use a bitmask instead of two
        boolean arguments. FullUpdate is unused at present, but will be used soon.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::RenderLayer::scrollToOffset):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::):

2009-06-29  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix one more bad merge in V8Proxy.

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

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object().

2009-06-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Remove more unused scons support.

        * SConstruct: Removed.

2009-06-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave Hyatt.

        Fix some incorrect create functions.

        * html/DataGridColumn.h:
        (WebCore::DataGridColumn::create):
        * html/DataGridColumnList.h:
        (WebCore::DataGridColumnList::create):

2009-06-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave Hyatt.

        Remove initialize method from DataGridDataSource and add
        DOMDataGridDataSource.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSDataGridDataSource.cpp:
        * bindings/js/JSDataGridDataSource.h:
        * bindings/js/JSHTMLDataGridElementCustom.cpp:
        (WebCore::JSHTMLDataGridElement::setDataSource):
        * html/DOMDataGridDataSource.cpp: Added.
        (WebCore::DOMDataGridDataSource::DOMDataGridDataSource):
        (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource):
        * html/DOMDataGridDataSource.h: Added.
        (WebCore::DOMDataGridDataSource::create):
        (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource):
        (WebCore::asDOMDataGridDataSource):
        * html/DataGridDataSource.h:
        (WebCore::DataGridDataSource::isDOMDataGridDataSource):
        (WebCore::DataGridDataSource::isJSDataGridDataSource):
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
        (WebCore::HTMLDataGridElement::setDataSource):
        (WebCore::HTMLDataGridElement::dataSource):
        * html/HTMLDataGridElement.h:

2009-06-29  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix a couple of bad merge items from my previous V8Proxy patch.

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

        * bindings/v8/V8Collection.h:
        (WebCore::nodeCollectionNamedPropertyGetter):  Fix a bad function name that slipped through.
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException):  Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in.

2009-06-29  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser  <simon.fraser@apple.com>.

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

        Fixed crash due to dereference of m_toStyle

        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::isTargetPropertyEqual):

2009-06-29  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.

        * WebCore.base.exp: 
            Export _wkQTMovieGetType

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::hasSingleSecurityOrigin):
            Move to keep with other non-callback functions.
        (WebCore::MediaPlayer::movieLoadType):
            New, returns the movie type.
        * platform/graphics/MediaPlayer.h:
            Declare MovieLoadType enum and movieLoadType method.

        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::movieLoadType):
            Default implementation of movieLoadType

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovie):
            Don't base m_isStreaming on protocol, there are other types of streaming movies.
        (WebCore::MediaPlayerPrivate::maxTimeBuffered):
            Don't assume all streams are unbuffered.
        (WebCore::MediaPlayerPrivate::updateStates):
            Update m_isStreaming once we have metadata.
        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
            Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount.
        (WebCore::MediaPlayerPrivate::movieLoadType):
            New, return movie type.

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
            Add wkQTMovieGetType.

2009-06-29  Alice Liu  <alice.liu@apple.com>

        Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery

        Reviewed by Anders Carlsson.

        No test added because the crash requires a flash plugin

        * plugins/win/PluginMessageThrottlerWin.cpp:
        Rely on the hWnd of the plugin to tell us whether the PluginView has 
        been deleted during execution of its wndProc.
        (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):

2009-06-29  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26811
         [Chromium] Remove a flag and functions used to enable workers in runtime.

        * bindings/v8/WorkerContextExecutionProxy.cpp:
        * bindings/v8/WorkerContextExecutionProxy.h:

2009-06-29  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.
        
        <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers.
        
        Improve the appearance of text in compositing layers by making use of
        CA's layer geometry flipping, rather that doing it ourselves with a flip
        transform. This allows CG to use font autohinting in the layer text.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::setGeometryOrientation):
        (WebCore::GraphicsLayer::geometryOrientation):
        New methods to set whether this layer uses flipped geometry.
        
        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::setGeometryOrientation):
        (WebCore::GraphicsLayerCA::geometryOrientation):
        Subclass in order to call into CA
        
        (WebCore::GraphicsLayerCA::setContentsLayer):
        Now that CA is doing the geometry flipping, we no longer need to flip the content
        layers for image and video manually
        
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
        Turn on flipping on the root layer.

2009-06-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Adam Treat.

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

        Implement most WML specific <select> element features.
        Add 'iname' / 'ivalue' support and support variable references.

        Add two tests covering most select/variable related functionality.
        Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick).

        Tests: http/tests/wml/post-data-to-server.html
               wml/select-element-variables.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML.
        * dom/SelectElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML).
        * wml/WMLCardElement.cpp:
        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization.
        * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing.
        (WebCore::WMLSelectElement::title):
        (WebCore::WMLSelectElement::formControlName):
        (WebCore::WMLSelectElement::defaultEventHandler):
        (WebCore::WMLSelectElement::selectInitialOptions):
        (WebCore::WMLSelectElement::calculateDefaultOptionIndices):
        (WebCore::WMLSelectElement::selectDefaultOptions):
        (WebCore::WMLSelectElement::initializeVariables):
        (WebCore::WMLSelectElement::updateVariables):
        (WebCore::WMLSelectElement::parseIndexValueString):
        (WebCore::WMLSelectElement::valueStringToOptionIndices):
        (WebCore::WMLSelectElement::optionIndicesToValueString):
        (WebCore::WMLSelectElement::optionIndicesToString):
        (WebCore::WMLSelectElement::name):
        (WebCore::WMLSelectElement::value):
        (WebCore::WMLSelectElement::iname):
        (WebCore::WMLSelectElement::ivalue):
        * wml/WMLSelectElement.h:

2009-06-29  David Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        Put <datagrid> behind an ifdef.

        * Configurations/FeatureDefines.xcconfig:
        * bindings/js/JSDataGridColumnListCustom.cpp:
        * bindings/js/JSDataGridDataSource.cpp:
        * bindings/js/JSDataGridDataSource.h:
        * bindings/js/JSHTMLDataGridElementCustom.cpp:
        * html/DataGridColumn.cpp:
        * html/DataGridColumn.h:
        * html/DataGridColumn.idl:
        * html/DataGridColumnList.cpp:
        * html/DataGridColumnList.h:
        * html/DataGridColumnList.idl:
        * html/DataGridDataSource.h:
        * html/HTMLDataGridCellElement.cpp:
        * html/HTMLDataGridCellElement.h:
        * html/HTMLDataGridCellElement.idl:
        * html/HTMLDataGridColElement.cpp:
        * html/HTMLDataGridColElement.h:
        * html/HTMLDataGridColElement.idl:
        * html/HTMLDataGridElement.cpp:
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridElement.idl:
        * html/HTMLDataGridRowElement.cpp:
        * html/HTMLDataGridRowElement.h:
        * html/HTMLDataGridRowElement.idl:
        * html/HTMLTagNames.in:
        * page/DOMWindow.idl:
        * rendering/RenderDataGrid.cpp:
        * rendering/RenderDataGrid.h:

2009-06-29  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Ariya Hidayat and Adam Roben.

        Fix compilation with MINGW. Ported MSVC inline assembly to
        GNU inline assembly. Also fixed casting errors where gcc
        refused to cast a pointer-to-function to a pointer-to-object,
        without an intermediate cast to a non-pointer type.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::hookedBeginPaint):
        (WebCore::PluginView::hookedEndPaint):
        (WebCore::hook):
        (WebCore::setUpOffscreenPaintingHooks):

2009-06-26  John Sullivan  <sullivan@apple.com>

        Added Speech submenu to context menu on Mac when there's a non-editable selection
        (it was already present when there's an editable selection). 
        Also added support for disabling "Stop Speaking" when there is no speaking to stop.

        Reviewed by Tim Hatcher.

        * loader/EmptyClients.h:
        (WebCore::EmptyContextMenuClient::isSpeaking):
        implemented this new virtual function to return false
        
        * page/ContextMenuClient.h:
        declared this new pure virtual function
        
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):
        insert Speech item (after a separator) on Mac when there's selected non-editable text
        (WebCore::ContextMenu::checkOrEnableIfNeeded):
        enable Stop Speaking item only if the context menu client returns true for isSpeaking()

2009-06-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - fix https://bugs.webkit.org/show_bug.cgi?id=26783
          <rdar://problem/7014543> REGRESSION (r45296): Subfolders not displayed
          in MobileMe iDisk Web App

        Test: added a case to fast/dom/Element/scrollWidth.html

        Ensure that scroll{Width, Height} is greater or equal to
        client{Width, Height}.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::scrollHeight):

2009-06-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26780
        
        Do not make compositing layers for non-self-painting RenderLayers,
        since these exist only to push a clip onto the clipping stack. If such
        a layer gets compositied for some other reason, it should not paint.
        
        Also ensure that we update composited layer positions correctly
        inside overflow:scroll layers. We can't assume that the contents
        are child layers, so we have to go up to the compositing ancestor,
        and tell it to update all its child layer positions as we do 
        after layout.

        Tests: compositing/layers-inside-overflow-scroll.html
               compositing/self-painting-layers.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
        (WebCore::RenderLayerCompositor::needsToBeComposited):

2009-06-28  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>

        Reviewed by Eric Seidel.

        PurgeableBuffer #defines leave out functions on gtk MacOSX 10.4 build
        https://bugs.webkit.org/show_bug.cgi?id=23057

        Define these functions for Gtk as well.

        * platform/PurgeableBuffer.h:

2009-06-28  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Update CodeGeneratorV8.pm to match the new api for V8Proxy.

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

        * bindings/scripts/CodeGeneratorV8.pm: Match the current version of V8Proxy.

2009-06-28  Nicolas Sylvain  <nsylvain@chromium.org>

        Reviewed by Dimitri Glazkov.

        If loading a font fails because of the sandbox, we ask the browser process to 
        try to load it by calling ensureFontLoaded. If it still fails after 
        ensureFontLoaded, we hit a ASSERT_NOT_REACHED. 

        This case happens once in a while during browser shutdown. The browser will 
        queue a message to the renderer to shutdown, and will then stop answering sync 
        messages from the renderer. If the renderer is still loading a page during this 
        time, it might try to call the browser process to ask to load a font. The 
        browser process will ignore the request, and the font will fail to load, even 
        after the second try. 

        This is unfortunate, but there is no real risk here, since the renderer will be 
        going away as soon as it processes another message. 

        This can't be layout tested as it depends on the sandbox. 

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

        * platform/graphics/chromium/FontChromiumWin.cpp:
        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:

2009-06-28  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Eric Seidel.

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

        Test: plugins/netscape-plugin-map-data-to-src.html

        Fix problems with Real or WMP plugins not displaying because "data" was set
        on the OBJECT tag instead of "src".  This is based on what Firefox does, see
        http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3045

        * rendering/RenderPartObject.cpp:
        (WebCore::mapDataParamToSrc):
        (WebCore::RenderPartObject::updateWidget):

2009-06-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Jan Alonzo.

        [Qt] Build fix after r45290
        https://bugs.webkit.org/show_bug.cgi?id=26769

        * WebCore.pro:

2009-06-27  Emilio Pozuelo Monfort  <pochu27@gmail.com>

        Reviewed by Jan Alonzo.

        [GTK] Don't use deprecated GTK+ symbols.
        https://bugs.webkit.org/show_bug.cgi?id=26583

        * plugins/gtk/gtk2xtbin.c:
        (gtk_xtbin_class_init):
        (gtk_xtbin_new):
        (gtk_xtbin_destroy):

2009-06-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=26780
        
        Fix up previous change. When computeCompositingRequirements() determines
        that the current layer is composited, it needs to inform its parent
        by setting compositingState.m_subtreeIsCompositing() to true. That didn't
        always happen after the previous patch. Clarified the logic here.
        
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::CompositingState::CompositingState):
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):

2009-06-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=26780
        
        First part: fix the RenderLayer::hasCompositingDescendant() flag to be set
        correctly.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        Do not unconditionally set compositingState.m_subtreeIsCompositing, because
        that can clobber the value from an earlier sibling. Add some more comments.
        
        Remove a final use of Vector iterators.
        
        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
        Move the normalFlowList() processing outside the test for isStackingContext().

2009-06-27  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser and Antti Koivisto.

        - make paintFillLayerExtended() non-virtual and remove its clipY and
          clipH parameters

        These parameters were computed and passed along to
        paintFillLayerExtended in order to vertically constrain the rect fill to
        the damage rect, because Qt cannot paint tall rectangles (see
        <http://websvn.kde.org/?view=rev&revision=42721>). Since the damage rect
        is passed along in the PaintInfo, the extra parameters are redundant,
        and the intersection can just take place in paintFillLayerExtended().

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintFillLayers):
        (WebCore::InlineFlowBox::paintFillLayer):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        * rendering/InlineFlowBox.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintRootBoxDecorations):
        (WebCore::RenderBox::paintBoxDecorations):
        (WebCore::RenderBox::paintMask):
        (WebCore::RenderBox::paintMaskImages):
        (WebCore::RenderBox::paintFillLayers):
        (WebCore::RenderBox::paintFillLayer):
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        (WebCore::RenderFieldset::paintMask):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintBoxDecorations):
        (WebCore::RenderTable::paintMask):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
        (WebCore::RenderTableCell::paintMask):

2009-06-27  Ryosuke Niwa  <rniwa@google.com>

        Reviewed by Eric Seidel.

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

        Clean up for IndentOutdentCommand::indentRegion, and solved most of problems related to the bug 21712.
        https://bugs.webkit.org/show_bug.cgi?id=21712

        Added few utility functions to htmlediting.h/cpp

        isVisibilyAdjacent checks whether the first position is visibly next to the second position.
        i.e. there is no visible node between the first and second positions

        canMergeLists checks whether two lists can be merged.
        It checks the type of list, the editing boundary, and adjacency of the lists.

        Tests: editing/execCommand/indent-nested-lists-1.html
               editing/execCommand/indent-nested-lists-2.html
               editing/execCommand/indent-nested-lists-3.html
               editing/execCommand/indent-nested-lists-4.html
               editing/execCommand/indent-nested-lists-5.html
               editing/execCommand/indent-nested-lists-6.html
               editing/execCommand/indent-nested-lists-7.html
               editing/execCommand/outdent-nested-lists-1.html
               editing/execCommand/outdent-nested-lists-2.html
               editing/execCommand/outdent-nested-lists-3.html
               editing/execCommand/outdent-nested-lists-4.html

        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
        (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
        (WebCore::IndentOutdentCommand::indentIntoBlockquote):
        (WebCore::IndentOutdentCommand::indentRegion):
        * editing/IndentOutdentCommand.h:
        * editing/htmlediting.cpp:
        (WebCore::enclosingListChild):
        (WebCore::canMergeLists):
        (WebCore::isVisibilyAdjacent):
        * editing/htmlediting.h:

2009-06-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        WebInspector: Fix completion when iterating options using Tab.

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

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._completionsReady):

2009-06-27  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=25889
        [GTK] scrollbar policy for main frame is not implementable

        Override visibleContentRect to handle GTK+'s case, in which
        scrollbars or equivalent decoration are painted by the parent
        widget.

        * platform/ScrollView.cpp:
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::visibleContentRect):

2009-06-27  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=26708
        
        Fix addresses false negatives with respect to scheme relative paths, iFrame JavaScript URLs,
        and UTF-7 encoded payloads.   

        Tests: http/tests/security/xssAuditor/http-equiv-utf-7-encoded.html
               http/tests/security/xssAuditor/iframe-javascript-url.html
               http/tests/security/xssAuditor/script-tag-utf-7-encoded.html
               http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler): Moved XSSAuditor check to HTMLTokenizer::parseTag.
        (WebCore::HTMLTokenizer::parseTag):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadSubframe): Modified to inform XSSAuditor of parent frame so
        as to compare against iFrame javascript URL.
        * page/XSSAuditor.cpp: Removed method XSSAuditor::isControlCharacter. Instead, exposed method
        isControlCharacter in ResourceResponseBase.cpp.
        (WebCore::XSSAuditor::XSSAuditor):
        (WebCore::XSSAuditor::decodeURL): Modified to decode string using specified encoder.
        (WebCore::XSSAuditor::findInRequest): Generalized to arbitrary frame so as to prevent execution
        of iFrame javascript URL.
        * page/XSSAuditor.h: Added field m_parentFrame.
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::isControlCharacter):
        * platform/network/ResourceResponseBase.h:

2009-06-27  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Bug 26771: Canvas is incorrectly tainted when drawing from a video element that uses <source> elements

        The drawImage(<video>) logic naively assumes that it just needs
        to check the src attribute of the video element when in fact it
        needs to look at the url that is being played instead.  Failure
        to do this means that video provided through source elements 
        taints the canvas.

        Test: media/video-canvas-source.html

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::checkOrigin):
        (WebCore::CanvasRenderingContext2D::drawImage):
        * html/CanvasRenderingContext2D.h:

2009-06-26  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=26695
        
        Added the ability to do scrollbar hit testing in EventHandler, changed the
        signature of a PlatformWheelEvent constructor, and changed scrollbarUnderMouse
        to scrollbarUnderPoint, and updated all calls to that function.        

        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseMoveEvent):
        * page/EventHandler.h:
        (WebCore::):
        * platform/PlatformWheelEvent.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollbarUnderPoint):
        * platform/ScrollView.h:
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::handleMouseDownEvent):
        (WebCore::PopupListBox::handleMouseMoveEvent):
        * platform/win/WheelEventWin.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):


2009-06-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/7011924> Opacity transitions should not trigger hardware compositing mode
        
        Don't go into compositing mode just for opacity transitions, but they will be
        hardware acclerated if we're already compositing.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
        (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
        * rendering/RenderLayerCompositor.h:

2009-06-26  Simon Fraser  <simon.fraser@apple.com>

        Rubber-stamped by Dave Levin

        Rename ioCompState to compositingState to better match WebCore coding style.
        
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):

2009-06-26  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        - revert unintentional project changes from r45277

        * WebCore.xcodeproj/project.pbxproj:

2009-06-26  Mark Rowe  <mrowe@apple.com>

        Fix the Windows build.

        * WebCore.vcproj/WebCore.vcproj: Remove ColorSafari.cpp as
        the file was deleted from SVN.

2009-06-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

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

        Change to use array indexing rather than Vector enumerators; the former
        are preferred style.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::hasNonCompositingContent):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
        (WebCore::RenderLayerCompositor::layerHas3DContent):

2009-06-26  Dan Bernstein  <mitz@apple.com>

        Reviewed by Oliver Hunt.

        - fix <rdar://problem/6961476> REGRESSION (r42043): scrollWidth reported
          as 1 px

        Test: fast/dom/Element/scrollWidth.html

        Changed scrollWidth and scrollHeight to use the same logic for
        visible overflow boxes that is used for clipped overflow boxes. In
        particular, borders are not included and
        {leftmost,rightmost,lowest}Position() are used. This logic matches IE8.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::scrollHeight):

2009-06-26  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Oliver Hunt.

        Bug 26725: aria-hidden, aria-disabled, aria-readonly need to be implemented
        https://bugs.webkit.org/show_bug.cgi?id=26725

        Tests: accessibility/aria-disabled.html
               accessibility/aria-hidden.html
               accessibility/aria-readonly.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::ariaIsHidden):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::isEnabled):
        (WebCore::AccessibilityRenderObject::canSetValueAttribute):
        * accessibility/AccessibilityRenderObject.h:
        * html/HTMLAttributeNames.in:

2009-06-26  Brett Wilson  <brettw@chromium.org>

        Reviewed by David Levin.

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

        GIFImageDecoder is broken.

        Make the GIFImageDecoder.repetitionCount function const to match the
        base class. The mismatched definitions were causing the function to not
        get called.

        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::repetitionCount):
        * platform/image-decoders/gif/GIFImageDecoder.h:

2009-06-26  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser  <simon.fraser@apple.com>.

        Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651

        The flag should always default to true to avoid it getting set
        to false in a build with accelerated compositing turned off
        and then disabling accelerated compositing when subsequently
        running a build with it turned on.

        * page/Settings.cpp:
        (WebCore::Settings::Settings):

2009-06-26  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        Followup for the fix for <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails

        Now that other MIME type correction stuff is in our swizzled method, Tiger needs it too!

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
        * platform/network/mac/WebCoreURLResponse.h:

2009-06-26  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

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

        For the final step of https://bugs.webkit.org/show_bug.cgi?id=25376,
        combine LocalStorage and SessionStorage into StorageNamespace. The
        synching code (for LocalStorage) has already been removed, so these
        classes are now very similar.  All they do is essentially contain a
        logical grouping of origins that are attached to specific contexts
        (be it PageGroups for LocalStorage and Page for SessionStorage).

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * page/Chrome.cpp:
        (WebCore::Chrome::createWindow):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::localStorage):
        * page/DOMWindow.h:
        * page/Page.cpp:
        (WebCore::Page::sessionStorage):
        (WebCore::Page::setSessionStorage):
        * page/Page.h:
        * page/PageGroup.cpp:
        (WebCore::PageGroup::localStorage):
        * page/PageGroup.h:
        * storage/LocalStorage.cpp: Removed.
        * storage/LocalStorage.h: Removed.
        * storage/LocalStorageTask.cpp:
        * storage/LocalStorageThread.cpp:
        * storage/SessionStorage.cpp: Removed.
        * storage/SessionStorage.h: Removed.
        * storage/StorageArea.cpp:
        (WebCore::StorageArea::create):
        (WebCore::StorageArea::StorageArea):
        (WebCore::StorageArea::copy):
        (WebCore::StorageArea::length):
        (WebCore::StorageArea::key):
        (WebCore::StorageArea::getItem):
        (WebCore::StorageArea::setItem):
        (WebCore::StorageArea::removeItem):
        (WebCore::StorageArea::clear):
        (WebCore::StorageArea::contains):
        (WebCore::StorageArea::importItem):
        (WebCore::StorageArea::close):
        (WebCore::StorageArea::dispatchStorageEvent):
        * storage/StorageArea.h:
        (WebCore::):
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::scheduleFinalSync):
        * storage/StorageNamespace.cpp: Copied from WebCore/storage/LocalStorage.cpp.
        (WebCore::localStorageNamespaceMap):
        (WebCore::StorageNamespace::localStorageNamespace):
        (WebCore::StorageNamespace::sessionStorageNamespace):
        (WebCore::StorageNamespace::StorageNamespace):
        (WebCore::StorageNamespace::~StorageNamespace):
        (WebCore::StorageNamespace::copy):
        (WebCore::StorageNamespace::storageArea):
        (WebCore::StorageNamespace::close):
        * storage/StorageNamespace.h: Copied from WebCore/storage/LocalStorage.h.

2009-06-26  Nate Chapin  <japhet@chromium.org>

        Reviewed by David Levin.

        Upstream V8Proxy.  This involved updating a lot of function and variable names to match WebKit style, hence the large size.

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

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::~ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::ScriptCallStack):
        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::isSafeScript):
        (WebCore::ScriptController::gcProtectJSWrapper):
        (WebCore::ScriptController::gcUnprotectJSWrapper):
        (WebCore::ScriptController::processingUserGesture):
        (WebCore::ScriptController::evaluate):
        (WebCore::ScriptController::setEventHandlerLineNumber):
        (WebCore::ScriptController::bindToWindowObject):
        (WebCore::ScriptController::collectGarbage):
        (WebCore::ScriptController::haveInterpreter):
        (WebCore::createScriptObject):
        (WebCore::ScriptController::createScriptObjectForPluginElement):
        * bindings/v8/ScriptInstance.cpp:
        (WebCore::V8ScriptInstance::clear):
        (WebCore::V8ScriptInstance::set):
        * bindings/v8/ScriptObject.cpp:
        (WebCore::ScriptGlobalObject::set):
        * bindings/v8/ScriptObjectQuarantine.cpp:
        (WebCore::getQuarantinedScriptObject):
        * bindings/v8/ScriptScope.cpp:
        (WebCore::ScriptScope::ScriptScope):
        * bindings/v8/ScriptValue.h:
        (WebCore::ScriptValue::ScriptValue):
        (WebCore::ScriptValue::operator=):
        (WebCore::ScriptValue::clear):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        (WebCore::V8AbstractEventListener::handleEvent):
        (WebCore::V8AbstractEventListener::disposeListenerObject):
        (WebCore::V8AbstractEventListener::getReceiverObject):
        * bindings/v8/V8Collection.cpp:
        (WebCore::toOptionsCollectionSetter):
        * bindings/v8/V8Collection.h:
        (WebCore::getV8Object):
        (WebCore::getNamedPropertyOfCollection):
        (WebCore::nodeCollectionNamedPropertyGetter):
        (WebCore::getIndexedPropertyOfCollection):
        (WebCore::nodeCollectionIndexedPropertyGetter):
        (WebCore::nodeCollectionIndexedPropertyEnumerator):
        (WebCore::collectionIndexedPropertyEnumerator):
        (WebCore::collectionStringOrNullIndexedPropertyGetter):
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::weakDOMObjectCallback):
        (WebCore::DOMData::removeObjectsFromWrapperMap):
        * bindings/v8/V8Helpers.cpp:
        (WebCore::wrapNPObject):
        (WebCore::toV8Context):
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::~V8LazyEventListener):
        (WebCore::V8LazyEventListener::getListenerFunction):
        (WebCore::V8LazyEventListener::callListenerFunction):
        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
        * bindings/v8/V8NodeFilterCondition.cpp:
        (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
        (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
        (WebCore::V8NodeFilterCondition::acceptNode):
        * bindings/v8/V8ObjectEventListener.cpp:
        (WebCore::weakObjectEventListenerCallback):
        (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
        * bindings/v8/V8Proxy.cpp: Added.
        * bindings/v8/V8Proxy.h:
        (WebCore::):
        (WebCore::GlobalHandleInfo::GlobalHandleInfo):
        (WebCore::V8Proxy::):
        (WebCore::V8Proxy::V8Proxy):
        (WebCore::V8Proxy::frame):
        (WebCore::V8Proxy::inlineCode):
        (WebCore::V8Proxy::setInlineCode):
        (WebCore::V8Proxy::timerCallback):
        (WebCore::V8Proxy::setTimerCallback):
        (WebCore::V8Proxy::setEventHandlerLineNumber):
        (WebCore::V8Proxy::finishedWithEvent):
        (WebCore::V8Proxy::wrapCPointer):
        (WebCore::V8Proxy::extractCPointer):
        (WebCore::V8Proxy::convertDOMWrapperToNative):
        (WebCore::V8Proxy::convertDOMWrapperToNode):
        (WebCore::V8Proxy::convertToV8Object):
        (WebCore::V8Proxy::convertToNativeObject):
        (WebCore::V8Proxy::convertToNativeEvent):
        (WebCore::V8Proxy::context):
        (WebCore::V8Proxy::extractCPointerImpl):
        (WebCore::V8Proxy::utilityContext):
        (WebCore::V8Proxy::constructDOMObject):
        (WebCore::throwError):
        (WebCore::toV8):
        * bindings/v8/V8Utilities.h:
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::retrieve):
        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
        (WebCore::WorkerContextExecutionProxy::GetConstructor):
        (WebCore::WorkerContextExecutionProxy::ToV8Object):
        (WebCore::WorkerContextExecutionProxy::EventToV8Object):
        (WebCore::WorkerContextExecutionProxy::toV8):
        (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
        (WebCore::WorkerContextExecutionProxy::evaluate):
        (WebCore::WorkerContextExecutionProxy::runScript):
        * bindings/v8/custom/V8AttrCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
        (WebCore::toV8):
        (WebCore::toCanvasStyle):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8ClientRectListCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        * bindings/v8/custom/V8ClipboardCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8CustomBinding.cpp:
        (WebCore::allowSettingFrameSrcToJavascriptUrl):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::INDEXED_ACCESS_CHECK):
        (WebCore::NAMED_ACCESS_CHECK):
        (WebCore::V8Custom::GetTargetFrame):
        * bindings/v8/custom/V8CustomEventListener.cpp:
        (WebCore::V8EventListener::V8EventListener):
        (WebCore::V8EventListener::~V8EventListener):
        (WebCore::V8EventListener::callListenerFunction):
        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
        (WebCore::V8CustomSQLStatementCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
        (WebCore::V8CustomSQLTransactionCallback::handleEvent):
        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
        (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
        * bindings/v8/custom/V8CustomVoidCallback.cpp:
        (WebCore::V8CustomVoidCallback::handleEvent):
        (WebCore::invokeCallback):
        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
        * bindings/v8/custom/V8DOMParserConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        (WebCore::convertBase64):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::createWindow):
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::V8Custom::ClearTimeoutImpl):
        (WebCore::NAMED_ACCESS_CHECK):
        (WebCore::INDEXED_ACCESS_CHECK):
        * bindings/v8/custom/V8DatabaseCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8ElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::getNamedItems):
        (WebCore::getItem):
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_SETTER):
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        (WebCore::INDEXED_PROPERTY_SETTER):
        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::removeElement):
        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::INDEXED_ACCESS_CHECK):
        (WebCore::NAMED_ACCESS_CHECK):
        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
        (WebCore::INDEXED_PROPERTY_GETTER):
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8NavigatorCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
        (WebCore::toV8):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NodeListCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SVGLengthCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
        (WebCore::NAMED_PROPERTY_GETTER):
        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
        (WebCore::toV8):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::SetTimeoutOrInterval):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):

2009-06-26  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/7011047> Profiler shows the record button 'on' even
        though it's finished

        I consolidated the creation of the user initiated profile name into
        its own function and then called it from console::profile instead of
        calling startUserInitiatedProfiling().  This way we don't call
        toggleRecordButton() which turns on the record button.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
        (WebCore::InspectorController::startUserInitiatedProfiling):
        (WebCore::InspectorController::stopUserInitiatedProfiling):
        * inspector/InspectorController.h:
        * page/Console.cpp:
        (WebCore::Console::profile):
        (WebCore::Console::profileEnd):

2009-06-26  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Eric Seidel.

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

        Cleanup: Move focusRingColor to RenderTheme.

        Most of this CL involves deleting files and removing dead code.

        focusRingColor() is now defined in RenderTheme rather than in
        misc. places on each port.  The default color is specified as
        black in renderTheme and ports can override it in their own
        custom renderThemes.

        Behavior should be identical except for the following cases,
        this lists platform and what the focus ring color used to be
        before this cl and the file where it used to be defined:

        Android - red
        WebCore/platform/android/TemporaryLinkStubs.cpp

        Cairo - aqua focus ring color - 0xFF7DADD9
        WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp

        wx - red
        WebCore/platform/wx/TemporaryLinkStubs.cpp

        QT - black
        WebCore/platform/graphics/qt/GraphicsContextQt.cpp

        Manual test: manual-tests/focusringcolor-change-on-theme-change.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
        * manual-tests/focusringcolor-change-on-theme-change.html: Added.
        * platform/android/TemporaryLinkStubs.cpp:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        * platform/graphics/chromium/ColorChromium.cpp: Removed.
        * platform/graphics/chromium/ColorChromiumMac.mm: Removed.
        * platform/graphics/mac/ColorMac.h:
        * platform/graphics/mac/ColorMac.mm:
        (WebCore::oldAquaFocusRingColor):
        (WebCore::setUsesTestModeFocusRingColor):
        (WebCore::usesTestModeFocusRingColor):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/graphics/win/ColorSafari.cpp: Removed.
        * platform/wx/TemporaryLinkStubs.cpp:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::focusRingColor):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::focusRingColor):
        (WebCore::RenderThemeChromiumMac::systemColor):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::focusRingColor):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::focusRingColor):
        (WebCore::RenderThemeMac::systemColor):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::makeRGBAFromCGColor):
        (WebCore::RenderThemeSafari::focusRingColor):
        * rendering/RenderThemeSafari.h:

2009-06-26  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26761
        [Chromium] Enable Dedicated Workers in Chromium.

        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        Remove the check that prevented workers from being created w/o a command-line switch.
        The flag itself and methods will be removed in a subsequent patch, after
        corresponding change in Chromium.

2009-06-26  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Mark Rowe.
        
        Fix: https://bugs.webkit.org/show_bug.cgi?id=26723
        Where the m_mouseDown event was never being set on windows, so the
        client X and Y coordinates were always being reported as zero in a
        dragstart handler.

        Test: editing/selection/drag-start-event-client-x-y.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        Set the m_mouseDown event when the mouse press is handled.
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::mouseDown):
        Removed now redundant setting of m_mouseDown.

2009-06-26  Brady Eidson  <beidson@apple.com>

        Tiger build fix

        * WebCore.xcodeproj/project.pbxproj:
        * platform/network/mac/WebCoreURLResponse.mm:
        (swizzleMIMETypeMethodIfNecessary):

2009-06-26  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=26681
        Problem updating applicationCache when server returns 304
        
        Improve the fix, make the test pass on Tiger.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveResponse): Fix another code path to remove the
        current item from list.

        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): On Tiger,
        conditional requests that cannot be cached by network layer cause errors with default cache
        policy.

2009-06-26  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails

        When we disabled content sniffing for file urls we lost knowledge of many file extensions that we
        didn't intend to lose.  Turns out the CoreTypes UTI database doesn't know about every extension Gatekeeper
        knew about.

        By comparing CoreTypes' database to Gatekeepers, this patch adds a hardcoded list of file extension to MIME
        type mappings that are missing in CoreType's database.

        Test: platform/mac/fast/loader/file-url-mimetypes.html

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Move the MIME Type swizzling code to
          WebCoreURLResponse.

        * platform/network/mac/ResourceResponseMac.mm:
        (WebCore::ResourceResponse::platformLazyInit): _webcore_MIMEType -> MIMEType, as we now have only one place
          where we do all MIMEType correction.

        * platform/network/mac/WebCoreURLResponse.h: Remove _webcore_MIMEType, as it is now folded into the swizzled
          implementation of MIMEType.
        * platform/network/mac/WebCoreURLResponse.mm:
        (createBinaryExtensionsSet):
        (createExtensionToMIMETypeMap):
        (swizzleMIMETypeMethodIfNecessary):
        (webNSURLResponseMIMEType): If it's a file URL and there's no MIME type, see if the extension exists in the 
          extension -> MIME type map before turning to the default MIME type.  Also roll in what was previously
          implemented in _webcore_MIMEType.

        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::~SVGImage): Tweak this ASSERT - SVGImages might get destroyed without ever having a client.

2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

        Show the fullscreen button only if the backend has support for it.

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

        No test since this is not reachable via the DOM.

        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::supportsFullscreen): new
        * html/HTMLVideoElement.h:
        (WebCore::HTMLVideoElement::supportsFullscreen): new
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::supportsFullscreen): new
        (WebCore::MediaPlayer::supportsFullscreen): new
        * platform/graphics/MediaPlayer.h: new
        * platform/graphics/MediaPlayerPrivate.h: new
        (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): new
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): new
        * rendering/MediaControlElements.h:

2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7007776> Controller doesn't automatically update counters when file
        is playing ( http://www.jazzguitar.be/mp3/Michael%20Lewis%20-%20SSSJ.mp3 )

        Update the time display when the movie time changes.

        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::updateControls):

2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

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

        Support hidding a control bar element from the Media element controller.

        Update layout tests since the fullscreen button no longer has a renderer.

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaTextDisplayElement::update): call updateStyle() so everything
        is updated properly.
        (WebCore::MediaControlInputElement::MediaControlInputElement):
        (WebCore::MediaControlInputElement::update): call updateStyle()
        (WebCore::MediaControlInputElement::updateStyle): create the renderer properly
        or not depending on what rendererIsNeeded() return.
        * rendering/MediaControlElements.h:

2009-06-26  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/6968137> Profiler title numbers increment even after a
        reload.

        - Now the numbers are reset when the profiles are.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didCommitLoad):

2009-06-26  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Fix for <rdar://problem/7000796>
        REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages

        Test: editing/inserting/break-blockquote-after-delete.html

        Keep track of whether the typing style should be preserved after the TypingCommand is applied.  When adding onto an open
        typing command, keep that flag up to date.

        In this case, an InsertParagraphSeparatorInQuotedContent command, which should not preserve typing style, 
        was following an open Delete command, which does preserve the typing style.  So we were applying the original
        typing style (from before the delete, so blue text) to the cursor in the unquoted area after breaking up the blockquote.

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::TypingCommand):
        (WebCore::TypingCommand::typingAddedToOpenCommand):
        (WebCore::TypingCommand::insertTextRunWithoutNewlines):
        (WebCore::TypingCommand::insertLineBreak):
        (WebCore::TypingCommand::insertParagraphSeparator):
        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        (WebCore::TypingCommand::deleteSelection):
        (WebCore::TypingCommand::updatePreservesTypingStyle):
        * editing/TypingCommand.h: (WebCore::TypingCommand::preservesTypingStyle):

2009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>

        Reviewed by Simon Hausmann.

        Add support for saving and loading of QWebHistory to and from a QByteArray.

        This includes streaming operators for QWebHistory. for convenience.

        New autotests that test QWebHistory and QWebHistoryItem serialization.

        * WebCore.pro:
        * history/HistoryItem.h:
        (WebCore::HistoryItem::dailyVisitCounts):
        (WebCore::HistoryItem::weeklyVisitCounts):
        * history/qt/HistoryItemQt.cpp: Added.
        (WebCore::HistoryItem::restoreState):
        (WebCore::HistoryItem::saveState):

2009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>

        Reviewed by Simon Hausmann.

        Add support for QDataStream operators to String and IntPoint.

        * platform/graphics/IntPoint.h:
        (WebCore::operator<<):
        (WebCore::operator>>):
        * platform/text/PlatformString.h:
        * platform/text/qt/StringQt.cpp:
        (WebCore::operator<<):
        (WebCore::operator>>):

2009-06-26  Ben Murdoch  <benm@google.com>

        Reviewed by Darin Fisher.

        Add #if ENABLE(DOM_STORAGE) to the V8 custom bindings for local/session storage.
        https://bugs.webkit.org/show_bug.cgi?id=26757

        * bindings/v8/custom/V8StorageCustom.cpp

2009-06-26  Yongjun Zhang  <yongjun.zhang@nokia.com>

        Reviewed by Eric Seidel.

        Test: platform/qt/fast/events/event-sender-keydown-frame.html

        Bug 20303: [Qt] Key events are not working in frames.

        Merge scrolling handling code in qt and win port, move it to
        EventHandler.

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

2009-06-26  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26682
        Bug 26682: It should be possible to add image to SVG DOM programmatically (using JavaScript)

        Make sure the xlink:href animated property setting syncs the corresponding attribute with the right namespace.

        Test: svg/custom/createImageElement.svg

        * svg/SVGAnimatedProperty.h:
        (WebCore::synchronizeProperty):

2009-06-26  Takeshi Yoshino  <tyoshino@google.com>

        Reviewed by Timothy Hatcher.

        Bug 26156: In view-source mode, always render the contents using HTMLViewSourceDocument
        https://bugs.webkit.org/show_bug.cgi?id=26156

        When in view-source mode, render the contents using HTMLViewSourceDocument
        regardless it's applicable for any plugin or not.

        Chromium tells WebCore to render the contents of specified URL when
        view-source: prefix is added to the URL. But currently, DOMImplementation
        ignores inViewSourceMode() when the MIME type is indicating that the contents
        are neither texts nor HTML family documents.

        For example, we can check the contents of asf file without launching media
        player. Rendering contents for view-source:-specified input is not what user
        expects.

        http://code.google.com/p/chromium/issues/detail?id=10545

        I want to fix this issue by this patch. IMHO, regardless of this Chromium
        specific issue, I think we should force use of HTMLViewSourceDocument when
        inViewSourceMode() is specified.

        Test: fast/frames/viewsource-on-image-file.html

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createTokenizer):
        * html/HTMLViewSourceDocument.h:

2009-06-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=25529
        [Gtk] Expected states not exposed to assistive technologies

        Add support for VISIBLE, EDITABLE and SENSITIVE states.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (setAtkStateSetFromCoreObject):

2009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Darin Adler.

        "Pointer to incomplete class type is not allowed" error with RVCT
        https://bugs.webkit.org/show_bug.cgi?id=26721

        Based on Norbert Leser's work.

        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode):
        * dom/Node.cpp:
        (WebCore::Node::dispatchMouseEvent):
        * dom/Node.h: Remove the default value for PassRefPtr<Event> args,
        to eliminate dependency on the Event class definition

2009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Maciej Stachowiak.

        [Qt] Build fix after r45183
        https://bugs.webkit.org/show_bug.cgi?id=26748

        * WebCore.pro:

2009-06-25  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=26681
        <rdar://problem/7003461> Problem updating applicationCache when server returns 304

        Test: http/tests/appcache/update-cache.html

        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse):
        We're already done with the resource, don't try to load it again.

2009-06-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Oliver Hunt.
        
        <rdar://problem/6990481>
        
        Handle perspective computation on non-layer objects.

        Test: transforms/3d/general/perspective-non-layer.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::getTransformFromContainer):

2009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Eric Seidel.

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

        Use flex box in the mediaControls.css style, to nicely scale if a button gets
        dynamically added or removed.

        Media tests results are affected by this changes.

        * css/mediaControls.css:
        * css/mediaControlsQT.css:

2009-06-25  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Darin Fisher.

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

        Move relavent part of setDefaultFontSize from RenderThemeChromiumWin
        up into RenderThemeChromiumSkia.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::setDefaultFontSize):
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::setDefaultFontSize):
        * rendering/RenderThemeChromiumWin.h:

2009-06-25  Matt Perry  <mpcomplete@chromium.org>

        Reviewed by Darin Fisher.

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

        Add V8-only methods to FrameLoaderClient that V8 can use to send
        out notifications when it creates/destroys a script context.

        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
        (WebCore::EmptyFrameLoaderClient::didDestroyScriptContext):
        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::didCreateScriptContext):
        (WebCore::FrameLoaderClient::didDestroyScriptContext):

2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by David Levin.

        Correct a few typos that snuck in when I was reformatting CodeGeneratorV8.pm
        to match WebKit style.

        * bindings/scripts/CodeGeneratorV8.pm: Corrected lots of typos.

2009-06-25  Adam Langley  <agl@google.com>

        TBRed: fix for Chromium tree.

        Add missing include for r45199.

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

        r45199 added a reference to throwError without including V8Proxy.h

        * bindings/v8/WorkerScriptController.cpp:

2009-06-25  Adam Langley  <agl@google.com>

        TBRed: fix for Chromium tree.

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

        Fix V8IsolatedWorld to point to the correct include file.

        The deprecated v8_index.h was removed from the Chromium tree in r19291
        and upstreamed into WebKit with r45193. However V8IsolatedWorld
        slipped in between the cracks and broke the build.

        * bindings/v8/V8IsolatedWorld.h: update with new header location.

2009-06-25  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser  <simon.fraser@apple.com>.

        https://bugs.webkit.org/show_bug.cgi?id=26651
        
        Preference is named "WebKitAcceleratedCompositingEnabled"
        and is a boolean value. When false, prevents compositing layers from
        being created, which prevents hardware animation from running.
        Also forces video to do software rendering. Added a cache for
        the flag in RenderLayerCompositing and made it all work
        on-the-fly when the flag is changed while a page is loaded.

        * WebCore.base.exp:
        * page/FrameView.cpp:
        (WebCore::FrameView::updateCompositingLayers):
        * page/Settings.cpp:
        (WebCore::setNeedsReapplyStylesInAllFrames):
        (WebCore::Settings::Settings):
        (WebCore::Settings::setAcceleratedCompositingEnabled):
        * page/Settings.h:
        (WebCore::Settings::acceleratedCompositingEnabled):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hasAcceleratedCompositing):
        (WebCore::RenderLayer::updateTransform):
        (WebCore::RenderLayer::currentTransform):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateLayerTransform):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::enableCompositingMode):
        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        (WebCore::RenderLayerCompositor::needsToBeComposited):
        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
        * rendering/RenderLayerCompositor.h:
        (WebCore::RenderLayerCompositor::hasAcceleratedCompositing):
        * rendering/RenderObject.h:
        (WebCore::makeMatrixRenderable):

2009-06-25  Jian Li  <jianli@chromium.org>

        Reviewed by Dimitri Glazkov.

        Bug 26701: Implement the missing code for "FIXME: Need to return an
        exception" in WorkerScriptController::evaluate for v8 bindings.
        https://bugs.webkit.org/show_bug.cgi?id=26701

        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):

2009-06-25  Nate Chapin  <japhet@chromium.org>

        Reviewed by Dimitri Glazkov.

        Upstream V8Index.

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

        * bindings/v8/V8Index.cpp: Added.
        (WebCore::V8ClassIndex::GetFactory): Moved from src.chromium.org.
        (WebCore::V8ClassIndex::GetCache): Moved from src.chromium.org.
        * bindings/v8/V8Index.h:
        (WebCore::V8ClassIndex::): Moved from src.chromium.org.
        (WebCore::V8ClassIndex::ToInt): Moved from src.chromium.org.
        (WebCore::V8ClassIndex::FromInt): Moved from src.chromium.org.

2009-06-25  Adam Langley  <agl@google.com>

        Reviewed by Darin Fisher.

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

        This is hopefully the last step before our renderers can run
        cleanly in a chroot.

        WebKit needs to be able to ask for the correct font to use in
        the case that the current font doesn't include glyphs for
        certain code points. Currently we make a fontconfig call in our
        WebKit port to handle this.

        This patch changes this so that the call is sent our via
        ChromiumBridge.

        http://codereview.chromium.org/132007

        This should not affect any layout tests.

        * platform/chromium/ChromiumBridge.h:
        * platform/graphics/chromium/FontCacheLinux.cpp:
        (WebCore::FontCache::getFontDataForCharacters):

2009-06-25  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26566
        Upstream these files from the chromium v8 code.  No tests were
        affected because this is essentially a code move.

        * bindings/v8/NPV8Object.cpp: Added.
        (allocV8NPObject):
        (freeV8NPObject):
        (listFromVariantArgs):
        (npIdentifierToV8Identifier):
        (npCreateV8ScriptObject):
        (NPN_Invoke):
        (NPN_InvokeDefault):
        (NPN_Evaluate):
        (NPN_EvaluateHelper):
        (NPN_GetProperty):
        (NPN_SetProperty):
        (NPN_RemoveProperty):
        (NPN_HasProperty):
        (NPN_HasMethod):
        (NPN_SetException):
        (NPN_Enumerate):
        (NPN_Construct):
        * bindings/v8/NPV8Object.h: Added.
        (PrivateIdentifier::):
        * bindings/v8/V8NPUtils.cpp: Added.
        (convertV8ObjectToNPVariant):
        (convertNPVariantToV8Object):
        (getStringIdentifier):
        * bindings/v8/V8NPUtils.h: Added.

2009-06-25  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Dimitri Glazkov.

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

        Windows Chromium bug fix: save context of destination canvas in
        TransparencyWin::compositeTextComposite() before the function
        modifies the context.

        Test: fast/canvas/translate-text.html

        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::compositeTextComposite):

2009-06-25  Patrick Mueller  <Patrick_Mueller@us.ibm.com>

        Reviewed by Timothy Hatcher.

        Show the filename and first line for "(program)" in the Profiler/Debugger
        https://bugs.webkit.org/show_bug.cgi?id=25475

        Add support to associate a sourceURL with an eval()'d string
        via a @sourceURL comment.  Currently the sourceURL is only available
        in the script debugger, not in the console or profiler, but it's
        most needed in the script debugger.

        * English.lproj/localizedStrings.js: added new "(program): %s" string
        * inspector/front-end/Script.js:
        (WebInspector.Script): if no sourceURL is available for the Script,
        search for a comment of the form //@ sourceURL=(url) to use
        as the sourceURL instead.
        * manual-tests/inspector/named-evals.html: Added.

2009-06-25  John Gregg  <johnnyg@google.com>

        Reviewed by Sam Weinig.

        Bug 23721: Changing dropdown's selectedIndex within onchange handler fires another onchange
        https://bugs.webkit.org/show_bug.cgi?id=23721

        onchange events fire when a SELECT element has
        focus and the selectedIndex is updated by script in some way--either
        during another onchange, onkeypress, onfocus, or timer--and then
        focus is lost. 

        Fixed by making a separate method for user-driven selectedIndex 
        changes, leaving scripts to use one which doesn't cause onchange to
        be queued.
        
        Test: fast/forms/select-script-onchange.html

        * dom/SelectElement.cpp: check if the pending change is user driven
        before calling onchange
        (WebCore::SelectElement::menuListOnChange):
        (WebCore::SelectElement::setSelectedIndex):
        * dom/SelectElement.h: store whether the pending change is user driven
        (WebCore::SelectElementData::userDrivenChange):
        (WebCore::SelectElementData::setUserDrivenChange):
        * html/HTMLSelectElement.cpp: split into two methods -- script version
        [non-user-driven] corresponds to IDL defined property name
        (WebCore::HTMLSelectElement::setSelectedIndex):
        (WebCore::HTMLSelectElement::setSelectedIndexByUser):
        * html/HTMLSelectElement.h: 
        * rendering/RenderMenuList.cpp: use ByUser method when coming through
        the renderer
        (WebCore::RenderMenuList::valueChanged):

2009-06-25  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

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

        Combined LocalStorageArea and SessionStorageArea into StorageArea since
        (after my other refactorings) there are no longer substantial
        differences between the two.

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::storageArea):
        * storage/LocalStorage.h:
        * storage/LocalStorageArea.cpp: Removed.
        * storage/LocalStorageArea.h: Removed.
        * storage/SessionStorage.cpp:
        (WebCore::SessionStorage::copy):
        (WebCore::SessionStorage::storageArea):
        * storage/SessionStorage.h:
        * storage/SessionStorageArea.cpp: Removed.
        * storage/SessionStorageArea.h: Removed.
        * storage/StorageArea.cpp:
        (WebCore::StorageArea::createLocalStorage):
        (WebCore::StorageArea::StorageArea):
        (WebCore::StorageArea::createSessionStorage):
        (WebCore::StorageArea::copy):
        (WebCore::StorageArea::setItem):
        (WebCore::StorageArea::removeItem):
        (WebCore::StorageArea::clear):
        (WebCore::StorageArea::scheduleFinalSync):
        (WebCore::StorageArea::blockUntilImportComplete):
        (WebCore::StorageArea::dispatchStorageEvent):
        * storage/StorageArea.h:
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::StorageAreaSync):
        (WebCore::StorageAreaSync::scheduleFinalSync):
        (WebCore::StorageAreaSync::syncTimerFired):
        (WebCore::StorageAreaSync::performImport):
        * storage/StorageAreaSync.h:
        * storage/StorageSyncManager.h:

2009-06-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=26671
          <rdar://problem/7001880> Safari 4.0 crashes in
          WebCore::DOMTimer::fired()

        Test: fast/dom/style-sheet-candidate-remove-unrendered-document.html

        When a "style sheet candidate" element is removed from a document,
        call Document::removeStyleSheetCandidateNode() regardless of whether
        the document is rendered. Otherwise, the document's style sheet
        candidate set can end up containing stale references.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::removedFromDocument):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::removedFromDocument):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::removedFromDocument):

2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Fisher.

        Update CodeGeneratorV8.pm to sync up with the changes downstream.

        * bindings/scripts/CodeGeneratorV8.pm: Added HTMLFrameSetElement check,
          FileList as a ref-counted type, and DataGridColumn as typeCanFailConversion.

2009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        Add FileList.h include to fix Chromium build.

        * platform/chromium/ClipboardChromium.cpp: Added FileList.h include.

2009-06-25  Joseph Pecoraro  <joepeck02@gmail.com>

        Reviewed by Jan Alonzo.

        Bug 26489: Web Inspector: Typo in DatabaseQuery Error Message
        https://bugs.webkit.org/show_bug.cgi?id=26489

        Fixed a Typo in a Web Inspector error message.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DatabaseQueryView.js:
        (WebInspector.DatabaseQueryView.prototype._queryError):

2009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>

        Fix the Qt build, add missing StorageAreaSync files to the build.

        * WebCore.pro:

2009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by and done with Tor Arne Vestbø.

        Fix shortcut keyboard handling with plugins on the Qt/Mac build.

        When we receive shortcut events like Ctrl+V then the text in the QKeyEvent is
        empty. If we're asked to disambiguate the event into a Char keyboard event,
        we try to detect this situation and still set the text, to ensure that the
        general event handling sends a key press event after this disambiguation.

        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):

2009-06-25  Eric Seidel  <eric@webkit.org>

        Build fix only, no review.

        Add FileList.h and NotImplemented.h includes in an attempt to fix bots.

        * platform/gtk/ClipboardGtk.cpp:
        * platform/qt/ClipboardQt.cpp:
        * platform/win/ClipboardWin.cpp:
        * platform/wx/ClipboardWx.cpp:

2009-05-21  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej Stachowiak.

        Expose files in the clipboard in ondrop events
        https://bugs.webkit.org/show_bug.cgi?id=25916

        Make it possible for applications like gmail to implement
        drag and drop of attachments onto email messages.

        This patch exposes an event.dataTransfer.files accessor
        on the drop event.  No information is exposed during dragover.
        This follows the HTML 5 drag and drop security model:
        http://www.w3.org/TR/html5/editing.html#security-risks-in-the-drag-and-drop-model
        The test http/tests/security/clipboard/clipboard-file-access.html
        verifies this behavior.

        Internet Explorer shows historical documentation of supporting
        getData('File') as a way of exposing files on the pasteboard.  The current version of their docs:
        http://msdn.microsoft.com/en-us/library/ms537658(VS.85).aspx
        has removed this reference (as far as I can tell IE never implemented it)
        I have a printed copy of that URL from 2008 on my desk describing getData('File') in IE.
        IE does not follow the HTML5 clipboard security model and always allows access to the full clipboard, even on dragover.

        I choose not to use IE's getData('File') and instead added .files
        so that the accessor could have a type, matching WebKit's existing
        .files accessor on HTMLInputElement.

        Mozilla has equivalent file access:
        event.dataTransfer.mozGetDataAt("application/x-moz-file", 0);
        which also does not return a typed value.
        https://developer.mozilla.org/En/DragDrop/Recommended_Drag_Types#Dragging_Files

        This is only implemented for Mac WebKit.  All other platforms (including Apple's Win WebKit)
        have incomplete Clipboard implementations and will require experts from those platforms
        to add this functionality.  Right now they all have Clipboard*::files() methods which call notImplemented();

        Test: http/tests/security/clipboard/clipboard-file-access.html

        * dom/Clipboard.h:
        * dom/Clipboard.idl:
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::ClipboardChromium::files):
        * platform/chromium/ClipboardChromium.h:
        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::ClipboardGtk::files):
        * platform/gtk/ClipboardGtk.h:
        * platform/mac/ClipboardMac.h:
        * platform/mac/ClipboardMac.mm:
        (WebCore::absoluteURLsFromPasteboardFilenames):
        (WebCore::absoluteURLsFromPasteboard):
        (WebCore::ClipboardMac::files):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::files):
        * platform/qt/ClipboardQt.h:
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::files):
        * platform/win/ClipboardWin.h:
        * platform/wx/ClipboardWx.cpp:
        (WebCore::ClipboardWx::files):
        * platform/wx/ClipboardWx.h:

2009-06-25  Eric Seidel  <eric@webkit.org>

        No review, only completing revert of r45144.

        Add back files deleted by r45144.

        * storage/LocalStorageArea.cpp: Added.
        (WebCore::LocalStorageArea::create):
        (WebCore::LocalStorageArea::LocalStorageArea):
        (WebCore::LocalStorageArea::scheduleFinalSync):
        (WebCore::LocalStorageArea::itemChanged):
        (WebCore::LocalStorageArea::itemRemoved):
        (WebCore::LocalStorageArea::areaCleared):
        (WebCore::LocalStorageArea::blockUntilImportComplete):
        (WebCore::LocalStorageArea::dispatchStorageEvent):
        * storage/LocalStorageArea.h: Added.
        * storage/SessionStorageArea.cpp: Added.
        (WebCore::SessionStorageArea::copy):
        (WebCore::SessionStorageArea::SessionStorageArea):
        (WebCore::SessionStorageArea::itemChanged):
        (WebCore::SessionStorageArea::itemRemoved):
        (WebCore::SessionStorageArea::areaCleared):
        (WebCore::SessionStorageArea::blockUntilImportComplete):
        (WebCore::SessionStorageArea::dispatchStorageEvent):
        * storage/SessionStorageArea.h: Added.
        (WebCore::SessionStorageArea::create):

2009-06-25  Eric Seidel  <eric@webkit.org>

        No review, reverting r45144 only.

        Roll out r45144 after 18 test failures appeared on the bots.
        https://bugs.webkit.org/show_bug.cgi?id=26698

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::storageArea):
        * storage/LocalStorage.h:
        * storage/SessionStorage.cpp:
        (WebCore::SessionStorage::copy):
        (WebCore::SessionStorage::storageArea):
        * storage/SessionStorage.h:
        * storage/StorageArea.cpp:
        (WebCore::StorageArea::StorageArea):
        (WebCore::StorageArea::~StorageArea):
        (WebCore::StorageArea::setItem):
        (WebCore::StorageArea::removeItem):
        (WebCore::StorageArea::clear):
        * storage/StorageArea.h:
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::StorageAreaSync):
        (WebCore::StorageAreaSync::scheduleFinalSync):
        (WebCore::StorageAreaSync::syncTimerFired):
        (WebCore::StorageAreaSync::performImport):
        * storage/StorageAreaSync.h:
        * storage/StorageSyncManager.h:

2009-06-24  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

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

        Combined LocalStorageArea and SessionStorageArea into StorageArea since
        (after my other refactorings) there are no longer substantial
        differences between the two.

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::storageArea):
        * storage/LocalStorage.h:
        * storage/LocalStorageArea.cpp: Removed.
        * storage/LocalStorageArea.h: Removed.
        * storage/SessionStorage.cpp:
        (WebCore::SessionStorage::copy):
        (WebCore::SessionStorage::storageArea):
        * storage/SessionStorage.h:
        * storage/SessionStorageArea.cpp: Removed.
        * storage/SessionStorageArea.h: Removed.
        * storage/StorageArea.cpp:
        (WebCore::StorageArea::createLocalStorage):
        (WebCore::StorageArea::StorageArea):
        (WebCore::StorageArea::createSessionStorage):
        (WebCore::StorageArea::copy):
        (WebCore::StorageArea::setItem):
        (WebCore::StorageArea::removeItem):
        (WebCore::StorageArea::clear):
        (WebCore::StorageArea::scheduleFinalSync):
        (WebCore::StorageArea::blockUntilImportComplete):
        (WebCore::StorageArea::dispatchStorageEvent):
        * storage/StorageArea.h:
        * storage/StorageAreaSync.cpp:
        (WebCore::StorageAreaSync::StorageAreaSync):
        (WebCore::StorageAreaSync::scheduleFinalSync):
        (WebCore::StorageAreaSync::syncTimerFired):
        (WebCore::StorageAreaSync::performImport):
        * storage/StorageAreaSync.h:
        * storage/StorageSyncManager.h:

2009-06-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - fix <rdar://problem/7001817> REGRESSION (r41902): Base position track
          at UCSC Genome Browser doesn't work because image map prevents img
          from hit-testing

        Test: fast/replaced/image-map-2.html

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint): Do not reset 'inside' to false if
        the image map failed the hit test.

2009-06-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

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

        Refactor V8DOMMap to support isolated worlds.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluateInNewWorld):
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
        (WebCore::DOMDataStore::allStores):
        (WebCore::DOMDataStore::allStoresMutex):
        (WebCore::DOMDataStore::domData):
        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
        (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
        (WebCore::):
        (WebCore::MainThreadDOMData::MainThreadDOMData):
        (WebCore::MainThreadDOMData::getStore):
        (WebCore::ChildThreadDOMData::ChildThreadDOMData):
        (WebCore::ChildThreadDOMData::getStore):
        (WebCore::DOMDataStore::DOMDataStore):
        (WebCore::DOMDataStore::~DOMDataStore):
        (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
        (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
        (WebCore::::forget):
        (WebCore::getDOMNodeMap):
        (WebCore::getDOMObjectMap):
        (WebCore::getActiveDOMObjectMap):
        (WebCore::getDOMSVGElementInstanceMap):
        (WebCore::getDOMSVGObjectWithContextMap):
        (WebCore::DOMData::getCurrent):
        (WebCore::DOMData::handleWeakObject):
        (WebCore::DOMData::ensureDeref):
        (WebCore::weakDOMObjectCallback):
        (WebCore::weakActiveDOMObjectCallback):
        (WebCore::weakNodeCallback):
        (WebCore::weakSVGElementInstanceCallback):
        (WebCore::weakSVGObjectWithContextCallback):
        (WebCore::DOMData::derefObject):
        (WebCore::DOMData::derefDelayedObjects):
        (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
        (WebCore::DOMData::removeObjectsFromWrapperMap):
        (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
        (WebCore::visitDOMNodesInCurrentThread):
        (WebCore::visitDOMObjectsInCurrentThread):
        (WebCore::visitActiveDOMObjectsInCurrentThread):
        (WebCore::visitDOMSVGElementInstancesInCurrentThread):
        (WebCore::visitSVGObjectsInCurrentThread):
        * bindings/v8/V8DOMMap.h:
        (WebCore::DOMDataStoreHandle::getStore):
        * bindings/v8/V8IsolatedWorld.cpp: Added.
        (WebCore::getIsolatedWorldKey):
        (WebCore::contextWeakReferenceCallback):
        (WebCore::V8IsolatedWorld::evaluate):
        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
        (WebCore::V8IsolatedWorld::~V8IsolatedWorld):
        (WebCore::V8IsolatedWorld::getEntered):
        * bindings/v8/V8IsolatedWorld.h: Added.
        (WebCore::V8IsolatedWorld::getDOMDataStore):

2009-06-24  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Timothy Hatcher.

        Bug 26604: Search doesn't work in Web Inspector Profiler
        https://bugs.webkit.org/show_bug.cgi?id=26604

        Seems like search was damaged in revision 42808.

        * inspector/front-end/ProfileView.js:
        (WebInspector.ProfileView.prototype.refresh):
        Here and in other functions: nodes we're searching in are profile data grid
        nodes, so there is no more need for '_dataGridNode' references.
        (WebInspector.ProfileView.prototype.searchCanceled):
        (WebInspector.ProfileView.prototype.performSearch.matchesQuery):
        Fixed accidental semicolon that caused 'matchesQuery' always return true.
        (WebInspector.ProfileView.prototype.performSearch):
        To perform search correctly in the case of bottom up tree, we need to populate
        the tree, because there's no 1-to-1 correspondence between profile nodes and
        data grid nodes in this case.
        (WebInspector.ProfileView.prototype._jumpToSearchResult):

2009-06-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.
        
        <rdar://problem/6450239&6574516>
    
        Fix flashing issues caused by compositing layers rendering content before
        a deferred layout has happened. Because the -viewWillDraw machinery doesn't
        work for composited layers, we need to use scheduleViewUpdate() to queue
        up a layout via the run loop observer in WebKit, whenever we know we
        are going to be painting soon.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::setContentsNeedDisplay):
        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):

2009-06-24  David Levin  <levin@chromium.org>

        Fix all builds.

        * ForwardingHeaders/wtf/FastAllocBase.h: Added.

2009-06-24  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

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

        Split the syncing portions of LocalStorageArea into StorageAreaSync.
        This name will make more sense in the next patch (in this set) when
        LocalStorageArea and SessionStorageArea are merged to become simply
        StorageArea.  (Thus the synching portion of StorageArea is in
        StorageAreaSync.)

        This looks like a big patch, but really all it's doing is splitting
        code and patching split-related things up.

        * GNUmakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * storage/LocalStorageArea.cpp:
        (WebCore::LocalStorageArea::create):
        (WebCore::LocalStorageArea::LocalStorageArea):
        (WebCore::LocalStorageArea::scheduleFinalSync):
        (WebCore::LocalStorageArea::itemChanged):
        (WebCore::LocalStorageArea::itemRemoved):
        (WebCore::LocalStorageArea::areaCleared):
        (WebCore::LocalStorageArea::blockUntilImportComplete):
        * storage/LocalStorageArea.h:
        * storage/LocalStorageTask.cpp:
        (WebCore::LocalStorageTask::LocalStorageTask):
        * storage/LocalStorageTask.h:
        (WebCore::LocalStorageTask::createImport):
        (WebCore::LocalStorageTask::createSync):
        * storage/LocalStorageThread.cpp:
        (WebCore::LocalStorageThread::scheduleImport):
        (WebCore::LocalStorageThread::scheduleSync):
        * storage/LocalStorageThread.h:
        * storage/SessionStorageArea.cpp:
        (WebCore::SessionStorageArea::blockUntilImportComplete):
        * storage/SessionStorageArea.h:
        * storage/StorageArea.h:
        * storage/StorageAreaSync.cpp: Copied from WebCore/storage/LocalStorageArea.cpp.
        * storage/StorageAreaSync.h: Copied from WebCore/storage/LocalStorageArea.h.
        * storage/StorageSyncManager.cpp:
        (WebCore::StorageSyncManager::scheduleImport):
        (WebCore::StorageSyncManager::scheduleSync):
        * storage/StorageSyncManager.h:

2009-06-24  Adam Treat  <adam.treat@torchmobile.com>

        Fix Qt build.

        * WebCore.pro:

2009-06-24  David Levin  <levin@chromium.org>

        Reviewed by David Hyatt.

        Bug 26696: Member functions in DataGridColumnList should return pointers instead of PassRefPtr.
        https://bugs.webkit.org/show_bug.cgi?id=26696

        * html/DataGridColumnList.cpp:
        (WebCore::DataGridColumnList::itemWithName):
        (WebCore::DataGridColumnList::add):
        * html/DataGridColumnList.h:
        (WebCore::DataGridColumnList::item):
        (WebCore::DataGridColumnList::primaryColumn):
        (WebCore::DataGridColumnList::sortColumn):

2009-06-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave "Messy" Hyatt.

        Little bit of style cleanup.

        * html/DataGridColumn.cpp:
        * html/DataGridColumn.h:
        * html/DataGridColumn.idl:
        * html/DataGridColumnList.cpp:
        * html/DataGridColumnList.h:
        * html/DataGridColumnList.idl:
        * html/HTMLDataGridCellElement.cpp:
        * html/HTMLDataGridCellElement.h:
        * html/HTMLDataGridCellElement.idl:
        * html/HTMLDataGridColElement.cpp:
        * html/HTMLDataGridColElement.h:
        * html/HTMLDataGridColElement.idl:
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridElement.idl:
        * html/HTMLDataGridRowElement.cpp:
        * html/HTMLDataGridRowElement.h:
        * html/HTMLDataGridRowElement.idl:

2009-06-24  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Oliver Hunt.

        Bug 26668: AX: need a way to retrieve the language for an element
        
        Provides a way to retrieve the language associated with a specific accessibility element.

        Test: accessibility/language-attribute.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::language):
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::language):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2009-06-24  Brady Eidson  <beidson@apple.com>

        Reviewed by Dan Bernstein.
        
        <rdar://problem/6893811> Instead of downloading files linked from Google Earth, file contents displayed in browser window as text.

        * platform/network/mac/WebCoreURLResponse.mm:
        (createBinaryExtensionsSet): Add '.kmz' to the list of known-to-be-binary extensions.

2009-06-24  Nicolas Weber  <thakis@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26685
        Accomodate for backwards-incompatible skia api changes.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::setCompositeOperation):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::paintSkBitmap):
        (WebCore::Image::drawPattern):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (PlatformContextSkia::State::State):
        (PlatformContextSkia::setupPaintCommon):
        (PlatformContextSkia::setXfermodeMode):
        (PlatformContextSkia::applyClipFromImage):
        * platform/graphics/skia/PlatformContextSkia.h:
        * platform/graphics/skia/SkiaUtils.cpp:
        (WebCore::):
        (WebCore::WebCoreCompositeToSkiaComposite):
        * platform/graphics/skia/SkiaUtils.h:

2009-06-24  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix. Add files that were added in r45093 and r45096

        * GNUmakefile.am:

2009-06-24  Brady Eidson  <beidson@apple.com>

        Fix 64-bit SnowLeopard build.

        * html/DataGridColumnList.cpp:
        (WebCore::DataGridColumnList::remove):
        (WebCore::DataGridColumnList::move):

2009-06-24  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26392
        Bug 26392: In html, modification of xlink:href of an newly inserted svg image does not work.
        https://bugs.webkit.org/show_bug.cgi?id=26328
        Bug 26328: changing href attribute of svg images does not work when changing display attribute as well

        React to href updates even when there is no renderer, i.e. display=none.

        Tests: svg/custom/js-update-image-and-display.svg
               svg/custom/js-update-image-and-display2.svg
               svg/custom/js-update-image-and-display3.svg

        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::svgAttributeChanged):

2009-06-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        Add basic back-end column support to datagrid.

        Added fast/dom/HTMLDataGridElement/ column tests.

        * DerivedSources.cpp:
        * DerivedSources.make:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/DataGridColumn.cpp: Added.
        (WebCore::DataGridColumn::setPrimary):
        * html/DataGridColumn.h: Added.
        (WebCore::DataGridColumn::create):
        (WebCore::DataGridColumn::id):
        (WebCore::DataGridColumn::setId):
        (WebCore::DataGridColumn::label):
        (WebCore::DataGridColumn::setLabel):
        (WebCore::DataGridColumn::type):
        (WebCore::DataGridColumn::setType):
        (WebCore::DataGridColumn::sortable):
        (WebCore::DataGridColumn::setSortable):
        (WebCore::DataGridColumn::sortDirection):
        (WebCore::DataGridColumn::setSortDirection):
        (WebCore::DataGridColumn::primary):
        (WebCore::DataGridColumn::detachFromColumnList):
        (WebCore::DataGridColumn::DataGridColumn):
        * html/DataGridColumn.idl: Added.
        * html/DataGridColumnList.cpp: Added.
        (WebCore::DataGridColumnList::~DataGridColumnList):
        (WebCore::DataGridColumnList::itemWithName):
        (WebCore::DataGridColumnList::add):
        (WebCore::DataGridColumnList::remove):
        (WebCore::DataGridColumnList::move):
        (WebCore::DataGridColumnList::clear):
        (WebCore::DataGridColumnList::primaryColumnChanged):
        * html/DataGridColumnList.h: Added.
        (WebCore::DataGridColumnList::create):
        (WebCore::DataGridColumnList::length):
        (WebCore::DataGridColumnList::item):
        (WebCore::DataGridColumnList::primaryColumn):
        (WebCore::DataGridColumnList::sortColumn):
        * html/DataGridColumnList.idl: Added.
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::sortable):
        (WebCore::HTMLDataGridColElement::setSortable):
        (WebCore::HTMLDataGridColElement::sortDirection):
        (WebCore::HTMLDataGridColElement::setSortDirection):
        * html/HTMLDataGridColElement.h:
        * html/HTMLDataGridColElement.idl:
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
        * html/HTMLDataGridElement.h:
        (WebCore::HTMLDataGridElement::columns):
        * html/HTMLDataGridElement.idl:
        * rendering/RenderDataGrid.cpp:
        (WebCore::RenderDataGrid::paintObject):
        (WebCore::RenderDataGrid::paintColumnHeaders):
        (WebCore::RenderDataGrid::rebuildColumns):
        * rendering/RenderDataGrid.h:
        (WebCore::RenderDataGrid::gridElement):

2009-06-24  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Adam Roben.

        Partially fixes: https://bugs.webkit.org/show_bug.cgi?id=24735
        (<rdar://problem/5015942>)
        Where on windows it was not possible to set an element as the drag
        image using setDragImage on the dataTransfer object.
        
        Does not "fix" the case of dragging a link where the default link image
        is still used, even when the -webkit-user-drag is set to "element". This
        is the same behavior as is found on OS X.
        
        Added a manual test because it is not possible to check that what is
        contained in the image snapshot is indeed the requested element.

        * dom/Clipboard.h:
        (WebCore::Clipboard::dragImageElement):
        Made getting the raw pointer from the RefPtr a const operation.
        * manual-tests/drag-with-div-or-image-as-data-image.html: Added.
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::createDragImage):
        Get an image of the rendered element and its subtree.

2009-06-24  Darin Fisher  <darin@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26683
        Fix Chromium build bustage: Add custom binding for HTMLDataGridElement.dataSource

        This change just adds a stub implementation for now to help fix the build.

        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Added.

2009-06-24  David Kilzer  <ddkilzer@apple.com>

        Build fixes for ENABLE(PLUGIN_PROXY_FOR_VIDEO)

        Reviewed by Adam Roben.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::deliverNotification): Removed
        ExceptionCode parameter from togglePlayState().
        (WebCore::HTMLMediaElement::initialURL): Don't convert a KURL
        object to a String when assigning to a KURL variable.

2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Adam Treat.

        Save memory by not storing attribute values in member variables, if not absolutely needed.
        Also fixes bugs where we're substituting variables too early (noticeable with the upcoming <select> element).

        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::parseMappedAttribute):
        (WebCore::WMLDoElement::label):
        * wml/WMLDoElement.h:
        * wml/WMLFieldSetElement.cpp:
        (WebCore::WMLFieldSetElement::insertedIntoDocument):
        * wml/WMLFieldSetElement.h:
        * wml/WMLOptGroupElement.cpp:
        (WebCore::WMLOptGroupElement::title):
        (WebCore::WMLOptGroupElement::parseMappedAttribute):
        (WebCore::WMLOptGroupElement::groupLabelText):
        * wml/WMLOptGroupElement.h:
        * wml/WMLPostfieldElement.cpp:
        (WebCore::WMLPostfieldElement::name):
        (WebCore::WMLPostfieldElement::value):
        (WebCore::WMLPostfieldElement::encodeData):
        * wml/WMLPostfieldElement.h:
        * wml/WMLSetvarElement.cpp:
        (WebCore::WMLSetvarElement::parseMappedAttribute):
        (WebCore::WMLSetvarElement::name):
        (WebCore::WMLSetvarElement::value):
        * wml/WMLSetvarElement.h:
        * wml/WMLTimerElement.cpp:
        (WebCore::WMLTimerElement::parseMappedAttribute):
        (WebCore::WMLTimerElement::insertedIntoDocument):
        (WebCore::WMLTimerElement::timerFired):
        (WebCore::WMLTimerElement::start):
        (WebCore::WMLTimerElement::value):
        * wml/WMLTimerElement.h:

2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Adam Roben.

        Forgot to initialize m_task member variable. Results in crashes sometimes.

        * wml/WMLAnchorElement.cpp:
        (WebCore::WMLAnchorElement::WMLAnchorElement):

2009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Not reviewed. Forgot to include within last patch.

        * manual-tests/wml/card-title-attr.wml: Added.

2009-06-24  Wajahat Siddiqui <wajahatmeister@gmail.com>
 
        Reviewed by Nikolas Zimmermann.

        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26474
        Adding WML <card> title attribute handling.

        * wml/WMLElement.h: marking parseValueSubstitutingVariableReferences and parseValueForbiddingVariableReferences as const
        * wml/WMLElement.cpp:
        * wml/WMLCardElement.h: 
        (WebCore::WMLCardElement::title):
        * wml/WMLCardElement.cpp:
        * wml/manual-test/card-title-attr.wml: Manual test  
 
2009-06-24  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Fix the build without ENABLE_VIDEO.

        * html/CanvasRenderingContext2D.cpp: Add #if ENABLE guards.
        * html/CanvasRenderingContext2D.h: Ditto.

2009-06-24  Siddhartha Chattopadhyay  <sidchat@google.com>

        Reviewed by Eric Seidel.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26200 which I introduced earlier. I had
        the smartReplace set TRUE initially, which was wrong since the purpose of this call is
        to just replace the selection, and place the caret at the end of the selection it replaced.

        * editing/Editor.cpp:
        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
        * manual-tests/textarea-caret-position-after-auto-spell-correct.html: Added.

2009-06-24  Kevin Watters  <kevinwatters@gmail.com>

        Reviewed by Kevin Ollivier.

        Don't use an unsigned int for intervalInMS because we sometimes initialize
        it with a negative value.

        * platform/wx/SharedTimerWx.cpp:
        (WebCore::setSharedTimerFireTime):

2009-06-24  Eric Seidel  <eric@webkit.org>

        No review, build fix only.

        The previous checkin had an improper merge.  This fixes the build.

        * page/DragController.cpp:
        (WebCore::DragController::tryDocumentDrag):

2009-06-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=25922
        JS setting dropEffect = "none" causes tryDHTMLDrag
        to return DragOperationNone.  Which is also the value
        tryDHTMLDrag previously used to indicate JS did not
        want to handle the drag.

        Make it possible for the DragController::try* methods
        to return a bool to indicate if javascript accepted
        or rejected the drag event, separate from the DragOperation.

        Tests:
        - fast/events/drag-to-navigate.html
        - fast/events/prevent-drag-to-navigate.html

        * page/DragController.cpp:
        (WebCore::DragController::dragEnteredOrUpdated):
        (WebCore::DragController::tryDocumentDrag):
        (WebCore::defaultOperationForDrag):
        (WebCore::DragController::tryDHTMLDrag):
        * page/DragController.h:

2009-06-23  Oliver Hunt  <oliver@apple.com> and Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Sam Weinig and Dave Hyatt.

        <rdar://problem/6164797> Add Canvas API to allow drawing of <video> frames
        <https://bugs.webkit.org/show_bug.cgi?id=25920>

        Add support for drawing the contents of the video element to the canvas
        in accordance with the current HTML5 draft.

        Test: media/video-canvas.html

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::drawImage):
          Standard custom bindings stuff we need to do for all canvas methods.
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::size): Helper function for finding the size of a video element
        (WebCore::CanvasRenderingContext2D::checkOrigin): moved up in the file.
        (WebCore::CanvasRenderingContext2D::drawImage): The various overloads of HTML5's drawImage(<video>)
        * html/CanvasRenderingContext2D.h:
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::hasSingleSecurityOrigin):
          hasSingleSecurityOrigin is needed for security, currently all implementations are trivial
          as we force QT to maintain a single origin.
        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::paint): 
            Paint routine on video so we don't have to look at MediaPlayer directly
        * html/HTMLVideoElement.h:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::hasSingleSecurityOrigin):
        (WebCore::MediaPlayer::hasSingleSecurityOrigin):
            Default implementations of hasSingleSecurityOrigin
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
            A video may need a player now even if it is not visible.
        (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
            Always return true due to restrictions we've placed on QT.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::paint):
            Jump through some hoops to allow windows QT to draw to an intermediate buffer.
            In the long term we'd like to cache the HDC, but this will do for now.
        (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
            As for Mac we force QT to only allow same origin loads.

2009-06-23  Adam Langley  <agl@google.com>

        Reviewed by Eric Seidel.

        Chromium: Fix crash with inherited font-size in <option>

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

        In r42597 (https://bugs.webkit.org/show_bug.cgi?id=25244), I changed
        the <select> handing for Chromium to fix a rendering bug. However,
        although the font-size is correctly ignored, getRowHeight wasn't
        updated and so was calculating the height of the rows in an
        inconsistent manner. This can lead to a crash.

        * manual-tests/optgroup-empty-and-nested.html: adding test case for crash
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::getRowHeight):

2009-06-23  Brady Eidson  <beidson@apple.com>

        Patch by Antti Koivisto.
        Reviewed by Brady Eidson.

        <rdar://problem/6988010> Failed resources not reloaded when built against Tiger SDK

        A latent bug that cache revalidation uncovered.  When a CachedResource failed to load,
        it should always be revalidated upon reload.

        * loader/CachedResource.cpp:
        (WebCore::CachedResource::canUseCacheValidator):
        (WebCore::CachedResource::mustRevalidate):

2009-06-23  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/6634228> Crash in [NSScroller mouseDown:] beneath
          EventHandler::passMouseDownEventToWidget()

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMouseDownEventToWidget): Surround the
        -mouseDown: call with calls to Widget::beforeMouseDown() and
        Widget::afterMouseDown(), which prevent the widget's view hierarchy from
        being removed from its parent view while the scroller is tracking the
        mouse.

2009-06-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave Hyatt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26516
        Add initial implementation of DataGridDataSource

        - Initial implementation only supports the initialize callback function.

        Test: fast/dom/HTMLDataGridElement/DataGridDataSource-basic.html

        * WebCore.xcodeproj/project.pbxproj:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSDataGridDataSource.cpp: Added.
        (WebCore::JSDataGridDataSource::JSDataGridDataSource):
        (WebCore::JSDataGridDataSource::~JSDataGridDataSource):
        (WebCore::JSDataGridDataSource::initialize):
        * bindings/js/JSDataGridDataSource.h: Added.
        (WebCore::JSDataGridDataSource::create):
        (WebCore::JSDataGridDataSource::isJSDataGridDataSource):
        (WebCore::JSDataGridDataSource::jsDataSource):
        (WebCore::asJSDataGridDataSource):
        * bindings/js/JSHTMLDataGridElementCustom.cpp: Added.
        (WebCore::JSHTMLDataGridElement::listener):
        (WebCore::JSHTMLDataGridElement::setListener):
        * html/DataGridDataSource.h: Added.
        (WebCore::DataGridDataSource::~DataGridDataSource):
        (WebCore::DataGridDataSource::isJSDataGridDataSource):
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
        (WebCore::HTMLDataGridElement::setDataSource):
        (WebCore::HTMLDataGridElement::initializationTimerFired):
        * html/HTMLDataGridElement.h:
        (WebCore::HTMLDataGridElement::dataSource):
        * html/HTMLDataGridElement.idl:

2009-06-23  Ryosuke Niwa  <rniwa@google.com>

        Reviewed by Justin Garcia.

        Undo the changeset 21212 to fix the regression bug 14062.
        The changeset 21212 attempted to fix rdar://problem/5002441.
        The changeset 21212 modified InsertTextCommand::input so as to convert
        all spaces in text to non-breaking spaces for rdar://problem/5002441.
        However, the bug was originally caused by rebalanceWhitespaceAt
        and this workaround introduced a regression bug 14062.
        Because rebalanceWhitespaceAt appears to behave correctly now,
        the workaround introduced in 21212 is no longer needed.

        Test: editing/inserting/space-after-removeformat.html

        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input):

2009-06-23  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26523 <col> 
        elements width can't be changed with javascript

        This patch both fixes setting the width attribute directly in 
        JavaScript, and setting the width on the style attribute. 

        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::parseMappedAttribute): If we have a 
        new width, call setNeedsLayoutAndPrefWidthsRecalc()

        Call calcPrefWidths() on the table cols.
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcWidthArray):
        
        Call layoutIfNeeded on the table cols.
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):

        * rendering/RenderTableCol.cpp:
        (WebCore::RenderTableCol::clippedOverflowRectForRepaint): Use new 
        table() convenience function.
        (WebCore::RenderTableCol::calcPrefWidths): Just call 
        setPrefWidthsDirty(false) on ourself and our children.
        (WebCore::RenderTableCol::table):
        * rendering/RenderTableCol.h:

2009-06-23  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Dan Bernstein.

        Add logic to CSSStyleDeclaration::diff to deal with font-sizes that are 
        keyword values. When diff is called on a CSSStyleDeclaration, we check
        the keywordSize to see if font-size matches a keyword value.
        
        This ensures that when we diff a CSSMutableStyleDeclaration returned from
        copyInheritableProperties on a CSSComputedStyleDeclaration that we 
        correctly identify matching font-sizes.
        
        https://bugs.webkit.org/show_bug.cgi?id=26279

        Test: editing/inserting/font-size-clears-from-typing-style.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
        * css/CSSComputedStyleDeclaration.h:
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::cssPropertyMatches):
        (WebCore::CSSStyleDeclaration::diff):
        * css/CSSStyleDeclaration.h:

2009-06-23  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6994790> CrashTracer: [USER] 8 crashes in Mail trying to
        add a blank line to pasted Facebook content (under
        CompositeEditCommand::positionAvoidingSpecialElementBoundary)

        - Just added null checks and I will create a new bug to prevent the
        bad behavior.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):

2009-06-23  Simon Fraser  <simon.fraser@apple.com>

        Build fix.

        Wrap shouldDoSoftwarePaint() in #if USE(ACCELERATED_COMPOSITING) to avoid warning when 
        ACCELERATED_COMPOSITING is not defined.

        * rendering/RenderLayer.cpp:

2009-06-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.
        
        https://bugs.webkit.org/show_bug.cgi?id=24863
        
        Fix reflection painting on elements with compositing layers.

        Test: compositing/reflections/reflection-on-composited.html

        * rendering/RenderLayer.h:
        Add a new PaintLayerPaintingReflection flag which is set while painting inside
        reflections.
        (WebCore::RenderLayer::setPaintingInsideReflection):
        Add a setter so that RenderLayerBacking can call it.

        * rendering/RenderLayer.cpp:
        (WebCore::shouldDoSoftwarePaint):
        Utility to clarify the logic of when a composited layer should do a software paint.
        
        (WebCore::RenderLayer::paintLayer):
        Use shouldDoSoftwarePaint() to determine when to software-paint a reflected layer.
        Remove transform-related tests from the reflection-painting if test because they appear
        to be unnecessary.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
        Add the code to paint reflections to the composited layer painting method.
        
        * rendering/RenderReplica.cpp:
        (WebCore::RenderReplica::paint):
        Set the PaintLayerPaintingReflection flag.

2009-06-23  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.
        
        https://bugs.webkit.org/show_bug.cgi?id=26643
        Memory cache should respect Cache-Control: no-store
        
        Make resources with Cache-Control: no-store uncacheable in the memory cache.
        They get evicted immediately when all clients are gone and are always
        reloaded from the server.

        Conforms to RFC2616 14.9.2 and seems also match Firefox behavior.

        * loader/CachedResource.cpp:
        (WebCore::CachedResource::removeClient):
        (WebCore::CachedResource::canUseCacheValidator):
        (WebCore::CachedResource::mustRevalidate):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::ResourceResponseBase):
        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
        (WebCore::ResourceResponseBase::cacheControlContainsNoStore):
        * platform/network/ResourceResponseBase.h:

2009-06-23  Brady Eidson  <beidson@apple.com>

        Windows build fix.

        * platform/graphics/win/QTMovieWin.cpp:
        (QTMovieWin::play):
        (QTMovieWin::pause):
        (QTMovieWin::setRate):
        (QTMovieWin::setCurrentTime):

2009-06-23  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/6902203> REGRESSION: 'Return' insertion point incorrect
        after manually quoting blank line then hitting return

        If the insertion point is both the begining and ending visible position
        then we need to insert at the end instead of the begining, which is what
        would normally happen if the insertion point was as the begining.

        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply):

2009-06-23  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig, and looked over by Eric Carlson.

        <rdar://problem/6980466> Media elements should provide option for changing pitch correction

        Introduce a new boolean property to HTMLMediaElement called webkitPreservesPitch for script to control this.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Currently the platforms that have a flexible pitch preservation 
          property (Quicktime on Mac and Win) have had it on by default, so continue that default for now.
        (WebCore::HTMLMediaElement::loadResource):
        (WebCore::HTMLMediaElement::webkitPreservesPitch):
        (WebCore::HTMLMediaElement::setWebkitPreservesPitch):
        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.idl:

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::setPreservesPitch):
        (WebCore::MediaPlayer::MediaPlayer):
        (WebCore::MediaPlayer::preservesPitch):
        (WebCore::MediaPlayer::setPreservesPitch):
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::setPreservesPitch):

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
        (WebCore::MediaPlayerPrivate::createQTMovie): Rework to allow recreation of the movie with almost the
          exact same attributes as before, with pitch preservation being the difference.
        (WebCore::MediaPlayerPrivate::setPreservesPitch): Recreate the QTMovie if the flag actually changes.
        (WebCore::MediaPlayerPrivate::updateStates): Restore current time and rate if this is a recreated movie.
        (WebCore::MediaPlayerPrivate::timeChanged): Clear the time-to-be-restored, as this callback means it
          has been effectively overwritten.

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::load):
        (WebCore::MediaPlayerPrivate::setPreservesPitch):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        * platform/graphics/win/QTMovieWin.cpp:
        (QTMovieWinPrivate::QTMovieWinPrivate):
        (QTMovieWinPrivate::~QTMovieWinPrivate):
        (QTMovieWinPrivate::task): Restore current time and rate if this is a re-created movie.
        (QTMovieWin::play): Clear the time-to-be-restored, as this effectively overwrites it.
        (QTMovieWin::pause): Ditto.
        (QTMovieWin::setRate): Ditto.
        (QTMovieWin::setCurrentTime): Ditto.
        (QTMovieWin::setPreservesPitch): Recreate the Movie if the flag actually changes.
        (QTMovieWin::load): Rework to allow recreation of the Movie with similar state as the movie before it, 
          but changing the pitch preservation flag.
        * platform/graphics/win/QTMovieWin.h:

2009-06-23  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/6998286> Crash after leaving page with <video>
        
        Don't try to post events after going into the page cache.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::documentWillBecomeInactive): Cancel pending events and stop
        event timers so we won't try to post events after going into the cache.

2009-06-23  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Brady Eidson.

        Simplify the interaction between LocalStorageArea/SessionStorageArea
        and StorageArea by creating a "blockUntilImportComplete()" function
        rather than bouncing back and forth between the child and parent
        classes in a somewhat unintuitive manner.

        This patch also paves the way for LocalStorageArea and
        SessionStorageArea being merged into one.  It's part of several in a
        set which are separating syncing (to disk) code from the rest of the
        implementation so that local storage and session storage's code can be
        unified.

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

        * storage/LocalStorageArea.cpp:
        (WebCore::LocalStorageArea::blockUntilImportComplete):
        * storage/LocalStorageArea.h:
        * storage/StorageArea.cpp:
        (WebCore::StorageArea::length):
        (WebCore::StorageArea::key):
        (WebCore::StorageArea::getItem):
        (WebCore::StorageArea::setItem):
        (WebCore::StorageArea::removeItem):
        (WebCore::StorageArea::clear):
        (WebCore::StorageArea::contains):
        * storage/StorageArea.h:
        (WebCore::StorageArea::blockUntilImportComplete):

2009-06-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        First part of https://bugs.webkit.org/show_bug.cgi?id=26652
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paint):
        (WebCore::RenderLayer::paintLayer):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::):
        * rendering/RenderReplica.cpp:
        (WebCore::RenderReplica::paint):
        Replace the 3 boolean params to RenderLayer::paintLayer() with a bit mask for readability.
        
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintIntoLayer):
        (WebCore::RenderLayerBacking::paintContents):
        * rendering/RenderLayerBacking.h:
        Remove the unused 'haveTransparency' param to paintIntoLayer().

2009-06-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6997929> Assertion at WebCore::RenderLayer::updateClipRects with hardware acceleration

        The updatingControlTints() painting pass goes through compositing layer boundaries,
        so we need to ensure we don't cache clip rects computed with the wrong root by
        setting temporaryClipRects to true.
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
        Remove a printf that I left in by mistake.

2009-06-23  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        WebCore side of <rdar://problem/6946094>.
        
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::setExternalDataObject):
        * platform/win/ClipboardWin.h:

2009-06-23  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin Adler.

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

        Add setFormContentType and setFormData since it is awkward for Chromium
        to use setFormInfoFromRequest to set the underlying members.  Also, add
        a clearChildren method that Chromium needs.  These methods are used as
        part of the Chromium code that serializes a HistoryItem for storing in
        the browser's session history.

        * history/HistoryItem.cpp:
        * history/HistoryItem.h:

2009-06-23  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6978938> Need HTML 5 event attributes for media elements

        Test: media/event-attributes.html

        * html/HTMLAttributeNames.in: Add media event attribute names.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::parseMappedAttribute): Handle media event attributes.

2009-06-23  Thiago Macieira  <thiago.macieira@nokia.com>

        Reviewed by Simon Hausmann.

        Fix Qt build with Phonon.

        The #include <phonon> header no longer exists. And the <Phonon> or
        <Phonon/Phonon> headers have never existed (neither for us nor for the
        Phonon sources). You have to select each and every header that you do
        want now.

        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:

2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Remove duplicated code in Qt & GTK logging initialization

        We now share the getChannelFromName() function in Logging.cpp

        * platform/gtk/LoggingGtk.cpp:
        * platform/qt/LoggingQt.cpp:

2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Rename the plugin logging channel to plural form 'Plugins'

        This matches both the other logging channel names, as well as the
        WebKit logging channel used by Safari/Mac for plugins.

        * platform/Logging.cpp:
        * platform/Logging.h:
        * platform/gtk/LoggingGtk.cpp:
        * platform/mac/LoggingMac.mm:
        * platform/qt/LoggingQt.cpp:
        * platform/win/LoggingWin.cpp:
        * plugins/PluginDebug.h:
        * plugins/gtk/PluginPackageGtk.cpp:
        * plugins/mac/PluginPackageMac.cpp:
        * plugins/mac/PluginViewMac.cpp:
        * plugins/qt/PluginPackageQt.cpp:

2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Fix NPAPI mouse translation issues on Mac

        The WindowRef we pass to the plugin refers to the the top level window,
        so the x and y positions have to be relative to this position, but we
        have to manually compensate for title bar decorations and other parents
        of the QWebView since contentsToWindow() only traverses to the QWebView.

        Previously we did this compensation when passing on mouse coordinates to
        the plugin, which caused various issues with translations such as not
        being able to close the Flash settings dialog, or the hand cursor not
        appearing over links.

        We now do the compensation as part of the call to NPP_SetWindow, and
        then pass mouse coordinates in global context without any compensation,
        similar to how both Safari and Mozilla does it.

        * plugins/mac/PluginViewMac.cpp:
        (WebCore::PluginView::updatePluginWidget):
        (WebCore::PluginView::globalMousePosForPlugin):

2009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Rubber-stamped by Simon Hausmann.

        [Qt] Resolve absolute path to library install_name manually

        Since our target.path is set to the Qt directory (to be able
        to do 'make install') the 'absolute_library_soname' option
        to QMake did not do the right thing.

        We now compute the absolute path manually using DESTDIR.

        * WebCore.pro:

2009-06-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/6991146> Scrollbars in hardware layers don't change to the
        inactive look in background windows

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        Don't short-circuit the "painting" pass that is used to udpate control tints.

2009-06-22  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=26567
        Upstream V8 bindings code generator. With this change, also added interface ancestor
        traversal to IDL parser, which is necessary for V8 bindings. The traversal is used
        to determine whether an interface is a Node to facilitate proper casting and storage
        in V8DOMMap.

        * bindings/scripts/CodeGenerator.pm: Added parent traversal sub, needed
            by V8 bindings.
        * bindings/scripts/CodeGeneratorV8.pm: Added.
        * bindings/scripts/IDLParser.pm: Modified to allow limited parsing for
            parent traversal cases.

2009-06-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Gavin Barraclough.

        Add event handler attribute getter/setters to HTMLFrameSetElement
        as specified in HTML 5.  These match the ones on HTMLBodyElement.

        * dom/Node.h:
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
        (WebCore::HTMLFrameSetElement::onblur):
        (WebCore::HTMLFrameSetElement::setOnblur):
        (WebCore::HTMLFrameSetElement::onerror):
        (WebCore::HTMLFrameSetElement::setOnerror):
        (WebCore::HTMLFrameSetElement::onfocus):
        (WebCore::HTMLFrameSetElement::setOnfocus):
        (WebCore::HTMLFrameSetElement::onload):
        (WebCore::HTMLFrameSetElement::setOnload):
        (WebCore::HTMLFrameSetElement::onbeforeunload):
        (WebCore::HTMLFrameSetElement::setOnbeforeunload):
        (WebCore::HTMLFrameSetElement::onmessage):
        (WebCore::HTMLFrameSetElement::setOnmessage):
        (WebCore::HTMLFrameSetElement::onoffline):
        (WebCore::HTMLFrameSetElement::setOnoffline):
        (WebCore::HTMLFrameSetElement::ononline):
        (WebCore::HTMLFrameSetElement::setOnonline):
        (WebCore::HTMLFrameSetElement::onresize):
        (WebCore::HTMLFrameSetElement::setOnresize):
        (WebCore::HTMLFrameSetElement::onstorage):
        (WebCore::HTMLFrameSetElement::setOnstorage):
        (WebCore::HTMLFrameSetElement::onunload):
        (WebCore::HTMLFrameSetElement::setOnunload):
        * html/HTMLFrameSetElement.h:
        * html/HTMLFrameSetElement.idl:

2009-06-22  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
        https://bugs.webkit.org/show_bug.cgi?id=25425

        * bindings/scripts/CodeGeneratorJS.pm: Added handling for ReflectURL.
        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.

        * dom/Element.cpp:
        (WebCore::Element::getURLAttribute): Added. For use implementing getters
        for ReflectURL.
        * dom/Element.h: Added getURLAttribute.

        * html/HTMLImageElement.idl: Use Reflect and ReflectURL.

2009-06-22  Jian Li  <jianli@chromium.org>

        Reviewed by Dimitri Glazkov.

        Bug 26626: Make WorkerContextExecutionProxy::toV8Object handle exception
        objects.
        https://bugs.webkit.org/show_bug.cgi?id=26626

        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::ToV8Object):

2009-06-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Add RenderDataGrid to the build.  Give it some basic default styling (that more or less matches a listbox).  It has a default size
        of 300x150.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * css/html4.css:
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::createRenderer):
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridElement.idl:
        * rendering/RenderDataGrid.cpp: Added.
        (WebCore::RenderDataGrid::RenderDataGrid):
        (WebCore::RenderDataGrid::~RenderDataGrid):
        (WebCore::RenderDataGrid::calcPrefWidths):
        (WebCore::RenderDataGrid::paintObject):
        (WebCore::RenderDataGrid::valueChanged):
        (WebCore::RenderDataGrid::invalidateScrollbarRect):
        (WebCore::RenderDataGrid::isActive):
        * rendering/RenderDataGrid.h: Added.
        (WebCore::RenderDataGrid::renderName):
        (WebCore::RenderDataGrid::canHaveChildren):
        (WebCore::RenderDataGrid::scrollbarCornerPresent):

2009-06-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=26430
        <rdar://problem/6944442> Elements jump around when they become composited (WWDC checkers demo)
        <rdar://problem/6989006> Lots of time spent in RenderLayerCompositor::calculateCompositedBounds()
            during window resize when using hardware layers
        
        Fix an ordering dependency which caused the compositing position of a layer
        to be affected by some later sibling, which affected the compositing ancestor's
        composited bounds.
        
        The fix is to only update the compositing positions of layers in some subtree
        when updateAfterLayout() has been called on all the layers in that subtree,
        from the ancestor down.
        
        Also cache the composited bounds of a RenderLayerBacking, now that we can
        guarantee that those bounds are accurate.
        
        Test: compositing/sibling-positioning.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::RenderLayer::hitTestLayer):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):
        (WebCore::RenderLayerBacking::updateAfterLayout):
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
        (WebCore::RenderLayerBacking::paintContents):
        (WebCore::RenderLayerBacking::compositedBounds):
        (WebCore::RenderLayerBacking::setCompositedBounds):
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking):
        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
        * rendering/RenderLayerCompositor.h:

2009-06-22  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        First step in https://bugs.webkit.org/show_bug.cgi?id=25376

        Add StorageSyncManager.cpp/h

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:

        In preparation for combining SessionStorage and LocalStorage into a
        single StorageManager, move the syncing bits out of LocalStorage and
        into its own class.

        The next step is to combine LocalStorageArea and SessionStorageArea
        into one.  Then SessionStorage and LocalStorage can be combined.

        Note that combining them will cut down on code paths that must be
        proxied, eliminate virtual dispatch, and allow Chromium to (eventually)
        write historical sessionStorage to disk when memory is getting tight.

        Also remove a couple bits of cruft including code for quotas which is
        unnecessary (since a meta-data db is unnecessary since you can just
        count bytes as you read the local storage databases into memory).

        * storage/LocalStorage.cpp:
        (WebCore::LocalStorage::LocalStorage):
        (WebCore::LocalStorage::storageArea):
        (WebCore::LocalStorage::close):
        * storage/LocalStorage.h:
        * storage/LocalStorageArea.cpp:
        (WebCore::LocalStorageArea::LocalStorageArea):
        (WebCore::LocalStorageArea::scheduleFinalSync):
        (WebCore::LocalStorageArea::syncTimerFired):
        (WebCore::LocalStorageArea::performImport):
        * storage/LocalStorageArea.h:
        (WebCore::LocalStorageArea::create):
        * storage/LocalStorageTask.cpp:
        (WebCore::LocalStorageTask::performTask):
        * storage/LocalStorageTask.h:
        (WebCore::LocalStorageTask::):
        (WebCore::LocalStorageTask::createImport):
        * storage/LocalStorageThread.cpp:
        * storage/LocalStorageThread.h:
        * storage/SessionStorage.h:
        * storage/StorageSyncManager.cpp: Copied from WebCore/storage/LocalStorage.cpp.
        (WebCore::StorageSyncManager::create):
        (WebCore::StorageSyncManager::StorageSyncManager):
        (WebCore::StorageSyncManager::fullDatabaseFilename):
        (WebCore::StorageSyncManager::close):
        (WebCore::StorageSyncManager::scheduleImport):
        (WebCore::StorageSyncManager::scheduleSync):
        * storage/StorageSyncManager.h: Copied from WebCore/storage/LocalStorage.h.
        (WebCore::):

2009-06-22  Darin Fisher  <darin@chromium.org>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=26622
        Add ChromiumDataObject::copy()

        * platform/chromium/ChromiumDataObject.cpp:
        * platform/chromium/ChromiumDataObject.h:

2009-06-22  Timothy Hatcher  <timothy@apple.com>

        Add a silhouette image for the enable view of the Resource panel.

        Reviewed by Kevin McCullough.

        * inspector/front-end/Images/resourcesSilhouette.png: Added.
        * inspector/front-end/inspector.css:

2009-06-22  Kyle Prete  <kylep@chromium.org>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=26552
        Add V8 JS bindings for Audio Constructor.

        * bindings/v8/custom/V8CustomBinding.h:
        Added a callback declaration for audio ctor to macro.
        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
        Added the whole file.

2009-06-22  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26600
        StringImpl::copy() no longer copies empty string correctly

        * platform/text/StringImpl.cpp:
        (WebCore::StringImpl::ustring): Changed method calling syntax to look less like calling a
        static method.
        (WebCore::StringImpl::copy): Reverted part of r41917 that caused the problem.

2009-06-22  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Eric Seidel

        Not auto-testable since it involves sending a keyboard event to
        the popup, which is not possible (eventSender sends the key
        events through webview, we want to go through the webwidget).

        This patch is one part of the fix for issue "keyboard selection in
        Hebrew select element does not work in Windows". The other part of the
        fix is in chromium's webkit/glue layer.
        https://bugs.webkit.org/show_bug.cgi?id=25899

        * manual-tests/keyboard_select_non_english.html: Added.
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::isCharacterTypeEvent): Added. Check whether the event is a 
        character type event. "Char" in Windows or "KeyDown" in Mac is character
        type event.
        (WebCore::PopupListBox::typeAheadFind): Since m_lastCharTime is used to
        indicate whether user types multiple characters continuely as a search
        prefix or not, it should be only assigned when the event is character 
        type event. 

2009-06-22  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6115819> Notify of profile start in console

        Put a message in the console that announces that a profile has started,
        similar to how a console message announces that a profile has finished.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addProfile): Use renamed function.
        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
        Renamed.
        (WebCore::InspectorController::addStartProfilingMessageToConsole):
        New function that logs the message about the profile starting.
        (WebCore::InspectorController::startUserInitiatedProfiling): Ditto
        * inspector/InspectorController.h:
        * inspector/front-end/ProfilesPanel.js: Print the "run" of the profile's
        title if there are multiple profiles, and take into account the fact
        that titles are displayed twice as much now.
        (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
        * page/Console.cpp:
        (WebCore::Console::profile): Call new function.

2009-06-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        Add IDL interface for datagrid cell elements.  Add a few more properties to the datagrid itself that
        correspond to ones you find on <select> elements.

        Add an expanded property to row elements.

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLAttributeNames.in:
        * html/HTMLDataGridCellElement.cpp: Added.
        (WebCore::HTMLDataGridCellElement::HTMLDataGridCellElement):
        (WebCore::HTMLDataGridCellElement::label):
        (WebCore::HTMLDataGridCellElement::setLabel):
        (WebCore::HTMLDataGridCellElement::focused):
        (WebCore::HTMLDataGridCellElement::setFocused):
        (WebCore::HTMLDataGridCellElement::checked):
        (WebCore::HTMLDataGridCellElement::setChecked):
        (WebCore::HTMLDataGridCellElement::indeterminate):
        (WebCore::HTMLDataGridCellElement::setIndeterminate):
        (WebCore::HTMLDataGridCellElement::progress):
        (WebCore::HTMLDataGridCellElement::setProgress):
        * html/HTMLDataGridCellElement.h: Added.
        (WebCore::HTMLDataGridCellElement::endTagRequirement):
        (WebCore::HTMLDataGridCellElement::tagPriority):
        * html/HTMLDataGridCellElement.idl: Added.
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::autofocus):
        (WebCore::HTMLDataGridElement::setAutofocus):
        (WebCore::HTMLDataGridElement::disabled):
        (WebCore::HTMLDataGridElement::setDisabled):
        (WebCore::HTMLDataGridElement::size):
        (WebCore::HTMLDataGridElement::setSize):
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridElement.idl:
        * html/HTMLDataGridRowElement.cpp:
        (WebCore::HTMLDataGridRowElement::checkDTD):
        (WebCore::HTMLDataGridRowElement::expanded):
        (WebCore::HTMLDataGridRowElement::setExpanded):
        * html/HTMLDataGridRowElement.h:
        * html/HTMLDataGridRowElement.idl:
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLTagNames.in:

2009-06-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Add event handler attribute getter/setters to HTMLBodyElement
        as specified in HTML 5.

        - Removes erroneous inclusion of the onresize and onunload event
        handler attributes in Element and Document.

        * dom/Document.cpp:
        (WebCore::Document::getWindowAttributeEventListener):
        * dom/Document.h:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/Node.cpp:
        * dom/Node.h: onblur, onerror, onfocus, and onload all need to be declared
        virtual, since their behavior for HTMLBodyElement differs from the base
        implementation.
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::onblur):
        (WebCore::HTMLBodyElement::setOnblur):
        (WebCore::HTMLBodyElement::onerror):
        (WebCore::HTMLBodyElement::setOnerror):
        (WebCore::HTMLBodyElement::onfocus):
        (WebCore::HTMLBodyElement::setOnfocus):
        (WebCore::HTMLBodyElement::onload):
        (WebCore::HTMLBodyElement::setOnload):
        (WebCore::HTMLBodyElement::onbeforeunload):
        (WebCore::HTMLBodyElement::setOnbeforeunload):
        (WebCore::HTMLBodyElement::onmessage):
        (WebCore::HTMLBodyElement::setOnmessage):
        (WebCore::HTMLBodyElement::onoffline):
        (WebCore::HTMLBodyElement::setOnoffline):
        (WebCore::HTMLBodyElement::ononline):
        (WebCore::HTMLBodyElement::setOnonline):
        (WebCore::HTMLBodyElement::onresize):
        (WebCore::HTMLBodyElement::setOnresize):
        (WebCore::HTMLBodyElement::onstorage):
        (WebCore::HTMLBodyElement::setOnstorage):
        (WebCore::HTMLBodyElement::onunload):
        (WebCore::HTMLBodyElement::setOnunload):
        * html/HTMLBodyElement.h:
        * html/HTMLBodyElement.idl:

2009-06-22  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=26601
        Remove disabled code for appcache dynamic entries

        This also removes code for DOM 3 Core DOMStringList, which we don't use for anything else yet.

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSDOMStringListCustom.cpp: Removed.
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8DOMStringListCustom.cpp: Removed.
        * dom/DOMStringList.cpp: Removed.
        * dom/DOMStringList.h: Removed.
        * dom/DOMStringList.idl: Removed.
        * dom/StaticStringList.cpp: Removed.
        * dom/StaticStringList.h: Removed.
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::addResource):
        * loader/appcache/ApplicationCache.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        * loader/appcache/ApplicationCacheResource.cpp:
        (WebCore::ApplicationCacheResource::dumpType):
        * loader/appcache/ApplicationCacheResource.h:
        (WebCore::ApplicationCacheResource::):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::storeUpdatedType):
        * loader/appcache/DOMApplicationCache.cpp:
        * loader/appcache/DOMApplicationCache.h:
        * loader/appcache/DOMApplicationCache.idl:
        * page/DOMWindow.idl:

2009-06-22  Steve Falkenburg  <sfalken@apple.com>

        Windows build fix.

        * DerivedSources.cpp:
        * html/HTMLElementsAllInOne.cpp:

2009-06-22  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by John Sullivan.

        <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input,
        Japanese can't be input.

        WebKit uses a per-frame input context for most editable fields, and application's global
        context for password fields, manually controlling secure input state and the list of available
        input sources.

        We were setting TSMDocument property to disable non-Roman input methods after focus changed
        to a password field, but before selection was updated. This resulted in the property being
        applied to a wrong TSMDocument in some cases, because TSMGetActiveDocument() uses input
        context cached by +[NSApplication updateWindows], we change context based on selection,
        not on focus.

        * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Since there is only one
        context that we use for password fields - the global one - there is no need to get the active
        one.

2009-06-22  David Levin  <levin@chromium.org>

        Reviewed by David Hyatt and Eric Seidel.

        REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
        https://bugs.webkit.org/show_bug.cgi?id=26326

        Test: scrollbars/scrollbar-crash-on-refresh.html

        * dom/Document.cpp:
        (WebCore::Document::detach):
        Gives the FrameView a change to do any necessary cleanup on
        Document::detach() which is where the renderArena gets detroyed.
        * page/FrameView.cpp:
        (WebCore::FrameView::detachCustomScrollbars):
        Gets rid of any custom scrollbars (if the docment supplied them).
        * page/FrameView.h:
        * platform/Scrollbar.h:
        (WebCore::Scrollbar::isCustomScrollbar):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::destroy):
        Removed the check for document()->frame().  If frame() is 0 in this code,
        then the call to animation() is also incorrect (since it does document()->frame()->animation()).
        * rendering/RenderScrollbar.h:
        (WebCore::RenderScrollbar::isCustomScrollbar):

2009-06-22  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - fix https://bugs.webkit.org/show_bug.cgi?id=23606
          <rdar://problem/6537777> CSS gradient not repainted when image load
          completes

        Test: fast/repaint/background-generated.html

        * rendering/RenderObject.cpp:
        (WebCore::mustRepaintFillLayers): Return true if the layer does not
        specify a size and the image uses the container size.

2009-06-22  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        Add IDL for HTMLDataGridRowElement.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLAttributeNames.in:
        * html/HTMLDataGridColElement.cpp:
        (WebCore::HTMLDataGridColElement::primary):
        (WebCore::HTMLDataGridColElement::setPrimary):
        * html/HTMLDataGridColElement.h:
        * html/HTMLDataGridColElement.idl:
        * html/HTMLDataGridElement.cpp:
        (WebCore::HTMLDataGridElement::checkDTD):
        (WebCore::HTMLDataGridElement::multiple):
        (WebCore::HTMLDataGridElement::setMultiple):
        * html/HTMLDataGridElement.h:
        * html/HTMLDataGridElement.idl:
        * html/HTMLDataGridRowElement.cpp: Added.
        (WebCore::HTMLDataGridRowElement::HTMLDataGridRowElement):
        (WebCore::HTMLDataGridRowElement::selected):
        (WebCore::HTMLDataGridRowElement::setSelected):
        (WebCore::HTMLDataGridRowElement::focused):
        (WebCore::HTMLDataGridRowElement::setFocused):
        * html/HTMLDataGridRowElement.h: Added.
        (WebCore::HTMLDataGridRowElement::tagPriority):
        * html/HTMLDataGridRowElement.idl: Added.
        * html/HTMLTagNames.in:

2009-06-19  Yael Aharon <yael.aharon@nokia.com>

        Reviewed by Holger Freyther.

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

        Fix a crash in case that the QNetworkReply::readReady signal is
        "stuck" in deferred mode due to JavaScript alert, and in the meantime,
        QNetworkreply::finished signal is received and processed before
        QNetworkReply::readReady is processed.

        * manual-tests/qt/unload-alert.html: Added.
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::setLoadMode):
        (WebCore::QNetworkReplyHandler::finish):
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
        (WebCore::QNetworkReplyHandler::forwardData):
        (WebCore::QNetworkReplyHandler::start):
        (WebCore::QNetworkReplyHandler::sendQueuedItems):
        * platform/network/qt/QNetworkReplyHandler.h:
        (WebCore::QNetworkReplyHandler::):

2009-06-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Fix the Qt build.

        * WebCore.pro:

2009-06-21  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
        https://bugs.webkit.org/show_bug.cgi?id=25425

        * bindings/scripts/CodeGeneratorJS.pm: Tweaked mechanism for includes to be a bit
        more consistent and to make SVGElement.h be included in the header rather than in
        every implementation file that includes the header. Added code to use getAttribute
        and setAttribute directly when the [Reflect] extended attribute is used.

        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.

        * html/HTMLElement.idl: Used [Reflect] for all the attributes in this class that
        reflect content attributes. Restricting this to one class for now to keep the
        patch small and start out slowly.

2009-06-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26596
        Only expose event handler attributes to elements and documents.

        Test: fast/dom/event-attribute-availability.html

        * dom/Document.idl:
        * dom/Element.idl:
        * dom/Node.cpp:
        * dom/Node.h:
        * dom/Node.idl:

2009-06-21  Daniel Bates  <dbates@intudata.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=26580
        
        Fix to enable XSSAuditor on child windows.
        
        Test: http/tests/security/xssAuditor/link-opens-new-window.html
        
        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::XSSAuditor):
        (WebCore::XSSAuditor::isEnabled):
        (WebCore::XSSAuditor::canEvaluate):
        (WebCore::XSSAuditor::canCreateInlineEventListener):
        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
        (WebCore::XSSAuditor::canLoadObject):
        * page/XSSAuditor.h: Removed method setXSSAuditorEnabled, and field m_isEnabled.
        Moved implementation of isEnabled to XSSAuditor.cpp and changed implementation
        to query Settings.

2009-06-21  David Levin  <levin@chromium.org>

        Reviewed by NOBODY.

        Speculative windows build fix (idea by Mark Rowe).

        * WebCore.vcproj/WebCore.vcproj:

2009-06-21  David Levin  <levin@chromium.org>

        Reviewed by NOBODY (Speculative gtk build fix).

        * GNUmakefile.am:

2009-06-21  David Levin  <levin@chromium.org>

        Reviewed by NOBODY.

        Speculative tiger build fix and a windows build fix.
        More fixes may still be in order.

        * WebCore.vcproj/WebCoreCommon.vsprops:
        * dom/default/PlatformMessagePortChannel.h:
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):

2009-06-21  David Levin  <levin@chromium.org>

        Reviewed by NOBODY (Speculative tiger build fix).

        * dom/default/PlatformMessagePortChannel.h:
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::~MessagePortQueue):

2009-06-21  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        <https://bugs.webkit.org/show_bug.cgi?id=26448>
        
        Added optimized GC for MessagePorts when the entangled port is run by the same thread.
        Fixed bug in isProxyFor() that was not properly throwing an exception when trying to clone the entangled port.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::markActiveObjectsForContext):
        Now marks remotely entangled ports as in-use, in addition to those with pending activity.
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::mark):
        Now checks if the entangled port is local (run by same thread) and if so mark()s it.
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::postMessage):
        (WebCore::MessagePort::disentangle):
        Removes cloned ports from the ScriptExecutionContext - this allows cloned ports to be GC'd as otherwise they look like remotely entangled ports.
        (WebCore::MessagePort::start):
        (WebCore::MessagePort::locallyEntangledPort):
        Added API for fetching the entangled port if it is run by the same thread
        * dom/MessagePort.h:
        * dom/MessagePortProxyWrapper.h:
        * dom/default/MessagePortProxy.cpp:
        (WebCore::MessagePortProxyWrapper::locallyEntangledPort):
        Added API for fetching the entangled port if it is run by the same thread        
        (WebCore::MessagePortProxy::hasPendingActivity):
        Changed definition of hasPendingActivity() to be stricter - only returns true if there are pending messages.
        (WebCore::MessagePortProxy::locallyEntangledPort):
        * dom/default/MessagePortProxy.h:

2009-06-21  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        <https://bugs.webkit.org/show_bug.cgi?id=25043>
        Removed obsolete MessagePort.startConversation(), active and onclose APIs.

        Refactored MessagePortProxy into MessagePortChannel and a platform-dependent PlatformMessagePortChannel
        implementation. Modified APIs to simplify cross-process implementations by moving the messaging code
        entirely into the platform-dependent proxy.

        Created a thread-safe default PlatformMessagePortChannel implementation.

        Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how
        cross-thread MessagePorts work.
        
        * GNUMakefile.am:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
            Added MessagePortChannel/PlatformMessagePortChannel files.
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::mark):
            Changed ports to not mark their entangled pair as reachable, per the spec.
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        * dom/MessageChannel.cpp:
        (WebCore::MessageChannel::MessageChannel):
            Updated to use PlatformMessagePortChannel::createChannel() to entangle the ports.
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::MessagePort):
        (WebCore::MessagePort::~MessagePort):
        (WebCore::MessagePort::postMessage):
        (WebCore::MessagePort::disentangle):
        (WebCore::MessagePort::messageAvailable):
        (WebCore::MessagePort::start):
        (WebCore::MessagePort::close):
        (WebCore::MessagePort::entangle):
        (WebCore::MessagePort::contextDestroyed):
        (WebCore::MessagePort::dispatchMessages):
        (WebCore::MessagePort::setOnmessage):
        (WebCore::MessagePort::hasPendingActivity):
            Changed these APIs to delegate to new PlatformMessagePortChannel APIs.
        * dom/MessagePort.h:
            Renamed isQueueOpen() to started().
        * dom/MessagePort.idl:
            Removed startConversation and onclose.
        * dom/MessagePortProxy.h: Removed.
        * dom/MessagePortChannel.cpp: Added.
        (WebCore::MessagePortChannel::EventData::create):
        (WebCore::MessagePortChannel::EventData::EventData):
        (WebCore::MessagePortChannel::~MessagePortChannel):
        * dom/MessagePortChannel.h: Added.
        (WebCore::MessagePortChannel::EventData::message):
        (WebCore::MessagePortChannel::EventData::channel):
            Changed EventData to hold a reference to a MessagePortChannel object instead of a MessagePort to enable cross-thread messaging.
        (WebCore::MessagePortChannel::MessagePortChannel):
        (WebCore::MessagePortChannel::create):        
        * dom/ScriptExecutionContext.cpp:
        (WebCore:ScriptExecutionContext::dispatchMessagePortEvents):
            Renamed isQueueOpen() to started().
        * dom/default/PlatformMessagePortChannel.cpp: Added.
        (WebCore::MessagePortChannel::entangleIfOpen):
        (WebCore::MessagePortChannel::disentangle):
        (WebCore::MessagePortChannel::postMessageToRemote):
        (WebCore::MessagePortChannel::tryGetMessageFromRemote):
        (WebCore::MessagePortChannel::close):
        (WebCore::MessagePortChannel::isConnectedTo):
        (WebCore::MessagePortChannel::hasPendingActivity):
        (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
        (WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel):
        (WebCore::PlatformMessagePortChannel::createChannel):
        (WebCore::PlatformMessagePortChannel::entangleIfOpen):
        (WebCore::PlatformMessagePortChannel::disentangle):
        (WebCore::PlatformMessagePortChannel::setRemotePort):
        (WebCore::PlatformMessagePortChannel::remotePort):
        (WebCore::PlatformMessagePortChannel::entangledChannel):
        (WebCore::PlatformMessagePortChannel::setEntangledChannel):
        (WebCore::PlatformMessagePortChannel::postMessageToRemote):
        (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
        (WebCore::PlatformMessagePortChannel::isConnectedTo):
        (WebCore::PlatformMessagePortChannel::close):
        (WebCore::PlatformMessagePortChannel::closeInternal):
        (WebCore::PlatformMessagePortChannel::hasPendingActivity):
        * dom/default/PlatformMessagePortChannel.h: Added.
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::create):
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::isEmpty):
        (WebCore::PlatformMessagePortChannel::MessagePortQueue::MessagePortQueue):
        * page/DOMWindow.cpp:
        (WebCore::PostMessageTimer::PostMessageTimer):
            Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how cross-thread MessagePorts work.
        (WebCore::PostMessageTimer::event):
        (WebCore::DOMWindow::postMessage):
        (WebCore::DOMWindow::postMessageTimerFired):

2009-06-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - fix https://bugs.webkit.org/show_bug.cgi?id=15383
          <rdar://problem/5682745> resize: vertical does not restrict to vertical
          resize

        Test: fast/css/resize-single-axis.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize): Ignore movement along the non-resizing
        axis.

2009-06-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Eric Seidel

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26578
        event.currentTarget for listener registered on window should point to the window object like in Firefox

        Test: fast/events/event-trace.html

        * dom/Node.cpp:
        (WebCore::Node::dispatchGenericEvent): Make the DOMWindow the currentTarget when events are dispatched
        to it. We previously used the document because DOMWindow was not yet an EventTarget.

2009-06-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - fix https://bugs.webkit.org/show_bug.cgi?id=9694
          resize value not compared

        Test: fast/css/resize-value-compared.html

        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::operator==): Compare the resize
        member.

2009-06-19  Alice Liu  <alice.liu@apple.com>

        Fix https://bugs.webkit.org/show_bug.cgi?id=26568 
        Repro crash animating GIF if previously used in a closed window's back/forward list
        Also filed as <rdar://problem/6978362>

        Reviewed by Maciej Stachowiak.

        Can't test this bug with an automated layout test since it requires b/f caching 
        * manual-tests/animated-gif-bfcache-crash.html: Added.
        * manual-tests/resources/containsAnimatedGif.html: Added.

        Adding checks for hostWindow() since there is no guarantee that the Page is alive
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollRectIntoViewRecursively):
        (WebCore::ScrollView::contentsToScreen):
        (WebCore::ScrollView::screenToContents):
        (WebCore::ScrollView::wheelEvent):

2009-06-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam Barth.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26554
        Shadowing of top and parent

        * page/DOMWindow.idl:

2009-06-20  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        Fix <https://bugs.webkit.org/show_bug.cgi?id=15106>.
        Bug 15106: REGRESSION: Can't drag text as element when user-select is set to none

        We allow selections to begin within an element that has -webkit-user-select: none set,
        unless the element is draggable as dragging should take priority over starting a selection.

        Test: editing/selection/user-drag-element-and-user-select-none.html

        * dom/Node.cpp:
        (WebCore::Node::canStartSelection):

2009-06-20  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Bug 26528: REGRESSION (r44674): Assertion in TextIterator::pushFullyClippedState while counting matches for "a" on apple.com
        https://bugs.webkit.org/show_bug.cgi?id=26528
        rdar://problem/6985329

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleReplacedElement): When entering a text control,
        start at the top of the shadow tree (by calling shadowTreeRootNode). Also
        remove assumption that innerTextElement will never be 0 since RenderTextControl
        doesn't really guarantee this.

2009-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by NOBODY.

        Speculative Qt build fix - add HTMLDataGridColElement to the build script.

        * WebCore.pro:

2009-06-19  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

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

        Remove a memcpy by retrieving the already existing copy of a string
        instead of making a new one.

        * bindings/js/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        (WebCore::ScriptSourceCode::source):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::source):

2009-06-19  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Steve Falkenburg.
        
        https://bugs.webkit.org/show_bug.cgi?id=26488
        No Support for Single Finger or Two Finger Panning in Windows 7
        
        The code in WebCore allows us to interpret a Pan gesture as
        a mousewheel event, and we are able to reuse the scrolling code.
        Another constructor was created in WheelEventWin which takes data
        better suited to the pan guesture than what was currently there. 
        
        Unable to add tests to simulate touch behavior/gestures.

        * platform/PlatformWheelEvent.h:
        * platform/win/WheelEventWin.cpp:

2009-06-19  Chris Marrin  <cmarrin@apple.com>

        Fixed a build error, which only shows up in the i386 compile

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::animateTransform):

2009-06-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/6988385> REGRESSION: In full page video player, movie's
        video track becomes detached from its controller.
        
        When in the media document, the MediaPlayer should not report that it
        is capable of hardware acceleration, because it renders via a QTMovieView
        which is already accelerated.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):

2009-06-19  Kevin Ollivier  <kevino@theolliviers.com>

        Adding XSSAuditor.cpp to the wx build.

        * WebCoreSources.bkl:

2009-06-19  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser  <simon.fraser@apple.com>.

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

        If I am doing a Matrix hardware animation and any matrix is singular, I revert to software.
        This is not really testable, since we can't see what the hardware animation is doing.

        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::animateTransform):

2009-06-19  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej Stachowiak.
        
        An additional fix for Bug 26532: Native functions do not correctly unlink
        from optimised callsites when they're collected
        <https://bugs.webkit.org/show_bug.cgi?id=26532> | <rdar://problem/6625385>

        Use "NativeFunctionWrapper" instead of "PrototypeFunction" in cross-frame
        accessors, so the type of object you get to wrap a function is the same,
        regardless of whether the access to the function is cross-frame.
        
        This is faster and more idiomatic than what we had before. It also would
        have avoided Bug 26532 because it would have prevented a conflicting
        PrototypeFunction from being allocated to wrap postMessage, where a
        NativeFunctionWrapper had been allocated previously.
        
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::objectToStringFunctionGetter):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::nonCachingStaticFunctionGetter):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::nonCachingStaticBackFunctionGetter):
        (WebCore::nonCachingStaticForwardFunctionGetter):
        (WebCore::nonCachingStaticGoFunctionGetter):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::nonCachingStaticReplaceFunctionGetter):
        (WebCore::nonCachingStaticReloadFunctionGetter):
        (WebCore::nonCachingStaticAssignFunctionGetter):

2009-06-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by John Sullivan

        <rdar://problem/6953673> Crash in RenderLayerCompositor::setCompositingParent
        
        Fix a crash that could occur in complex content due to timing issues
        when doing a partial layer tree rebuild which is required when painting;
        setCompositingParent() could be called with a parent which has not been made
        compositing yet.

2009-06-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Build fix. Adding missing HTMLDataGrid* files to the build.

        * GNUmakefile.am:

2009-06-19  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26460 part three
        Make BMPImageReader a standalone class that is used by ICOImageDecoder
        and BMPImageDecoder to decode individual BMPs within a file.  These
        decoders now inherit directly from ImageDecoder.
        
        This also makes these decoders decode on-demand in isSizeAvailable() and
        frameBufferAtIndex(), like the other decoders, instead of when setData()
        is called, like before.  This should provide a speedup on pages
        containing BMPs that aren't immediately onscreen.

        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::BMPImageDecoder):
        (WebCore::BMPImageDecoder::setData):
        (WebCore::BMPImageDecoder::isSizeAvailable):
        (WebCore::BMPImageDecoder::frameBufferAtIndex):
        (WebCore::BMPImageDecoder::decodeWithCheckForDataEnded):
        (WebCore::BMPImageDecoder::decode):
        (WebCore::BMPImageDecoder::processFileHeader):
        * platform/image-decoders/bmp/BMPImageDecoder.h:
        (WebCore::BMPImageDecoder::readUint32):
        * platform/image-decoders/bmp/BMPImageReader.cpp:
        (WebCore::BMPImageReader::BMPImageReader):
        (WebCore::BMPImageReader::decodeBMP):
        (WebCore::BMPImageReader::readInfoHeaderSize):
        (WebCore::BMPImageReader::processInfoHeader):
        (WebCore::BMPImageReader::readInfoHeader):
        (WebCore::BMPImageReader::processBitmasks):
        (WebCore::BMPImageReader::processColorTable):
        (WebCore::BMPImageReader::processRLEData):
        (WebCore::BMPImageReader::processNonRLEData):
        (WebCore::BMPImageReader::setFailed):
        * platform/image-decoders/bmp/BMPImageReader.h:
        (WebCore::BMPImageReader::readUint16):
        (WebCore::BMPImageReader::readUint32):
        (WebCore::BMPImageReader::setBuffer):
        (WebCore::BMPImageReader::setData):
        (WebCore::BMPImageReader::):
        (WebCore::BMPImageReader::pastEndOfImage):
        (WebCore::BMPImageReader::readCurrentPixel):
        (WebCore::BMPImageReader::setRGBA):
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::ICOImageDecoder):
        (WebCore::ICOImageDecoder::setData):
        (WebCore::ICOImageDecoder::isSizeAvailable):
        (WebCore::ICOImageDecoder::size):
        (WebCore::ICOImageDecoder::frameBufferAtIndex):
        (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded):
        (WebCore::ICOImageDecoder::decode):
        (WebCore::ICOImageDecoder::processDirectory):
        (WebCore::ICOImageDecoder::processDirectoryEntries):
        (WebCore::ICOImageDecoder::readDirectoryEntry):
        (WebCore::ICOImageDecoder::processImageType):
        * platform/image-decoders/ico/ICOImageDecoder.h:
        (WebCore::ICOImageDecoder::readUint16):
        (WebCore::ICOImageDecoder::readUint32):

2009-06-19  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

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

        Fix the Chromium canary bot.  Turns out ScriptSourceCode doesn't have
        the same API in V8 and JSC.

        * WebCore/bindings/js/ScriptController.cpp:
        * WebCore/bindings/js/ScriptSourceCode.h:
        * WebCore/bindings/v8/ScriptController.cpp:
        * WebCore/page/XSSAuditor.cpp:
        * WebCore/page/XSSAuditor.h:

2009-06-19  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=26547
        
        Implement the IDL interface for HTMLDataGridColElement.

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLAttributeNames.in:
        * html/HTMLDataGridColElement.cpp: Added.
        (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
        (WebCore::HTMLDataGridColElement::label):
        (WebCore::HTMLDataGridColElement::setLabel):
        (WebCore::HTMLDataGridColElement::type):
        (WebCore::HTMLDataGridColElement::setType):
        (WebCore::HTMLDataGridColElement::sortable):
        (WebCore::HTMLDataGridColElement::setSortable):
        (WebCore::HTMLDataGridColElement::sortDirection):
        (WebCore::HTMLDataGridColElement::setSortDirection):
        (WebCore::HTMLDataGridColElement::selected):
        (WebCore::HTMLDataGridColElement::setSelected):
        * html/HTMLDataGridColElement.h: Added.
        (WebCore::HTMLDataGridColElement::endTagRequirement):
        (WebCore::HTMLDataGridColElement::tagPriority):
        * html/HTMLDataGridColElement.idl: Added.
        * html/HTMLDataGridElement.h:
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLTagNames.in:
        * page/DOMWindow.idl:

2009-06-19  Chris Evans  <scarybeasts@gmail.com>

        Reviewed by Eric Seidel.

        There is no new test because this cannot be tested deterministically.
        I've not been able to cause a crash at all in the test framework, but
        I have verified that this is happening in the wild and that the patch
        fixes the likely cause in the debugger.

        * loader/TextResourceDecoder.cpp: careful not to iterate off the end
          of our input buffer looking for the end of the comment.

2009-06-19  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

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

        Fix external-script-URL-location.html and
        write-external-script-open.html LayoutTests.

        implicitOpen is called from several places.  We need to setXSSAuditor
        each time, so I moved the call inside implicitOpen.

        * dom/Document.cpp:
        (WebCore::Document::open):
        (WebCore::Document::implicitOpen):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin):

2009-06-19  Kent Tamura  <tkent@chromium.org>

        Reviewed by David Levin.

        Use WebCore::multipleFileUploadText() in Chromium to fix a problem
        that Chromium shows only the first filename even if a user selects
        multiple files for <input type=file multiple>.
        <https://bugs.webkit.org/show_bug.cgi?id=26502>

        * platform/chromium/FileChooserChromium.cpp:
        (WebCore::FileChooser::basenameForWidth):

2009-06-19  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/6967596> Safari hung using 100% CPU when I tried
          to look up a word in Dictionary using command-control-d

        Test: editing/selection/move-by-line-005.html

        The root cause of this bug was searchAheadForBetterMatch() continuing
        past the first rendered text object after the given object. While we
        want to skip non-rendered text and empty containers, when we encounter
        rendered text object, we must return a text box for that object.

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

2009-06-19  Jungshik Shin  <jshin@chromium.org>

        Reviewed by David Levin

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

        Chromium Linux port does not handle non-BMP characters properly.
        It's fixed with a 'UTF-16 iterator macro' to extract Unicode
        codepoints out of a UTF-16 input string.

        A manual test is added for non-BMP character rendering,
        which we can use until a small freely-distributable font
        covering non-BMP is added to the Webkit source tree.


        * platform/graphics/chromium/FontCacheLinux.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * manual-tests/non-bmp.html: Added.

2009-06-19  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Dimitri Glazkov.

        V8 Bindings: return proper state from the script stack.

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

        * bindings/v8/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::ScriptCallStack):
        * bindings/v8/ScriptCallStack.h:
        (WebCore::ScriptCallStack::state):

2009-06-19  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Simon Fraser.

        Windows build fix.
        
        * platform/graphics/cg/PatternCG.cpp:
        (WebCore::Pattern::createPlatformPattern):

2009-06-19  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Simon Hausmann.
        Build fix after 44825.

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::isSizeAvailable):
        * platform/graphics/qt/ImageDecoderQt.h:

2009-06-18  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Oliver Hunt.

        Bug 26426: Canvas: rotation of 'no-repeat' pattern is weird
        <https://bugs.webkit.org/show_bug.cgi?id=26426>

        Use 1<<23-1 as steps of no-repeat patterns instead of 100000000.0f.
        The original number cannot be represented by mantissa of float
        (23bit) so that it caused some error.

        Test: fast/canvas/image-object-in-canvas.html:

        * platform/graphics/cg/PatternCG.cpp:
        (WebCore::Pattern::createPlatformPattern):

2009-06-19  Adam Barth  <abarth@webkit.org>

        Unreviewed attempt to fix the Chromium build.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::evaluate):
        * bindings/v8/ScriptController.h:
        (WebCore::ScriptController::xssAuditor):
        * bindings/v8/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):

2009-06-18  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

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

        Added an experimental reflective XSS filter.  The filter is disabled by
        default.

        Test: http/tests/security/xssAuditor/script-tag.html

        * GNUmakefile.am:
        * WebCore.base.exp:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        (WebCore::ScriptController::evaluate):
        * bindings/js/ScriptController.h:
        (WebCore::ScriptController::xssAuditor):
        * bindings/js/ScriptEventListener.cpp:
        (WebCore::createAttributeEventListener):
        * dom/Tokenizer.h:
        (WebCore::Tokenizer::xssAuditor):
        (WebCore::Tokenizer::setXSSAuditor):
        (WebCore::Tokenizer::Tokenizer):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin):
        (WebCore::FrameLoader::requestObject):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setXSSAuditorEnabled):
        * page/Settings.h:
        (WebCore::Settings::xssAuditorEnabled):
        * page/XSSAuditor.cpp: Added.
        (WebCore::isControlCharacter):
        (WebCore::XSSAuditor::XSSAuditor):
        (WebCore::XSSAuditor::~XSSAuditor):
        (WebCore::XSSAuditor::canEvaluate):
        (WebCore::XSSAuditor::canCreateInlineEventListener):
        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
        (WebCore::XSSAuditor::canLoadObject):
        (WebCore::XSSAuditor::decodeURL):
        (WebCore::XSSAuditor::findInRequest):
        * page/XSSAuditor.h: Added.
        (WebCore::XSSAuditor::isEnabled):
        (WebCore::XSSAuditor::setXSSAuditorEnabled):

2009-06-18  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        feOffset and objectBoundingBox
        [https://bugs.webkit.org/show_bug.cgi?id=26441]

        If we use objectBoundingBox for primitiveUnits, the fractions given
        to dx or dy of feOffset must be multiplied with the referenced objects
        objectBoundingBox size.

        Test: svg/filters/feOffset.svg

        * svg/graphics/filters/SVGFEOffset.cpp:
        (WebCore::FEOffset::apply):

2009-06-18  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        feTile implementation missing
        [https://bugs.webkit.org/show_bug.cgi?id=26419]

        Implementation of feTile, a pattern effect for SVG filters. It was
        necessary to modify FilterEffect since source inputs need a secial
        logic and we have to identify if an effect is a source input.

        Tests: svg/batik/filters/feTile.svg
               svg/filters/feTile.svg

        * platform/graphics/filters/FilterEffect.h:
        (WebCore::FilterEffect::isSourceInput):
        * platform/graphics/filters/SourceAlpha.h:
        (WebCore::SourceAlpha::isSourceInput):
        * platform/graphics/filters/SourceGraphic.h:
        (WebCore::SourceGraphic::isSourceInput):
        * svg/graphics/filters/SVGFETile.cpp:
        (WebCore::FETile::apply):

2009-06-18  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        feMerge implementation
        [https://bugs.webkit.org/show_bug.cgi?id=26480]

        Added feMerge to the SVG Filter system.

        Test: svg/filters/feMerge.svg

        * svg/graphics/filters/SVGFEMerge.cpp:
        (WebCore::FEMerge::uniteChildEffectSubregions):
        (WebCore::FEMerge::apply):
        * svg/graphics/filters/SVGFEMerge.h:

2009-06-18  Mark Rowe  <mrowe@apple.com>

        Speculative Windows build fix.

        * page/win/FrameCGWin.cpp: Add missing #include.

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Dave Levin.

        https://bugs.webkit.org/show_bug.cgi?id=26425
        Final refactorings, picking up a few places where BitmapInfo
        could be used.

        * page/win/FrameCGWin.cpp:
        (WebCore::imageFromRect):
        * platform/win/CursorWin.cpp:
        (WebCore::Cursor::Cursor):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::paint):

2009-06-18  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 26522: In DOM mode, VoiceOver reads some mouseover text on web sites strangely
        https://bugs.webkit.org/show_bug.cgi?id=26522

        Test: accessibility/non-data-table-cell-title-ui-element.html

        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::titleUIElement):

2009-06-18  Kevin Ollivier  <kevino@theolliviers.com>

        wx build fix after recent RenderTheme changes.

        * platform/wx/RenderThemeWx.cpp:
        (WebCore::RenderThemeWx::~RenderThemeWx):
        (WebCore::RenderTheme::themeForPage):

2009-06-18  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26460 part two
        Attempt to minimize diff of following functional change by first landing
        non-functional change to:
        * Make readUintX() public and static (since they will need to be once
          BMPImageReader is included in *ImageDecoder via composition rather
          than inheritance).  Add wrappers in each class so callers can be
          simpler.  In the next patch, these wrappers will be beefed up slightly
          and the callers will get even simpler.
        * Change direct setting of m_failed to use setFailed(), since in the
          next patch much of this code won't even have direct access to m_failed
        * Add a helper function in ICOImageDecoder to determine the image type
          instead of simply doing it inline
        * Rewrap lines that used to be <=80 cols and slipped over it during the
          original landing of these decoders
        * Other misc. changes, e.g. adding constructor definitions, reordering
          functions, changing RGBA32Buffer& to RGBA32Buffer*, etc. that have no
          functional effect but minimize the subsequent diff for readability


        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::BMPImageDecoder):
        (WebCore::BMPImageDecoder::processFileHeader):
        * platform/image-decoders/bmp/BMPImageDecoder.h:
        (WebCore::BMPImageDecoder::readUint32):
        * platform/image-decoders/bmp/BMPImageReader.cpp:
        (WebCore::BMPImageReader::decodeBMP):
        (WebCore::BMPImageReader::getInfoHeaderSize):
        (WebCore::BMPImageReader::processInfoHeader):
        (WebCore::BMPImageReader::readInfoHeader):
        (WebCore::BMPImageReader::processBitmasks):
        (WebCore::BMPImageReader::processColorTable):
        (WebCore::BMPImageReader::processRLEData):
        (WebCore::BMPImageReader::processNonRLEData):
        * platform/image-decoders/bmp/BMPImageReader.h:
        (WebCore::BMPImageReader::readUint16Helper):
        (WebCore::BMPImageReader::readUint32Helper):
        (WebCore::BMPImageReader::):
        (WebCore::BMPImageReader::readUint16):
        (WebCore::BMPImageReader::readUint32):
        (WebCore::BMPImageReader::readCurrentPixel):
        (WebCore::BMPImageReader::getComponent):
        (WebCore::BMPImageReader::setI):
        (WebCore::BMPImageReader::setRGBA):
        (WebCore::BMPImageReader::fillRGBA):
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::ICOImageDecoder):
        (WebCore::ICOImageDecoder::isSizeAvailable):
        (WebCore::ICOImageDecoder::size):
        (WebCore::ICOImageDecoder::decodeImage):
        (WebCore::ICOImageDecoder::processDirectory):
        (WebCore::ICOImageDecoder::processDirectoryEntries):
        (WebCore::ICOImageDecoder::isBetterEntry):
        (WebCore::ICOImageDecoder::processImageType):
        * platform/image-decoders/ico/ICOImageDecoder.h:
        (WebCore::ICOImageDecoder::readUint16):
        (WebCore::ICOImageDecoder::readUint32):

2009-06-18  Peter Kasting  <pkasting@google.com>

        Fix build bustage.

        * platform/image-decoders/gif/GIFImageDecoder.h:

2009-06-18  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/6940880> REGRESSION: Breakpoints don't break in 64-bit

        Convert intptr_t to Strings so that we don't loose bits in the
        conversion to JS.  Previously they were being put into 32bit ints.

        * inspector/InspectorController.cpp: Convert the String back to an
        intptr_t.
        (WebCore::InspectorController::addBreakpoint):
        (WebCore::InspectorController::removeBreakpoint):
        * inspector/InspectorController.h:
        * inspector/InspectorController.idl: Use strings in JS to avoid 32bit
        truncation.
        * inspector/InspectorFrontend.cpp: Make the intptr_t into a String.
        (WebCore::InspectorFrontend::parsedScriptSource):
        * platform/text/PlatformString.h: Implemented the necessary conversion
        functions to be able to convert to and from an intptr_t.
        * platform/text/String.cpp: Ditto.
        (WebCore::String::toIntPtrStrict):
        (WebCore::String::toIntPtr):
        (WebCore::charactersToIntPtrStrict):
        (WebCore::charactersToIntPtr):
        * platform/text/StringImpl.cpp: Ditto.
        (WebCore::StringImpl::toIntPtrStrict):
        (WebCore::StringImpl::toIntPtr):
        * platform/text/StringImpl.h: Ditto.

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Eric Seidel.

        Final cleanups in this refactoring:
        (1) Move WindowsBitmap implementation from CG-specific file to
            the platform-common GraphicsContextWin.cpp, since it is
            equally useful on both platforms.
        (2) Revise the TransformationMatrix logic as suggested by
            Adam Roben in his review comments to Part #2 of this
            refactoring.

        * platform/graphics/win/GraphicsContextCGWin.cpp:
        * platform/graphics/win/GraphicsContextWin.cpp:
        (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
        (WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap):
        (WebCore::GraphicsContext::createWindowsBitmap):
        (WebCore::GraphicsContext::getWindowsContext):
        (WebCore::GraphicsContextPlatformPrivate::scale):
        (WebCore::GraphicsContextPlatformPrivate::rotate):
        (WebCore::GraphicsContextPlatformPrivate::translate):
        (WebCore::GraphicsContextPlatformPrivate::concatCTM):

2009-06-18  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26460 part one
        Make isSizeAvailable non-const, since it's not logically const (it
        triggers lazy decoding), and simplify all the implementations (without
        changing behavior; just make less verbose).  Remove some other
        inappropriate consts, which enables the removal of all the mutable
        declarations in the decoders.

        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::isSizeAvailable):
        (WebCore::ImageDecoder::setSize): Make public to avoid needing a friend declaration in the JPEG decoder, and because the ICO/BMP decoders will soon need this.
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::isSizeAvailable):
        (WebCore::GIFImageDecoder::repetitionCount):
        (WebCore::GIFImageDecoder::decode):
        * platform/image-decoders/gif/GIFImageDecoder.h:
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::isSizeAvailable):
        * platform/image-decoders/ico/ICOImageDecoder.h:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageDecoder::isSizeAvailable):
        (WebCore::JPEGImageDecoder::decode):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::isSizeAvailable):
        (WebCore::PNGImageDecoder::decode):
        * platform/image-decoders/png/PNGImageDecoder.h:
        * platform/image-decoders/xbm/XBMImageDecoder.cpp:
        (WebCore::XBMImageDecoder::isSizeAvailable):
        (WebCore::XBMImageDecoder::frameBufferAtIndex):
        (WebCore::XBMImageDecoder::decode):
        * platform/image-decoders/xbm/XBMImageDecoder.h: Rename decodeXBM() to decode() for consistency with the JPEG/PNG decoders, and in the future the ICO/BMP decoders.

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Eric Seidel.

        Move some common functions out of platform files and into
        the common implementation.

        https://bugs.webkit.org/show_bug.cgi?id=26425.
        Add a new platform context method (flush) so that the
        getWindowsContext method can be consolidated into the common
        GraphicsContextWin.cpp file.
         
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
        (WebCore::GraphicsContextPlatformPrivate::flush):
        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
        (WebCore::GraphicsContextPlatformPrivate::flush):
        * platform/graphics/win/GraphicsContextCGWin.cpp: Remove
          getWindowContext method.
        * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
          getWindowContext method and fillWithClearColor methods.
        * platform/graphics/win/GraphicsContextWin.cpp:
        (WebCore::fillWithClearColor): Moved from *CairoWin.cpp
        (WebCore::GraphicsContext::getWindowsContext): Moved
          from *CairoWin.cpp

2009-06-18  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Oliver Hunt.

        Remove code that I accidentally committed in r44811.

        * editing/markup.cpp:
        (WebCore::createMarkup):

2009-06-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/6983207> Non-layer content is not re-rendered when transition
        starts sometimes (with hardware acceleration).
        
        When deciding which RenderLayers should be composited, when a layer goes into
        compositing mode we repaint the old location. However, we did that before
        we'd looked at all the factors that may force a layer to composite, so missed
        some cases. Fix by doing the repaint once we really know whether it's going
        to composite.

        Test: compositing/repaint/become-overlay-composited-layer.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):

2009-06-18  Simon Fraser  <simon.fraser@apple.com>

        Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined, and
        the Tiger build where QTMovieLayer does not exist.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovieLayer):
        (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
        (WebCore::MediaPlayerPrivate::currentRenderingMode):
        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
        (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):

2009-06-18  Simon Fraser  <simon.fraser@apple.com>

        Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::currentRenderingMode):
        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):

2009-06-17  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=15189
        Adds the HTML5 input event support for textarea.
        
        Also, moves the oninput attribute parse handling to HTMLElement so that
        it can be set on any HTML element so that bubbling events can be handled
        using HTML attribute handlers.

        Test: fast/forms/textarea-input-event.html

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):

2009-06-18  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        Share code between filterEffects
        [https://bugs.webkit.org/show_bug.cgi?id=26479]

        Share more code of filter effects. The imageBuffer creation can move to
        FilterEffect ant every effect asks for the GraphicsContext. Move the
        drawingRect calculation to FilterEffect.

        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::calculateDrawingRect):
        (WebCore::FilterEffect::getEffectContext):
        * platform/graphics/filters/FilterEffect.h:
        * platform/graphics/filters/SourceGraphic.cpp:
        (WebCore::SourceGraphic::apply):
        * svg/graphics/filters/SVGFEFlood.cpp:
        (WebCore::FEFlood::apply):
        * svg/graphics/filters/SVGFEOffset.cpp:
        (WebCore::FEOffset::apply):

2009-06-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.
        
        https://bugs.webkit.org/show_bug.cgi?id=26499
        
        Support hardware-accelerationed rendering of video elements.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
        (WebCore::HTMLMediaElement::mediaPlayerRepaint):
        Just move these methods to group the render-related methods together.
        
        (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
        Call out method to ask the RenderLayerCompositor if presentation of this video
        can be acclerated. It might say no, if, for example, the video has a reflection.
        
        (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
        Fetch the GraphicsLayer from the RenderVideo that will host the movie layer.
        
        * html/HTMLMediaElement.h:
        Reordered the rendering-related methods, and added two methods related to video
        acceleration.
        
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::acceleratedRenderingStateChanged):
        Called by the rendering system when it determines that the video must go into, or
        fall off of the hardware-accelerated path.
        
        (WebCore::MediaPlayer::supportsAcceleratedRendering):
        Method to say whether the media engine supports accelerated rendering.
        
        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayerClient::mediaPlayerRepaint):
        (WebCore::MediaPlayerClient::mediaPlayerSizeChanged):
        Moved.
        
        (WebCore::MediaPlayerClient::mediaPlayerRenderingCanBeAccelerated):
        (WebCore::MediaPlayerClient::mediaPlayerGraphicsLayer):
        New methods to ask the client if the rendering system can support accelerated
        rendering, and to get a GraphicsLayer to plug the movie layer into.
        
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::supportsAcceleratedRendering):
        (WebCore::MediaPlayerPrivateInterface::acceleratedRenderingStateChanged):
        Forwarding methods from MediaPlayer.
        
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        Some new methods related to using a QTMovieLayer, and to simplify the rendering mode logic.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::createQTMovieLayer):
        (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
        Methods to create and destroy the QTMovieLayer.
        
        (WebCore::MediaPlayerPrivate::currentRenderingMode):
        (WebCore::MediaPlayerPrivate::preferredRenderingMode):
        Methods to clarify the code that decides which of the 3 rendering modes to use.
        
        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
        Changed to use the new rendering mode methods.
        
        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
        Destroy the layer if we have one.
        
        (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
        Small utility method.
        
        (WebCore::MediaPlayerPrivate::updateStates):
        Move the call to setUpVideoRendering() to before we send out the state notifications,
        so that we will have created the rendering objects already.
        
        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
        Return true if we have QTMovieLayer.
        
        (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
        We've been told that we went into or out of accelerated mode; maybe reset
        the renderer, and set the layer if we have to.
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::rendererContentChanged):
        We may need to udpate compositing layers if the video went into accelerated mode.
        
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::canUseDirectCompositing):
        Add smarts to deal with video, which allows us to avoid extra backing store.
        
        (WebCore::RenderLayerBacking::contentsBox):
        Use the videoBox to use the content layer for video layers.
        
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
        Poke the RenderVideo if the state changed.
        
        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
        Handle an edge case when the video element itself is a stacking context
        because of opacity or transform.
        
        (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
        (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
        Allow video to throw us into compositing mode if the media engine supports it.
        
        * rendering/RenderLayerCompositor.h:
        New methods related to video.
        
        * rendering/RenderVideo.h:
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::updatePlayer):
        Call rendererContentChanged() to give the compositor a change to throw the video into
        compositing mode.
        
        (WebCore::RenderVideo::supportsAcceleratedRendering):
        (WebCore::RenderVideo::acceleratedRenderingStateChanged):
        (WebCore::RenderVideo::videoGraphicsLayer):
        Methods to allow the MediaPlayer to do rendering-related stuff via the media element.

2009-06-18  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Niko.

        https://bugs.webkit.org/show_bug.cgi?id=26385
        Root SVG element is not checked on requiredFeatures, requiredExtension like other elements

        Also do the isValid check for outer <svg>.

        Test: svg/custom/outer-svg-unknown-feature.svg

        * svg/SVGDocument.cpp:
        (WebCore::SVGDocument::childShouldCreateRenderer):
        * svg/SVGDocument.h:

2009-06-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - fix <rdar://problem/6913221> REGRESSION (Safari 3-4): Search field on
          apple.com cuts entered text

        Test: fast/forms/search-vertical-alignment.html

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout): Vertically center the
            the search field's inner block.

2009-06-18  Janne Koskinen  <janne.p.koskinen@digia.com>

        Reviewed by Simon Hausmann.

        Fix compilation with Symbian WINSCW compiler, which produced
        multiple definitions of the CSSPrimitiveValue conversion operators.

        It turns out that they are defined inline but not declared inline.

        Adding the inline keyword to the declaration fixes the build.

        * css/CSSPrimitiveValue.h:

2009-06-18  Markus Goetz <Markus.Goetz@nokia.com>

        Reviewed by Simon Hausman.

        Clarify in docs how to compile with debug information.

        * WebCore.pro:

2009-06-18  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Simon Hausmann.

        [Qt] When writing an URL to the clipboard, save the corresponding title
        in the mime data as well.

        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::writeURL):

2009-06-18  Jakub Wieczorek  <faw217@gmail.com>

        [Qt] Fix build. Add HTMLDataGridElement.

        * WebCore.pro:

2009-06-18  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix.

        Add HTMLDataGridElement header and IDL to the build script.

        * GNUmakefile.am:

2009-06-18  Chris Evans  <scarybeasts@gmail.com>

        Reviewed by Adam Barth.

        Fix 8-digit long hex entities. Fixes bug 26454
        https://bugs.webkit.org/show_bug.cgi?id=26454

        Test: fast/parser/eightdigithexentity.html

        * html/HTMLTokenizer.cpp: fix off-by-ones.

2009-06-18  David Levin  <levin@chromium.org>

        Fix chromium linux build.

        Fixes a mistake that happened during the complicated merge for
        landing r44775, r44776, r44777.

        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::create):

2009-06-17  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.
        
        https://bugs.webkit.org/show_bug.cgi?id=26499
        
        First step to making video rendering be hardware-accelerated:
        make <video> elements get self-painting RenderLayers, and add
        an isVideo() virtual method to RenderObject.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setReadyState):
        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
        (WebCore::RenderLayer::isSelfPaintingLayer):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isVideo):
        * rendering/RenderVideo.h:
        (WebCore::RenderVideo::requiresLayer):
        (WebCore::RenderVideo::isVideo):

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Refactor a few common routines in the various Windows ports
        and reduce some duplicated code.

        (1) Create TransformationMatrix XFORM casting operator, and
            switch various XFORM structure uses to utilize it.
        (2) Push concatCTM call to GraphicsContextWin now that the
            TransformationMatrix can directly create XFORM (rather
            than converting to CGAffineTransform/cairo_matrix_t first.)

        * WebCore.vcproj/WebCore.vcproj: Add new BitmapInfo structure.
        * platform/graphics/transforms/TransformationMatrix.h:
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        * platform/graphics/win/GraphicsContextWin.cpp:
        (WebCore::GraphicsContextPlatformPrivate::scale):
        (WebCore::GraphicsContextPlatformPrivate::rotate):
        (WebCore::GraphicsContextPlatformPrivate::translate):
        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
        * platform/graphics/win/TransformationMatrixWin.cpp: Added.
        (WebCore::TransformationMatrix::operator XFORM): New operator

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Non-CG Windows build fix after @r44758.

        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderTheme::themeForPage):

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Adam Roben.

        Refactor a few common routines in the various Windows ports
        and reduce some duplicated code.
        https://bugs.webkit.org/show_bug.cgi?id=26425.

        Refactor use of BITMAPINFO for the new BitmapInfo structure.

        * WebCore.vcproj/WebCore.vcproj:
        * platform/win/BitmapInfo.cpp: Added.
        (WebCore::bitmapInfoForSize):
        (WebCore::BitmapInfo::create):
        (WebCore::BitmapInfo::createBottomUp):
        * platform/win/BitmapInfo.h: Added.
        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        * platform/graphics/win/TransformationMatrixWin.cpp: Added.
        (WebCore::TransformationMatrix::operator XFORM): New operator
        * platform/win/DragImageCGWin.cpp:
        (WebCore::allocImage):
        * platform/win/DragImageCairoWin.cpp:
        (WebCore::allocImage):
        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::paint):

2009-06-17  Adam Roben  <aroben@apple.com>

        Remove unnecessary 6th parameter from SOFT_LINK_OPTIONAL

        Reviewed by Mark Rowe.

        * platform/graphics/win/ColorSafari.cpp: Removed the 6th parameter and
        an unnecessary parameter name.
        * platform/win/SoftLinking.h: Removed the unused 6th parameter.

2009-06-17  Adam Roben  <aroben@apple.com>

        Make Settings::shouldPaintNativeControls default to true

        This matches the default up in WebKit (that was changed in r43318).

        Fixes Bug 26493: REGRESSION (r44758): First tab always uses Mac-style
        form controls
        <https://bugs.webkit.org/show_bug.cgi?id=26493>

        Reviewed by Darin Adler and Dave Hyatt.

        No test possible since DRT always uses Mac-style form controls.

        * page/Settings.cpp: Changed the initial value of
        gShouldPaintNativeControls to true.

        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderTheme::themeForPage): Added a FIXME about the design
        flaw here involving querying Settings before it's been initialized.

2009-06-17  David Levin  <levin@chromium.org>

        Fix chromium windows build.

        A mistake that happened during the complicated merge for
        landing r44775, r44776, r44777.

        * rendering/RenderThemeChromiumWin.h:
        (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
        (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):

2009-06-17  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/6981193> Crash in MediaControlInputElement::attachToParent

        * rendering/MediaControlElements.cpp:
        (WebCore::MediaTextDisplayElement::attachToParent): NULL check element renderer or parent renderer.
        (WebCore::MediaControlInputElement::attachToParent): Ditto.

2009-06-17  David Hyatt  <hyatt@apple.com>

        Fix Windows build.  There's no HTMLDataGridElement.cpp file yet.

        * html/HTMLElementsAllInOne.cpp:

2009-06-17  David Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben and Anders Carlsson.

        Stub out the HTMLDataGridElement.

        * DerivedSources.make:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * editing/htmlediting.cpp:
        (WebCore::canHaveChildrenForEditing):
        * html/HTMLDataGridElement.h: Added.
        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
        (WebCore::HTMLDataGridElement::tagPriority):
        * html/HTMLDataGridElement.idl: Added.
        * html/HTMLElement.cpp:
        (WebCore::inlineTagList):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::isAffectedByResidualStyle):
        * html/HTMLTagNames.in:

2009-06-17  David Levin  <levin@chromium.org>

        Reviewed by NOBODY (chromium build fix).

        Fix typo in previous changes.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):

2009-06-17  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26148
        Remove common code from RenderThemeChromiumWin that is shared with
        RenderThemeChromiumSkia.

        Also move supportsControlTints to RenderThemeChromiumLinux since it
        is linux specific.

        There are no tests changed because this just removes functions with
        duplicate implementations between the base and derived classes.

        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::supportsControlTints):
        * rendering/RenderThemeChromiumLinux.h:
        * rendering/RenderThemeChromiumSkia.cpp:
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::):
        (WebCore::getNonClientMetrics):
        (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
        (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
        (WebCore::RenderThemeChromiumWin::systemFont):
        (WebCore::RenderThemeChromiumWin::paintCheckbox):
        (WebCore::RenderThemeChromiumWin::paintRadio):
        (WebCore::RenderThemeChromiumWin::paintSliderThumb):
        (WebCore::RenderThemeChromiumWin::caretBlinkIntervalInternal):
        * rendering/RenderThemeChromiumWin.h:

2009-06-17  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26148
        Move RenderThemeChromiumSkia into its own file.  This is purely a code move.

        * rendering/RenderThemeChromiumLinux.cpp:
        * rendering/RenderThemeChromiumLinux.h:
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::):
        (WebCore::setSizeIfAuto):
        (WebCore::mediaElementParent):
        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
        (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
        (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
        (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
        (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
        (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
        (WebCore::RenderThemeChromiumSkia::supportsHover):
        (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
        (WebCore::RenderThemeChromiumSkia::systemFont):
        (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
        (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
        (WebCore::RenderThemeChromiumSkia::paintRadio):
        (WebCore::RenderThemeChromiumSkia::setRadioSize):
        (WebCore::brightenColor):
        (WebCore::paintButtonLike):
        (WebCore::RenderThemeChromiumSkia::paintButton):
        (WebCore::RenderThemeChromiumSkia::paintTextField):
        (WebCore::RenderThemeChromiumSkia::paintTextArea):
        (WebCore::RenderThemeChromiumSkia::paintSearchField):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
        (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
        (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
        (WebCore::RenderThemeChromiumSkia::paintMenuList):
        (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
        (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
        (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
        (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
        * rendering/RenderThemeChromiumSkia.h:
        (WebCore::RenderThemeChromiumSkia::supportsControlTints):

2009-06-17  Albert J. Wong  <ajwong@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26148
        Extract RenderThemeChromiumSkia out of RenderThemeChromiumLinux.  This
        is mostly a code shuffle.  The non-suffle changes are:
           1) Creation of a caretBlinkIntervalInternal.
           2) Moving of some inline functions into the implementation files.
           3) Changing of defaultGUIFont into a static class constant from a
              static function.  Also the type is changed to String.
           4) Changing of defaultFontSize into a static class constant from a
              static variable in the file scope.
           5) The static supportsFocus function was collapsed into
              supportsFocusRing.
           6) Split the extraDefaultStyleSheet into Skia and Linux versions.

        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
        (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
        (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
        (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
        (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
        (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
        (WebCore::RenderThemeChromiumSkia::supportsHover):
        (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
        (WebCore::RenderThemeChromiumSkia::systemFont):
        (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
        (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
        (WebCore::RenderThemeChromiumSkia::paintRadio):
        (WebCore::RenderThemeChromiumSkia::setRadioSize):
        (WebCore::RenderThemeChromiumSkia::paintButton):
        (WebCore::RenderThemeChromiumSkia::paintTextField):
        (WebCore::RenderThemeChromiumSkia::paintTextArea):
        (WebCore::RenderThemeChromiumSkia::paintSearchField):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
        (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
        (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
        (WebCore::RenderThemeChromiumSkia::paintMenuList):
        (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
        (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
        (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
        (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
        (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
        (WebCore::RenderThemeChromiumLinux::systemColor):
        (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
        (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
        * rendering/RenderThemeChromiumLinux.h:

2009-06-17  Adam Roben  <aroben@apple.com>

        Add a SOFT_LINK_OPTIONAL macro

        This macro is useful when soft-linking functions that are present in
        only some versions of a particular library (e.g., APIs added in
        Windows Vista that aren't available on Windows XP).

        Reviewed by Ada Chan.

        * platform/graphics/win/ColorSafari.cpp:
        (WebCore::focusRingColor):
        Use the SoftLinking.h macros instead of doing the soft-link ourselves.
        Also removed an unused call to focusRingColor.isValid().

        * platform/win/SoftLinking.h: Added SOFT_LINK_OPTIONAL.

2009-06-17  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Gustavo Noronha.

        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26470.
        The use of zero-width or zero-height rectangles in generating
        gradients caused Windows Cairo to crash, and webkitgtk to
        produce invalid images.

        We now test for NaN in the phase argument, which is calculated
        using fmodf and can blow up when the width/height values passed
        are zero.

        Test: fast/gradients/border-image-gradient-sides-and-corners.html

        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::Image::drawPattern):

2009-06-17  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Dimitri Glazkov.

        If loading a font fails because of the sandbox, we ask the browser process to
        try to load it by calling ensureFontLoaded. If it still fails after
        ensureFontLoaded, we hit a ASSERT_NOT_REACHED.

        This case happens once in a while during browser shutdown. The browser will
        queue a message to the renderer to shutdown, and will then stop answering sync
        messages from the renderer. If the renderer is still loading a page during this
        time, it might try to call the browser process to ask to load a font. The
        browser process will ignore the request, and the font will fail to load, even
        after the second try.

        This is unfortunate, but there is no real risk here, since the renderer will be
        going away as soon as it processes another message.
        
        This can't be layout tested as it depends on the sandbox.
        
        https://bugs.webkit.org/show_bug.cgi?id=26484

        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::fontContainsCharacter):

2009-06-17  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=26482
        <rdar://problem/6978590> When setting playback rate to 0, the audio element stops 
        playing (doesn't resume later)

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::setRate): Always set the rate, even when "paused".

        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::setRate): Ditto.

2009-06-17  Adam Roben  <aroben@apple.com>

        Add all the generated JS*.cpp files back to WebCore.vcproj

        They are not compiled by the vcproj directly. Instead they are
        compiled as part of DerivedSources.cpp. Having them listed in the
        vcproj makes them be included in Project Find, etc.

        Rubber-stamped in advance by Steve Falkenburg.

        * WebCore.vcproj/WebCore.vcproj:

2009-06-17  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Fisher.

        Don't fire redundant 'change' events for a file upload form.
        https://bugs.webkit.org/show_bug.cgi?id=26471

        * platform/FileChooser.cpp:
        (WebCore::FileChooser::chooseFiles): Suppress change event if the
        existing selected files and the incoming selected files are equal.
        (WebCore::FileChooser::chooseIcon): Returns 0 if there is no selected
        files.

2009-06-17  Adam Treat  <adam.treat@torchmobile.com>

        Reviewed by George Staikos.

        https://bugs.webkit.org/show_bug.cgi?id=23155
        Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.

        * platform/KeyboardCodes.h:

2009-06-17  George Staikos  <george.staikos@torchmobile.com>

        Reviewed by Adam Treat.

        https://bugs.webkit.org/show_bug.cgi?id=23155
        Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::getWindowsContext):
        * platform/win/SystemTimeWin.cpp:
        (WebCore::userIdleTime):

2009-06-17  Adam Roben  <aroben@apple.com>

        Speculative Mac build fix

        * page/Page.h: Forward-declare RenderTheme instead of including
        RenderTheme.h so that we don't need to make RenderTheme.h a private
        header for WebKit's benefit.

        * editing/SelectionController.cpp:
        * rendering/InlineTextBox.cpp:
        * rendering/RenderObject.cpp:
        Added #includes of RenderTheme.h.

2009-06-17  Adam Roben  <aroben@apple.com>

        Speculative Mac build fix

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderTheme::create): Added.

2009-06-17  Adam Roben  <aroben@apple.com>

        Speculative Mac build fix

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderTheme::themeForPage): Remove the name of an unused
        parameter.

2009-06-17  Adam Roben  <aroben@apple.com>

        Speculative Mac build fix

        * page/Page.cpp:
        (WebCore::Page::Page): Change the initializer order to match the
        declaration order.

2009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Simon Hausmann.

        Follow up to bug https://bugs.webkit.org/show_bug.cgi?id=26278
        Patch that make WebCore have a RenderTheme per page

        Make the Qt implementation of RenderTheme create a theme per page,
        and use the QStyle associated with the view of each page, in order
        to make the QWidget setStyle() method work as advertised.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::RenderThemeQt):
        (WebCore::RenderThemeQt::qStyle):
        (WebCore::findFrameLineWidth):
        (WebCore::inflateButtonRect):
        (WebCore::RenderThemeQt::adjustRepaintRect):
        (WebCore::RenderThemeQt::isControlStyled):
        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
        (WebCore::RenderThemeQt::setButtonPadding):
        (WebCore::RenderThemeQt::paintButton):
        (WebCore::RenderThemeQt::paintTextField):
        (WebCore::RenderThemeQt::setPopupPadding):
        * platform/qt/RenderThemeQt.h:

2009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Dave Hyatt and Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=26278
        Patch that make WebCore have a RenderTheme per page


        Create a different RenderTheme per page, so that RenderTheme has
        access to page specific theming. This is needed for the Qt port, as Qt
        supports setting the theme (style) per widget.

        This change was suggested and discussed with Dave Hyatt.

        More detailed:

        1) Create a theme per page or one global one, depending on the needs
           of the platform.
        2) Add an accesser to the theme from RenderObject.
        3) Change all uses of the theming to access the theme through
           RenderObject, using the global default theme as fallback, when the
           document of RenderObject has no page.
           When we don't have access to a RenderObject, use the default theme.
        4) Modify all RenderTheme platform implementations to work with the
           above changes, still creating only one global theme.


        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::boundingBoxRect):
        * css/CSSStyleSelector.cpp:
        (WebCore::loadFullDefaultStyle):
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        (WebCore::CSSStyleSelector::applyProperty):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::setActive):
        (WebCore::ContainerNode::setHovered):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::focusedOrActiveStateChanged):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::parseMappedAttribute):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setChecked):
        (WebCore::HTMLInputElement::setIndeterminate):
        * page/Frame.cpp:
        (WebCore::Frame::selectionLayoutChanged):
        * page/FrameView.cpp:
        (WebCore::FrameView::updateControlTints):
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        (WebCore::Page::theme):
        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupListBox::paintRow):
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::create):
        (WebCore::RenderTheme::themeForPage):
        (WebCore::RenderThemeGtk::RenderThemeGtk):
        (WebCore::RenderThemeGtk::~RenderThemeGtk):
        (WebCore::RenderThemeGtk::gtkEntry):
        (WebCore::RenderThemeGtk::gtkTreeView):
        * platform/gtk/RenderThemeGtk.h:
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::create):
        (WebCore::RenderTheme::themeForPage):
        * platform/qt/RenderThemeQt.h:
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::paint):
        * rendering/RenderMediaControls.cpp:
        (WebCore::determineState):
        * platform/wx/RenderThemeWx.cpp:
        (WebCore::RenderThemeWx::create):
        (WebCore::RenderTheme::themeForPage):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintTextMatchMarker):
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlInputElement::hitTest):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::theme):
        * rendering/RenderObject.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::defaultTheme):
        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::RenderThemeChromiumLinux::create):
        (WebCore::RenderTheme::themeForPage):
        * rendering/RenderThemeChromiumLinux.h:
        (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::create):
        (WebCore::RenderTheme::themeForPage):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::create):
        (WebCore::RenderTheme::themeForPage):
        * rendering/RenderThemeChromiumWin.h:
        (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
        (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderTheme::themeForPage):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::create):
        (WebCore::RenderTheme::themeForPage):
        * rendering/RenderThemeSafari.h:
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::create):
        (WebCore::RenderTheme::themeForPage):
        * rendering/RenderThemeWin.h:

2009-06-17  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com

        JSDOMWindowCustom was using PropertySlot::putValue, however this interface
        appears to be fundaementally incorrect - PropertySlots are only used to get
        values, all puts use PutPropertySlot.  However PutPropertySlot cannot be
        used in the fashion desired here - it only reports the caching type of a
        write that has been performed.

        (This caused a bug where the put should have triggered a transition, and
        failed to do so.)

        Removing the faulty case from the optimization leads to a ~0.5% progression
        on in-browser SunSpider (presumably the very first case was not being hit
        often, and the simplification here is beneficial).

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::put):

2009-06-17  David Levin  <levin@chromium.org>

        Reviewed by NOBODY, layout tests fix.

        https://bugs.webkit.org/show_bug.cgi?id=26326
        This reverts commit r44751.

        Once that change was checked scrollbars/scrollbar-orientation.html started
        crashing on Windows.

        * dom/Document.cpp:
        (WebCore::Document::detach):
        * page/FrameView.cpp:
        * page/FrameView.h:
        * platform/Scrollbar.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::destroy):
        * rendering/RenderScrollbar.h:

2009-06-16  Kevin Watters  <kevinwatters@gmail.com>

        Reviewed by Kevin Ollivier.

        In ImageSource::setData, delete the old m_encoder before replacing it with a new one.
        
        https://bugs.webkit.org/show_bug.cgi?id=26458

        * platform/graphics/wx/ImageSourceWx.cpp:
        (WebCore::ImageSource::setData):

2009-06-16  David Levin  <levin@chromium.org>

        Reviewed by David Hyatt.

        REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
        https://bugs.webkit.org/show_bug.cgi?id=26326

        Test: scrollbars/scrollbar-crash-on-refresh.html

        * dom/Document.cpp:
        (WebCore::Document::detach):
        Gives the FrameView a change to do any necessary cleanup on
        Document::detach() which is where the renderArena gets detroyed.
        * page/FrameView.cpp:
        (WebCore::FrameView::detachCustomScrollbars):
        Gets rid of any custom scrollbars (if the docment supplied them).
        * page/FrameView.h:
        * platform/Scrollbar.h:
        (WebCore::Scrollbar::isCustomScrollbar):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::destroy):
        Removed the check for document()->frame().  If frame() is 0 in this code,
        then the call to animation() is also incorrect (since it does document()->frame()->animation()).
        * rendering/RenderScrollbar.h:
        (WebCore::RenderScrollbar::isCustomScrollbar):

2009-06-16  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adele Peterson.

        Fix of <rdar://6967547> Ctrl-C copies null value erasing text in clipboard in Safari.
        This patch kept the way events were firing as they were before, and Windows events are
        consistent with Mac.       

        * editing/Editor.cpp:
        (WebCore::Editor::tryDHTMLCopy): Added check for canCopy() before clearing PasteBoard
        (WebCore::Editor::tryDHTMLCut): Added check for canCut() before clearing PasteBoard

2009-06-16  Antti Koivisto  <antti@apple.com>

        Reviewed by Brady Eidson.

        <rdar://problem/6660037> CrashTracer: [USER] 46 crashes in Safari at com.apple.WebCore • WebCore::CachedCSSStyleSheet::addClient + 53
        
        When revalidating a resource, calling addClient() on one client might cause another to get removed.
        
        - made CachedResource::addClient() non-virtual and added virtual didAddClient()
        - in CachedResource::switchClientsToRevalidatedResource() add all clients to the client set of the revalidated resource first
        - check if the client is still in the set before invoking didAddClient() for it
        
        No test case, I didn't manage to construct one. You need some combination of 304 revalidation, stylesheets that
        reference each other via @imports and reloading.

        * WebCore.base.exp:
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::didAddClient):
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::didAddClient):
        * loader/CachedFont.h:
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::didAddClient):
        * loader/CachedImage.h:
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::addClient):
        (WebCore::CachedResource::addClientToSet):
        (WebCore::CachedResource::switchClientsToRevalidatedResource):
        * loader/CachedResource.h:
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::didAddClient):
        * loader/CachedScript.h:
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::didAddClient):
        * loader/CachedXSLStyleSheet.h:

2009-06-16  Simon Fraser  <simon.fraser@apple.com>

        No Review

        Fix code inside an #ifdef that draws the video framerate.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::paint):

2009-06-16  Jian Li  <jianli@chromium.org>

        Reviewed by Dimitri Glazkov.

        Bug 26456: Hook up V8 bindings for Worker's importScripts functionality.
        https://bugs.webkit.org/show_bug.cgi?id=26456

        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerCustom.cpp: Fixed missing exception code
          handling in Worker constructor for V8 bindings.
        (WebCore::CALLBACK_FUNC_DECL):

2009-06-16  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Maciej Stachowiak.

        Update of https://bugs.webkit.org/show_bug.cgi?id=26353.
        Provide an assignment operator to avoid improper reference
        counts on the Cairo font objects.  This brings the Windows
        Cairo port in line with the GTK+ port.

        * platform/graphics/win/FontPlatformData.h:
        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):

2009-06-16  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        Fix for <rdar://problem/6890126> Theme code should fetch the MediaControlElementType from 
        the MediaControlInputElement, rather than computing it again

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::percentLoaded): New, utility function for controller implementation.
        * html/HTMLMediaElement.h:

        * rendering/MediaControlElements.h:
        (WebCore::MediaControlInputElement::displayType): New, return m_displayType.

        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::paintMediaControlsPart): Stop using MediaPlayer object, get button
        state from the button itself and get movie state from HTMLMediaElement.

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMediaMuteButton): Get state from button instead of MediaPlayer.
        (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.

2009-06-16  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Bug 26450: Rename values of enum RedirectOriginCheck to make them
        clearer.
        https://bugs.webkit.org/show_bug.cgi?id=26450

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::create):
        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
        (WebCore::DocumentThreadableLoader::willSendRequest):
        * loader/DocumentThreadableLoader.h:
        * loader/ThreadableLoader.cpp:
        (WebCore::ThreadableLoader::create):
        (WebCore::ThreadableLoader::loadResourceSynchronously):
        * loader/ThreadableLoader.h:
        * workers/Worker.cpp:
        (WebCore::Worker::Worker):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts):
        * loader/WorkerThreadableLoader.cpp:
        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
        (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
        * loader/WorkerThreadableLoader.h:
        (WebCore::WorkerThreadableLoader::create):
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::loadSynchronously):
        (WebCore::WorkerScriptLoader::loadAsynchronously):
        * workers/WorkerScriptLoader.h:
        (WebCore::WorkerContext::importScripts):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::loadRequestAsynchronously):

2009-06-16  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Fisher.

        Fix a UMR in WebCore::BitStack by initializing new memory to 0.
        https://bugs.webkit.org/show_bug.cgi?id=26449
        No new tests, covered by purify.

        * editing/TextIterator.cpp:
        (WebCore::BitStack::push):

2009-06-16  Brent Fulgham  <bfulgham@webkit.org>

        Reviewed by Xan Lopez.

        Test: fast/multicol/columns-shorthand-parsing.html 

        Fixes https://bugs.webkit.org/show_bug.cgi?id=26453.
        Null Cairo contextwill crash Windows Cairo build.

        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        (WebCore::GraphicsContextPlatformPrivate::syncContext):
          Add a check for null context before attempting to
          retrieve the Cairo surface.

2009-06-16  Peter Kasting  <pkasting@google.com>

        Reviewed by Xan Lopez.

        https://bugs.webkit.org/show_bug.cgi?id=26447
        Fix animated GIF breakage in Cairo/wx ports.

        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
        (WebCore::RGBA32Buffer::copyBitmapData):
        (WebCore::RGBA32Buffer::operator=):
        * platform/image-decoders/wx/ImageDecoderWx.cpp:
        (WebCore::RGBA32Buffer::copyBitmapData):
        (WebCore::RGBA32Buffer::operator=):

2009-06-16  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by John Sullivan
        
        <rdar://problem/6937882>
        
        Tweak "time remaining" and "time elapsed" fields in the overlay video controller.

        * css/mediaControlsQT.css:

2009-06-16  Jian Li  <jianli@chromium.org>

        Reviewed by Adam Barth and David Levin.

        Bug 26146: Change to use ThreadableLoader to load the worker script
        in order to check URL origin for redirection.
        https://bugs.webkit.org/show_bug.cgi?id=26146

        Test: http/tests/workers/worker-redirect.html

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * workers/Worker.cpp:
        (WebCore::Worker::Worker):
        (WebCore::Worker::notifyFinished):
        * workers/Worker.h:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts):
        * workers/WorkerImportScriptsClient.cpp: Removed.
        * workers/WorkerImportScriptsClient.h: Removed.
        * workers/WorkerScriptLoader.cpp: Renamed from workers/WorkerImportScriptsClient.cpp.
          This to make it more generic so worker script loading could use it.
        (WebCore::WorkerScriptLoader::loadSynchronously):
        (WebCore::WorkerScriptLoader::loadAsynchronously):
        (WebCore::WorkerScriptLoader::didFinishLoading):
        (WebCore::WorkerScriptLoader::didFail):
        (WebCore::WorkerScriptLoader::didFailRedirectCheck):
        (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
        (WebCore::WorkerScriptLoader::notifyFinished):
        * workers/WorkerScriptLoader.h: Renamed from workers/WorkerImportScriptsClient.h.
          This to make it more generic so worker script loading could use it.
        * workers/WorkerScriptLoaderClient.h: Added.

2009-06-16  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Darin Adler.

        Use consistent GUID comparison functions.
        https://bugs.webkit.org/show_bug.cgi?id=26427

        * platform/win/WCDataObject.cpp:
        (WebCore::WCDataObject::QueryInterface):

2009-06-16  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Fix compiler warning.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_class_init):

2009-06-16  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Remove dummy AtkStreamableContent implementation.

        It's completely empty, we'll add it back (and conditionally
        instead of unconditionally) when it does something.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (GetAtkInterfaceTypeFromWAIType):
        (getInterfaceMaskFromObject):

== Rolled over to ChangeLog-2009-06-16 ==