ChangeLog   [plain text]


2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Merged 89714.

    2011-06-24  Alexey Proskuryakov  <ap@apple.com>

        Rubber-stamped by Maciej Stachowiak.

        REGRESSION (r88984): Infinite recursion in DocumentLoader::detachFromFrame/stopLoading

        No new tests, as there is no known way to reproduce this (but we'll keep investigating, as
        the rollout will re-introduce the older less frequent crash).

        * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::detachFromFrame): Rollout the fix
        for bug 62764.

2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Rolled out 89080.

2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Merged 88984.

    2011-06-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
        https://bugs.webkit.org/show_bug.cgi?id=62764

        This is an non-reproducible high volume crash, so no test :(. 

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::detachFromFrame):
        Be conservative and stop loading when we detach a document loader from a frame.


2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Merged 88982.

    2011-06-15  Beth Dakin  <bdakin@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=62746
        Crash possible when switching scrollbar appearance preference on Mac
        -and corresponding-
        <rdar://problem/9323983>
        
        This crash happens because the current mechanism that is intended to flag 
        ScrollAnimators as being in the page cache or not does not work correctly. 
        Long-term the fix for this is to move the ScrollableArea HashSet to a more 
        appropriate place. In the meantime, this patch addresses the crash by getting 
        rid of the m_isActive bool on ScrollAnimator that was intended to represent 
        whether or not the ScrollableArea is in the page cache. Instead, ScrollableArea 
        implementations now have their own functions to compute whether they are in 
        active pages. ScrollAnimator::setIsActive() needs to be kept around even though 
        there is no bool to flip anymore because scrollbars may need to be properly 
        updated if the appearance was switched while the document was in the page cache.

        No longer call FrameView::setAnimatorsAreActive() from 
        Document::setIsInPageCache(), instead call it in 
        Document::documentDidBecomeActive()
        * dom/Document.cpp:
        (WebCore::Document::setInPageCache):
        (WebCore::Document::documentDidBecomeActive):

        ScrollableAreas can now assess whether or not they are on active pages (ie, not 
        in the page cache).
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::isOnActivePage):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::isOnActivePage):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::isOnActivePage):
        * rendering/RenderListBox.h:

        A FrameView cannot access its Document when it's in the page cache, so it 
        usually determines whether it's in the page cache by checking if its frame 
        points to a FrameView other than itself.
        * page/FrameView.cpp:
        (WebCore::FrameView::isOnActivePage):
        
        Make sure ScrollableAreas are on active pages before setting them as 
        active. This will not be necessary when the HashSet become a per-web page 
        HashSet.
        (WebCore::FrameView::setAnimatorsAreActive):
        * page/FrameView.h:
        
        ScrollAnimator no longer tracks the m_isActive bool. 
        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::ScrollAnimator):
        * platform/ScrollAnimator.h:
        (WebCore::ScrollAnimator::setIsActive):
        
        setIsActive() now exclusively calls updateScrollStyle() if there is a pending 
        need to do so.
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::setIsActive):
        
        Return early if the ScrollableArea is in the page cache. 
        (WebCore::ScrollAnimatorMac::updateScrollerStyle):

2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Merged 88948.

    2011-06-15  Jer Noble  <jer.noble@apple.com>

        Reviewed by Timothy Hatcher.

        Full-screen live streams have status text in wrong location
        https://bugs.webkit.org/show_bug.cgi?id=62733

        Fix a misspelling in the user-agent stylesheet for full-screen mode.

        * css/fullscreenQuickTime.css:
        (video:-webkit-full-screen::-webkit-media-controls-status-display):

2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Merged 88945.

    2011-06-14  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        (AVFoundation) Apple event video appears as live stream and is not seekable
        https://bugs.webkit.org/show_bug.cgi?id=62694

        No new tests; There are no media-player port specific tests yet.

        Work around a bug in apple.com live stream javascript controller library.  When an AVAsset returns an indefinite time
        for its duration, return 0 if the asset has no tracks, and infinity otherwise.  This keeps the apple.com controller 
        from identifying the stored stream as a live stream.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):

2011-06-16  Lucas Forschler  <lforschler@apple.com>

    Merged 88830.

    2011-06-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        VoiceOver cannot navigate the iTunes album view table
        https://bugs.webkit.org/show_bug.cgi?id=62335

        This is a regression from https://bugs.webkit.org/show_bug.cgi?id=57463.
        Part of that patch made a change so that an ARIA table will only look at it's children and grandchildren
        for possible rows. That however, doesn't allow arbitrary hierarchies to work with ARIA, like in iTunes album view.

        Test: platform/mac/accessibility/aria-grid-with-strange-hierarchy.html

        * accessibility/AccessibilityARIAGrid.cpp:
        (WebCore::AccessibilityARIAGrid::addChild):
        (WebCore::AccessibilityARIAGrid::addChildren):
        * accessibility/AccessibilityARIAGrid.h:

2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Merged 88833.

    2011-06-14  Stephanie Lewis  <slewis@apple.com>

        Rubber stamped by Oliver Hunt.

        <rdar://problem/9511169>
        Update order files.

        Build system change, no change in functionality so no new tests.

        * WebCore.order:

2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Merged 88591.

    2011-06-09  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        REGRESSION: End of apple.com video in full-screen mode leads to unusable page.
        https://bugs.webkit.org/show_bug.cgi?id=62411
        
        Test: fullscreen/full-screen-remove-ancestor-after.html

        The placeholder for RenderFullScreen was being created as a non-anonymous object, which led
        to the document's renderer being set to 0 when the placeholder was removed due to its parent
        being removed. Setting the placeholder to be anonymous, however, means that it will be
        coalesced with sibling anonymous blocks, so added the RenderFullScreenPlaceholder to the
        list of anonymous objects that are not considered anonymous blocks, to avoid the placeholder
        being so coalesced. To do so, made the placeholder object a true subclass, and add and
        override its destroy() function to notify the RenderFullScreen object that it has been
        destroyed.

        * rendering/RenderFullScreen.cpp:
        (RenderFullScreenPlaceholder::RenderFullScreenPlaceholder): Added.
        (RenderFullScreenPlaceholder::~RenderFullScreenPlaceholder): Added.
        (RenderFullScreenPlaceholder::isRenderFullScreenPlaceholder): Added.
        (RenderFullScreenPlaceholder::destroy): Notify the owner renderer that its placeholder
            has been destroyed.
        (RenderFullScreen::destroy): Assert that the m_placeholder ivar is 0 after destroying it.
        (RenderFullScreen::setPlaceholder): Added.
        (RenderFullScreen::createPlaceholder): Do not make the placeholder anonymous.
        * rendering/RenderFullScreen.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isRenderFullScreenPlaceholder): Added.
        (WebCore::RenderObject::isAnonymousBlock): Added the placeholder class to the list of
            objects which are not anonymous blocks.

2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Merged 88685.

    2011-06-13  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Dan Bernstein.

        REGRESSION (r81518): Crash in makeRange() when invoking the dictionary panel over a file input
        https://bugs.webkit.org/show_bug.cgi?id=62544

        Fixed the crash by adding null pointer checks.

        No new tests since there's no way to open dictionary panel.

        * dom/Position.cpp:
        (WebCore::Position::parentAnchoredEquivalent):
        * editing/VisiblePosition.cpp:
        (WebCore::makeRange):
        * page/Frame.cpp:
        (WebCore::Frame::rangeForPoint):

2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Merged 88654.

    2011-06-11  Jer Noble  <jer.noble@apple.com>

        Reviewed by Anders Carlsson.

        Avoid flashing when exiting full-screen mode.
        https://bugs.webkit.org/show_bug.cgi?id=62338

        No new tests; covered by the existing full-screen tests.

        Now that we are forcing a repaint inside of setRootFullScreenLayer() instead of during
        the next run loop, make sure that we have disabled animation before calling 
        setRootFullScreenLayer() so that the RenderFullScreen renderer and its contents are
        painted.

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

2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Merged 88653.

    2011-06-10  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Flash of white on left and right edges of screen when showing fullscreen controller when movie doesn't fill the entire screen
        https://bugs.webkit.org/show_bug.cgi?id=62491
        <rdar://problem/9584427>

        No new tests; should be covered by existing fullscreen pixel tests.

        On certain displays, when a RenderFullScreen renderer is created, it is large enough to trigger the 
        creation of a tiled CALayer (instead of a normal CALayer).  Painting in these layers necessarily
        happens asynchronously, so the flash is occurring because of the async painting of the RenderFullScreen
        renderer's background color.  Since we know the RenderFullScreen does not otherwise paint its contents,
        we can add a special case in the RenderLayerBacking to set the GraphicsLayer contents to be the
        renderer's background color.  Fill in support for creating a contentLayer to contain the background 
        color inside GraphicsLayerCA.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::setContentsToBackgroundColor): Renamed from setContentsBackgroundColor to match
            the other setContentsTo... functions.
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::setContentsToBackgroundColor): Added. Creates a contentsLayer to host the 
            background color.
        (WebCore::GraphicsLayerCA::updateLayerBackgroundColor): Removed a comment only.
        * platform/graphics/ca/GraphicsLayerCA.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Special case the RenderFullScreen
            renderer to call updateBackgroundColor.
        (WebCore::RenderLayerBacking::updateBackgroundColor): Added.
        (WebCore::RenderLayerBacking::containsPaintedContent): Tell the backing that the RenderFullScreen
            renderer does not paint its contents.
        * rendering/RenderLayerBacking.h:

2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Merged 88629.

    2011-06-12  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (full screen video): Watch Again button is obscured after full screen playback ends at Apple trailers page
        https://bugs.webkit.org/show_bug.cgi?id=62507

        No new tests; DRT would have to be modified to delay between receiving exitFullScreenForElement() and calling 
        webkitWillExitFullScreenForElement() to be able to test this.

        If the full-screen element is removed, and webkitWillExitFullScreenForElement() is not called before
        fullScreenElementRemoved() returns, then ancestors of the full-screen element will not have their
        containsFullScreenElement property removed.  To protect against this, reset the property by calling 
        setContainsFullScreenElementRecursively() from within fullScreenElementRemoved().

        * dom/Document.cpp:
        (WebCore::Document::fullScreenElementRemoved): Added call to setContainsFullScreenElementRecursively.

2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Merged 88564.

    2011-06-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Null-check the layer owner again when painting layers
        https://bugs.webkit.org/show_bug.cgi?id=62473

        Speculative fix for a crash that occurs when the layer's owner
        gets destroyed during painting.

        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):
        
2011-06-14  Lucas Forschler  <lforschler@apple.com>

    Merged 88528.

    2011-06-09  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        REGRESSION: Vertical scroll bar appears when taking videos into full screen at jerryseinfeld.com
        https://bugs.webkit.org/show_bug.cgi?id=62402

        Sites are able to override the "overflow:hidden" rule for root full-screen nodes
        simply by adding a "html {}" rule.  Make this rule !important, and also make it apply
        to root nodes who are merely ancestors of full-screen elements, to cover the case of
        a root node containing an <iframe> whose contents have gone full-screen.

        * css/fullscreen.css:
        (:root:-webkit-full-screen-document:not(:-webkit-full-screen),
            :root:-webkit-full-screen-ancestor): Apply the overflow rule to root elements
            who are full-screen ancestors, and make them !important.
    
2011-06-02  Lucas Forschler  <lforschler@apple.com>

    Merged 88468.

    2011-06-02  Jer Noble  <jer.noble@apple.com>

        Reviewed by Maciej Stachowiak.

        REGRESSION: Page layout messed up after exiting full screen after video ends at jerryseinfeld.com
        https://bugs.webkit.org/show_bug.cgi?id=61911
        <rdar://problem/9523017>

        Test: fullscreen/full-screen-video-offset.html

        When the video element is taken full-screen in the new element full-screen API, return the
        offset width and height of the placeholder renderer which is filling in for the full-screen
        element.  To do so, override offsetWidth, Height, Left, and Top from Element.  These are
        non-virtual functions, so make them virtual.

        * dom/Element.cpp:
        (WebCore::Element::adjustForLocalZoom): Made into a class-static function.
        * dom/Element.h: Made offset functions virtual.
        * html/HTMLMediaElement.cpp:
        (WebCore::elementPlaceholder): Added; utility function.
        (WebCore::HTMLMediaElement::offsetLeft): Added; virtual override of the 
            Element function. Will be called directly via javascript.
        (WebCore::HTMLMediaElement::offsetTop): Ditto.
        (WebCore::HTMLMediaElement::offsetWidth): Ditto.
        (WebCore::HTMLMediaElement::offsetHeight): Ditto.
        * html/HTMLMediaElement.h:

2011-06-02  Lucas Forschler  <lforschler@apple.com>

    Merged 88475.

    2011-06-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Crashes in RenderLayerBacking::paintingGoesToWindow
        https://bugs.webkit.org/show_bug.cgi?id=61159

        Speculative fix for unreproducible crash that can occur when RenderObject::repaintUsingContainer()
        finds a repaintContainer that is not the RenderView, but that is also not
        composited (for unknown reasons), by checking to see if the layer is
        compositing before using backing(). An assertion remains to try to catch
        this in debug builds.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::setBackingNeedsRepaintInRect):

2011-06-02  Lucas Forschler  <lforschler@apple.com>

    Merged 88279.

    2011-06-07  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        Video with poster attribute will not display new frames when scrubbing.
        https://bugs.webkit.org/show_bug.cgi?id=62036

        Remove our "detection" about the end of a scrub now that there is an explicit seek completion
        handler available in AVFoundation.  Move what we used to do upon detection in timeChanged()
        into seekCompleted().

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::timeChanged): 
        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):

2011-06-07  Lucas Forschler  <lforschler@apple.com>

    Merged 88261.

    2011-06-07  Michael Saboff  <msaboff@apple.com>

        Reviewed by Geoffrey Garen.

        Need to enable font cache purging in MemoryPressureHandler
        https://bugs.webkit.org/show_bug.cgi?id=62060

        Improve memory usage under pressure.
        Added call to fontCache()->purgeInactiveFontData() in 
        MemoryPressureHandler::respondToMemoryPressure().  Added protection to 
        MemoryPressureHandler::install() being called multiple times.

        No new tests as funtionality wasn't changed.

        * platform/MemoryPressureHandler.cpp:
        (WebCore::MemoryPressureHandler::MemoryPressureHandler):
        * platform/MemoryPressureHandler.h:
        * platform/mac/MemoryPressureHandlerMac.mm:
        (WebCore::MemoryPressureHandler::install):
        (WebCore::MemoryPressureHandler::respondToMemoryPressure):

2011-06-07  Lucas Forschler  <lforschler@apple.com>

    Merged 88269.

    2011-06-07  Brian Weinstein  <bweinstein@apple.com>

        Build fix after r88260.

        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::getFontDataForCharacters): Update to use enum instead of bool.
        * platform/graphics/wince/FontCacheWinCE.cpp:

2011-06-07  Lucas Forschler  <lforschler@apple.com>

    Merged 88260.

    2011-06-07  Michael Saboff  <msaboff@apple.com>

        Reviewed by Geoffrey Garen.

        Need to enable font cache purging in MemoryPressureHandler
        https://bugs.webkit.org/show_bug.cgi?id=62060

        Improve memory usage under pressure.
        Added call to fontCache()->purgeInactiveFontData() in 
        MemoryPressureHandler::respondToMemoryPressure().  Added protection to 
        MemoryPressureHandler::install() being called multiple times.

        No new tests as funtionality wasn't changed.

        * platform/MemoryPressureHandler.cpp:
        (WebCore::MemoryPressureHandler::MemoryPressureHandler):
        * platform/MemoryPressureHandler.h:
        * platform/mac/MemoryPressureHandlerMac.mm:
        (WebCore::MemoryPressureHandler::install):
        (WebCore::MemoryPressureHandler::respondToMemoryPressure):

2011-06-07  Michael Saboff  <msaboff@apple.com>

        Reviewed by Geoffrey Garen.

        Fonts returned by FontCache::getFontDataForCharacters() are never released
        https://bugs.webkit.org/show_bug.cgi?id=61875

        This change allows fonts allocated as system fallback fonts to be 
        released.  Previously, the reference counts for these fonts grew 
        without bound.  This is implemented as an auto release class that wraps
        accesses to the cache for system fallback fonts. All such accesses are
        via the method FontCache::getFontDataForCharacters. The new class is
        called FontCachePurgePreventer. When such an object exists, it protects
        these fonts from deletion.

        Most accesses to the font cache still use the reference counting
        implemented by FontCache::getCacheFontData() and 
        FontCache::releaseFontData() and that operation is not affected by
        this change.

        Added local scoped instance of FontCachePurgePreventer to wrap code
        that directly or indirectly accesses fonts via getFontDataForCharacters.
        Did a few other miscellaneous bug fixes and changes to allow system
        fallback fonts to be pruned from the GlyphPageTree. Changed the
        calls to getFontData in the platform specific versions of
        Fontcache::getFontDataForCharacters to not increment the reference
        count.  Moved the purge font check
        outside of FontCache::getCachedFontData() into a separate method, 
        purgeInactiveFontDataIfNeeded() since almost all calls to 
        getCachedFontData() now happen when purging is not allowed.
        purgeInactiveFontDataIfNeeded is invoked in enablePurging() when
        m_purgePreventCount is 0.

        No new test as the functionality has not changed. Improved font life
        cycle management.

        * WebCore.exp.in: Added FontCache::purgeInactiveFontDataIfNeeded().
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::measureText):
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        Wrapped code accessing fallback fonts with local 
        FontCachePurgePreventer in these methods.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        (WebCore::FrameView::paintContents):
        Wrapped code accessing fallback fonts with local 
        FontCachePurgePreventer in these methods.

        * platform/graphics/FontCache.cpp:
        (WebCore::FontCache::FontCache):
        (WebCore::FontCache::getCachedFontData):
        Moved purge check to new method since it likely can't happen here.
        (WebCore::FontCache::releaseFontData):
        (WebCore::FontCache::purgeInactiveFontDataIfNeeded):
        (WebCore::FontCache::purgeInactiveFontData):
        Made purging conditional on m_purgePreventCount.  Now some fonts
        in the cache are reference counted while other can be purged 
        outside of code wrapped by in scope FontCachePurgePreventer objects.

        * platform/graphics/FontCache.h:
        (WebCore::FontCache::disablePurging):
        (WebCore::FontCache::enablePurging):
        (WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
        (WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):
        Added new simple purge prevention wrapper class and methods
        that it calls in FontCache actually prevent purging.  The
        simple methods inlined to reduce overhead.

        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter): Update level in 
        glyph page tree for system fallback fonts so pruning works.

        * platform/graphics/GlyphPage.h:
        (WebCore::GlyphPage::clearForFontData): New method used for pruning
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::pruneFontData):
        Now we prune system fallback fonts.

        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/freetype/FontCacheFreeType.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/haiku/FontCacheHaiku.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/wince/FontCacheWinCE.cpp:
        * platform/graphics/wx/FontCacheWx.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        Changed the calls to getFontData() to not increment the reference
        count. The caller of this getFontDataForCharacters() (currently only
        Font::glyphDataForCharacter() in fontFastPath.cpp) and it's callers
        don't attempt to release the returned fonts so we use the purge
        protection described above.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::offsetForPosition):
        (WebCore::InlineTextBox::positionForOffset):
        Wrapped code accessing fallback fonts with local
        FontCachePurgePreventer in these methods.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::setImageSizeForAltText):
        Wrapped code accessing fallback fonts with local
        FontCachePurgePreventer in this method.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::updateFromElement):
        (WebCore::RenderListBox::paintItemForeground):
        Wrapped code accessing fallback fonts with local
        FontCachePurgePreventer in these methods

        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
        Wrapped code accessing fallback fonts with local
        FontCachePurgePreventer in this method.

2011-06-07  Lucas Forschler  <lforschler@apple.com>

    Merged 88123.

    2011-06-04  Darin Adler  <darin@apple.com>

        Reviewed by Anders Carlsson.

        [Mac WebKit2] REGRESSION (r86692): Synchronous XMLHttpRequest hangs in credential shim (affects Netgear ReadyNAS admin page)
        https://bugs.webkit.org/show_bug.cgi?id=62094
        rdar://problem/9539204

        * WebCore.exp.in: Export ResourceHandle::synchronousLoadRunLoopMode.
        * platform/network/ResourceHandle.h: Add synchronousLoadRunLoopMode.
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::synchronousLoadRunLoopMode): Added.
        (WebCore::ResourceHandle::loadResourceSynchronously): Call synchronousLoadRunLoopMode.
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::synchronousLoadRunLoopMode): Added.
        (WebCore::ResourceHandle::loadResourceSynchronously): Call synchronousLoadRunLoopMode.

2011-06-07  Lucas Forschler  <lforschler@apple.com>

    Merged 88121.

    2011-06-04  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        WebKit2 needs to know when a scroll is happening due to the ScrollAnimator
        https://bugs.webkit.org/show_bug.cgi?id=62093

        Add additional ChromeClient functions to indicate the beginning and end of
        the various ScrollAnimator animations. Change existing notification that a
        rubber-band has completed for the main frame to be triggered for all frames.

        * page/ChromeClient.h:
        (WebCore::ChromeClient::didStartRubberBandForFrame):
        (WebCore::ChromeClient::didCompleteRubberBandForFrame):
        (WebCore::ChromeClient::didStartAnimatedScroll):
        (WebCore::ChromeClient::didCompleteAnimatedScroll):
        * page/FrameView.cpp:
        (WebCore::FrameView::didStartRubberBand):
        (WebCore::FrameView::didCompleteRubberBand):
        (WebCore::FrameView::didStartAnimatedScroll):
        (WebCore::FrameView::didCompleteAnimatedScroll):
        * page/FrameView.h:
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::didStartRubberBand):
        (WebCore::ScrollableArea::didStartAnimatedScroll):
        (WebCore::ScrollableArea::didCompleteAnimatedScroll):
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
        (WebCore::ScrollAnimatorMac::scroll):
        (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation):
        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):

2011-06-07  Lucas Forschler  <lforschler@apple.com>

    Merged 88104.

    2011-06-04  Jeffrey Pfau  <jpfau@apple.com>

        Reviewed by Beth Dakin.

        Crash in WebCore::RenderMathMLSubSup::baselinePosition()
        https://bugs.webkit.org/show_bug.cgi?id=57897

        Simple patch adding NULL checks in each function.
        Test: mathml/msubsup-remove-children.xhtml

        * rendering/mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::stretchToHeight):
        (WebCore::RenderMathMLSubSup::baselinePosition):

2011-06-07  Lucas Forschler  <lforschler@apple.com>

    Merged 88080.

    2011-06-03  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Brian Weinstein.

        HistoryItem children persist across page loads
        https://bugs.webkit.org/show_bug.cgi?id=62071
        <rdar://problem/9552129>
        
        Not testable since there's no way to check for the presence/absence
        of children for a HistoryItem.

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::reset): Call clearChildren when we're reusing a HistoryItem.

2011-06-07  Lucas Forschler  <lforschler@apple.com>

    Merged 88034.
    Note: The original change applied to trunk was refactored from Node.cpp into NodeRenderingContext.cpp.
    The branch was taken before refactoring, thus this patch was manually applied to Node.cpp.

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

        Reviewed by Simon Fraser.

        Flash of broken page when exiting full screen at jerryseinfeld.com
        https://bugs.webkit.org/show_bug.cgi?id=61897
        <rdar://problem/9522985>

        Test: fullscreen/full-screen-placeholder.html

        Entering full-screen mode is causing the page layout to change because the full-screen
        element is taken out of the normal flow.  To counteract this effect, insert a placeholder
        block as a parent of the full-screen renderer with the same size and style as the full-screen
        element pre-full-screen.

        Only create a placeholder for block-level elements; the technique required for inline elements
        would be vastly more complicated.

        * dom/Document.cpp:
        (WebCore::Document::webkitWillEnterFullScreenForElement): Create a placeholder
            based on the size and style of the full-screen element.
        (WebCore::Document::setFullScreenRenderer): Persist the placeholder size and 
            style across new renderers.
        * rendering/RenderFullScreen.cpp:
        (RenderFullScreen::RenderFullScreen): Added ivar.
        (RenderFullScreen::destroy): Make sure to safely destroy our placeholder.
        (RenderFullScreen::createPlaceholder): Added.
        * rendering/RenderFullScreen.h:
        (WebCore::RenderFullScreen::placeholder): Ivar accessor.

2011-06-07  Lucas Forschler  <lforschler@apple.com>

    Merged 87959. 

    2011-06-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/9539920> and https://bugs.webkit.org/show_bug.cgi?id=61950
        Repro crash loading certain webarchives after r87566.

        Test: webarchive/loading/javascript-url-iframe-crash.html

        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeIfJavaScriptURL): DocumentWriter::replaceDocument can
          cause the DocumentLoader to be destroyed, so protect it with a Ref here.

2011-06-02  Lucas Forschler  <lforschler@apple.com>

    Merged 87856.

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

        Reviewed by Darin Adler.

        Safari always crashes on http://bbc.co.uk when VoiceOver enabled
        https://bugs.webkit.org/show_bug.cgi?id=61886

        This crash can happen on webpages that remove an element from the DOM when the element receives focus.
        When AppKit goes to post a notification to inform VoiceOver the focus has changed, it asks for the AXFocusedUIElement.
        However by posting that notification, a render tree update is performed. This causes the element to disappear, but
        AppKit still has a handle to it and continues to try to reference it. When the autorelease pool pops, the reference goes bad.

        To fix, the root element, the AccessibilityScrollView, needs to implement updateBackingStore(), otherwise this method 
        will not be called in time.

        No test could be created because to cause it depends on an internal AppKit mechanism
        that is only triggered remotely through the accessibility runtime.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::updateBackingStore):
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        * accessibility/AccessibilityRenderObject.h:

2011-06-02  Lucas Forschler  <lforschler@apple.com>

    Merged 87844.

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

        Reviewed by Darin Adler.

        Page layout messed up after exiting full screen at Apple trailers page
        https://bugs.webkit.org/show_bug.cgi?id=61755
        <rdar://problem/9525277>

        Test: fullscreen/full-screen-zIndex-after.html

        Fix the incomplete implementation of r87660. Make parameters to
        setContainsFullScreenElementRecursively() in webkitWillExitFullScreenForElement() match those
        in webkitWillEnterFullScreenForElement(), so the ancestors' flags do not become
        inconsistent..

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

2011-06-02  Lucas Forschler  <lforschler@apple.com>

    Merged 87768.

    2011-05-31  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Flash of black at the end of full screen transition at apple.com product videos
        https://bugs.webkit.org/show_bug.cgi?id=61756

        Added two new entries to the WebCore exports list.

        * WebCore.exp.in:

2011-06-02  Lucas Forschler  <lforschler@apple.com>

    Merged 87704.

    2011-05-30  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Alexey Proskuryakov.

        Audio and video files saved to the Application Cache should preserve the original file extension
        https://bugs.webkit.org/show_bug.cgi?id=61750
        <rdar://9524922>

        No new tests, it isn't possible to check the name of the file in the cache from within
        DRT. Changes verified manually.

        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::store): Append the original file extension to the cache
            file name.
        (WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory): Add extension parameter.
        * loader/appcache/ApplicationCacheStorage.h:

2011-06-02  Lucas Forschler  <lforschler@apple.com>

    Merged 87703.

    2011-05-30  Jer Noble  <jer.noble@apple.com>

        Reviewed by Dan Bernstein.

        Play/Pause button in wrong state when entering full screen on Vimeo
        https://bugs.webkit.org/show_bug.cgi?id=61754

        Update the play/pause button inside reset().  This ensures the button is in
        the correct state when the controls are created after playback has already
        started.

        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::reset):

2011-05-30  Mark Rowe  <mrowe@apple.com>

        Merge r87692.

    2011-05-30  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler and Simon Fraser.

        REGRESSION (r87622): Scrubbing a Vimeo movie when in fullscreen stops playback; no way to make it start again
        https://bugs.webkit.org/show_bug.cgi?id=61717
        rdar://problem/9522272

        May be some good way to test this later. No immediate idea about the best way.

        When a media element is taken into full-screen mode, stop events from propagating
        outside the media element's shadow DOM, EventDispatcher::determineDispatchBehavior()
        has been changed to take a shadow root node. In our full screen media element check,
        we check to see if the passed shadow root is the shadow root of the full screen media
        element, and if so, specify events should StayInsideShadowDOM. The end result is that
        inside EventDispatcher::ensureEventAncestors, an ancestor chain is built up all the
        way from the SliderThumb to the video element's shadow root, but no further.

        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::determineDispatchBehavior): Restrict events to the
        shadow DOM when showing a full screen video.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Removed code to manage full screen controls.
        The events telling us about activity in the shadow DOM no longer bubble out so we need to
        handle this inside the shadow DOM on the root element.
        (WebCore::HTMLMediaElement::play): Ditto.
        (WebCore::HTMLMediaElement::playbackProgressTimerFired): Ditto.
        (WebCore::HTMLMediaElement::defaultEventHandler): Ditto.
        (WebCore::HTMLMediaElement::enterFullscreen): Ditto.
        (WebCore::HTMLMediaElement::exitFullscreen): Ditto.
        * html/HTMLMediaElement.h: Added isPlaying function, removed things moved to the root element.

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler): Rolled out
        changes that tried to make special rules for events using preDispatchEventHandler and such.
        This rolls out both r87622 and r87655.
        (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlPanelMuteButtonElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler): Ditto.
        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler): Ditto.
        * html/shadow/MediaControlElements.h: Ditto.

        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::MediaControlRootElement): Initialize new data members.
        (WebCore::MediaControlRootElement::playbackStarted): Start the timer so we will consider
        hiding the controls later.
        (WebCore::MediaControlRootElement::playbackProgressed): Hide the controls if the mouse
        is no longer over the controls.
        (WebCore::MediaControlRootElement::playbackStopped): Stop the timer since we only hide
        automatically if we're playing.
        (WebCore::MediaControlRootElement::enteredFullscreen): Start the timer.
        (WebCore::MediaControlRootElement::exitedFullscreen): Stop the timer since we only care
        if we are full screen.
        (WebCore::MediaControlRootElement::containsRelatedTarget): Added. Helper for next function.
        (WebCore::MediaControlRootElement::defaultEventHandler): Do the hide/show and timer functions
        as the mouse is moved in and out.
        (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer): Start the timer if
        needed.
        (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired): Hide if the conditions
        are met.
        (WebCore::MediaControlRootElement::stopHideFullscreenControlsTimer): Stop the timer.

        * html/shadow/MediaControlRootElement.h: Added new functions and data members.


2011-05-29  Mark Rowe  <mrowe@apple.com>

        Merge r87657.

    2011-05-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/9515650> 30 second rewind button obscured in fullscreen controller when video uses custom inline controls
        https://bugs.webkit.org/show_bug.cgi?id=61714

        * dom/Document.cpp:
        (WebCore::Document::webkitDidEnterFullScreenForElement): Call didBecomeFullscreenElement() on the
        new full screen element.
        (WebCore::Document::webkitWillExitFullScreenForElement): Call willStopBeingFullscreenElement() on
        the full screen element.
        * dom/Element.h:
        (WebCore::Element::didBecomeFullscreenElement): Added with a default implementation that does nothing.
        (WebCore::Element::willStopBeingFullscreenElement): Ditto.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::didBecomeFullscreenElement): Added this override, which calls
        MediaControls::enteredFullscreen().
        (WebCore::HTMLMediaElement::willStopBeingFullscreenElement): Added this override, which calls
        MediaControls::exitedFullscreen().
        * html/HTMLMediaElement.h:
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Removed calls to
        enteredFullscreen() and exitedFullscreen() from here, since they are now called in response to
        changes to the fullscreen-ness of the element.

2011-05-29  Mark Rowe  <mrowe@apple.com>

        Merge r87643.

    2011-05-29  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Fix assertion seen when entering full screen mode for standalone video
        https://bugs.webkit.org/show_bug.cgi?id=61708

        We don't currently have a way to make a regression test for this.

        * dom/Document.cpp:
        (WebCore::Document::setAnimatingFullScreen): Call scheduleForcedStyleRecalc,
        because scheduleStyleRecalc is intended to only be called when the style
        system itself detects recalc is needed.

2011-05-29  Mark Rowe  <mrowe@apple.com>

        Merge r87660.

    2011-05-29  Jer Noble  <jer.noble@apple.com>

        Reviewed by Simon Fraser.

        Embedded Vimeo video, when taken fullscreen, is overlapped by content from the enclosing page
        https://bugs.webkit.org/show_bug.cgi?id=61712

        Tests: fullscreen/full-screen-iframe-zIndex.html

        Walk up the ancestor chain for the full-screen element, marking them as full-screen
        ancestors. Then, we apply a pseudo-class to those elements, which disable all their
        stacking-context-creating styles.  Set the z-index of all full-screen elements (and
        the iframes which contain them) to a large value, ensuring they appear above other
        sibling elements.

        This new behavior replaces the previous "-webkit-full-screen-media-document" behavior
        and pesudo-class, so remove it and replace it with the new pseudo-class.

        * css/CSSSelector.cpp:
        (WebCore::nameToPseudoTypeMap): Add -webkit-full-screen-ancestor and remove
            -webkit-full-screen-media-document.
        (WebCore::CSSSelector::pseudoId): Add PseudoFullScreenAncestor and remove
            PseudoFullScreenMediaDocument
        (WebCore::CSSSelector::extractPseudoType): Ditto.
        * css/CSSSelector.h: Ditto.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Remove the
            PseudoFullScreenMediaDocument implementation and replace it with
            PseudoFullScreenAncestor.
        * css/fullscreen.css:
        (:-webkit-full-screen): Add a z-index property.
        (:-webkit-full-screen-ancestor:not(iframe)): Added.  Reset the z-index to
            auto, and reset other stacking-context creating properties.
        * dom/Document.cpp:
        (WebCore::Document::setContainsFullScreenElementRecursively): Recurse up every element
            instead of just the iframe elements.
        (WebCore::Document::webkitWillEnterFullScreenForElement): Ditto.
        * dom/Element.cpp:
        (WebCore::Element::willRemove): Reset our parent's containsFullScreenElement property.
        (WebCore::Element::insertedIntoTree): Ditto.
        (WebCore::Element::containsFullScreenElement): Moved here from HTMLElementBase.
        (WebCore::Element::setContainsFullScreenElement): Ditto.
        * dom/Element.h:
        * dom/ElementRareData.h:
        (WebCore::ElementRareData::ElementRareData): Added ivar and initializer for 
            m_containsFullScreenElement.
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed ivar and initializer.
        (WebCore::HTMLFrameElementBase::setContainsFullScreenElement): Moved into Element.
        * html/HTMLFrameElementBase.h:
        * rendering/style/RenderStyleConstants.h:

2011-05-29  Mark Rowe  <mrowe@apple.com>

        Merge r87655.

    2011-05-29  Darin Adler  <darin@apple.com>

        Reviewed by Kevin Decker.

        REGRESSION (r87622): In media documents, clicking the full screen button and the play button pauses the video
        https://bugs.webkit.org/show_bug.cgi?id=61713

        We need to come up with a way to regression-test these changes. Nothing at the moment.

        The bug is that we removed calls to preventDefault, but we still do need to prevent
        default handling of this event.

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlElement::preDispatchEventHandler): Add back the preventDefault
        that was in here before r87622 as well as the stopPropagation that was added in r87622.
        (WebCore::MediaControlMuteButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlPlayButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlSeekButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlRewindButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlReturnToRealtimeButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlFullscreenVolumeMinButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::preDispatchEventHandler): Ditto.

2011-05-29  Mark Rowe  <mrowe@apple.com>

        Merge r87661.

    2011-05-29  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Darin Adler.

        Controls never hide in full screen after user stops moving mouse
        https://bugs.webkit.org/show_bug.cgi?id=61715
        <rdar://problem/9522182>
        
        When we get a mouse move event in HTMLMediaElement::defaultEventHandler, and we are in full screen,
        show the media controls, and then start a timer.
        
        The timer fires 3 seconds after the user's last mouse movement (timer is restarted on every mouse
        move), and hides the controls.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize our new timer.
        (WebCore::HTMLMediaElement::play): If we are in full screen mode, start our timer to hide the full screen
            controls. We don't want the user to have to move the mouse to hide them when they use the spacebar
            to play.
        (WebCore::HTMLMediaElement::startHideFullscreenControlsTimer): Starts a oneshot timer 3 seconds in the future
            if we are in full screen.
        (WebCore::HTMLMediaElement::hideFullscreenControlsTimerFired): Make sure that we are currently playing, and
            we are in full screen, and hide the controls. We don't want to hide the controls if we are paused.
        (WebCore::HTMLMediaElement::stopHideFullscreenControlsTimer): Stops the timer.
        (WebCore::HTMLMediaElement::defaultEventHandler): If we get a mouse move event and are in full screen, show the
            controls and start a timer to hide them.
        (WebCore::HTMLMediaElement::enterFullscreen): Start a timer to hide the full screen controls. The user shouldn't
            have the move the mouse once they enter full screen to hide the controls.
        (WebCore::HTMLMediaElement::exitFullscreen): Stop the timer to hide the full screen controls.
        * html/HTMLMediaElement.h:
        * html/shadow/MediaControls.h: Added pure virtual shouldHideControls() method.
        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::playbackStopped): Stop the timer to hide the full screen controls.
        (WebCore::MediaControlRootElement::shouldHideControls): Added, only report that
            the caller should hide the controls if the panel is not hovered.
        * html/shadow/MediaControlRootElement.h:

2011-05-29  Mark Rowe  <mrowe@apple.com>

        Merge r87633.

    2011-05-28  Alexey Proskuryakov  <ap@apple.com>

        Suggested by Simon Fraser.

        REGRESSION (r85375): Load event is sometimes lost when multiple image elements use the same URL
        https://bugs.webkit.org/show_bug.cgi?id=61692
        <rdar://problem/9488628>

        * loader/ImageLoader.cpp: (WebCore::ImageLoader::notifyFinished): There was no need to use
        ASSERT_UNUSED here.

2011-05-29  Mark Rowe  <mrowe@apple.com>

        Merge r87628.

    2011-05-28  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoff Garen.

        REGRESSION (r85375): Load event is sometimes lost when multiple image elements use the same URL
        https://bugs.webkit.org/show_bug.cgi?id=61692
        <rdar://problem/9488628>

        Test: fast/dom/gc-image-element-2.html

        Manually verified that tests from bug 59604 and from bug 40926 still pass.

        The problem here was that HTMLImageElement::hasPendingActivity() could return false when
        a load (or error) event was still expected to fire.

        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::setRequest):
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::wasCanceled):
        (WebCore::CachedResource::errorOccurred):
        Track whether the load was canceled. We want to always notify clients of load outcome,
        as that's the only way they could make intelligent decisions.

        * dom/ScriptElement.cpp: (WebCore::ScriptElement::execute): Cached resource clients now
        get a notifyFinished call on cancellation. Handle this case, where we don't need the
        execute the script, but also don't need to fire an error event.

        * html/HTMLImageElement.cpp: Moved hasPendingActivity() to header, since it's just a single
        function call now.

        * html/HTMLImageElement.h: (WebCore::HTMLImageElement::hasPendingActivity): There is a large
        window between when CachedResource::isLoading() becomes false and events are queued.
        ImageLoader::haveFiredLoadEvent() is a much better indication of whether we are expecting
        an event to fire.

        * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::onloadTimerFired): Again, don't do
        anything on cancellation.

        * loader/ImageLoader.cpp:
        (WebCore::ImageEventSender::hasPendingEvents): Made it debug-only again, and fixed to
        give an accurate result while looping over the list of events to dispatch.
        (WebCore::ImageLoader::notifyFinished): Don't do anything when cancelled. We don't want to
        switch to a broken image icon, or to dispatch events.
        (WebCore::ImageEventSender::dispatchPendingEvents): Clear the current loader from dispatching
        list, as the event is no longer pending when it's being dispatched.

        * loader/ImageLoader.h: Removed unnecessary hasPendingLoadEvent(). We don't care whether one
        is already pending, we only care if one is expected at some time in the future, and
        !haveFiredLoadEvent() is our best idea of that.

        * dom/XMLDocumentParser.cpp: (WebCore::XMLDocumentParser::notifyFinished): Another place to
        handle cancellation.

2011-05-29  Mark Rowe  <mrowe@apple.com>

        Merge r87634.

    2011-05-28  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Dan Bernstein.

        Don't add sub-frames to global history when navigating via back/forward
        https://bugs.webkit.org/show_bug.cgi?id=61701
        <rdar://problem/9521222>

        Instead of just checking whether the load is the first in the frame, we also need to
        check to make sure we're loading in the main frame.

        Not testable due to lack of global history infrastructure in DRT.

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

2011-05-29  Mark Rowe  <mrowe@apple.com>

        Merge r87639.

    2011-05-29  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=61700
        Need WebKit2 API to get the size of the render tree
        -and corresponding-
        <rdar://problem/9512733>

        New member variable on RenderArena keeps track of the current amount of memory 
        allocated in the arena. The new client function sends this piece of data to 
        WebKit.
        * page/ChromeClient.h:
        (WebCore::ChromeClient::setRenderTreeSize):
        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):
        * rendering/RenderArena.cpp:
        (WebCore::RenderArena::RenderArena):
        (WebCore::RenderArena::allocate):
        (WebCore::RenderArena::free):
        * rendering/RenderArena.h:
        (WebCore::RenderArena::totalRenderArenaSize):

2011-05-28  Mark Rowe  <mrowe@apple.com>

        Merge r87622.

    2011-05-28  Jer Noble  <jer.noble@apple.com>

        Reviewed by Maciej Stachowiak.

        Mouse clicks propagate outside full-screen media controls.
        https://bugs.webkit.org/show_bug.cgi?id=61689

        Mouse click events are propagating out of the media controls, so mouse click
        listeners registered on the video element are getting fired when the user
        clicks on media controller buttons.  By default, block propagation of click 
        events from MediaControlElements by overriding preDispatchEventHandler, and
        convert all instances of defaultEventHandler -> preDispatchEventHandler.  Change
        all calls of event->setDefaultHandled() to event->stopPropagation().

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlElement::preDispatchEventHandler): Added.  Block 
            propagation of all mouse click events.
        (WebCore::MediaControlVolumeSliderContainerElement::preDispatchEventHandler):
            Renamed from setDefaultHandled.
        (WebCore::MediaControlMuteButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlPanelMuteButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlPlayButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlSeekButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlRewindButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlReturnToRealtimeButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlToggleClosedCaptionsButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlTimelineElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlVolumeSliderElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlFullscreenVolumeMinButtonElement::preDispatchEventHandler): Ditto.
        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::preDispatchEventHandler): Ditto.
        * html/shadow/MediaControlElements.h:

2011-05-28  Mark Rowe  <mrowe@apple.com>

        Merge r87598.

    2011-05-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        CG BitmapImage needs to check for valid CGImage in a couple of places
        https://bugs.webkit.org/show_bug.cgi?id=61684
        <rdar://problem/9519348>

        BitmapImage::getCGImageArray() can throw an exception if frameAtIndex()
        returns null, which it may do if the image is corrupted or still
        loading. Protect against that here and in getFirstCGImageRefOfSize().

        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::getFirstCGImageRefOfSize):
        (WebCore::BitmapImage::getCGImageArray):

2011-05-28  Mark Rowe  <mrowe@apple.com>

        Merge r87331.

    2011-05-25  Jer Noble  <jer.noble@apple.com>

        Ureviewed; Build fix for Leopard and Snow Leopard.

        Move _wkQTMovieResolvedURL outside of a #if check for Leopard and SL.

        * WebCore.exp.in:

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87578.

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

        Reviewed by Sam Weinig.

        Always use the default localization strategy
        https://bugs.webkit.org/show_bug.cgi?id=61670
        <rdar://problem/9516130>

        Always use the default localization strategy when there's no platform strategy.

        * platform/DefaultLocalizationStrategy.cpp:
        (WebCore::DefaultLocalizationStrategy::shared):
        * platform/DefaultLocalizationStrategy.h:
        * platform/LocalizedStrings.cpp:
        (WebCore::inputElementAltText):
        (WebCore::resetButtonDefaultLabel):
        (WebCore::searchableIndexIntroduction):
        (WebCore::submitButtonDefaultLabel):
        (WebCore::fileButtonChooseFileLabel):
        (WebCore::fileButtonNoFileSelectedLabel):
        (WebCore::defaultDetailsSummaryText):
        (WebCore::copyImageUnknownFileLabel):
        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
        (WebCore::contextMenuItemTagDownloadLinkToDisk):
        (WebCore::contextMenuItemTagCopyLinkToClipboard):
        (WebCore::contextMenuItemTagOpenImageInNewWindow):
        (WebCore::contextMenuItemTagDownloadImageToDisk):
        (WebCore::contextMenuItemTagCopyImageToClipboard):
        (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
        (WebCore::contextMenuItemTagCopy):
        (WebCore::contextMenuItemTagGoBack):
        (WebCore::contextMenuItemTagGoForward):
        (WebCore::contextMenuItemTagStop):
        (WebCore::contextMenuItemTagReload):
        (WebCore::contextMenuItemTagCut):
        (WebCore::contextMenuItemTagPaste):
        (WebCore::contextMenuItemTagSelectAll):
        (WebCore::contextMenuItemTagNoGuessesFound):
        (WebCore::contextMenuItemTagIgnoreSpelling):
        (WebCore::contextMenuItemTagLearnSpelling):
        (WebCore::contextMenuItemTagSearchInSpotlight):
        (WebCore::contextMenuItemTagSearchWeb):
        (WebCore::contextMenuItemTagLookUpInDictionary):
        (WebCore::contextMenuItemTagOpenLink):
        (WebCore::contextMenuItemTagIgnoreGrammar):
        (WebCore::contextMenuItemTagSpellingMenu):
        (WebCore::contextMenuItemTagShowSpellingPanel):
        (WebCore::contextMenuItemTagCheckSpelling):
        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
        (WebCore::contextMenuItemTagFontMenu):
        (WebCore::contextMenuItemTagShowFonts):
        (WebCore::contextMenuItemTagBold):
        (WebCore::contextMenuItemTagItalic):
        (WebCore::contextMenuItemTagUnderline):
        (WebCore::contextMenuItemTagOutline):
        (WebCore::contextMenuItemTagStyles):
        (WebCore::contextMenuItemTagShowColors):
        (WebCore::contextMenuItemTagSpeechMenu):
        (WebCore::contextMenuItemTagStartSpeaking):
        (WebCore::contextMenuItemTagStopSpeaking):
        (WebCore::contextMenuItemTagWritingDirectionMenu):
        (WebCore::contextMenuItemTagTextDirectionMenu):
        (WebCore::contextMenuItemTagDefaultDirection):
        (WebCore::contextMenuItemTagLeftToRight):
        (WebCore::contextMenuItemTagRightToLeft):
        (WebCore::contextMenuItemTagCorrectSpellingAutomatically):
        (WebCore::contextMenuItemTagSubstitutionsMenu):
        (WebCore::contextMenuItemTagShowSubstitutions):
        (WebCore::contextMenuItemTagSmartCopyPaste):
        (WebCore::contextMenuItemTagSmartQuotes):
        (WebCore::contextMenuItemTagSmartDashes):
        (WebCore::contextMenuItemTagSmartLinks):
        (WebCore::contextMenuItemTagTextReplacement):
        (WebCore::contextMenuItemTagTransformationsMenu):
        (WebCore::contextMenuItemTagMakeUpperCase):
        (WebCore::contextMenuItemTagMakeLowerCase):
        (WebCore::contextMenuItemTagCapitalize):
        (WebCore::contextMenuItemTagChangeBack):
        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
        (WebCore::contextMenuItemTagToggleMediaControls):
        (WebCore::contextMenuItemTagToggleMediaLoop):
        (WebCore::contextMenuItemTagEnterVideoFullscreen):
        (WebCore::contextMenuItemTagMediaPlay):
        (WebCore::contextMenuItemTagMediaPause):
        (WebCore::contextMenuItemTagMediaMute):
        (WebCore::contextMenuItemTagInspectElement):
        (WebCore::searchMenuNoRecentSearchesText):
        (WebCore::searchMenuRecentSearchesText):
        (WebCore::searchMenuClearRecentSearchesText):
        (WebCore::AXWebAreaText):
        (WebCore::AXLinkText):
        (WebCore::AXListMarkerText):
        (WebCore::AXImageMapText):
        (WebCore::AXHeadingText):
        (WebCore::AXDefinitionListTermText):
        (WebCore::AXDefinitionListDefinitionText):
        (WebCore::AXARIAContentGroupText):
        (WebCore::AXButtonActionVerb):
        (WebCore::AXRadioButtonActionVerb):
        (WebCore::AXTextFieldActionVerb):
        (WebCore::AXCheckedCheckBoxActionVerb):
        (WebCore::AXUncheckedCheckBoxActionVerb):
        (WebCore::AXLinkActionVerb):
        (WebCore::AXMenuListPopupActionVerb):
        (WebCore::AXMenuListActionVerb):
        (WebCore::missingPluginText):
        (WebCore::crashedPluginText):
        (WebCore::multipleFileUploadText):
        (WebCore::unknownFileSizeText):
        (WebCore::uploadFileText):
        (WebCore::allFilesText):
        (WebCore::keygenMenuItem512):
        (WebCore::keygenMenuItem1024):
        (WebCore::keygenMenuItem2048):
        (WebCore::keygenKeychainItemName):
        (WebCore::imageTitle):
        (WebCore::mediaElementLoadingStateText):
        (WebCore::mediaElementLiveBroadcastStateText):
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):
        (WebCore::localizedMediaTimeDescription):
        (WebCore::validationMessageValueMissingText):
        (WebCore::validationMessageValueMissingForCheckboxText):
        (WebCore::validationMessageValueMissingForFileText):
        (WebCore::validationMessageValueMissingForMultipleFileText):
        (WebCore::validationMessageValueMissingForRadioText):
        (WebCore::validationMessageValueMissingForSelectText):
        (WebCore::validationMessageTypeMismatchText):
        (WebCore::validationMessageTypeMismatchForEmailText):
        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
        (WebCore::validationMessageTypeMismatchForURLText):
        (WebCore::validationMessagePatternMismatchText):
        (WebCore::validationMessageTooLongText):
        (WebCore::validationMessageRangeUnderflowText):
        (WebCore::validationMessageRangeOverflowText):
        (WebCore::validationMessageStepMismatchText):

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87580.

    2011-05-27  Stephanie Lewis  <slewis@apple.com>

        Unreviewed.

        Fix a typo in the order_file flag.

        * Configurations/Base.xcconfig:

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87520.

    2011-05-27  Stephanie Lewis  <slewis@apple.com>

        Rubber Stamped by Adam Roben.

        Update Order Files.  Use -order_file flag since it can order more of the binary.

        * Configurations/Base.xcconfig:
        * WebCore.order:

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87566.

    2011-05-27  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        First swipe at resolving <rdar://problem/9125145> and https://bugs.webkit.org/show_bug.cgi?id=61494
        
        Make the Document be intelligent about returning its DocumentLoader, including the possibility that
        the DocumentLoader will be null.

        No new tests. No change in behavior.

        Instead of storing the DocumentLoader at construction and never changing it,
        always calculate it based on the FrameLoader's current DocumentLoader:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::suggestedMIMEType):
        (WebCore::Document::lastModified):
        (WebCore::Document::initSecurityContext):
        (WebCore::Document::updateURLForPushOrReplaceState):
        (WebCore::Document::loader):
        * dom/Document.h:

        Null-check or ASSERT that the DocumentLoader exists (or both) depending on the scenario:
        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeIfJavaScriptURL):
        * html/MediaDocument.cpp:
        (WebCore::MediaDocument::replaceMediaElementTimerFired):
        * html/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::createDocumentStructure):
        * platform/mac/HTMLConverter.mm:
        (fileWrapperForElement):

        * WebCore.exp.in:

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87330.

    2011-05-25  Michael Saboff  <msaboff@apple.com>

        Reviewed by Sam Weinig.

        Cleanup of commented items from https://bugs.webkit.org/show_bug.cgi?id=61222
        https://bugs.webkit.org/show_bug.cgi?id=61478

        Cleanup of further comments after patch was landed.  Changes include
        using /2 instead of >>1, adding a blank line after class include,
        making method names start with lower case and adding clarifying
        comments.

        No new tests as the changes are stylistic and not functional.

        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::pruneLiveResourcesToPercentage):
        (WebCore::MemoryCache::pruneDeadResourcesToPercentage):
        * loader/cache/MemoryCache.h:
        (WebCore::MemoryCache::pruneToPercentage):
        * platform/mac/MemoryPressureHandlerMac.mm:
        (WebCore::MemoryPressureHandler::respondToMemoryPressure):

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87228.

    2011-05-24  Michael Saboff  <msaboff@apple.com>

        Reviewed by Geoffrey Garen.

        Improve handling in WebCore of low memory situations
        https://bugs.webkit.org/show_bug.cgi?id=61222

        Added new class, MemoryPressureHandler, to platform to respond to low
        system memory events. Added Mac specific implementation that reduces the
        page cache, NSURL cache, WebCore cache by half their current usage
        and then garbage collects.  This can allow Safari to continue operating
        in a low memory situation with minimal paging.
        Split up prune operations in MemoryCache to allow for pruning to a
        specific actual size to support this change.

        No tests added as the functionality of WebKit wasn't changed.

        * GNUmakefile.list.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::pruneLiveResources):
        (WebCore::MemoryCache::forcePruneLiveResources):
        (WebCore::MemoryCache::pruneLiveResourcesToTarget):
        (WebCore::MemoryCache::pruneDeadResources):
        (WebCore::MemoryCache::forcePruneDeadResources):
        (WebCore::MemoryCache::pruneDeadResourcesToTarget):
        * loader/cache/MemoryCache.h:
        (WebCore::MemoryCache::forcePrune):
        * platform/MemoryPressureHandler.cpp: Added.
        (WebCore::memoryPressureHandler):
        (WebCore::MemoryPressureHandler::MemoryPressureHandler):
        (WebCore::MemoryPressureHandler::install):
        (WebCore::MemoryPressureHandler::respondToMemoryPressure):
        * platform/MemoryPressureHandler.h: Added.
        * platform/mac/MemoryPressureHandler.mm: Added.
        (WebCore::MemoryPressureHandler::install):
        (WebCore::MemoryPressureHandler::respondToMemoryPressure):

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87460.

    2011-05-26  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=61345
        part of <rdar://problem/8675177>
        Roll back in now that the Crashes are fixed.  ResourceResponseBase and ResourceResponse had two different definitions
        for m_isNull.  ResourceResponse treats m_isNull as meaning there isn't any platform ResourceResponse. 
        ResourceResponseBase treats m_isNull as meaning no fields have been initialized.  Consolidate calls into ResourceResponseBase meaning. 

        Don't initialize ResourceResponse.m_suggestedFilename until we want to use it.  Initializing it requires reading in and parsing a plist.  
        Add new initialization state CommonAndUncommonFields to ResourceResponse.  This will be for all the header fields.
        Move suggestedFilename initialization to AllFields so it is never initialized unless we ask for it. 
        Add "Content-Type" to common headers since it is looked for by every CSS sheet load.

        No new functionality so no new tests.

        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::adopt):
        (WebCore::ResourceResponseBase::suggestedFilename):
        (WebCore::ResourceResponseBase::setSuggestedFilename):
        (WebCore::ResourceResponseBase::httpStatusText):
        (WebCore::ResourceResponseBase::setHTTPStatusText):
        (WebCore::ResourceResponseBase::httpHeaderField):
        (WebCore::ResourceResponseBase::setHTTPHeaderField):
        (WebCore::ResourceResponseBase::httpHeaderFields):
        (WebCore::ResourceResponseBase::isAttachment):
        (WebCore::ResourceResponseBase::setLastModifiedDate):
        (WebCore::ResourceResponseBase::lastModifiedDate):
        (WebCore::ResourceResponseBase::wasCached):
        (WebCore::ResourceResponseBase::connectionReused):
        (WebCore::ResourceResponseBase::setConnectionReused):
        (WebCore::ResourceResponseBase::connectionID):
        (WebCore::ResourceResponseBase::setConnectionID):
        (WebCore::ResourceResponseBase::resourceLoadTiming):
        (WebCore::ResourceResponseBase::setResourceLoadTiming):
        (WebCore::ResourceResponseBase::resourceLoadInfo):
        (WebCore::ResourceResponseBase::setResourceLoadInfo):
        * platform/network/ResourceResponseBase.h:
        * platform/network/cf/ResourceResponse.h:
        (WebCore::ResourceResponse::ResourceResponse):
        * platform/network/cf/ResourceResponseCFNet.cpp:
        (WebCore::ResourceResponse::platformLazyInit):
        * platform/network/mac/ResourceResponseMac.mm:

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87329.

    2011-05-25  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=61407
        part of <rdar://problem/8675177>
        Move Quicklook quirk down into WebCore so it can be caculated when the user
        starts a reload.  Restructure the conditions so it only called when absolutely 
        necessary.
  
        No change in functionality so no new tests.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::subresourceCachePolicy):
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        * platform/network/cf/ResourceRequest.h:
        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::initQuickLookResourceCachingQuirks):
        (WebCore::ResourceRequest::useQuickLookResourceCachingQuirks):

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87557.

    2011-05-27  Jer Noble  <jer.noble@apple.com>

        Reviewed by Maciej Stachowiak.

        30 second rewind button obscured in fullscreen controller
        https://bugs.webkit.org/show_bug.cgi?id=61663

        If reset() is called while in full-screen mode, make sure to show and hide
        the correct controls for that mode.

        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::reset):

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87414.

    2011-05-25  Jer Noble  <jer.noble@apple.com>

        Reviewed by Maciej Stachowiak.

        Safari Web Content crashes while entering/exiting the full screen mode of the video content
        https://bugs.webkit.org/show_bug.cgi?id=61498

        No new tests, as DRT does not currently animate the full screen transition.

        To guard against m_fullScreenRenderer being called after it has been deleted, add
        code in RenderFullScreen which notifies the document when its full-screen renderer
        will be destroyed.

        Also, add some sanity checks when accessing the full-screen renderer's layer backing.

        * dom/Document.cpp:
        (WebCore::Document::webkitWillEnterFullScreenForElement): Guard against a missing
            full-screen renderer layer.
        (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
        (WebCore::Document::setFullScreenRenderer): Added ASSERT.
        (WebCore::Document::fullScreenRendererDestroyed): Added.
        (WebCore::Document::setAnimatingFullScreen): Guard against the full-screen
            element having been removed from the document.
        * dom/Document.h:
        * rendering/RenderFullScreen.cpp:
        (RenderFullScreen::destroy): Added.  Tell the Document that it's full-screen
            renderer is about to be destroyed.
        * rendering/RenderFullScreen.h:

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87322.

    2011-05-25  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        REGRESSION: Fullscreen button on embedded Vimeo videos does nothing
        https://bugs.webkit.org/show_bug.cgi?id=61461

        Tests: fullscreen/full-screen-iframe-legacy.html

        Allow calls from the legacy full-screen API to bypass the iframe
        "webkitallowfullscreen" requirement by adding a parameter to 
        Document::webkitRequestFullScreenForElement specifying the strictness
        of that check.  Specify this new parameter everywhere that function is 
        called, including in the default controls' full-screen button handler.

        * dom/Document.cpp:
        (WebCore::Document::webkitRequestFullScreenForElement):
        * dom/Document.h:
        * dom/Element.cpp:
        (WebCore::Element::requestFullScreen): Renamed from webkitRequestFullScreen.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::enterFullscreen):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87363.

    2011-05-25  Jer Noble  <jer.noble@apple.com>

        Reviewed by Dan Bernstein.

        30 second rewind button dysfunctional viewing trailers fullscreen.
        https://bugs.webkit.org/show_bug.cgi?id=61505

        Add support for painting MediaReturnToRealtimeButton, as well as hide and show
        the correct default video control buttons when entering full-screen mode.

        * css/fullscreenQuickTime.css:
        (video:-webkit-full-screen::-webkit-media-controls-return-to-realtime-button):
        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::enteredFullscreen): Show the "Back 30s" and
            "Return to Realtime" buttons for Live Streams in full-screen mode.
        (WebCore::MediaControlRootElement::exitedFullscreen): Reset the styles of 
            all the buttons affected by enteredFullscreen().
        * rendering/RenderMediaControls.cpp:
        (WebCore::RenderMediaControls::paintMediaControlsPart): Add support for 
            MediaReturnToRealtimeButton.

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87328.

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

        Reviewed by Darin Adler.

        Video fails to play on Vimeo
        https://bugs.webkit.org/show_bug.cgi?id=61403

        No new tests; Covered by media/video-canvas-source.html.

        Vimeo redirects their assets from player.vimeo.com to av.vimeo.com, which is rejected
        by AVFoundation and QTKit due to our setting a ForbidCrossSiteReference option when
        creating an AVAsset or QTMovie. Instead, we should just reject local->remote and
        remote->local and make our answer to hasSingleSecurityOrigin dynamic.

        When checking whether a given request has a single security origin, use a 
        SecurityOrigin to check the host, port, and scheme.

        * WebCore.exp.in:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
        (WebCore::MediaPlayerPrivateAVFoundation::assetURL): Added.
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Exchange ForbidCrossSiteReference
            for ForbidRemoteReferenceToLocal and ForbidLocalReferenceToRemote
        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check to see that the
            requested and resolved URLs have the same host and port.
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Exchange NoCrossSiteAttribute for 
            NoRemoteToLocalSiteAttribute and NoLocalToRemoteSiteAttribute.
        (WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin):     Check to see that the
                requested and resolved URLs have the same host and port.
        * platform/mac/WebCoreSystemInterface.h: Added wkAVAssetResolvedURL.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87442.

    2011-05-26  Jeff Miller  <jeffm@apple.com>

        Reviewed by Steve Falkenburg.

        Fullscreen content is sometimes obscured by taskbar (which even covers up the "exit fullscreen" button)
        https://bugs.webkit.org/show_bug.cgi?id=61569
        <rdar://problem/9454315>

        Normally, when the background fullscreen window is animated in, the Windows taskbar will be hidden, but this doesn't always work for some reason.
        Workaround this issue by setting the real fullscreen window to be a topmost window.

        * platform/graphics/win/FullScreenController.cpp:
        (FullScreenController::Private::fullscreenClientWndProc): Exit fullscreen when m_fullScreenWindow is deactivated.
        (FullScreenController::enterFullScreenRepaintCompleted): Make m_fullScreenWindow a topmost window before animating it in to ensure the taskbar is hidden.

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87335.

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

        Reviewed by Sam Weinig.

        <rdar://problem/9504058> Need some way to query user gesture state from injected bundle

        * WebCore.exp.in: Add an export that WebKit2 needs.

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87387.

    2011-05-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Always antialias borders, outlines and rules when scaling
        https://bugs.webkit.org/show_bug.cgi?id=61502
        
        r84273 changed the behavior of drawLineForBoxSide() to never antialias by default.
        This actually disabled antialiasing in some circumstances where it used to be enabled,
        for example collapsed table border drawing.
        
        Fix by allowing antialiasing for collapsed table borders, column rules and span
        outlines when the context is scaled.

        Test: fast/borders/border-antialiasing.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintColumnRules):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paintOutline):
        (WebCore::RenderInline::paintOutlineForLine):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintCollapsedBorder):

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87524.

    2011-05-27  Michael Saboff  <msaboff@apple.com>

        Reviewed by David Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=61646
        Duplicate Fonts Put in Font Cache on Mac Due to Duplicate CGFontRefs for Same Font

        Change the platformIsEqual to just compare the m_font members if
        either is not null.

        No tests added - functionality unchanged, fixing memory abandonment.

        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::platformIsEqual):

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87361.

    2011-05-25  James Simonsen  <simonjam@chromium.org>

        Reviewed by Adam Barth.

        Add site-specific hack for zipcar.com with old versions of requirejs.
        https://bugs.webkit.org/show_bug.cgi?id=61321

        Old versions of requirejs (< 0.15.0) try to load scripts in parallel but execute them in
        order. This used to work in webkit by setting a bogus script type (script/cache), then
        changing the type to a valid one when they wanted to execute it. This hack translates the
        behavior into the new API (by disabling forceAsync).

        * html/HTMLScriptElement.cpp:
        (WebCore::needsOldRequirejsQuirk): Added.
        (WebCore::HTMLScriptElement::insertedIntoDocument):
        If hack is needed, set a proper script type so script loads.
        If script isn't async, disable forceAsync so script executes in order.

2011-05-27  Mark Rowe  <mrowe@apple.com>

        Merge r87244.

    2011-05-24  Andy Estes  <aestes@apple.com>

        Reviewed by Geoffrey Garen.

        REGRESSION (r70748): WebKit cannot play QuickTime movies on Mac OS X Wiki Server pages
        https://bugs.webkit.org/show_bug.cgi?id=61229

        This site-specific hack maintains compatibility with Mac OS X Wiki Server,
        which embeds QuickTime movies using an object tag containing QuickTime's
        ActiveX classid. Treat this classid as valid only if OS X Server's unique
        'generator' meta tag is present. Only apply this quirk if there is no
        fallback content, which ensures the quirk will disable itself if Wiki
        Server is updated to generate an alternate embed tag as fallback content.

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk): Return
        true if site-specific quirks are enabled, the object element has no
        fallback content, the classid attribute matches QuickTime's classid and
        the document has a 'generator' meta tag matching Mac OS X Web Services
        Server's unique generator string.
        (WebCore::HTMLObjectElement::hasValidClassId): Call
        shouldAllowQuickTimeClassIdQuirk()
        * html/HTMLObjectElement.h:

2011-05-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Beth Dakin.

        Can't scroll scaled page that has overflow:hidden on its root
        <rdar://problem/9029189>
        https://bugs.webkit.org/show_bug.cgi?id=61339

        Test: fast/events/scroll-in-scaled-page-with-overflow-hidden.html

        * page/FrameView.cpp:
        (WebCore::FrameView::applyOverflowToViewport):
        Scrollbars should be enabled for the viewport when scaled, even if overflow:hidden
        is specified.

2011-05-24  Adam Roben  <aroben@apple.com>

        Leopard build fix

        * bridge/runtime_root.cpp: Added a missing #include.

2011-05-24  Jian Li  <jianli@chromium.org>

    Merged r87179.

    2011-05-24  Adam Roben  <aroben@apple.com>

        Invalidate RuntimeObjects when they are finalized

        This will cause the underlying NPObject to be released at finalization time, rather than at
        destruction time (which is unpredictable and could occur after the plugin has been
        unloaded).

        Test: plugins/npobject-js-wrapper-destroyed-after-plugin-unload.html

        Fixes <http://webkit.org/b/61317> <rdar://problem/9489829> Crash in _NPN_DeallocateObject
        when reloading yahoo.com webarchive in WebKit1

        Reviewed by Oliver Hunt.

        * bridge/runtime_object.cpp:
        (JSC::Bindings::RuntimeObject::~RuntimeObject): Assert that we've already been invalidated.

        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::invalidate):
        (JSC::Bindings::RootObject::addRuntimeObject):
        Updated for m_runtimeObjects type change.

        (JSC::Bindings::RootObject::finalize): Added. Invalidates the RuntimeObject and removes it
        from the map.

        * bridge/runtime_root.h: Now inherits from WeakHandleOwner.
        Changed m_runtimeObjects from a WeakGCMap to a HashMap of JSC::Weak objects so that we will
        be notified when the RuntimeObjects are finalized.

2011-05-24  Lucas Forschler  <lforschler@apple.com>

    Merged r87102.

    2011-05-20  Jeremy Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Video looks squished when animating to full screen.
        https://bugs.webkit.org/show_bug.cgi?id=61220

        No new tests, because DumpRenderTree does not currently "animate" the full-screen transition.

        There are three issues animating video content to full screen which this patch is meant to
        address:
        1) The animation scales between the client sizes of the element before and after full-screen.
        Because these sizes have different aspect ratios, the video appears "squished" for part of
        the animation. Instead, we will animate between the content box sizes before and after full
        screen which, in the case of video now and object-fit content in the future, will have the
        same aspect ratio before and after full screen.
        2) Now that we are animating the full-screen video element's content box, the black letterbox
        bars appear above and below the video (depending on the video's aspect ratio) as soon as the
        animation begins. This is extremely jarring, so set the background color to clear. The
        full-screen renderer's background color will serve the same purpose (providing the letterbox
        background) once the animation completes.
        3) Now that the letterbox color is gone, the full screen controls can appear to float in thin
        air beneath the video (again, depending on aspect ratio) during the animation, so to avoid
        that effect and to make the animation consistent with the old webkitenterfullscreen()
        animation, we will hide the controls during the animation by adding a new CSS pseudo class
        -webkit-animating-full-screen-transition.

        Added a new css pseudo-class: -webkit-animating-full-screen.  During the transition animation, this
        pseudo-class will be applied to the current full-screen element.  Styles have been added to 
        fullscreenQuickTime.css to hide the video element's built-in controller during the full-screen
        animation.

        To accomplish this, the ivar tracking whether the full-screen animation is taking place has been moved
        from the RenderFullScreen renderer, to the current full-screen Document.  Because changing 
        isAnimatingFullScreen causes style changes, make sure to call recalcStyle on the full-screen element
        after changing.

        This extra transition caused assertions in HTMLFormControlElement::updateFromElementCallback. A
        full-screen media control's renderer is disabled during the style recalculation when exiting full
        screen. This assertion was exposed by the extra recalcStyle() issued during the exit transition, and
        has been removed.

        * WebCore.exp.in:
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId): Add support for new pseudo class -webkit-animate-full-screen-transition.
        (WebCore::nameToPseudoTypeMap): Ditto.
        (WebCore::CSSSelector::extractPseudoType): Ditto.
        * css/CSSSelector.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
        * css/fullscreen.css: 
        (video:-webkit-full-screen): Set full screen video background color to clear.
        * css/fullscreenQuickTime.css: 
        (video:-webkit-full-screen::-webkit-media-controls-panel): Set a default opacity transition.
        (video:-webkit-animating-full-screen::-webkit-media-controls-panel): Set the opacity to 0 and 
            disable the transition.
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::webkitWillEnterFullScreenForElement): Call our new setAnimatingFullScreen function.
        (WebCore::Document::webkitDidEnterFullScreenForElement): Ditto.
        (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
        (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
        (WebCore::Document::isAnimatingFullScreen): Moved here from RenderFullScreen.
        (WebCore::Document::setAnimatingFullScreen): Ditto.
        * dom/Document.h:
        * html/HTMLFormControlElement.cpp: 
        (WebCore::updateFromElementCallback): Use the Document's isAnimatingFullScreen function.
        * page/FrameView.cpp:
        (WebCore::isDocumentRunningFullScreenAnimation): Ditto.
        * rendering/RenderFullScreen.cpp:
        * rendering/RenderFullScreen.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Ditto.
        (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto.
        * rendering/style/RenderStyleConstants.h:

2011-05-24  Lucas Forschler  <lforschler@apple.com>

    Merged r87083.

    2011-05-23  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Simon Fraser.

        Terminate css color parsing on integers which are not followed
        by a terminator.
        https://bugs.webkit.org/show_bug.cgi?id=61293

        Test: fast/css/parse-color-int-or-percent-crash.html

        * css/CSSParser.cpp:
        (WebCore::parseColorIntOrPercentage):

2011-05-24  Lucas Forschler  <lforschler@apple.com>

    Merged r87026.

    2011-05-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/9479926> REGRESSION (r82144): Icon overlaps text in Twitter message dialog
        https://bugs.webkit.org/show_bug.cgi?id=61241

        Test: fast/block/positioning/start-ignoring-before.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes): Added a boolean parameter saying
        whether to merge the first trailing space with the line break.
        (WebCore::RenderBlock::LineBreaker::nextLineBreak): When adding a midpoint behind the current
        character, account for trailing positioned objects that occurred after the midpoint by calling
        updateMidpointsForTrailingBoxes(), which adds midpoints for them.

2011-05-24  Lucas Forschler  <lforschler@apple.com>

    Merged r87009.

    2011-05-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Allow ShadowBlur to do tiling when the context is scaled
        https://bugs.webkit.org/show_bug.cgi?id=61232

        If the GraphicsContext is scaled or rotated by a multiple of 90deg, have ShadowBlur
        use the tiling code path, to avoid blurring large areas on pages like cracked.com
        when the context is scaled.

        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ShadowBlur::drawRectShadow): Call preservesAxisAlignment()
        to decide when to not use tiling.
        (WebCore::ShadowBlur::drawInsetShadow): Ditto.
        (WebCore::ShadowBlur::drawLayerPieces): Round to device pixels when drawing tiles
        to avoid pixel cracks in scaled contexts.
        * platform/graphics/transforms/AffineTransform.h:
        (WebCore::AffineTransform::preservesAxisAlignment): Return true if there is the matrix
        contains a transform that results in axis alignment (no rotation or skew, or rotations
        which are multiples of 90deg).

2011-05-24  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        Disable features on safari-534-branch.
        <rdar://problem/9261347> 

        * Configurations/FeatureDefines.xcconfig:

2011-05-24  Lucas Forschler  <lforschler@apple.com>

    Merged r86995.

    2011-05-20  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        WebView loses firstResponder status when entering full-screen mode.
        https://bugs.webkit.org/show_bug.cgi?id=61153

        No test possible via DRT. Add a manual test instead.

        * manual-tests/full-screen-keypress.html: Added.

2011-05-24  Lucas Forschler  <lforschler@apple.com>

    Merged r86992.

    2011-05-20  Jeremy Noble  <jer.noble@apple.com>

        Reviewed by Maciej Stachowiak.

        WebKit2: Exit full screen mode if the WebProcess crashes.
        https://bugs.webkit.org/show_bug.cgi?id=61151

        * platform/graphics/win/FullScreenController.h:
        * platform/graphics/win/FullScreenController.cpp:
        (FullScreenController::close): Added.  Close the full-screen window without animation
            if called.

2011-05-24  Lucas Forschler  <lforschler@apple.com>

    Merged r87022.

    2011-05-21  Jeremy Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        WebKit2: fix failing fullscreen/full-screen-remove* tests.
        https://bugs.webkit.org/show_bug.cgi?id=61027

        * dom/Document.cpp:
        (WebCore::Document::fullScreenChangeDelayTimerFired): dispatchEvent can be
            synchronous, so make sure to check whether the current element is
            in the DOM before dispatching.

2011-05-22  Lucas Forschler  <lforschler@apple.com>

    Merge r86956.
    
    2011-05-20  Jer Noble  <jer.noble@apple.com>

        Reviewed by Maciej Stachowiak.

        Win: non-full-screen content is briefly seen when entering full-screen mode (and vice versa)
        https://bugs.webkit.org/show_bug.cgi?id=61108

        Instead of repainting the full- and non-full-screen windows in WebCore, delegate that
        responsibility to the FullScreenControllerClient.  Because the repaint operation may 
        be asynchronous, add a new method for clients to use to indicate repainting has completed.

        * platform/graphics/win/FullScreenController.cpp:
        (FullScreenController::Private::Private): Added new ivars.
        (FullScreenController::enterFullScreen): Split into two functions (pre-and post repaint)
        (FullScreenController::enterFullScreenRepaintCompleted): Ditto.
        (FullScreenController::exitFullScreen): Ditto.
        (FullScreenController::exitFullScreenRepaintCompleted): Ditto.
        (FullScreenController::repaintCompleted): Call the appropriated repaint completed function.
        * platform/graphics/win/FullScreenController.h:
        * platform/graphics/win/FullScreenControllerClient.h:

2011-05-22  Lucas Forschler  <lforschler@apple.com>

    Merge r86924.
    
    2011-05-19  Jer Noble  <jer.noble@apple.com>

        Reviewed by Maciej Stachowiak.

        WebKit2: Flashing when entering and exiting full screen mode
        https://bugs.webkit.org/show_bug.cgi?id=56957

        Guard against the parameter of setAnimating() matching the ivar value it's 
        setting, thus avoiding tearing down the renderer's layer backing.

        * rendering/RenderFullScreen.cpp:
        (RenderFullScreen::setAnimating):

2011-05-22  Lucas Forschler  <lforschler@apple.com>

    Merge r86904.
    
    2011-05-18  Jeremy Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Poster is not shown in Safari for video element with no playable source elements.
        https://bugs.webkit.org/show_bug.cgi?id=61109

        Test: media/video-src-invalid-poster.html

        In the case where no video sources are playable, update the display state and 
        renderer, allowing the poster image to display.

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

2011-05-19  Lucas Forschler  <lforschler@apple.com

    Merged r86852.
    
    2011-05-19  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION (r83322): Many crashes in Mail.app in WebCore::Node::nodeIndex
        https://bugs.webkit.org/show_bug.cgi?id=61012

        The crash was caused by ReplaceSelectionCommand's inserting content into a middle of the paragraph
        being moved when the insertion position's container node is the node to split to. Fixed the crash
        by not changing the insertion position in such a case.

        Unfortunately, this fix caused markup to bloat in some tests but we'll take this regression since
        it's much better than crashing.

        Test: editing/pasteboard/paste-after-inline-style-element.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):

2011-05-19  Lucas Forschler  <lforschler@apple.com

    Merged r86827.
        
    2011-05-19  Emil A Eklund  <eae@chromium.org>

        Reviewed by Alexey Proskuryakov.

        REGRESSION (r80808): Multiple <select> - Selection reset to first element from multiple selected ones
        https://bugs.webkit.org/show_bug.cgi?id=60986

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::setMultiple):
        Don't restore selection if the multiple attribute hasn't changed.

2011-05-19  Lucas Forschler  <lforschler@apple.com

    Merged r86785.
    
    2011-05-18  Oliver Hunt  <oliver@apple.com>

        Reviewed by Sam Weinig.

        JSGlobalObject and some others do GC allocation during initialization, which can cause heap corruption
        https://bugs.webkit.org/show_bug.cgi?id=61090

        Rather than having Constructor objects create their structure
        as part of initialisation, we now pass their expected structure
        in as an argument.  This required fixing the few custom Constructors
        and the code generator.

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor):
        * bindings/js/JSAudioConstructor.h:
        * bindings/js/JSDOMGlobalObject.h:
        (WebCore::getDOMConstructor):
          Pass the Constructor objects structure in as an argument
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::JSImageConstructor):
        * bindings/js/JSImageConstructor.h:
        * bindings/js/JSOptionConstructor.cpp:
        (WebCore::JSOptionConstructor::JSOptionConstructor):
        * bindings/js/JSOptionConstructor.h:
        * bindings/scripts/CodeGeneratorJS.pm:

2011-05-19  Lucas Forschler  <lforschler@apple.com

    Merged r86748.
    
    2011-05-18  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dirk Schulze.

        When SMIL element is getting removed, make sure to remove it
        from target's animation elements list.
        https://bugs.webkit.org/show_bug.cgi?id=60980

        Test: svg/animations/smil-element-not-removed-crash.html

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::~SVGSMILElement):

2011-05-19  Lucas Forschler  <lforschler@apple.com

    Merged r86806.

    2011-05-18  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Maciej Stachowiak.

        WK2: VoiceOver cannot move focus into a web area programmatically
        https://bugs.webkit.org/show_bug.cgi?id=60661

        Accessibility code relies on the ability to bring focus to the containing widget view.
        In WK2, that message needs to be propagated to the UI process.

        * page/ChromeClient.h:
        (WebCore::ChromeClient::makeFirstResponder):
        * page/mac/ChromeMac.mm:
        (WebCore::Chrome::focusNSView):
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::setFocus):

2011-05-19  Lucas Forschler  <lforschler@apple.com

    Merged r86793.

    2011-05-17  Timothy Hatcher  <timothy@apple.com>

        Update the the context menu to reflect the system search provider on Mac.

        <rdar://problem/9198419>

        Reviewed by Sam Weinig.

        * English.lproj/Localizable.strings: Updated.
        * Source/WebCore/WebCore.exp.in: Added _wkCopyDefaultSearchProviderDisplayName.
        * platform/DefaultLocalizationStrategy.cpp:
        (WebCore::DefaultLocalizationStrategy::contextMenuItemTagSearchWeb): Use wkCopyDefaultSearchProviderDisplayName to
        create the string.
        * platform/mac/WebCoreSystemInterface.h: Added wkCopyDefaultSearchProviderDisplayName.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.

2011-05-19  Lucas Forschler  <lforschler@apple.com

    Merged r86781.
    
    2011-05-18  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Beth Dakin.

        Remove removeChild on table caption since destroy call
        already does that.
        https://bugs.webkit.org/show_bug.cgi?id=61083

        Test: fast/table/table-captions-child-visible-crash.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::recalcCaption):

2011-05-19  Lucas Forschler  <lforschler@apple.com

    Merged r86741.

    2011-05-16  Jeremy Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Disable keyboard input (with exceptions) in full-screen mode.
        https://bugs.webkit.org/show_bug.cgi?id=60943

        Tests: fullscreen/full-screen-keyboard-disabled.html
               fullscreen/full-screen-keyboard-enabled.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::isKeyEventAllowedInFullScreen): Added.  Implements the 
            list of allowed keyboard events in the proposed API.
        (WebCore::EventHandler::keyEvent): Discard events which are not allowed in
            full-screen mode.
        * page/EventHandler.h:

2011-05-19  Lucas Forschler  <lforschler@apple.com

    Merged r86737.

    2011-05-17  Jeremy Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Removing a full-screen element or ancestor from the DOM should trigger exiting full-screen mode.
        https://bugs.webkit.org/show_bug.cgi?id=60997

        Tests: fullscreen/full-screen-remove-ancestor.html
               fullscreen/full-screen-remove-children.html
               fullscreen/full-screen-remove.html

        * dom/Document.cpp:
        (WebCore::Document::fullScreenChangeDelayTimerFired): If the target node was removed from the document
            make sure to message the documentElement() as well.
        (WebCore::Document::fullScreenElementRemoved): Cancel full screen mode.

2011-05-17  Cris Neckar  <cdn@chromium.org>

        Reviewed by Adam Barth.

        Clear the image from ImageLoader rather than clearing the ImageLoader in HTMLObjectElement::renderFallbackContent.
        https://bugs.webkit.org/show_bug.cgi?id=61005

        Test: http/tests/loading/nested_bad_objects.php

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::renderFallbackContent):

2011-05-17  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Make sure that AudioNode gets re-enabled after having been disconnected and re-connected.
        https://bugs.webkit.org/show_bug.cgi?id=60995

        No new tests since audio API is not yet implemented.

        * webaudio/AudioNode.cpp:
        (WebCore::AudioNode::ref):

2011-05-17  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/9366728> and https://webkit.org/b/60796
        Crash when code inside a ResourceLoadDelegate method calls [WebView stopLoading:]

        Break up ResourceLoader::didCancel() into willCancel() and didCancel(), and making them pure virtual.
        This change has the following benefits:
          - Managing ResourceLoader state can be in the base class; Subclasses no longer need to protect
            themselves, check these variables as often, or ASSERT them.
          - ResourceLoader subclasses no longer have to call the base class ::didCancel
          - ResourceLoader::cancel becomes more capable of handling reentrancy with the design that the 
            cancellation is completed inside the last call.

        No new tests - No change in behavior for previous tests, and new test would require API usage outside
        the scope of DumpRenderTree.

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::ResourceLoader):
        (WebCore::ResourceLoader::cancel): Moved from ResourceLoader::didCancel, and does all of that same work
          except it interposes calls to "willCancel" and "didCancel" as required to maintain the same behavior.
        * loader/ResourceLoader.h: Added pure virtual didCancel() and willCancel().

        Split-up into willCancel() and didCancel(), based on when the base class didCancel() used to be called:
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::willCancel):
        (WebCore::MainResourceLoader::didCancel):
        * loader/MainResourceLoader.h:

        Split-up into willCancel() and didCancel(), based on when the "reached terminal state" flag used to be checked:
        * loader/NetscapePlugInStreamLoader.cpp:
        (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Call the entry point cancel() instead of the old didCancel()
        (WebCore::NetscapePlugInStreamLoader::willCancel):
        (WebCore::NetscapePlugInStreamLoader::didCancel):
        * loader/NetscapePlugInStreamLoader.h:

        Split-up into willCancel() and didCancel(), based on when the "reached terminal state" flag used to be checked:
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::willCancel):
        (WebCore::SubresourceLoader::didCancel):
        * loader/SubresourceLoader.h:

2011-05-17  Nat Duca  <nduca@chromium.org>

        Reviewed by James Robinson.

        [chromium] Always set layerRenderer, even on non-drawn-layers
        https://bugs.webkit.org/show_bug.cgi?id=60977

        This is a defensive fixe for crbug.com/82799, in which
        a RenderLayer could not prepare itself because its owning layerImpl
        had no associated layerRenderer. The underlying issue is that we
        sometimes put renderSurfaces onto the list that won't actually render.
        For now, the priority is to reduce fragility so that invisible layers
        dont lead to crashers. We do this by being more agressive about 
        binding CCLayerImpls to the LayerRenderer, doing it all the time rather
        than only when we think it will get rendered.

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

2011-05-17  Anders Carlsson  <andersca@apple.com>

        Fix the clang build.

        * rendering/RenderText.h:
        (WebCore::RenderText::nodeAtPoint):
        nodeAtPoint should take a const IntPoint reference.

2011-05-17  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Ryosuke Niwa.

        document.activeElement doesn't point to the focused frame
        https://bugs.webkit.org/show_bug.cgi?id=49509

        This makes us match IE and Firefox and there is an ongoing WHATWG discussion to make the spec match this.

        Test: fast/dom/HTMLDocument/active-element-frames.html

        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::activeElement): Walk up the frame tree from the focusedFrame to find the active frame if any.

2011-05-17  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Change nodeAtPoint to take IntPoint instead of int x, int y
        https://bugs.webkit.org/show_bug.cgi?id=60663

        Change nodeAtPoint to take a single const IntPoint& instead of a pair of
        ints for the location.

        Covered by existing tests.

        * platform/graphics/FloatPoint.h:
        (WebCore::flooredIntPoint):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::nodeAtPoint):
        * rendering/EllipsisBox.h:
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nodeAtPoint):
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::nodeAtPoint):
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::nodeAtPoint):
        * rendering/InlineTextBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint):
        (WebCore::RenderBlock::hitTestContents):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::nodeAtPoint):
        * rendering/RenderBox.h:
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::nodeAtPoint):
        * rendering/RenderFrameSet.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint):
        * rendering/RenderImage.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::nodeAtPoint):
        * rendering/RenderInline.h:
        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::hitTest):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::nodeAtPoint):
        * rendering/RenderListBox.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::hitTest):
        (WebCore::RenderObject::nodeAtPoint):
        * rendering/RenderObject.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::nodeAtPoint):
        * rendering/RenderTable.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::nodeAtPoint):
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::nodeAtPoint):
        * rendering/RenderTableSection.h:
        * rendering/RenderText.h:
        (WebCore::RenderText::nodeAtPoint):
        * rendering/RenderTextControlMultiLine.cpp:
        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
        * rendering/RenderTextControlSingleLine.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::nodeAtPoint):
        * rendering/RenderWidget.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::nodeAtPoint):
        * rendering/RootInlineBox.h:
        * rendering/svg/RenderSVGForeignObject.cpp:
        (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
        (WebCore::RenderSVGForeignObject::nodeAtPoint):
        * rendering/svg/RenderSVGForeignObject.h:
        * rendering/svg/RenderSVGModelObject.cpp:
        (WebCore::RenderSVGModelObject::nodeAtPoint):
        * rendering/svg/RenderSVGModelObject.h:
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::nodeAtPoint):
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::nodeAtFloatPoint):
        (WebCore::RenderSVGText::nodeAtPoint):
        * rendering/svg/RenderSVGText.h:

2011-05-17  Andrew Wilson  <atwilson@chromium.org>

        Unreviewed, rolling out r86647.
        http://trac.webkit.org/changeset/86647
        https://bugs.webkit.org/show_bug.cgi?id=56814

        Broke tests downstream in Chromium

        * dom/DocumentMarker.h:
        (WebCore::DocumentMarker::operator==):
        (WebCore::DocumentMarker::operator!=):
        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::addMarker):
        (WebCore::DocumentMarkerController::copyMarkers):
        (WebCore::DocumentMarkerController::removeMarkers):
        (WebCore::DocumentMarkerController::markerContainingPoint):
        (WebCore::DocumentMarkerController::markersInRange):
        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
        (WebCore::DocumentMarkerController::removeMarkersFromList):
        (WebCore::DocumentMarkerController::repaintMarkers):
        (WebCore::DocumentMarkerController::shiftMarkers):
        (WebCore::DocumentMarkerController::setMarkersActive):
        (WebCore::DocumentMarkerController::hasMarkers):
        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
        (WebCore::DocumentMarkerController::showMarkers):
        * dom/DocumentMarkerController.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
        * editing/Editor.cpp:
        (WebCore::Editor::selectionStartHasMarkerFor):
        * editing/SpellingCorrectionController.cpp:
        (WebCore::SpellingCorrectionController::respondToChangedSelection):
        * editing/SpellingCorrectionController.h:
        (WebCore::SpellingCorrectionController::shouldStartTimerFor):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::spellingToolTip):
        (WebCore::HitTestResult::replacedString):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        (WebCore::InlineTextBox::computeRectForReplacementMarker):
        (WebCore::InlineTextBox::paintDocumentMarkers):
        * rendering/svg/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):

2011-05-17  Andrew Wilson  <atwilson@chromium.org>

        Unreviewed, rolling out r86656.
        http://trac.webkit.org/changeset/86656

        Broke tests downstream in Chromium

        * editing/SpellingCorrectionController.cpp:
        (WebCore::markersHaveIdenticalDescription):
        (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
        (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):

2011-05-17  Yufeng Shen  <miletus@chromium.org>

        Reviewed by Darin Fisher.

        Make WebKit expose extra touch information
        https://bugs.webkit.org/show_bug.cgi?id=59030

        * dom/Document.cpp:
        (WebCore::Document::createTouch):
        * dom/Document.h:
        * dom/Document.idl:
        * dom/Touch.cpp:
        (WebCore::Touch::Touch):
        * dom/Touch.h:
        (WebCore::Touch::create):
        (WebCore::Touch::webkitRadiusX):
        (WebCore::Touch::webkitRadiusY):
        (WebCore::Touch::webkitRotationAngle):
        * dom/Touch.idl:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent):
        * platform/PlatformTouchPoint.h:
        (WebCore::PlatformTouchPoint::radiusX):
        (WebCore::PlatformTouchPoint::radiusY):
        (WebCore::PlatformTouchPoint::rotationAngle):

2011-05-17  Eric Seidel  <eric@webkit.org>

        Reviewed by Ryosuke Niwa.

        Add a LineLayoutState object to hold global state during line layout
        https://bugs.webkit.org/show_bug.cgi?id=60113

        Like LayoutState for layout(), LineLayoutState keeps track of global information
        during an entire linebox tree layout pass (aka layoutInlineChildren).

        For now it just holds isFullLayout and the logicalRepaintTop/Bottom.
        It's possible we should hold the useRepaintBounds bool as well as
        the startLine and endLine RootInlineBox pointers.

        No change in behavior, thus no tests.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineLayoutState::LineLayoutState):
        (WebCore::LineLayoutState::markForFullLayout):
        (WebCore::LineLayoutState::isFullLayout):
        (WebCore::LineLayoutState::setRepaintRange):
        (WebCore::LineLayoutState::updateRepaintRangeFromBox):
        (WebCore::LineLayoutState::startLine):
        (WebCore::LineLayoutState::endLine):
        (WebCore::deleteLineRange):
        (WebCore::RenderBlock::layoutRunsAndFloats):
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::checkFloatsInCleanLine):
        (WebCore::RenderBlock::determineStartPosition):
        (WebCore::RenderBlock::determineEndPosition):
        (WebCore::RenderBlock::matchedEndLine):

2011-05-17  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        Area element doesn't update region when dynamically altered.
        https://bugs.webkit.org/show_bug.cgi?id=54636

        Recompute the clickable region after the "shape" or "coords" attribute
        of an area element is changed.

        Test: fast/images/imagemap-dynamic-area-updates.html

        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::parseMappedAttribute):
        (WebCore::HTMLAreaElement::invalidateCachedRegion):
        * html/HTMLAreaElement.h:

2011-05-09  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Redirection of HTTP POST (3xx) incorrectly includes original POST data
        https://bugs.webkit.org/show_bug.cgi?id=60440

        Makes sure that the HTTP headers Content-type and Content-length are not included in
        the requests that do not have any content.

        Tests: http/tests/navigation/post-301-response.html
               http/tests/navigation/post-302-response.html
               http/tests/navigation/post-303-response.html
               http/tests/navigation/post-307-response.html

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::sendNetworkRequest):

2011-05-17  Andreas Kling  <kling@webkit.org>

        Reviewed by Benjamin Poulain.

        [Qt] GraphicsLayerQtImpl: Remove an unused variable.

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

2011-05-17  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: navigating from elements panel does not show source view.
        https://bugs.webkit.org/show_bug.cgi?id=60970

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype.highlightLine):
        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):

2011-05-17  Sam Magnuson  <smagnuson@netflix.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Node that have both an opacity and a transform animation on them seem not to fire.
        https://bugs.webkit.org/show_bug.cgi?id=40841

        Test: compositing/animation/busy-indicator.html

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::recache):
        (WebCore::GraphicsLayerQtImpl::flushChanges):
        (WebCore::GraphicsLayerQt::setContentsToImage):
        (WebCore::TransformAnimationQt::getAnimatedProperty):
        (WebCore::OpacityAnimationQt::getAnimatedProperty):
        (WebCore::GraphicsLayerQt::addAnimation):

2011-05-17  Grace Kloba  <klobag@chromium.org>

        Reviewed by Kenneth Russell.

        GraphicsContext3DSkia needs to honor the platform Sk_x_SHIFT value instead of assuming BGRA color
        https://bugs.webkit.org/show_bug.cgi?id=60965

        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2011-05-17  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Enter/Tab after editing a CSS property does not invoke editor on next field
        https://bugs.webkit.org/show_bug.cgi?id=60962

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.updateStyles):

2011-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r86660.
        http://trac.webkit.org/changeset/86660
        https://bugs.webkit.org/show_bug.cgi?id=60958

        broke search in console panel (Requested by podivilov on
        #webkit).

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.show):
        (WebInspector.ConsoleView.prototype.afterShow):
        (WebInspector.ConsoleView.prototype.hide):
        (WebInspector.ConsoleView.prototype.addMessage):
        (WebInspector.ConsoleView.prototype.clearMessages):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype.set visibleView):
        (WebInspector.Drawer.prototype.show.animationFinished):
        (WebInspector.Drawer.prototype.show):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):

2011-05-17  Alexis Menard  <alexis.menard@openbossa.org>

        Unreviewed warning fix introduced by r86377.

        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintMask):

2011-05-17  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Kent Tamura.

        WebSocket: Uninline methods in ThreadableWebSocketChannelClientWrapper
        https://bugs.webkit.org/show_bug.cgi?id=60945

        Add ThreadableWebSocketChannelClientWrapper.cpp. Uninline methods in this class and
        move these definitions into .cpp in order to allow further modifications in this class.

        No new tests, as this is just refactoring.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * websockets/ThreadableWebSocketChannelClientWrapper.cpp: Added.
        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
        (WebCore::ThreadableWebSocketChannelClientWrapper::create):
        (WebCore::ThreadableWebSocketChannelClientWrapper::clearSyncMethodDone):
        (WebCore::ThreadableWebSocketChannelClientWrapper::setSyncMethodDone):
        (WebCore::ThreadableWebSocketChannelClientWrapper::syncMethodDone):
        (WebCore::ThreadableWebSocketChannelClientWrapper::sent):
        (WebCore::ThreadableWebSocketChannelClientWrapper::setSent):
        (WebCore::ThreadableWebSocketChannelClientWrapper::bufferedAmount):
        (WebCore::ThreadableWebSocketChannelClientWrapper::setBufferedAmount):
        (WebCore::ThreadableWebSocketChannelClientWrapper::clearClient):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
        (WebCore::ThreadableWebSocketChannelClientWrapper::suspend):
        (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
        (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents):
        * websockets/ThreadableWebSocketChannelClientWrapper.h:

2011-05-17  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Support shadowed text in fast font path.
        https://bugs.webkit.org/show_bug.cgi?id=60462

        * platform/graphics/Font.cpp:
        (WebCore::Font::drawText): Remove complex path shortcut for shadowed text.

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::drawGlyphs): Paint shadows for simple text.

2011-05-17  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Construct GraphicsLayerQtImpl::State with correct values.
        https://bugs.webkit.org/show_bug.cgi?id=60902

        The GraphicsLayerQtImpl initial state should match the initial values
        of the corresponding GraphicsLayer flags.

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

2011-05-12  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        IndexedDB: Index population should ignore records without key for index
        https://bugs.webkit.org/show_bug.cgi?id=60697

        When populating a new index, records which do not have a key on the
        index's key path should be ignored.

        * storage/IDBObjectStoreBackendImpl.cpp:

2011-05-17  Young Han Lee  <joybro@company100.net>

        Reviewed by Csaba Osztrogonác.

        [Texmap][Qt] Enable strict PassOwnPtr for Qt with texmap enabled.
        https://bugs.webkit.org/show_bug.cgi?id=60947

        No new tests. Build fix.

        * platform/graphics/qt/TextureMapperQt.cpp:
        (WebCore::TextureMapper::create):
        * platform/graphics/qt/TextureMapperQt.h:
        (WebCore::TextureMapperQt::create):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayer::create):

2011-05-17  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Increment/decrement of very big CSS numeric values results in invalid CSS
        https://bugs.webkit.org/show_bug.cgi?id=60890

        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.alteredFloatNumber):
        (WebInspector.StylePropertyTreeElement.prototype):

2011-05-17  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: merge ConsoleView into ConsolePanel.
        https://bugs.webkit.org/show_bug.cgi?id=54670

        Console view in drawer looks exactly the same as console panel. Merging ConsoleView and ConsolePanel together
        will allow us to reuse panel's functionality (e.g. resizable sidebar) even when console is docked.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsolePanel.prototype.get toolbarItemLabel):
        (WebInspector.ConsolePanel.prototype.show):
        (WebInspector.ConsolePanel.prototype.hide):
        (WebInspector.ConsolePanel.prototype.showInDrawer):
        (WebInspector.ConsolePanel.prototype.afterShowInDrawer):
        (WebInspector.ConsolePanel.prototype.hideInDrawer):
        (WebInspector.ConsolePanel.prototype.addMessage):
        (WebInspector.ConsolePanel.prototype.clearMessages):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype.set visibleView):
        (WebInspector.Drawer.prototype.show.animationFinished):
        (WebInspector.Drawer.prototype.show):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):

2011-05-16  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Kent Tamura.

        WebSocket: WebSocketHandshake prints a carriage return to console
        https://bugs.webkit.org/show_bug.cgi?id=60880

        * websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::readStatusLine):
        WebSocketHandshake should not print a carriage return to console. To fix this,
        we first check whether the status line ends with CRLF. After that,
        we can print the first (lineLength - 2) characters of the status line
        which do not contain a carriage return.

2011-05-16  MORITA Hajime  <morrita@google.com>

        Unreviewed build fix for r86647, which broke SUPPORT_AUTOCORRECTION_PANEL.

        * editing/SpellingCorrectionController.cpp:
        (WebCore::markersHaveIdenticalDescription):
        (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
        (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):

2011-05-16  Kent Tamura  <tkent@chromium.org>

        Fix Leopard build.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::stepUpFromRenderer): Use double instead of int.

2011-05-16  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Decouple LayerChromium/CCLayerImpl trees
        https://bugs.webkit.org/show_bug.cgi?id=58830

        Makes the CCLayerImpl tree self-hosting and provides an explicit step
        to synchronize the LayerChromium tree to the CCLayerImpl tree.
        Tested by compositing/ layout tests and by unit tests in WebKit/chromium.

        * WebCore.gypi:
        * platform/graphics/chromium/CanvasLayerChromium.cpp:
        (WebCore::CanvasLayerChromium::createCCLayerImpl):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::~LayerChromium):
        (WebCore::LayerChromium::cleanupResources):
        (WebCore::LayerChromium::dumpLayer):
        (WebCore::LayerChromium::dumpLayerProperties):
        (WebCore::LayerChromium::createCCLayerImpl):
        (WebCore::LayerChromium::ccLayerImpl):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::id):
        (WebCore::LayerChromium::setCCLayerImpl):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateAndDrawLayers):
        (WebCore::LayerRendererChromium::updateLayers):
        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
        (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/PluginLayerChromium.cpp:
        (WebCore::PluginLayerChromium::createCCLayerImpl):
        * platform/graphics/chromium/TreeSynchronizer.cpp: Added.
        (WebCore::TreeSynchronizer::addCCLayerImplsToMapRecursive):
        (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
        (WebCore::TreeSynchronizer::synchronizeTrees):
        * platform/graphics/chromium/TreeSynchronizer.h:
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::createCCLayerImpl):
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
        (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
        (WebCore::CCCanvasLayerImpl::create):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        (WebCore::CCLayerImpl::addChild):
        (WebCore::CCLayerImpl::removeFromParent):
        (WebCore::CCLayerImpl::removeAllChildren):
        (WebCore::CCLayerImpl::clearChildList):
        (WebCore::CCLayerImpl::descendantsDrawsContent):
        (WebCore::CCLayerImpl::drawsContent):
        (WebCore::CCLayerImpl::updateCompositorResources):
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::create):
        (WebCore::CCLayerImpl::parent):
        (WebCore::CCLayerImpl::children):
        (WebCore::CCLayerImpl::setMaskLayer):
        (WebCore::CCLayerImpl::maskLayer):
        (WebCore::CCLayerImpl::setReplicaLayer):
        (WebCore::CCLayerImpl::replicaLayer):
        (WebCore::CCLayerImpl::id):
        (WebCore::CCLayerImpl::owner):
        (WebCore::CCLayerImpl::setParent):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
        (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
        (WebCore::CCPluginLayerImpl::create):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
        (WebCore::CCVideoLayerImpl::create):

2011-05-16  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by Kent Tamura.

        HTML5 Number Spinbox displays a 0 in situations where a 0 is not between the min and max.
        https://bugs.webkit.org/show_bug.cgi?id=60871

        Test: fast/forms/input-stepup-stepdown-from-renderer.html

        In number input type, if the value is not a number, including empty, the currect valued is assumed 0.
        But we have to handle it separately from the case when the value is actuall "0".

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::stepUpFromRenderer): Added cliping for default value.

2011-05-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove bogus ASSERT in Document::setCompatibilityMode
        https://bugs.webkit.org/show_bug.cgi?id=60935

        The ASSERT is invalid when the parser is in the initial state and the
        document is non-empty, which is strange but not impossible.

        Test: fast/parser/append-child-followed-by-document-write.html

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

2011-05-16  MORITA Hajime  <morrita@google.com>

        Reviewed by Tony Chang.

        [Refactoring] Member variables of DocumentMarker should be encapsulated.        
        https://bugs.webkit.org/show_bug.cgi?id=56814

        - Moved DocumentMarker's member variables to private and added getters for them.
        - Added DocumentMarker setters and constructors, which contain assertions against m_type values
          because description and activeMatch are used with specific type of MarkerType.
        - Moved chromium's WebKit::WebFrameImpl::addMarker() to DocumentMarkerController because
          it accesses DocumentMarker internals.
        - Moved a version of DMC::addMarker() to private and add alternatives that hide
          internals of DocumentMarker. (The internal will be renewed by upcoming change.)
        
        * dom/DocumentMarker.h:
        (WebCore::DocumentMarker::type):
        (WebCore::DocumentMarker::startOffset):
        (WebCore::DocumentMarker::endOffset):
        (WebCore::DocumentMarker::description):
        (WebCore::DocumentMarker::hasDescription):
        (WebCore::DocumentMarker::activeMatch):
        (WebCore::DocumentMarker::clearDescription):
        (WebCore::DocumentMarker::setStartOffset):
        (WebCore::DocumentMarker::setEndOffset):
        (WebCore::DocumentMarker::operator==):
        (WebCore::DocumentMarker::DocumentMarker):
        (WebCore::DocumentMarker::shiftOffsets):
        (WebCore::DocumentMarker::setActiveMatch):
        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::addMarker):
        (WebCore::DocumentMarkerController::addTextMatchMarker):
        (WebCore::DocumentMarkerController::copyMarkers):
        (WebCore::DocumentMarkerController::removeMarkers):
        (WebCore::DocumentMarkerController::markerContainingPoint):
        (WebCore::DocumentMarkerController::markersInRange):
        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
        (WebCore::DocumentMarkerController::removeMarkersFromList):
        (WebCore::DocumentMarkerController::repaintMarkers):
        (WebCore::DocumentMarkerController::shiftMarkers):
        (WebCore::DocumentMarkerController::setMarkersActive):
        (WebCore::DocumentMarkerController::hasMarkers):
        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
        (WebCore::DocumentMarkerController::showMarkers):
        * dom/DocumentMarkerController.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
        * editing/Editor.cpp:
        (WebCore::Editor::selectionStartHasMarkerFor):
        * editing/SpellingCorrectionController.cpp:
        (WebCore::SpellingCorrectionController::respondToChangedSelection):
        * editing/SpellingCorrectionController.h:
        (WebCore::SpellingCorrectionController::shouldStartTimerFor):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::spellingToolTip):
        (WebCore::HitTestResult::replacedString):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        (WebCore::InlineTextBox::computeRectForReplacementMarker):
        (WebCore::InlineTextBox::paintDocumentMarkers):
        * rendering/svg/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):

2011-05-16  Martin Robinson  <mrobinson@igalia.com>

        Fix the Cairo build for older versions of GTK+.

        * platform/gtk/GtkWidgetBackingStoreX11.cpp: Include GtkVersioning.h to
        satisfy older versions of GTK+ 2.x.

2011-05-16  Ian Henderson  <ianh@apple.com>

        Reviewed by Joseph Pecoraro.

        Page::goToItem doesn't work while loading is deferred
        https://bugs.webkit.org/show_bug.cgi?id=60412

        If goToItem is called while loading is deferred, save the arguments
        and try again later instead of doing nothing.

        Test: loader/navigation-while-deferring-loads.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::setDefersLoading):
        Pipe the "defersLoading" state into HistoryController.
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::HistoryController):
        (WebCore::HistoryController::goToItem):
        Save the HistoryItem and FrameLoadType if loading is deferred.
        (WebCore::HistoryController::setDefersLoading):
        If we have a saved HistoryItem after resuming, try going to it.
        * loader/HistoryController.h:
        * page/Page.cpp:
        (WebCore::Page::goToItem):
        No longer bail early if loading is deferred, since HistoryController
        now handles this case.

2011-05-16  Andrew Wilson  <atwilson@chromium.org>

        Unreviewed, rolling out r86625.
        http://trac.webkit.org/changeset/86625
        https://bugs.webkit.org/show_bug.cgi?id=60719

        Caused failed assertion on Chromium gpu canary bots

        * WebCore.gypi:
        * platform/chromium/TraceEvent.h:
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::create):
        (WebCore::ContentLayerChromium::ContentLayerChromium):
        (WebCore::ContentLayerChromium::~ContentLayerChromium):
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        (WebCore::ContentLayerChromium::setLayerRenderer):
        (WebCore::ContentLayerChromium::createTilerIfNeeded):
        (WebCore::ContentLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/ContentLayerChromium.h:
        (WebCore::ContentLayerChromium::drawsContent):
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        (WebCore::ImageLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/LayerPainterChromium.h: Removed.
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::updateRootLayerContents):
        (WebCore::LayerRendererChromium::drawRootLayer):
        (WebCore::LayerRendererChromium::updateAndDrawLayers):
        (WebCore::LayerRendererChromium::updateLayers):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/LayerTextureSubImage.cpp: Removed.
        * platform/graphics/chromium/LayerTextureSubImage.h: Removed.
        * platform/graphics/chromium/LayerTextureUpdater.h: Removed.
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Removed.
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::create):
        (WebCore::LayerTilerChromium::LayerTilerChromium):
        (WebCore::LayerTilerChromium::setLayerRenderer):
        (WebCore::LayerTilerChromium::setTileSize):
        (WebCore::LayerTilerChromium::update):
        (WebCore::LayerTilerChromium::uploadCanvas):
        (WebCore::LayerTilerChromium::updateFromPixels):
        (WebCore::LayerTilerChromium::draw):
        * platform/graphics/chromium/LayerTilerChromium.h:
        (WebCore::LayerTilerChromium::Tile::Tile):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::draw):

2011-05-16  Antti Koivisto  <antti@apple.com>

        Reviewed by Dave Kilzer.

        https://bugs.webkit.org/show_bug.cgi?id=60927
        fastCheckSelector() does not inline correctly in all cases

        Use anonymous namespace instead of static qualifier to get internal linkage.
        Use functions as template arguments instead of classes.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):

2011-05-16  Chris Rogers  <crogers@google.com>

        Unreviewed build fix.

        Just return "nullptr" to fix compile errors
        https://bugs.webkit.org/show_bug.cgi?id=60932

        * platform/audio/mac/AudioBusMac.mm:
        (WebCore::AudioBus::loadPlatformResource):
        * platform/audio/mac/AudioFileReaderMac.cpp:
        (WebCore::AudioFileReader::createBus):

2011-05-16  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Replace docTop/Right/Bottom/Left/Width/Height with documentRect
        https://bugs.webkit.org/show_bug.cgi?id=60743

        Change RenderView::documentRect to compute rect once rather than four times.
        Replace all uses of docTop/Right/Bottom/Left/Width/Height with documentRect to
        simplify the code and reduce complexity.

        Covered by existing tests.

        * WebCore.exp.in:
        * page/FrameView.cpp:
        (WebCore::FrameView::adjustViewSize):
        (WebCore::FrameView::forceLayoutForPagination):
        * page/PrintContext.cpp:
        (WebCore::PrintContext::computePageRects):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintRootBoxFillLayers):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::documentRect):
        * rendering/RenderView.h:

2011-05-16  Tony Chang  <tony@chromium.org>

        Reviewed by Adam Barth.

        [chromium] shard V8DerivedSources into 19 files
        https://bugs.webkit.org/show_bug.cgi?id=60926

        This reduces the clobber build time by 4s on my machine.  It helps
        by making the slowest to compile V8DerivedSources faster (and thus
        more parallelizable).  With 8 files, the 3 slowest are 23s, 18s and
        10s.  With 19 files, the 3 slowest are 16s, 10s, and 10s.

        * WebCore.gyp/WebCore.gyp:
        * storage/IDBObjectStore.h: Fix a missing include that was working
          because a different .cpp file before it was including the header.

2011-05-16  Chris Rogers  <crogers@google.com>

        Unreviewed build fix.

        Fix web audio enabled mac port compile errors
        https://bugs.webkit.org/show_bug.cgi?id=60930

        * platform/audio/mac/AudioBusMac.mm:
        (WebCore::AudioBus::loadPlatformResource):
        * platform/audio/mac/AudioFileReaderMac.cpp:
        (WebCore::AudioFileReader::createBus):

2011-05-16  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Document why RenderBlockLineLayout has its own deleteLineBoxTree implementation
        https://bugs.webkit.org/show_bug.cgi?id=60925

        I suspect this difference is really just papering over other bugs
        but now that I finally understand the difference, I should at least
        document it for others.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::deleteLineRange):
        (WebCore::RenderBlock::determineStartPosition):

2011-05-16  Alok Priyadarshi  <alokp@chromium.org>

        Reviewed by James Robinson.

        [chromium] Split canvas from LayerTilerChromium
        https://bugs.webkit.org/show_bug.cgi?id=60719

        LayerTilerChromium now just does tiling. It delegates the task of painting and updating textures to LayerTextureUpdater.
        Also abstracted LayerTextureSubImage to upload texture pixels.

        * WebCore.gypi:
        * platform/chromium/TraceEvent.h:
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::create):
        (WebCore::ContentLayerChromium::ContentLayerChromium):
        (WebCore::ContentLayerChromium::~ContentLayerChromium):
        (WebCore::ContentLayerChromium::paintContentsIfDirty):
        (WebCore::ContentLayerChromium::cleanupResources):
        (WebCore::ContentLayerChromium::setLayerRenderer):
        (WebCore::ContentLayerChromium::createTextureUpdater):
        (WebCore::ContentLayerChromium::drawsContent):
        (WebCore::ContentLayerChromium::createTilerIfNeeded):
        (WebCore::ContentLayerChromium::updateCompositorResources):
        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
        (WebCore::ImageLayerTextureUpdater::~ImageLayerTextureUpdater):
        (WebCore::ImageLayerTextureUpdater::orientation):
        (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
        (WebCore::ImageLayerTextureUpdater::updateTextureRect):
        (WebCore::ImageLayerTextureUpdater::imageRect):
        (WebCore::ImageLayerChromium::paintContentsIfDirty):
        (WebCore::ImageLayerChromium::updateCompositorResources):
        (WebCore::ImageLayerChromium::createTextureUpdater):
        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/LayerPainterChromium.h: Added.
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::create):
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::updateRootLayerContents):
        (WebCore::LayerRendererChromium::drawRootLayer):
        (WebCore::LayerRendererChromium::updateAndDrawLayers):
        (WebCore::LayerRendererChromium::updateLayers):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/LayerTextureSubImage.cpp: Added.
        (WebCore::LayerTextureSubImage::LayerTextureSubImage):
        (WebCore::LayerTextureSubImage::~LayerTextureSubImage):
        (WebCore::LayerTextureSubImage::setSubImageSize):
        (WebCore::LayerTextureSubImage::upload):
        (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
        (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
        * platform/graphics/chromium/LayerTextureSubImage.h: Added.
        * platform/graphics/chromium/LayerTextureUpdater.h: Added.
        (WebCore::LayerTextureUpdater::LayerTextureUpdater):
        (WebCore::LayerTextureUpdater::~LayerTextureUpdater):
        (WebCore::LayerTextureUpdater::context):
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Added.
        (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
        (WebCore::LayerTextureUpdaterCanvas::paintContents):
        (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
        (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
        (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
        (WebCore::LayerTextureUpdaterCanvas::~LayerTextureUpdaterCanvas):
        (WebCore::LayerTextureUpdaterCanvas::contentRect):
        (WebCore::LayerTextureUpdaterBitmap::~LayerTextureUpdaterBitmap):
        (WebCore::LayerTextureUpdaterBitmap::orientation):
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::create):
        (WebCore::LayerTilerChromium::LayerTilerChromium):
        (WebCore::LayerTilerChromium::setTileSize):
        (WebCore::LayerTilerChromium::prepareToUpdate):
        (WebCore::LayerTilerChromium::updateRect):
        (WebCore::LayerTilerChromium::draw):
        * platform/graphics/chromium/LayerTilerChromium.h:
        (WebCore::LayerTilerChromium::Tile::Tile):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::draw):

2011-05-16  Andrew Wilson  <atwilson@chromium.org>

        Unreviewed prospective build fix/workaround for chromium ARM compiler error.

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::animationNameForTransition):

2011-05-16  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Anders Carlsson.

        [GTK] [WebKit2] Provide a fast version of the backing store for X11
        https://bugs.webkit.org/show_bug.cgi?id=60912

        No new tests. This will be covered by WebKit2 pixel tests.

        * GNUmakefile.list.am: Added new GtkWidgetBackingStore source and header files.
        * platform/gtk/GtkWidgetBackingStore.h: Added.
        * platform/gtk/GtkWidgetBackingStoreCairo.cpp: Added this implementation of the backing
        store that uses Cairo and has the same performance characteristics as the WebKit2 implementaiton.
        * platform/gtk/GtkWidgetBackingStoreX11.cpp: Added this implementation of the backing
        store that uses X11 directly and has better performance than the Cairo version.

2011-05-16  Chris Rogers  <crogers@google.com>

        Reviewed by senorblanco@chromium.org.

        Add DynamicsCompressorNode implementation
        https://bugs.webkit.org/show_bug.cgi?id=60682

        No new tests since audio API is not yet implemented.

        * DerivedSources.make:
        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/audio/DynamicsCompressor.cpp: Added.
        (WebCore::DynamicsCompressor::DynamicsCompressor):
        (WebCore::DynamicsCompressor::initializeParameters):
        (WebCore::DynamicsCompressor::parameterValue):
        (WebCore::DynamicsCompressor::setEmphasisStageParameters):
        (WebCore::DynamicsCompressor::setEmphasisParameters):
        (WebCore::DynamicsCompressor::process):
        (WebCore::DynamicsCompressor::reset):
        * platform/audio/DynamicsCompressor.h: Added.
        (WebCore::DynamicsCompressor::isStereo):
        (WebCore::DynamicsCompressor::sampleRate):
        (WebCore::DynamicsCompressor::nyquist):
        * platform/audio/DynamicsCompressorKernel.cpp: Added.
        (WebCore::saturate):
        (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
        (WebCore::DynamicsCompressorKernel::setPreDelayTime):
        (WebCore::DynamicsCompressorKernel::process):
        (WebCore::DynamicsCompressorKernel::reset):
        * platform/audio/DynamicsCompressorKernel.h: Added.
        (WebCore::DynamicsCompressorKernel::latencyFrames):
        (WebCore::DynamicsCompressorKernel::sampleRate):
        * platform/audio/ZeroPole.cpp: Added.
        (WebCore::ZeroPole::process):
        * platform/audio/ZeroPole.h: Added.
        (WebCore::ZeroPole::ZeroPole):
        (WebCore::ZeroPole::reset):
        (WebCore::ZeroPole::setZero):
        (WebCore::ZeroPole::setPole):
        (WebCore::ZeroPole::zero):
        (WebCore::ZeroPole::pole):
        * webaudio/AudioContext.cpp:
        (WebCore::AudioContext::createDynamicsCompressor):
        * webaudio/AudioContext.h:
        * webaudio/AudioContext.idl:
        * webaudio/AudioNode.h:
        * webaudio/DynamicsCompressorNode.cpp: Added.
        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
        (WebCore::DynamicsCompressorNode::~DynamicsCompressorNode):
        (WebCore::DynamicsCompressorNode::process):
        (WebCore::DynamicsCompressorNode::reset):
        (WebCore::DynamicsCompressorNode::initialize):
        (WebCore::DynamicsCompressorNode::uninitialize):
        * webaudio/DynamicsCompressorNode.h: Added.
        (WebCore::DynamicsCompressorNode::create):
        * webaudio/DynamicsCompressorNode.idl: Added.

2011-05-16  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Antti Koivisto.

        Fix for Bug 43704 - Web font is printed as blank if it is not cached
        https://bugs.webkit.org/show_bug.cgi?id=43704

        In setting printing, we should not validate resources already cached
        for the document. If we do, web fonts used for screen are revalidated
        and possiby reloaded. Then the fonts can be shown as blank on print.
        This patch won't save the case where screen and print use different web
        fonts. Nonetheless, this is an improvement.

        No new tests because there seems to be no good way to test print images.

        * editing/Editor.cpp:
        (WebCore::Editor::paste): Use ResourceCacheValidationSuppressor instead of explicitly allowing/disallowing stale resources.
        * loader/cache/CachedResourceLoader.h:
        (WebCore::ResourceCacheValidationSuppressor::ResourceCacheValidationSuppressor): RAII class for allowing/disallowing stale resources.
        (WebCore::ResourceCacheValidationSuppressor::~ResourceCacheValidationSuppressor):
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag): Use ResourceCacheValidationSuppressor instead of explicitly allowing/disallowing stale resources.
        * page/Frame.cpp:
        (WebCore::Frame::setPrinting): Use ResourceCacheValidationSuppressor to allow stale resources in printing.

2011-05-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/9446653> REGRESSION (r84750): Moving by word stops at apostrophe mid-word
        https://bugs.webkit.org/show_bug.cgi?id=60915

        CFStringTokenizer’s kCFStringTokenizerUnitWord considers “Here’s” as two separate tokens.
        Switching to CFStringTokenizer in r84750 was an attempt to address an issue with Japanese word
        boundaries for searches with WebFindOptionsAtWordStarts, but it turned out to be insufficient,
        and in r86387 the Japanese word issue was addressed independently of text boundaries, so just
        revert r84750.

        * platform/text/mac/TextBoundaries.mm:
        (WebCore::findNextWordFromIndex):

2011-05-16  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/60913> C++ exceptions should not be enabled when building with llvm-gcc-4.2
        <rdar://problem/9446430>

        Reviewed by Mark Rowe.

        * Configurations/Base.xcconfig: Fixed typo.

2011-05-16  Jon Lee  <jonlee@apple.com>

        Fix for broken regression tests. Adding null pointer check

        * page/FrameView.cpp:
        (WebCore::FrameView::didAddHorizontalScrollbar):
        (WebCore::FrameView::willRemoveHorizontalScrollbar):

2011-05-16  Adrienne Walker  <enne@google.com>

        Reviewed by James Robinson.

        [chromium] Remove unused member variables from LayerRendererChromium
        https://bugs.webkit.org/show_bug.cgi?id=60899

        These should have been removed when tiling was enabled for root
        layers.

        * platform/graphics/chromium/LayerRendererChromium.h:

2011-05-16  Andrew Wilson  <atwilson@chromium.org>

        Unreviewed, rolling out r86589.
        http://trac.webkit.org/changeset/86589
        https://bugs.webkit.org/show_bug.cgi?id=54670

        Broke chromium inspector tests.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.show):
        (WebInspector.ConsoleView.prototype.afterShow):
        (WebInspector.ConsoleView.prototype.hide):
        (WebInspector.ConsoleView.prototype.addMessage):
        (WebInspector.ConsoleView.prototype.clearMessages):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype.set visibleView):
        (WebInspector.Drawer.prototype.show.animationFinished):
        (WebInspector.Drawer.prototype.show):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):

2011-05-16  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Enrica Casucci.

        REGRESSION (r86542): Dropping URL onto Desktop creates broken Internet Shortcut file.
        
        r86477 fixed this bug by using latin1 as the CString's encoding instead of ascii, but r86542
        undid this change.
        
        Change it back to latin1 to fix the bug.

        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::writeURL):

2011-05-16  Jeremy Noble  <jer.noble@apple.com>

        Unreviewed; build fix for non-SnowLeopard builds.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Wrap definition 
            of layerIsDescendentOf in a #if check.

2011-05-16  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: merge ConsoleView into ConsolePanel.
        https://bugs.webkit.org/show_bug.cgi?id=54670

        Console view in drawer looks exactly the same as console panel. Merging ConsoleView and ConsolePanel together
        will allow us to reuse panel's functionality (e.g. resizable sidebar) even when console is docked.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsolePanel.prototype.get toolbarItemLabel):
        (WebInspector.ConsolePanel.prototype.show):
        (WebInspector.ConsolePanel.prototype.hide):
        (WebInspector.ConsolePanel.prototype.showInDrawer):
        (WebInspector.ConsolePanel.prototype.afterShowInDrawer):
        (WebInspector.ConsolePanel.prototype.hideInDrawer):
        (WebInspector.ConsolePanel.prototype.addMessage):
        (WebInspector.ConsolePanel.prototype.clearMessages):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        * inspector/front-end/Drawer.js:
        (WebInspector.Drawer.prototype.set visibleView):
        (WebInspector.Drawer.prototype.show.animationFinished):
        (WebInspector.Drawer.prototype.show):
        * inspector/front-end/Panel.js:
        (WebInspector.Panel):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createPanels):

2011-05-13  Jer Noble  <jer.noble@apple.com>

        Reviewed by Simon Fraser.

        Video is blank, controller is misplaced on trailers.apple.com movie in fullscreen (with two screens)
        https://bugs.webkit.org/show_bug.cgi?id=60826

        Listen for a WebKitLayerHostChanged notification and, if the affected layer is an
        ancestor layer of the qtMovieLayer, tear down the layer and recreate it the
        next time setVisible(true) is called.

        * dom/Document.cpp:
        (WebCore::Document::webkitDidEnterFullScreenForElement):  Call setFullScreenRootLayer(0) 
            before disabling animation on the full screen renderer.
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::createQTMovie): Register an observer for the new 
            WebKitLayerHostChanged notification.
        (WebCore::layerIsDescendentOf): Added.
        (WebCore::MediaPlayerPrivateQTKit::layerHostChanged): Added.  If the changed
            layer is an ancestor of the movie layer, tear down rendering and re-
            create the next time setVisible(true) is called.
        (-[WebCoreMovieObserver layerHostChanged:]):  Added ObjC listener wrapper.

2011-05-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Remove disable-javascript-urls CSP directive
        https://bugs.webkit.org/show_bug.cgi?id=60874

        After talking this out with various folks in the CSP working group, we
        decided that this syntax isn't the right way to approach this issue.
        If we want to address the use case of enabling JavaScript URLs
        separately from inline script, we'll probably just make

          script-src javascript:

        work that way.

        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
        (WebCore::ContentSecurityPolicy::addDirective):
        * page/ContentSecurityPolicy.h:

2011-05-16  Jon Lee  <jonlee@apple.com>

       Reviewed by Simon Fraser.

       Can't horizontally scroll iframes and overflow because wheel events are always accepted
       https://bugs.webkit.org/show_bug.cgi?id=60779

       * dom/Document.cpp:
       (WebCore::Document::Document): Initialize wheel event handler count
       (WebCore::Document::didAddWheelEventHandler): Increment count, and tell the main frame
       to recalculate the total number of wheel event handlers in all of its frames' documents
       (WebCore::Document::didRemoveWheelEventHandler): Reverse of previous method
       * dom/Document.h:
       (WebCore::Document::wheelEventHandlerCount): Access the count
       * dom/Node.cpp:
       (WebCore::tryAddEventListener): If the event listener is a mouse wheel event, then
       tell the document to increment its count
       (WebCore::tryRemoveEventListener): Reverse of previous method

       * page/ChromeClient.h: Two new methods:
         numWheelEventHandlersChanged: WebProcess tells UIProcess to update its cached
           count of total wheel event handlers, which in this case only include horizontal
           scrollbars and mouse wheel JS handlers
         shouldRubberBandInDirection: allow the UIProcess to provide some control over
           whether rubber banding is allowed when scrolling in a particular direction
       * loader/EmptyClients.h:
       (WebCore::EmptyChromeClient::numWheelEventHandlersChanged): Default empty impl
       (WebCore::EmptyChromeClient::shouldRubberBandInDirection): Default empty impl
       * page/EventHandler.cpp:
       (WebCore::EventHandler::handleWheelEvent): Remove a redundant pointer check
       * page/Frame.cpp:
       (WebCore::Frame::setDocument): When the frame's document changes, calculate that
       document's total wheel event handlers, and notify the UIProcess
       (WebCore::Frame::notifyChromeClientWheelEventHandlerCountChanged): Performs a crawl
       of the frame tree to aggregate the count
       * page/Frame.h:

       * platform/ScrollableArea.h: Virtualize didAddHorizontalScrollbar and
       willRemoveHorizontalScrollbar for overriding in RenderLayer and FrameView
       (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMinimumPosition): Returns true if there is
       no scrollbar or the scroller position is in the minimum scroll position.
       (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMaximumPosition): Converse of the above.
       (WebCore::ScrollableArea::shouldRubberBandInDirection): Default impl
       * page/FrameView.cpp:
       (WebCore::FrameView::didAddHorizontalScrollbar): Updates the frame's document's count
       (WebCore::FrameView::willRemoveHorizontalScrollbar): Updates the frame's document's
       count
       (WebCore::FrameView::shouldRubberBandInDirection): Connective glue
       * page/FrameView.h: Adding overriding methods from ScrollableArea
       * rendering/RenderLayer.cpp: Similar functionality to FrameView
       (WebCore::RenderLayer::didAddHorizontalScrollbar):
       (WebCore::RenderLayer::willRemoveHorizontalScrollbar):
       * rendering/RenderLayer.h:
       
       * platform/mac/ScrollAnimatorMac.h: Fix typo of "momentum"
       * platform/mac/ScrollAnimatorMac.mm:
       (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Fix typo of "momentum"
       (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): Fix typo of "coalesced"
       (WebCore::ScrollAnimatorMac::beginScrollGesture): Fix typo of "coalesced"
       (WebCore::ScrollAnimatorMac::snapRubberBand): Fix typo of "momentum"
       
       (WebCore::ScrollAnimatorMac::handleWheelEvent): New logic for determining whether
       to allow rubber-banding based on the area's scroll position and the wheel event.
       Could prevent accepting the wheel event. Also, fix typo of "momentum"
       (WebCore::isScrollingLeftAndShouldNotRubberBand): Inline helper function for logic
       (WebCore::isScrollingRightAndShouldNotRubberBand): Inline helper function for logic

2011-05-16  Leandro Gracia Gil  <leandrogracia@chromium.org>

        Reviewed by Tony Gentilcore.

        Media Stream API: add local stream requests.
        https://bugs.webkit.org/show_bug.cgi?id=60177

        Add the code and messages for requesting the generation of local streams and getting the reply back.

        Tests for the Media Stream API will be provided by the bug 56587.
        One test is re-enabled with this patch.

        Test: fast/dom/MediaStream/argument-types.html

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/CallbackTask.h: Added.
        (WebCore::CallbackTask1::create):
        (WebCore::CallbackTask1::performTask):
        (WebCore::CallbackTask1::Scheduler::scheduleCallback):
        (WebCore::CallbackTask1::CallbackTask1):
        * page/MediaStreamClient.h:
        * page/MediaStreamController.cpp:
        (WebCore::MediaStreamController::isClientAvailable):
        (WebCore::MediaStreamController::unregisterFrameController):
        (WebCore::MediaStreamController::registerRequest):
        (WebCore::MediaStreamController::registerStream):
        (WebCore::MediaStreamController::generateStream):
        (WebCore::MediaStreamController::streamGenerated):
        (WebCore::MediaStreamController::streamGenerationFailed):
        * page/MediaStreamController.h:
        * page/MediaStreamFrameController.cpp:
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::GenerateStreamRequest):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::~GenerateStreamRequest):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::isGenerateStreamRequest):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::abort):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::successCallback):
        (WebCore::MediaStreamFrameController::GenerateStreamRequest::errorCallback):
        (WebCore::::unregisterAll):
        (WebCore::::detachEmbedder):
        (WebCore::MediaStreamFrameController::MediaStreamFrameController):
        (WebCore::MediaStreamFrameController::pageController):
        (WebCore::MediaStreamFrameController::unregister):
        (WebCore::MediaStreamFrameController::enterDetachedState):
        (WebCore::MediaStreamFrameController::isClientAvailable):
        (WebCore::MediaStreamFrameController::disconnectFrame):
        (WebCore::MediaStreamFrameController::parseGenerateStreamOptions):
        (WebCore::MediaStreamFrameController::generateStream):
        (WebCore::MediaStreamFrameController::streamGenerated):
        (WebCore::MediaStreamFrameController::streamGenerationFailed):
        * page/MediaStreamFrameController.h:
        (WebCore::MediaStreamFrameController::ClientBase::ClientBase):
        (WebCore::MediaStreamFrameController::ClientBase::~ClientBase):
        (WebCore::MediaStreamFrameController::ClientBase::mediaStreamFrameController):
        (WebCore::MediaStreamFrameController::ClientBase::clientId):
        (WebCore::MediaStreamFrameController::ClientBase::isStream):
        (WebCore::MediaStreamFrameController::ClientBase::isGeneratedStream):
        (WebCore::MediaStreamFrameController::ClientBase::detachEmbedder):
        (WebCore::MediaStreamFrameController::ClientBase::associateFrameController):
        (WebCore::MediaStreamFrameController::ClientBase::unregisterClient):
        (WebCore::MediaStreamFrameController::StreamClient::StreamClient):
        (WebCore::MediaStreamFrameController::StreamClient::~StreamClient):
        (WebCore::MediaStreamFrameController::StreamClient::isStream):
        (WebCore::MediaStreamFrameController::StreamClient::unregister):
        (WebCore::MediaStreamFrameController::IdGenerator::IdGenerator):
        (WebCore::MediaStreamFrameController::IdGenerator::getNextId):
        (WebCore::MediaStreamFrameController::ClientMapBase::ClientMapBase):
        * page/Navigator.cpp:
        (WebCore::Navigator::webkitGetUserMedia):
        * page/NavigatorUserMediaErrorCallback.h:

2011-05-16  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: debuggerWasEnabled notification should not be send to front-end on navigation.
        https://bugs.webkit.org/show_bug.cgi?id=60888

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::disableDebugger):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::enable):
        (WebCore::InspectorDebuggerAgent::disable):
        (WebCore::InspectorDebuggerAgent::restore):
        (WebCore::InspectorDebuggerAgent::clearFrontend):
        * inspector/InspectorDebuggerAgent.h:

2011-05-16  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Windows build fix.

        * inspector/InspectorConsoleInstrumentation.h:
        (WebCore::InspectorInstrumentation::consoleMarkTimeline):

2011-05-16  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Build fix.

        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::willStartWorkerContext):

2011-05-11  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: use InstrumentingAgents to access agents from InspectorInstrumentation
        https://bugs.webkit.org/show_bug.cgi?id=60624

        InspectorInstrumentation retrieves inspector agents from corresponding InstrumentingAgents
        instance. Each agent notifies InstrumentingAgents whenever it wants to receive notifications
        about changes in WebCore.

        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::InspectorAgent::inspectedPageDestroyed):
        * inspector/InspectorAgent.h:
        * inspector/InspectorConsoleInstrumentation.h:
        (WebCore::InspectorInstrumentation::addMessageToConsole):
        (WebCore::InspectorInstrumentation::consoleCount):
        (WebCore::InspectorInstrumentation::startConsoleTiming):
        (WebCore::InspectorInstrumentation::stopConsoleTiming):
        (WebCore::InspectorInstrumentation::consoleMarkTimeline):
        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
        (WebCore::InspectorInstrumentation::addProfile):
        (WebCore::InspectorInstrumentation::profilerEnabled):
        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::didClearWindowObjectInWorld):
        (WebCore::InspectorController::inspectedPage):
        * inspector/InspectorController.h:
        * inspector/InspectorDatabaseInstrumentation.h: FAST_RETURN_IF_NO_FRONTENDS macros
        is used for early return in common case when inspector is not opened. In this
        case inspector instrumentation costs one additional check of a static field.
        (WebCore::InspectorInstrumentation::didOpenDatabase):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::instrumentingAgents):
        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
        (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl):
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
        (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
        (WebCore::InspectorInstrumentation::handleMousePressImpl):
        (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl):
        (WebCore::InspectorInstrumentation::didInstallTimerImpl):
        (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
        (WebCore::InspectorInstrumentation::willCallFunctionImpl):
        (WebCore::InspectorInstrumentation::willChangeXHRReadyStateImpl):
        (WebCore::InspectorInstrumentation::willDispatchEventImpl):
        (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
        (WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
        (WebCore::InspectorInstrumentation::willFireTimerImpl):
        (WebCore::InspectorInstrumentation::willLayoutImpl):
        (WebCore::InspectorInstrumentation::willLoadXHRImpl):
        (WebCore::InspectorInstrumentation::willPaintImpl):
        (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
        (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
        (WebCore::InspectorInstrumentation::willSendRequestImpl):
        (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl):
        (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
        (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
        (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
        (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
        (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::scriptImportedImpl):
        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
        (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
        (WebCore::InspectorInstrumentation::consoleCountImpl):
        (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
        (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
        (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
        (WebCore::InspectorInstrumentation::addProfileImpl):
        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
        (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
        (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
        (WebCore::InspectorInstrumentation::didCreateWorkerImpl):
        (WebCore::InspectorInstrumentation::didDestroyWorkerImpl):
        (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
        (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
        (WebCore::InspectorInstrumentation::networkStateChangedImpl):
        (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
        (WebCore::InspectorInstrumentation::hasFrontend):
        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
        (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
        (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::bindInstrumentingAgents):
        (WebCore::InspectorInstrumentation::unbindInstrumentingAgents):
        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
        (WebCore::InspectorInstrumentation::inspectedPageDestroyed):
        (WebCore::InspectorInstrumentation::willInsertDOMNode):
        (WebCore::InspectorInstrumentation::didInsertDOMNode):
        (WebCore::InspectorInstrumentation::willRemoveDOMNode):
        (WebCore::InspectorInstrumentation::willModifyDOMAttr):
        (WebCore::InspectorInstrumentation::didModifyDOMAttr):
        (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
        (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
        (WebCore::InspectorInstrumentation::handleMousePress):
        (WebCore::InspectorInstrumentation::characterDataModified):
        (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
        (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
        (WebCore::InspectorInstrumentation::didInstallTimer):
        (WebCore::InspectorInstrumentation::didRemoveTimer):
        (WebCore::InspectorInstrumentation::willCallFunction):
        (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
        (WebCore::InspectorInstrumentation::willDispatchEvent):
        (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
        (WebCore::InspectorInstrumentation::willEvaluateScript):
        (WebCore::InspectorInstrumentation::willFireTimer):
        (WebCore::InspectorInstrumentation::willLayout):
        (WebCore::InspectorInstrumentation::willLoadXHR):
        (WebCore::InspectorInstrumentation::willPaint):
        (WebCore::InspectorInstrumentation::willRecalculateStyle):
        (WebCore::InspectorInstrumentation::applyUserAgentOverride):
        (WebCore::InspectorInstrumentation::willSendRequest):
        (WebCore::InspectorInstrumentation::continueAfterPingLoader):
        (WebCore::InspectorInstrumentation::markResourceAsCached):
        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
        (WebCore::InspectorInstrumentation::willReceiveResourceData):
        (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
        (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
        (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
        (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
        (WebCore::InspectorInstrumentation::didReceiveContentLength):
        (WebCore::InspectorInstrumentation::didFinishLoading):
        (WebCore::InspectorInstrumentation::didFailLoading):
        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorInstrumentation::scriptImported):
        (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
        (WebCore::InspectorInstrumentation::loadEventFired):
        (WebCore::InspectorInstrumentation::frameDetachedFromParent):
        (WebCore::InspectorInstrumentation::didCommitLoad):
        (WebCore::InspectorInstrumentation::willWriteHTML):
        (WebCore::InspectorInstrumentation::didUseDOMStorage):
        (WebCore::InspectorInstrumentation::willStartWorkerContext):
        (WebCore::InspectorInstrumentation::didStartWorkerContext):
        (WebCore::InspectorInstrumentation::didCreateWorker):
        (WebCore::InspectorInstrumentation::didDestroyWorker):
        (WebCore::InspectorInstrumentation::didCreateWebSocket):
        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorInstrumentation::didCloseWebSocket):
        (WebCore::InspectorInstrumentation::networkStateChanged):
        (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
        (WebCore::InspectorInstrumentation::hasFrontend):
        (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
        (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
        (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
        (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForFrame):
        (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForPage):
        (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForContext):
        (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForDocument):

2011-05-16  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Move Resources Panel search to backend
        https://bugs.webkit.org/show_bug.cgi?id=59596

        * inspector/Inspector.json:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::decodeMainResource):
        (WebCore::InspectorPageAgent::resourceContent):
        (WebCore::cachedResourcesForFrame):
        (WebCore::InspectorPageAgent::getCookies):
        (WebCore::InspectorPageAgent::deleteCookie):
        (WebCore::createSearchRegexSource):
        (WebCore::countRegularExpressionMatches):
        (WebCore::buildObjectForSearchMatch):
        (WebCore::InspectorPageAgent::searchInResources):
        (WebCore::InspectorPageAgent::domContentEventFired):
        (WebCore::InspectorPageAgent::loadEventFired):
        (WebCore::InspectorPageAgent::frameNavigated):
        (WebCore::InspectorPageAgent::frameDetached):
        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
        * inspector/InspectorPageAgent.h:
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._showResourceView):
        (WebInspector.ResourcesPanel.prototype.performSearch.searchInEditedResource):
        (WebInspector.ResourcesPanel.prototype.performSearch.callback):
        (WebInspector.ResourcesPanel.prototype.performSearch):
        (WebInspector.ResourcesPanel.prototype._ensureViewSearchPerformed):
        (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
        (WebInspector.ResourcesPanel.prototype._showSearchResult):
        (WebInspector.ResourcesPanel.prototype._resetSearchResults):
        (WebInspector.ResourcesPanel.prototype.searchCanceled):
        (WebInspector.ResourcesPanel.prototype.jumpToNextSearchResult):
        (WebInspector.ResourcesPanel.prototype.jumpToPreviousSearchResult):
        (WebInspector.FrameTreeElement.prototype.resourceByURL):
        (WebInspector.FrameResourceTreeElement.prototype._resetSearchResults):
        (WebInspector.FrameResourceTreeElement.prototype.get searchMatchesCount):
        (WebInspector.FrameResourceTreeElement.prototype.searchMatchesFound):
        (WebInspector.ResourcesSearchController):
        (WebInspector.ResourcesSearchController.prototype.nextSearchResult):
        (WebInspector.ResourcesSearchController.prototype.previousSearchResult):
        (WebInspector.ResourcesSearchController.prototype._searchResult):
        (WebInspector.SearchResultsTreeElementsTraverser):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype.first):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype.last):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype.next):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype.previous):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype._traverseNext):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype._elementHasSearchResults):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype._traversePrevious):
        (WebInspector.SearchResultsTreeElementsTraverser.prototype._lastTreeElement):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.createSearchRegex):
        (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
        (WebInspector.SourceFrame.prototype.performSearch):
        (WebInspector.SourceFrame.prototype.hasSearchResults):
        (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
        (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
        (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
        (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
        (WebInspector.SourceFrame.prototype.jumpToSearchResult):
        (WebInspector.SourceFrame.prototype._collectRegexMatches):
        * inspector/front-end/utilities.js:
        ():

2011-05-16  Andreas Kling  <kling@webkit.org>

        Reviewed by Darin Adler.

        CSS: Fast path for 'px' lengths should be case-insensitive.
        https://bugs.webkit.org/show_bug.cgi?id=60703

        No new tests, this is an optimization that avoids creating
        a full CSSParser to parse the value.

        * css/CSSParser.cpp:
        (WebCore::parseSimpleLengthValue):

2011-05-16  Naiem Shaik  <naiem.shaik@gmail.com>

        Reviewed by Adam Barth.

        This is for fixing build break in webgl due to https://bugs.webkit.org/show_bug.cgi?id=59861
        The bug raised for fixing this is https://bugs.webkit.org/show_bug.cgi?id=60867

        No new tests. This does not change any functionality.

        * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
        (WebCore::GraphicsContext3D::create):
        * platform/graphics/gtk/GraphicsContext3DInternal.cpp:
        (WebCore::GraphicsContext3DInternal::create):
        * platform/graphics/gtk/GraphicsContext3DInternal.h:

2011-05-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: parse edited attributes by means of InspectorDOMAgent.
        https://bugs.webkit.org/show_bug.cgi?id=60807

        This change moves attribute parsing from the front-end to the backend. 

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setAttribute):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype.setAttribute):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded):
        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):

2011-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed.

        Switch from Vector<UChar> to StringBuilder in dom/
        https://bugs.webkit.org/show_bug.cgi?id=57843

        Incorporate comment from Darin/Andreas.

        * dom/DatasetDOMStringMap.cpp:
        (WebCore::convertAttributeNameToPropertyName): Use 'character' local, instead of charaters[i].
        (WebCore::convertPropertyNameToAttributeName): Ditto.

2011-05-16  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Fix SourceJavaScriptTokenizer keyword parsing
        https://bugs.webkit.org/show_bug.cgi?id=60773

        * inspector/front-end/SourceJavaScriptTokenizer.js:
        (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
        * inspector/front-end/SourceJavaScriptTokenizer.re2js:

2011-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Darin Adler.

        Switch from Vector<UChar> to StringBuilder in dom/
        https://bugs.webkit.org/show_bug.cgi?id=57843

        * dom/DatasetDOMStringMap.cpp:
        (WebCore::convertAttributeNameToPropertyName):
        (WebCore::convertPropertyNameToAttributeName):
        * dom/Range.cpp:
        (WebCore::Range::toString):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::scriptContent):

2011-05-05  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: move double click handling from TextEditor to SourceFrame.
        https://bugs.webkit.org/show_bug.cgi?id=60271

        It is SourceFrame's responsibility to check if content is editable and
        to configure TextEditor component (e.g. set editable range) when user
        tries to initiate editing.

        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceSourceFrame.prototype.doubleClick):
        (WebInspector.RevisionSourceFrame.prototype.doubleClick):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.beforeTextChanged):
        (WebInspector.SourceFrame.prototype.afterTextChanged):
        (WebInspector.SourceFrame.prototype.doubleClick):
        (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
        (WebInspector.SourceFrame.prototype.commitEditing):
        (WebInspector.SourceFrame.prototype.cancelEditing):
        (WebInspector.SourceFrame.prototype._setReadOnly):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype.set readOnly):
        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
        (WebInspector.TextViewer.prototype._doubleClick):
        (WebInspector.TextViewer.prototype._commitEditing):
        (WebInspector.TextViewer.prototype._cancelEditing):
        (WebInspector.TextViewerDelegate.prototype.doubleClick):
        (WebInspector.TextViewerDelegate.prototype.beforeTextChanged):
        (WebInspector.TextViewerDelegate.prototype.afterTextChanged):

2011-05-15  Robert Hogan  <robert@webkit.org>

        Reviewed by Yury Semikhatsky.

        [Qt] Fix crash in inspector/console/console-long-eval-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=60858

        The client may be gone when sendMessageToBackend() is called.

        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::sendMessageToBackend):

2011-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Replace direct StringConcatenate usage, by using operator+ (again)
        https://bugs.webkit.org/show_bug.cgi?id=60700

        Remove makeString() usage everywhere, instead directly use operator+.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
        * bindings/js/JSDOMWindowBase.cpp:
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::reportUnsafeAccessTo):
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::borderSpacingValue):
        * dom/ExceptionBase.cpp:
        (WebCore::ExceptionBase::ExceptionBase):
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::handleError):
        * html/FTPDirectoryDocument.cpp:
        (WebCore::processFileDateString):
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::count):
        (WebCore::InspectorConsoleAgent::didReceiveResponse):
        * inspector/InspectorDOMAgent.cpp:
        * inspector/InspectorDOMDebuggerAgent.cpp:
        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
        (WebCore::FrameLoader::checkIfRunInsecureContent):
        (WebCore::FrameLoader::shouldAllowNavigation):
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::createFromSelection):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::printAccessDeniedMessage):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPDirective::CSPDirective):
        (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::postMessageTimerFired):
        (WebCore::DOMWindow::crossDomainAccessErrorMessage):
        * page/PageSerializer.cpp:
        (WebCore::SerializerMarkupAccumulator::SerializerMarkupAccumulator):
        (WebCore::SerializerMarkupAccumulator::appendElement):
        (WebCore::PageSerializer::urlForBlankFrame):
        * page/PrintContext.cpp:
        (WebCore::PrintContext::pageProperty):
        (WebCore::PrintContext::pageSizeAndMarginsInPixels):
        * platform/efl/PlatformKeyboardEventEfl.cpp:
        (WebCore::createKeyMap):
        (WebCore::createWindowsKeyMap):
        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::animationNameForTransition):
        * platform/graphics/brew/ImageBrew.cpp:
        (WebCore::Image::loadPlatformResource):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::animationIdentifier):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::CGImageToDataURL):
        * platform/graphics/gtk/ImageBufferGtk.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/haiku/ImageBufferHaiku.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageToDataURL):
        * platform/network/CredentialStorage.cpp:
        (WebCore::originStringFromURL):
        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::reportErrorToClient):
        * platform/sql/SQLiteDatabase.cpp:
        (WebCore::SQLiteDatabase::setSynchronous):
        * platform/text/wince/TextCodecWinCE.cpp:
        (WebCore::LanguageManager::LanguageManager):
        * platform/win/ClipboardUtilitiesWin.cpp:
        * platform/win/ClipboardWin.cpp:
        (WebCore::ClipboardWin::writeURL):
        * platform/win/FileSystemWin.cpp:
        (WebCore::listDirectory):
        * platform/win/LanguageWin.cpp:
        (WebCore::platformDefaultLanguage):
        * platform/win/PathWalker.cpp:
        (WebCore::PathWalker::PathWalker):
        * platform/win/SystemInfo.cpp:
        (WebCore::osVersionForUAString):
        (WebCore::windowsVersionForUAString):
        * plugins/PluginStream.cpp:
        (WebCore::PluginStream::startStream):
        * svg/SVGAngle.cpp:
        (WebCore::SVGAngle::valueAsString):
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::valueAsString):
        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::cssText):
        * svg/SVGPointList.cpp:
        (WebCore::SVGPointList::valueAsString):
        * svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::valueAsString):
        * svg/SVGTransform.cpp:
        (WebCore::SVGTransform::valueAsString):
        * svg/SVGTransformList.cpp:
        * svg/SVGUseElement.cpp:
        (WebCore::dumpInstanceTree):
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::didFail):
        (WebCore::WebSocketChannel::appendToBuffer):
        * websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::readServerHandshake):

2011-05-12  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: inspector console should be searchable
        https://bugs.webkit.org/show_bug.cgi?id=60711

        Search now works for Console panel. It shows number of matching console entries
        and allows to jump to the next matching console entry. Also the matches count
        is dynamically updated when new messages are added to the console.

        ResourceTreeModel and DebuggerPresentationModel now listen to console events instead
        of being called directly from ConsoleView.

        * inspector/front-end/ConsolePanel.js:
        (WebInspector.ConsolePanel):
        (WebInspector.ConsolePanel.prototype.show):
        (WebInspector.ConsolePanel.prototype.hide):
        (WebInspector.ConsolePanel.prototype.searchCanceled):
        (WebInspector.ConsolePanel.prototype.performSearch):
        (WebInspector.ConsolePanel.prototype.jumpToNextSearchResult):
        (WebInspector.ConsolePanel.prototype.jumpToPreviousSearchResult):
        (WebInspector.ConsolePanel.prototype._clearCurrentSearchResultHighlight):
        (WebInspector.ConsolePanel.prototype._jumpToSearchResult):
        (WebInspector.ConsolePanel.prototype._consoleMessageAdded):
        (WebInspector.ConsolePanel.prototype._consoleCleared):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.addMessage):
        (WebInspector.ConsoleView.prototype.clearMessages):
        (WebInspector.ConsoleMessage.prototype.clearHighlight):
        (WebInspector.ConsoleMessage.prototype.highlightSearchResults):
        (WebInspector.ConsoleMessage.prototype.matchesRegex):
        (WebInspector.ConsoleMessage.prototype.toMessageElement):
        (WebInspector.ConsoleCommand.prototype.clearHighlight):
        (WebInspector.ConsoleCommand.prototype.highlightSearchResults):
        (WebInspector.ConsoleCommand.prototype.matchesRegex):
        (WebInspector.ConsoleCommand.prototype.toMessageElement):
        (WebInspector.ConsoleCommand.prototype._formatCommand):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel):
        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
        (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
        (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._consoleMessagesCleared):
        * inspector/front-end/utilities.js:
        ():

2011-05-16  Adam Barth  <abarth@webkit.org>

        [Qt] QtPlatformPlugin create methods should use PassOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=60873

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::platformStart):

2011-05-15  Adam Barth  <abarth@webkit.org>

        Attempt to fix Qt build.  (Strict PassOwnPtr fix.)

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQt::GraphicsLayerQt):
        (WebCore::GraphicsLayer::create):

2011-05-15  Adam Barth  <abarth@webkit.org>

        Attempt to fix Qt build.  (Strict PassOwnPtr fix.)

        * platform/text/qt/TextCodecQt.cpp:
        (WebCore::newTextCodecQt):

2011-05-15  Adam Barth  <abarth@webkit.org>

        Attempt to fix Qt build.  (Strict PassOwnPtr fix.)

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyWrapper::release):
        (WebCore::QNetworkReplyWrapper::receiveMetaData):
        (WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType):
        (WebCore::QNetworkReplyHandler::release):
        (WebCore::QNetworkReplyHandler::finish):
        (WebCore::QNetworkReplyHandler::redirect):
        (WebCore::QNetworkReplyHandler::start):

2011-05-15  Adam Barth  <abarth@webkit.org>

        Attempt to fix Qt build.  (Strict PassOwnPtr fix.)

        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::doEnd):

2011-05-15  Kenichi Ishibashi  <bashi@chromium.org>

        Reviewed by Kent Tamura.

        <output>, <meter> and <progress> elements with display:block can be focused if you try to tab to it
        https://bugs.webkit.org/show_bug.cgi?id=60602

        HTMLFormControlElement::isFocusable() returns true when the element is
        visible as a block element.  However, for output, meter, and progress
        elements, the function should not return true unless they have
        tabindex attributes.  Override supportsFocus() of these elements to
        apply the result of Node::supportsFocus() because it takes care of
        whether the element has tabindex or not.

        Test: fast/forms/focus-with-display-block.html

        * html/HTMLFormControlElement.h: Made supportsFocus() protected.
        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::supportsFocus): Added.
        * html/HTMLMeterElement.h:
        * html/HTMLOutputElement.cpp:
        (WebCore::HTMLOutputElement::supportsFocus): Added.
        * html/HTMLOutputElement.h:
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::supportsFocus): Added.
        * html/HTMLProgressElement.h:

2011-05-15  Jon Lee  <jonlee@apple.com>

        Reviewed by Dan Bernstein.

        Missing migration from Editor::TextCheckingOptions to TextCheckingType in SpellingCorrectionController.cpp
        https://bugs.webkit.org/show_bug.cgi?id=60870

        * editing/SpellingCorrectionController.cpp:
        (WebCore::SpellingCorrectionController::correctionPanelTimerFired): Migrating to using TextCheckingType

2011-05-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Gavin Barraclough.

        https://bugs.webkit.org/show_bug.cgi?id=59699
        Global object is recreated on teardown, for no good reason
        
        (Another partial fix for <rdar://problem/9417875> REGRESSION: SunSpider
        ~7% slower in browser than on command line (was 17%))
        
        I'm basically rolling out http://trac.webkit.org/changeset/49786 because

        (a) it created this performance problem
        
        and
        
        (b) a more complete fix, which obsoletes http://trac.webkit.org/changeset/49786,
        was committed in http://trac.webkit.org/changeset/53439.
        
        Tested with the file attached to https://bugs.webkit.org/show_bug.cgi?id=29832.

        * page/Frame.cpp:
        (WebCore::Frame::~Frame): Don't create a new window every time we destroy
        a frame.

2011-05-12  MORITA Hajime  <morrita@google.com>

        ShadowContentElement should affect the order of renderer children
        https://bugs.webkit.org/show_bug.cgi?id=59157

        Introduced ShadowContentSelector to collect and forward content
        children for each ShadowContentElement. ShadowRoot collects child
        nodes of its host (we call these children "content children"), and
        the descendant ShadowContentElement pulls that these content
        children and put it under its child during
        ShadowContentElement::attach().
        
        Content children no longer create its renderer during its normal
        attach() phase (called "light" phase). And they create it during
        attach() as a content children instead (called "forwarded phase").
        These phases are detected by NodeRendererFactory and represented
        as NodeRendererFactory::AttachPhase value AttachContentLight and
        AttachContentForwarded.
        
        Tests: fast/html/details-add-details-child-1.html
               fast/html/details-add-details-child-2.html
               fast/html/details-nested-1.html
               fast/html/details-nested-2.html

        * dom/Element.cpp:
        (WebCore::Element::attach):
        (WebCore::Element::childrenChanged):
        * dom/Node.cpp:
        (WebCore::NodeRendererFactory::NodeRendererFactory):
        (WebCore::NodeRendererFactory::shouldCreateRenderer):
        (WebCore::NodeRendererFactory::nextRenderer):
        (WebCore::NodeRendererFactory::createRendererIfNeeded):
        * dom/ShadowRoot.cpp:
        (WebCore::forceReattach):
        (WebCore::ShadowContentSelector::shadowRoot):
        (WebCore::ShadowContentSelector::activeElement):
        (WebCore::ShadowContentSelector::currentInstance):
        (WebCore::ShadowContentSelector::ShadowContentSelector):
        (WebCore::ShadowContentSelector::~ShadowContentSelector):
        (WebCore::ShadowContentSelector::attachChildrenFor):
        (WebCore::ShadowContentElement::attach):
        (WebCore::ShadowRoot::recalcStyle):
        (WebCore::ShadowRoot::activeContentContainer):
        (WebCore::ShadowRoot::hostChildrenChanged):
        (WebCore::ShadowRoot::attach):
        * dom/ShadowRoot.h:
        * html/shadow/ShadowContentElement.h:
        (WebCore::ShadowContentElement::rendererIsNeeded):
        * rendering/RenderDetails.cpp:
        * rendering/RenderDetails.h:

2011-05-13  MORITA Hajime  <morrita@google.com>

        Reviewed by Ryosuke Niwa.

        Refactoring: Editor::TextCheckingOptions should be replaced with TextCheckingType
        https://bugs.webkit.org/show_bug.cgi?id=57088

        Removed Editor::TextCheckingOptions and replaced it with TextCheckingTypeMask
        No new tests, no behavior change.

        * editing/Editor.cpp:
        (WebCore::Editor::replaceSelectionWithFragment):
        (WebCore::Editor::markMisspellingsAfterTypingToWord):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        (WebCore::Editor::markMisspellingsAndBadGrammar):
        (WebCore::Editor::resolveTextCheckingTypeMask):
        * editing/Editor.h:
        * platform/text/TextChecking.h: Added TextCheckingTypeShowCorrectionPanel

2011-05-15  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: chromium renderer crash at eval in console.

        https://bugs.webkit.org/show_bug.cgi?id=60616
        Renderer of inspected page is crashing when modal dialog
        has been opened via console eval and page is reloaded.

        Test: inspector/console/console-long-eval-crash.html

        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::dispatchMessageFromFrontend):
        * inspector/InspectorController.h:

2011-05-15  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Maciej Stachowiak.

        Use new AVAssetReferenceRestrictions to prevent cross site media references
        https://bugs.webkit.org/show_bug.cgi?id=60791
        <rdar://problem/9374202>

        Test: http/tests/media/video-cross-site.html

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Set restriction
            to prevent cross-domain references from being followed.

2011-05-15  Arno Renevier  <arno@renevier.net>

        Reviewed by Darin Adler.

        remove unecessary includes from Source/WebCore/html/HTMLFrameElementBase.cpp
        https://bugs.webkit.org/show_bug.cgi?id=60775

        No new tests. This change only impacts compilation.

        * html/HTMLFrameElementBase.cpp:

2011-05-14  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>

        Reviewed by Kevin Ollivier.

        [wx] Fix strokeArc and fillRoundedRect drawing, and add clipPath support.
        
        https://bugs.webkit.org/show_bug.cgi?id=60847

        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::clipConvexPolygon):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):

2011-05-14  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        HTTP video-on-demand streams frequently have live stream UI
        https://bugs.webkit.org/show_bug.cgi?id=60849
        <rdar://problem/9440502>

        No new tests, we don't currently have tests for http live streams. Changes verified manually.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): Reset the media controls so
            a duration change which identifies a format will be picked up.
        (WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged): New, reset media controls
            so they can be reconfigured for the media file characteristics.
        * html/HTMLMediaElement.h:

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::characteristicChanged): New, pass through to the element.
        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayerClient::mediaPlayerCharacteristicChanged):

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::setHasVideo): Call characteristicChanged when
            setting changes.
        (WebCore::MediaPlayerPrivateAVFoundation::setHasAudio): Ditto.
        (WebCore::MediaPlayerPrivateAVFoundation::setHasClosedCaptions): Ditto.
        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Move the duration
            change notification logic to invalidateCachedDuration.
        (WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration): New, invalidate
            the cached duration and notify the element when it changes.
        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Call invalidateCachedDuration
            for the DurationChanged notification.
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Define DurationChanged.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't check asset or
            item duration until they have been loaded.
        (WebCore::itemKVOProperties): Listen for duration change.
        (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Deal with
            duration change notification.

2011-05-14  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dan Bernstein.

        As per spec, only allow one font family name in a font face rule.
        Other things like initial value, inherited value or multiple names
        are discarded.
        https://bugs.webkit.org/show_bug.cgi?id=60837

        Test: fast/css/invalid-font-family-in-font-face-crash.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::createFontFaceRule):

2011-05-13  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoffrey Garen.

        Make GC validation more aggressive
        https://bugs.webkit.org/show_bug.cgi?id=60802

        This makes GC_VALIDATION much more aggressive in webcore,
        adding logic to every visitChildren method to ensure that
        the structure still has correct flags.

        Additionally every function generated for the dom bindings
        makes use of the new GC_VALIDATION object assertions to further
        ensure that the object appears to be sensible.

        * bindings/js/JSAttrCustom.cpp:
        (WebCore::JSAttr::visitChildren):
        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContext::visitChildren):
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::JSCSSRule::visitChildren):
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::visitChildren):
        * bindings/js/JSCanvasRenderingContextCustom.cpp:
        (WebCore::JSCanvasRenderingContext::visitChildren):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::visitChildren):
        (WebCore::JSDOMGlobalObject::setInjectedScript):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::visitChildren):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::visitChildren):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::jsFunction):
        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
        (WebCore::JSJavaScriptAudioNode::visitChildren):
        * bindings/js/JSMessageChannelCustom.cpp:
        (WebCore::JSMessageChannel::visitChildren):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::visitChildren):
        * bindings/js/JSNamedNodeMapCustom.cpp:
        (WebCore::JSNamedNodeMap::visitChildren):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::visitChildren):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::visitChildren):
        * bindings/js/JSNodeIteratorCustom.cpp:
        (WebCore::JSNodeIterator::visitChildren):
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        (WebCore::JSSVGElementInstance::visitChildren):
        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorker::visitChildren):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::JSStyleSheet::visitChildren):
        * bindings/js/JSTreeWalkerCustom.cpp:
        (WebCore::JSTreeWalker::visitChildren):
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::visitChildren):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::visitChildren):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::visitChildren):
        * bindings/js/JSXPathResultCustom.cpp:
        (WebCore::JSXPathResult::visitChildren):
        * bindings/scripts/CodeGeneratorJS.pm:

2011-05-13  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoffrey Garen.

        Make GC validation more aggressive
        https://bugs.webkit.org/show_bug.cgi?id=60802

        This makes GC_VALIDATION much more aggressive in webcore,
        adding logic to every visitChildren method to ensure that
        the structure still has correct flags.

        Additionally every function generated for the dom bindings
        makes use of the new GC_VALIDATION object assertions to further
        ensure that the object appears to be sensible.

        * bindings/js/JSAttrCustom.cpp:
        (WebCore::JSAttr::visitChildren):
        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContext::visitChildren):
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::JSCSSRule::visitChildren):
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::visitChildren):
        * bindings/js/JSCanvasRenderingContextCustom.cpp:
        (WebCore::JSCanvasRenderingContext::visitChildren):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::visitChildren):
        (WebCore::JSDOMGlobalObject::setInjectedScript):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::visitChildren):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::visitChildren):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::jsFunction):
        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
        (WebCore::JSJavaScriptAudioNode::visitChildren):
        * bindings/js/JSMessageChannelCustom.cpp:
        (WebCore::JSMessageChannel::visitChildren):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::visitChildren):
        * bindings/js/JSNamedNodeMapCustom.cpp:
        (WebCore::JSNamedNodeMap::visitChildren):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::visitChildren):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::visitChildren):
        * bindings/js/JSNodeIteratorCustom.cpp:
        (WebCore::JSNodeIterator::visitChildren):
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        (WebCore::JSSVGElementInstance::visitChildren):
        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorker::visitChildren):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::JSStyleSheet::visitChildren):
        * bindings/js/JSTreeWalkerCustom.cpp:
        (WebCore::JSTreeWalker::visitChildren):
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::visitChildren):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::visitChildren):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::visitChildren):
        * bindings/js/JSXPathResultCustom.cpp:
        (WebCore::JSXPathResult::visitChildren):
        * bindings/scripts/CodeGeneratorJS.pm:

2011-05-14  Oliver Hunt  <oliver@apple.com>

        Reviewed by Anders Carlsson.

        Make Qt bindings GC safe
        https://bugs.webkit.org/show_bug.cgi?id=60841

        Trying to do cache management by using "this" as a key from a GC
        object's destructor leads to a violation of GC semantics.  Make
        the qt bindings use a Weak<> handle for finalization.

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
        (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
        * bridge/qt/qt_runtime.h:
        (JSC::Bindings::QtRuntimeMethodData::finalize):

2011-05-14  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Make canHaveChildrenForEditing more efficient
        https://bugs.webkit.org/show_bug.cgi?id=53564

        Improved the performance (1-2% in release and 20% in debug) by adding virtual member function
        canContainRangeEndPoint to Node. It returns true whenever the associated node can have be a container
        node for a position.

        As of this revision, canContainRangeEndPoint returns true on Document, DocumentFragment, Text nodes
        and any elements except:

        HTML: applet, br, embed, frame, frameset, hr (unless has children), img, input, keygen,
              meter, object (unless uses fallback content), output, progress, select, and textarea.

        No new tests are added since this change cannot be tested directly.

        * dom/Document.h:
        (WebCore::Document::canContainRangeEndPoint): Added; returns false.
        * dom/DocumentFragment.h:
        (WebCore::DocumentFragment::canContainRangeEndPoint): Added; returns true.
        * dom/Element.h:
        (WebCore::Element::canContainRangeEndPoint): Ditto.
        * dom/Node.h:
        (WebCore::Node::canContainRangeEndPoint): Added; returns false.
        * dom/Text.h:
        (WebCore::Text::canContainRangeEndPoint): Added; returns true.
        * editing/htmlediting.cpp: Removed editingIgnoresContent and canHaveChildrenForEditing.
        * editing/htmlediting.h:
        (WebCore::editingIgnoresContent): Moved from htmlediting.cpp; made it inline.
        (WebCore::canHaveChildrenForEditing): Ditto.
        * html/HTMLBRElement.h:
        (WebCore::HTMLBRElement::canContainRangeEndPoint): Added; returns false.
        * html/HTMLButtonElement.h:
        (WebCore::HTMLDataGridElement::canContainRangeEndPoint): Ditto.
        * html/HTMLFormControlElement.h:
        (WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint): Ditto.
        * html/HTMLFrameElementBase.h:
        (WebCore::HTMLFrameElementBase::canContainRangeEndPoint): Ditto.
        * html/HTMLImageElement.h:
        (WebCore::HTMLImageElement::canContainRangeEndPoint): Ditto.
        * html/HTMLMeterElement.h:
        (WebCore::HTMLMeterElement::canContainRangeEndPoint): Ditto.
        * html/HTMLOutputElement.h:
        (WebCore::HTMLOutputElement::canContainRangeEndPoint): Ditto.
        * html/HTMLPlugInElement.h:
        (WebCore::HTMLPlugInElement::canContainRangeEndPoint): Ditto.
        * html/HTMLProgressElement.h:
        (WebCore::HTMLProgressElement::canContainRangeEndPoint): Ditto.
        * html/HTMLHRElement.h:
        (WebCore::HTMLHRElement::canContainRangeEndPoint): Added; returns true iff it has children.
        * html/HTMLObjectElement.h:
        (WebCore::HTMLObjectElement::canContainRangeEndPoint): Added; returns true iff it uses fallback
        content.

2011-05-14  Jeremy Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Exiting full screen causes <video> element inline controls to become visible
        https://bugs.webkit.org/show_bug.cgi?id=60142

        Create a queue of elements who must be targeted with webkitfullscreenchange events. Instead of dispatching
        a single event with whatever the current value of m_fullScreenElement is (which may have been cleared, or
        changed since the timer was asked to fire), dispatch one event for each entry in the queue.

        Test: fullscreen/video-controls-override.html

        * dom/Document.cpp:
        (WebCore::Document::webkitDidEnterFullScreenForElement): Push current full screen element onto the
            webkitfullscreenchange event delay queue.
        (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
        (WebCore::Document::fullScreenElementRemoved): Ditto.
        (WebCore::Document::fullScreenChangeDelayTimerFired): Empty the queue, dispatching a 
            webkitfullscreenchange event for each entry.
        * dom/Document.h:

2011-05-14  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        Buildfix for SharedTimerWx.cpp
        https://bugs.webkit.org/show_bug.cgi?id=60829

        * platform/wx/SharedTimerWx.cpp:
        (WebCore::WebKitTimer::WebKitTimer):
        We can't call the constructor of a base class in the body of the constructor.

2011-05-14  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix for r86477.

        Remove the global namespace prefix from GlobalLock/GlobalUnlock.

        * platform/win/ClipboardUtilitiesWin.cpp:

2011-05-14  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed, rolling out r86469 and r86471, because they made hundreds tests crash on Qt.

        Make GC validation more aggressive
        https://bugs.webkit.org/show_bug.cgi?id=60802

        * bindings/js/JSAttrCustom.cpp:
        (WebCore::JSAttr::visitChildren):
        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContext::visitChildren):
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::JSCSSRule::visitChildren):
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::visitChildren):
        * bindings/js/JSCanvasRenderingContextCustom.cpp:
        (WebCore::JSCanvasRenderingContext::visitChildren):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::visitChildren):
        (WebCore::JSDOMGlobalObject::setInjectedScript):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::visitChildren):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::visitChildren):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::jsFunction):
        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
        (WebCore::JSJavaScriptAudioNode::visitChildren):
        * bindings/js/JSMessageChannelCustom.cpp:
        (WebCore::JSMessageChannel::visitChildren):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::visitChildren):
        * bindings/js/JSNamedNodeMapCustom.cpp:
        (WebCore::JSNamedNodeMap::visitChildren):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::visitChildren):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::visitChildren):
        * bindings/js/JSNodeIteratorCustom.cpp:
        (WebCore::JSNodeIterator::visitChildren):
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        (WebCore::JSSVGElementInstance::visitChildren):
        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorker::visitChildren):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::JSStyleSheet::visitChildren):
        * bindings/js/JSTreeWalkerCustom.cpp:
        (WebCore::JSTreeWalker::visitChildren):
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::visitChildren):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::visitChildren):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::visitChildren):
        * bindings/js/JSXPathResultCustom.cpp:
        (WebCore::JSXPathResult::visitChildren):
        * bindings/scripts/CodeGeneratorJS.pm:

2011-05-13  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        HTML5 Application Cache Update Failures on Page Refresh
        https://bugs.webkit.org/show_bug.cgi?id=60598
        <rdar://problem/9418639>

        Test: http/tests/appcache/interrupted-update.html

        The reason was two-fold:
        1) Cache group state wasn't fully reset after a failed cache update (or an initial load).
        2) The cache group is not deleted until after after the navigation (from autorelease pool),
        so the failed and sorry old version was picked up by cache selection algorithm.

        The latter is more of a surprising behavior than a problem in itself. Keeping an appcache in
        memory for reload is generally a good thing for performance.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::stopLoading): Added a FIXME about half-baked state resetting
        code that sent me looking for a wrong fix originally.
        (WebCore::ApplicationCacheGroup::stopLoadingInFrame): Stopped load is an update failure like
        any other, so we should call cacheUpdateFailed(), which knows how to reset state.

2011-05-13  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler and Brian Weinstein.

        REGRESSION (WK2): Can't drag and drop a link or image from Safari to Desktop
        https://bugs.webkit.org/show_bug.cgi?id=60819
        <rdar://problem/9370689>

        To support drag-and-drop to the desktop and other windows applications,
        we need to support the fileDescriptor and fileContentZero clipboard formats.
        This patch adds the support for serializing these types across the process boundary.
        It also fixes a regression introduced by r70914, that was causing the content of the
        shortcut files to be corrupted. Using ascii() to convert from String to CString was
        causing '\n' and '\r' to be replaced with '?'.
        
        * platform/DragData.h:
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::fileDescriptorFormat): Moved from ClipboardWin.cpp.
        (WebCore::fileContentFormatZero): Moved from ClipboardWin.cpp.
        (WebCore::getFileDescriptorData): Serialize FileDescriptor type.
        (WebCore::getFileContentData): Serialize FileContent type.
        (WebCore::setFileDescriptorData): Deserialize FileDescriptor type.
        (WebCore::setFileContentData): Deserialize FileContent type.
        (WebCore::setCFData): Added missing initialization of the tymed field
        that was causing the cfHDrop format not to be deserialized correctly. 
        * platform/win/ClipboardUtilitiesWin.h:
        * platform/win/ClipboardWin.cpp:
        (WebCore::createGlobalHDropContent): Changed ascii() to latin1().
        (WebCore::ClipboardWin::writeURL):
        * platform/win/DragDataWin.cpp:
        (WebCore::DragData::getDragFileDescriptorData):
        (WebCore::DragData::getDragFileContentData):

2011-05-13  Daniel Cheng  <dcheng@chromium.org>

        Fix the build.

        Add includes that the builders are suddenly complaining about...

        * page/DragState.h:

2011-05-13  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Tony Chang.

        Improve drag start logic
        https://bugs.webkit.org/show_bug.cgi?id=59409

        Rewrite and simplify the dragging logic to better match IE, Firefox, and the behavior
        defined in the spec. Among other things:
        - draggableNode() no longer returns text nodes when dragging anchors.
        - When starting a drag over an image in a selection, prefer to drag the selection.
        - Several redundant hit tests have been removed.
        - Minor refactoring to make the logic easier to follow.

        Test: platform/mac/editing/pasteboard/drag-selections-to-contenteditable.html

        * WebCore.xcodeproj/project.pbxproj:
        * page/DragController.cpp:
        (WebCore::DragController::draggableNode):
        (WebCore::DragController::startDrag):
        * page/DragController.h:
        * page/DragState.h:
        (WebCore::DragState::shouldDispatchEvents):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::eventMayStartDrag):
        (WebCore::EventHandler::updateDragSourceActionsAllowed):
        (WebCore::EventHandler::updateDragAndDrop):
        (WebCore::EventHandler::cancelDragAndDrop):
        (WebCore::EventHandler::dragHysteresisExceeded):
        (WebCore::EventHandler::dragSourceEndedAt):
        (WebCore::ExactlyOneBitSet):
        (WebCore::EventHandler::handleDrag):
        * page/EventHandler.h:

2011-05-13  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoffrey Garen.

        Make GC validation more aggressive
        https://bugs.webkit.org/show_bug.cgi?id=60802

        This makes GC_VALIDATION much more aggressive in webcore,
        adding logic to every visitChildren method to ensure that
        the structure still has correct flags.

        Additionally every function generated for the dom bindings
        makes use of the new GC_VALIDATION object assertions to further
        ensure that the object appears to be sensible.

        * bindings/js/JSAttrCustom.cpp:
        (WebCore::JSAttr::visitChildren):
        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContext::visitChildren):
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::JSCSSRule::visitChildren):
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::visitChildren):
        * bindings/js/JSCanvasRenderingContextCustom.cpp:
        (WebCore::JSCanvasRenderingContext::visitChildren):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::visitChildren):
        (WebCore::JSDOMGlobalObject::setInjectedScript):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::visitChildren):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::visitChildren):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::JSEventListener):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::jsFunction):
        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
        (WebCore::JSJavaScriptAudioNode::visitChildren):
        * bindings/js/JSMessageChannelCustom.cpp:
        (WebCore::JSMessageChannel::visitChildren):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::visitChildren):
        * bindings/js/JSNamedNodeMapCustom.cpp:
        (WebCore::JSNamedNodeMap::visitChildren):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::visitChildren):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::visitChildren):
        * bindings/js/JSNodeIteratorCustom.cpp:
        (WebCore::JSNodeIterator::visitChildren):
        * bindings/js/JSSVGElementInstanceCustom.cpp:
        (WebCore::JSSVGElementInstance::visitChildren):
        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorker::visitChildren):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::JSStyleSheet::visitChildren):
        * bindings/js/JSTreeWalkerCustom.cpp:
        (WebCore::JSTreeWalker::visitChildren):
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::visitChildren):
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::visitChildren):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::visitChildren):
        * bindings/js/JSXPathResultCustom.cpp:
        (WebCore::JSXPathResult::visitChildren):
        * bindings/scripts/CodeGeneratorJS.pm:

2011-05-13  Mikhail Naganov  <mnaganov@chromium.org>

        Web Inspector: Unreviewed image glyph position fix in CSS after r85588.

        * inspector/front-end/heapProfiler.css:
        (.heapshot-help-status-bar-item .glyph):

2011-05-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        iframe sandbox doesn't properly block popups
        https://bugs.webkit.org/show_bug.cgi?id=60784

        Previously, we weren't implementing this requirement from the spec:

        "This flag also prevents content from creating new auxiliary browsing
        contexts, e.g. using the target attribute or the window.open() method."

        Tests: http/tests/security/no-popup-from-sandbox-top.html
               http/tests/security/no-popup-from-sandbox.html

        * loader/PolicyChecker.cpp:
        (WebCore::PolicyChecker::checkNewWindowPolicy):

2011-05-13  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        click event shouldn't fire when the target is ever removed in mouseup
        https://bugs.webkit.org/show_bug.cgi?id=60600

        Fixed the bug by invalidating m_clickNode when it or one of its ancestors has been removed
        from the document. New behavior matches Internet Explorer and Firefox.

        Tests: fast/events/remove-target-in-mouseup-deep.html
               fast/events/remove-target-in-mouseup-insertback.html
               fast/events/remove-target-in-mouseup-twice.html
               fast/events/remove-target-in-mouseup.html

        * dom/Document.cpp:
        (WebCore::Document::nodeChildrenWillBeRemoved): Calls EventHandler::nodeWillBeRemoved.
        (WebCore::Document::nodeWillBeRemoved): Calls EventHandler::nodeWillBeRemoved.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::nodeWillBeRemoved): Added; invalidates m_clickNode when m_clickNode
        or one of its ancestor is removed from the document.
        * page/EventHandler.h:

2011-05-13  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Joseph Pecoraro.

        Hide appcache status bar items
        https://bugs.webkit.org/show_bug.cgi?id=60799

        We have a number of non-trivial bugs that make these more misleading than helpful to developers.

        * inspector/front-end/ApplicationCacheItemsView.js: (WebInspector.ApplicationCacheItemsView):
        Just hide the items for now. Removing all support code would be complicated, and not helpful.

2011-05-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        indexedDB is visible inside iframe sandbox
        https://bugs.webkit.org/show_bug.cgi?id=60785

        We're supposed to return a null indexedDB factory when inside an iframe
        sandbox.

        Test: http/tests/security/no-indexeddb-from-sandbox.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitIndexedDB):

2011-05-13  Adam Roben  <aroben@apple.com>

        Fix manual tests that got broken by the move of WebCore into Source

        * manual-tests/plugins/object-clipping.html:
        * manual-tests/pointer-events.html:
        * manual-tests/video-waiting-seeking.html:
        Updated some paths.

2011-05-13  Nat Duca  <nduca@chromium.org>

        Reviewed by James Robinson.

        [chromium] compositing tests are failing
        https://bugs.webkit.org/show_bug.cgi?id=60738

        Bind texture before setting its filtering state.

        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::updateFromPixels):

2011-05-13  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=60787
        Add some assertions to ApplicationCacheGroup

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Check that count doesn't underflow.
        (WebCore::ApplicationCacheGroup::failedLoadingMainResource): Ditto.
        (WebCore::ApplicationCacheGroup::stopLoading): Check that we are the handle's client before
        resetting it.
        (WebCore::ApplicationCacheGroup::update): Check that there isn't a stale current handle or
        resource hanging around.
        (WebCore::ApplicationCacheGroup::didFail): Check that the handle is either manifest or current one.

2011-05-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Prune #includes from FrameView.h (Part 2)
        https://bugs.webkit.org/show_bug.cgi?id=60748

        - Replace #includes in FrameView.h of Frame.h and Page.h
          with Color.h, wtf/text/WTFString.h, and the new AdjustViewSizeOrNot.h

        - Update files that were depending on FrameView.h #including Frame.h or
          Page.h.

        * GNUmakefile.list.am:
        * WebCore.exp.in:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/AccessibilityRenderObject.cpp:
        * accessibility/AccessibilityScrollView.cpp:
        * accessibility/chromium/AXObjectCacheChromium.cpp:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        * css/MediaQueryMatcher.cpp:
        * dom/Range.cpp:
        * editing/SpellingCorrectionController.cpp:
        * history/CachedFrame.cpp:
        * html/HTMLBodyElement.cpp:
        * html/canvas/WebGLRenderingContext.cpp:
        * html/parser/HTMLParserScheduler.cpp:
        * page/AdjustViewSizeOrNot.h: Added.
        * page/EditorClient.h:
        * page/Frame.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::forceLayoutForPagination):
        * page/FrameView.h:
        * page/PrintContext.cpp:
        (WebCore::PrintContext::begin):
        (WebCore::PrintContext::end):
        * page/chromium/FrameChromium.cpp:
        * page/win/FrameCGWin.cpp:
        * page/win/FrameWin.cpp:
        * platform/efl/PopupMenuEfl.cpp:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        * platform/gtk/WidgetGtk.cpp:
        * plugins/IFrameShimSupport.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBoxModelObject.cpp:
        * rendering/RenderFrameBase.cpp:
        * rendering/RenderIFrame.cpp:
        * rendering/RenderMenuList.cpp:
        * rendering/RenderTextControlSingleLine.cpp:
        * rendering/RenderWidget.cpp:
        * svg/SVGSVGElement.cpp:

2011-05-13  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintCollapsedBorder to use IntRect
        https://bugs.webkit.org/show_bug.cgi?id=60739

        Updating the last offending paint function that takes four ints
        instead of an IntRect.

        No new tests as this is simple refactoring.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paint):
        (WebCore::RenderTableCell::paintCollapsedBorder):
        * rendering/RenderTableCell.h:

2011-05-13  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Regression(r75823): Revert initialization back to the first RenderBlock
        in the parent chain.
        https://bugs.webkit.org/show_bug.cgi?id=60780

        Test: fast/block/float/float-not-removed-crash.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
        In r75823, I forgot to initialize parentBlock, when the original code
        did and Hyatt did mention in c#5. Now, initializing parentBlock to the
        first RenderBlock in the parent chain.

2011-05-05  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: TextEditor should support editing a range.
        https://bugs.webkit.org/show_bug.cgi?id=59688

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
        (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine):
        (WebInspector.TextEditorMainPanel.prototype.setEditableRange):
        (WebInspector.TextEditorMainPanel.prototype.clearEditableRange):
        (WebInspector.TextEditorMainPanel.prototype._splitChunkOnALine):
        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
        (WebInspector.TextEditorMainChunk):
        (WebInspector.TextEditorMainChunk.prototype.set expanded):
        (WebInspector.TextEditorMainChunk.prototype.set readOnly):
        (WebInspector.TextEditorMainChunk.prototype.get readOnly):
        (WebInspector.TextEditorMainChunk.prototype._updateElementReadOnlyState):
        * inspector/front-end/textViewer.css:
        (.text-editor-read-only):

2011-05-05  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: fix source mapping for formatted scripts.
        https://bugs.webkit.org/show_bug.cgi?id=60263

        Source mapping is broken for script chunks that are already formatted at the beginning
        and at the end of the script (see script-formatter.html).

        * inspector/front-end/ScriptFormatter.js:
        (WebInspector.ScriptFormatter.prototype._didFormatContent):
        (WebInspector.FormattedSourceMapping):
        (WebInspector.FormattedSourceMapping.prototype.originalToFormatted):
        (WebInspector.FormattedSourceMapping.prototype.formattedToOriginal):
        (WebInspector.FormattedSourceMapping.prototype._convertPosition):
        * inspector/front-end/ScriptFormatterWorker.js:
        (onmessage):
        (HTMLScriptFormatter.prototype.format):
        * inspector/front-end/SourceFile.js:
        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
        (WebInspector.SourceMappingForFormattedSourceFile):
        (WebInspector.SourceMappingForFormattedSourceFile.prototype.scriptLocationToSourceLine):
        (WebInspector.SourceMappingForFormattedSourceFile.prototype.sourceLineToScriptLocation):

2011-05-13  Adam Roben  <aroben@apple.com>

        Tell ScrollView's child Widgets that their frame rects have changed when its own frame rect
        changes

        r79167 moved some code from setFrameRect to setBoundsSize, including a call to
        frameRectsChanged. This was done because positionScrollbarLayers, which is called by
        frameRectsChanged, only needs to be called when the bounds change, not when the frame rect
        changes. But the recursive calls inside frameRectsChanged *do* need to be called when the
        frame rect changes.

        This patch moves the positionScrollbarLayers call out of frameRectsChanged, since it needs
        to be called at different times from frameRectsChanged. Then it restores the
        frameRectsChanged call to setFrameRect, which fixes the bug.

        Test: platform/win/plugins/iframe-inside-overflow.html

        Fixes <http://webkit.org/b/60194> <rdar://problem/9383760> REGRESSION (r79167): Windowed
        plugins in Google Reader don't move when the article list is scrolled

        Reviewed by Dan Bernstein.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars): Added a positionScrollbarLayers call here now that
        frameRectsChanged doesn't call it for us. Also added a FIXME because it seems strange to
        call frameRectsChanged here when our frame rect hasn't changed.
        (WebCore::ScrollView::setFrameRect): Added back the frameRectsChanged call that was removed
        in r79167.
        (WebCore::ScrollView::setBoundsSize): Replaced a frameRectsChanged call with a call to
        positionScrollbarLayers. We were only calling frameRectsChanged here in order to get
        positionScrollbarLayers to be called.
        (WebCore::ScrollView::frameRectsChanged): Removed the call to positionScrollbarLayers. All
        callers of frameRectsChanged have been updated to call positionScrollbarLayers if needed.

2011-05-13  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Eric Seidel.

        [GTK] Share the GTK+ key binding code between WebKit1 and WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=59765

        Move the keybinding code form WebKit1/WebKit2 to this utility class. This code is
        almost directly moved from the WebKit layer.

        No new tests. This is covered by the editing tests.

        * GNUmakefile.list.am:
        * platform/gtk/KeyBindingTranslator.cpp: Added.
        (WebCore::backspaceCallback):Added.
        (WebCore::selectAllCallback):Added.
        (WebCore::cutClipboardCallback):Added.
        (WebCore::copyClipboardCallback):Added.
        (WebCore::pasteClipboardCallback):Added.
        (WebCore::toggleOverwriteCallback):Added.
        (WebCore::popupMenuCallback):Added.
        (WebCore::showHelpCallback):Added.
        (WebCore::deleteFromCursorCallback):Added.
        (WebCore::moveCursorCallback):Added.
        (WebCore::KeyBindingTranslator::KeyBindingTranslator):Added.
        (WebCore::KeyBindingTranslator::getEditorCommandsForKeyEvent):Added.
        * platform/gtk/KeyBindingTranslator.h: Added.
        (WebCore::KeyBindingTranslator::addPendingEditorCommand):Added.

2011-05-01  Holger Hans Peter Freyther  <holger@moiji-mobile.com>

        Reviewed by Adam Barth.

        [android] Forward declare types for PlatformWidget and DragImage
        https://bugs.webkit.org/show_bug.cgi?id=59890

        This is a simple build fix.

        * platform/DragImage.h:
        * platform/Widget.h:

2011-05-06  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: fix incremental html highlight.
        https://bugs.webkit.org/show_bug.cgi?id=60163

        SourceTokenizers for html, js, and css are declared to be stateless. However they store some state in
        various ways (like using _internalJavaScriptTokenizer field in html tokenizer, or modifying "static"
        initialCondition object via condition link). This all worked because of another bug in tokenizers registry
        that always returned new tokenizer object.
        For incremental highlighting, we need to be able to stringify tokenizers state and then restore the
        state from string. That's why we need tokenizers to be truly stateless.

        * inspector/front-end/DOMSyntaxHighlighter.js:
        (WebInspector.DOMSyntaxHighlighter.prototype.syntaxHighlightNode):
        * inspector/front-end/SourceCSSTokenizer.js:
        (WebInspector.SourceCSSTokenizer):
        (WebInspector.SourceCSSTokenizer.prototype.createInitialCondition):
        * inspector/front-end/SourceCSSTokenizer.re2js:
        * inspector/front-end/SourceHTMLTokenizer.js:
        (WebInspector.SourceHTMLTokenizer):
        (WebInspector.SourceHTMLTokenizer.prototype.createInitialCondition):
        (WebInspector.SourceHTMLTokenizer.prototype.set line):
        (WebInspector.SourceHTMLTokenizer.prototype.get _internalJavaScriptTokenizer):
        (WebInspector.SourceHTMLTokenizer.prototype.get _internalCSSTokenizer):
        (WebInspector.SourceHTMLTokenizer.prototype.scriptStarted):
        (WebInspector.SourceHTMLTokenizer.prototype.styleSheetStarted):
        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
        * inspector/front-end/SourceHTMLTokenizer.re2js:
        * inspector/front-end/SourceJavaScriptTokenizer.js:
        (WebInspector.SourceJavaScriptTokenizer):
        (WebInspector.SourceJavaScriptTokenizer.prototype.createInitialCondition):
        * inspector/front-end/SourceJavaScriptTokenizer.re2js:
        * inspector/front-end/SourceTokenizer.js:
        (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer):
        * inspector/front-end/TextEditorHighlighter.js:
        (WebInspector.TextEditorHighlighter.prototype._highlightLines):

2011-05-13  Adam Roben  <aroben@apple.com>

        Build fix after r86418

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
        Made the destructor public so that this class can be used with
        [Pass]OwnPtr.

2011-05-11  Hans Wennborg  <hans@chromium.org>

        Reviewed by Tony Gentilcore.

        IndexedDB: Fix integer comparison bug in LevelDB coding routines
        https://bugs.webkit.org/show_bug.cgi?id=60623

        Fix the code for comparing two int64_t variables.
        Also remove faulty line in ObjectStoreNamesKey::encode which was
        uncovered by the unit test in this patch.

        Very hard to cover with layout tests; covered by unit test.

        * storage/IDBLevelDBCoding.cpp:
        (WebCore::IDBLevelDBCoding::compareInts):
        (WebCore::IDBLevelDBCoding::KeyPrefix::compare):
        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::compare):
        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::compare):
        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::compare):
        (WebCore::IDBLevelDBCoding::IndexFreeListKey::compare):
        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
        (WebCore::IDBLevelDBCoding::IndexNamesKey::compare):
        (WebCore::IDBLevelDBCoding::IndexDataKey::compare):

2011-05-13  Andrew Wason  <rectalogic@rectalogic.com>

        Reviewed by Darin Adler.

        GraphicsContext3DQt.cpp fails to compile
        https://bugs.webkit.org/show_bug.cgi?id=60740

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::GraphicsContext3D):
         Change order of initializers.

2011-05-05  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        IndexedDB: Transaction rollback prevented by open SQLite statement
        https://bugs.webkit.org/show_bug.cgi?id=60032

        Let the IDBTransactionbackendImpl keep track of all open cursors, and
        "close" them (i.e. finalizing the underlying SQLiteStatement) before
        committing or rolling back the transaction. This fixes the problem
        with opened cursors preventing transaction rollback.

        Test: storage/indexeddb/transaction-rollback.html

        * storage/IDBBackingStore.h:
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
        (WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl):
        (WebCore::IDBCursorBackendImpl::close):
        * storage/IDBCursorBackendImpl.h:
        * storage/IDBLevelDBBackingStore.cpp:
        * storage/IDBSQLiteBackingStore.cpp:
        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::abort):
        (WebCore::IDBTransactionBackendImpl::registerOpenCursor):
        (WebCore::IDBTransactionBackendImpl::unregisterOpenCursor):
        (WebCore::IDBTransactionBackendImpl::commit):
        (WebCore::IDBTransactionBackendImpl::closeOpenCursors):
        * storage/IDBTransactionBackendImpl.h:
        * storage/IDBTransactionBackendInterface.h:
        (WebCore::IDBTransactionBackendInterface::registerOpenCursor):
        (WebCore::IDBTransactionBackendInterface::unregisterOpenCursor):

2011-05-13  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Barth.

        Enable OwnPtr strict mode in MediaPlayer
        https://bugs.webkit.org/show_bug.cgi?id=59466

        Let the CreateMediaEnginePlayer function return a PassOwnPtr instead of a raw pointer.
        Also fix the templete argument of OwnPtr for the m_private member variable.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::MediaPlayer):
        (WebCore::MediaPlayer::loadWithNextMediaEngine):
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::create):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::create):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::create):
        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
        (WebCore::MediaPlayerPrivatePhonon::create):
        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::create):
        * platform/graphics/qt/MediaPlayerPrivateQt.h:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::create):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::create):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
        * platform/graphics/wince/MediaPlayerPrivateWinCE.h:

2011-05-13  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Pavel Feldman.

        Web Inspector: Show Error Messages for Application Cache Errors
        https://bugs.webkit.org/show_bug.cgi?id=41642

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didFail):
        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
        Added console error logging.

2011-05-12  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Antti Koivisto.

        Part of WebCore should use CFNetwork-based loader on Mac
        https://bugs.webkit.org/show_bug.cgi?id=51836

        Fixes for warnings and other minor cleanups when we enable USE_CFNETWORK on Mac.

        * platform/network/cf/ResourceErrorCF.cpp:
        (WebCore::ResourceError::cfStreamError):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::allowsAnyHTTPSCertificateHosts):
        (WebCore::clientCerts):
        (WebCore::willSendRequest):
        (WebCore::didReceiveResponse):
        (WebCore::didReceiveData):
        (WebCore::didSendBodyData):
        (WebCore::shouldUseCredentialStorageCallback):
        (WebCore::didFinishLoading):
        (WebCore::didFail):
        (WebCore::didReceiveChallenge):
        (WebCore::makeFinalRequest):
        (WebCore::ResourceHandle::willLoadFromCache):

2011-05-12  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Antti Koivisto.

        Part of WebCore should use CFNetwork-based loader on Mac
        https://bugs.webkit.org/show_bug.cgi?id=51836

        Implement ResourceHandle::schedule()/unschedule() based on CF for Mac.

        * WebCore.exp.in:
        * platform/cf/SchedulePair.h:
        * platform/mac/SchedulePairMac.mm:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::schedule):
        (WebCore::ResourceHandle::unschedule):

2011-05-12  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Antti Koivisto.

        Part of WebCore should use CFNetwork-based loader on Mac
        https://bugs.webkit.org/show_bug.cgi?id=51836

        Implement mac specific Authentication functions when using CFNetwork.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/network/ResourceHandle.h:
        * platform/network/cf/AuthenticationCF.cpp:
        (WebCore::AuthenticationChallenge::authenticationClient):
        (WebCore::createCF):
        (WebCore::core):
        * platform/network/cf/AuthenticationCF.h:
        * platform/network/cf/AuthenticationChallenge.h:
        * platform/network/mac/AuthenticationMac.mm:
        (WebCore::core):
        (WebCore::mac):
        * platform/network/mac/CredentialStorageMac.mm:

2011-05-12  Ben Wells  <benwells@chromium.org>

        Reviewed by Simon Fraser.

        RGBA colors in outlines show overpainting at the corners
        https://bugs.webkit.org/show_bug.cgi?id=58999

        Added FIXMEs near temporary $if !USE(SKIA)s, referencing bug 60342.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paintOutline):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintOutline):

2011-05-12  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler and Adam Barth.

        Fix for <rdar://problem/9253454> Solar Walk For Mac: Info window is blank (HTML5 parser)
        https://bugs.webkit.org/show_bug.cgi?id=60685

        Detect the Solar Walk application so we can add targeted parser quirks.

        * WebCore.exp.in:
        * platform/RuntimeApplicationChecks.cpp: (WebCore::applicationIsSolarWalk):
        * platform/RuntimeApplicationChecks.h:

2011-05-12  Jia Pu  <jpu@apple.com>

        Reviewed by Darin Adler.

        Regression caused by changeset 86281
        https://bugs.webkit.org/show_bug.cgi?id=60712

        Changed wording in some tests to reflect AppKit UI change.

        * manual-tests/autocorrection/delete-to-end-of-word-to-show-reversion.html:
        * manual-tests/autocorrection/move-to-end-of-word-to-show-reversion.html:

2011-05-12  Daniel Bates  <dbates@rim.com>

        Attempt to fix the build after changeset 86391 <http://trac.webkit.org/changeset/86391>
        (https://bugs.webkit.org/show_bug.cgi?id=60681).

        * page/PluginHalter.cpp:
        (WebCore::PluginHalter::PluginHalter): Substitute m_client for client in ASSERT_ARG since client is now of type PassOwnPtr
        so it becomes 0 when assigned to another variable.

2011-05-12  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Darin Adler.

        Rename SimpleFontData::scaledFontData to createScaledFontData
        https://bugs.webkit.org/show_bug.cgi?id=60723

        * platform/graphics/SimpleFontData.h:
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
        * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
        * platform/graphics/mac/SimpleFontDataMac.mm:
        * platform/graphics/pango/SimpleFontDataPango.cpp:
        * platform/graphics/qt/SimpleFontDataQt.cpp:
        * platform/graphics/win/SimpleFontDataWin.cpp:
        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
        * platform/graphics/wx/SimpleFontDataWx.cpp:

2011-05-12  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Simon Fraser.

        Switch paintOutline to use IntRect
        https://bugs.webkit.org/show_bug.cgi?id=60718

        Switching paintOutline to use an IntRect instead of 4 ints.

        No new tests as this is just refactoring.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintOutline):
        * rendering/RenderObject.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintObject):
        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * rendering/svg/RenderSVGPath.cpp:
        (WebCore::RenderSVGPath::paint):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::paint):

2011-05-12  Anders Carlsson  <andersca@apple.com>

        Address review comment by Dan Bernstein.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):

2011-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Crash when a plug-in tries to load a resource from the application cache
        https://bugs.webkit.org/show_bug.cgi?id=60735
        <rdar://problem/8216142>

        When loading application cache resources from disk, we would never restore the
        HTTP status code, which means that resources would always have a 0 status code.
        This led to the plug-in stream loader canceling the load, something which the application
        cache loading machinery couldn't deal and thus would crash.

        Fix the reading of the HTTP status code, and make the loader more robust against
        application cache loads being canceled.

        Unfortunately, I couldn't come up with a test for this because I couldn't find a reliable way
        to force the application cache to be read from disk, so all resources would have valid values.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::loadCache):

2011-05-12  Emil A Eklund  <eae@chromium.org>

        Reviewed by Darin Adler.

        Convert RenderBox::setLocation, setLogicalLocation and setLogicalSize to IntPoint/IntSize
        https://bugs.webkit.org/show_bug.cgi?id=60585

        Refactoring, covered by existing tests.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::positionLineBox):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::setLogicalLocation):
        (WebCore::RenderBox::setLogicalSize):
        (WebCore::RenderBox::setLocation):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::positionFrames):
        (WebCore::RenderFrameSet::positionFramesWithFlattening):
        * rendering/RenderMedia.cpp:
        (WebCore::RenderMedia::layout):
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::paintIntoRect):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::adjustLogicalHeightForCaption):
        (WebCore::RenderTable::layout):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):
        * rendering/svg/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::layoutRootBox):

2011-05-12  Adrienne Walker  <enne@google.com>

        Reviewed by James Robinson.

        [chromium] show-composited-layer-tree crashes on null ptr deref
        https://bugs.webkit.org/show_bug.cgi?id=60734

        The tiler is created lazily, so it won't not be around for the first
        dumpLayerProperties call.

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::dumpLayerProperties):

2011-05-12  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Barth.

        Enable OwnPtr strict mode in PluginHalter
        https://bugs.webkit.org/show_bug.cgi?id=60681

        Pass PluginHalterClient as (Pass)OwnPtr to Page and PluginHalter.

        * WebCore.exp.in:
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::PageClients::PageClients):
        * page/Page.h:
        * page/PluginHalter.cpp:
        (WebCore::PluginHalter::PluginHalter):
        * page/PluginHalter.h:

2011-05-12  Daniel Bates  <dbates@rim.com>

        Reviewed by Adele Peterson.

        Frame's noResize attribute can not be set by JavaScript
        https://bugs.webkit.org/show_bug.cgi?id=14845

        Tests: fast/frames/frame-inherit-noresize-from-frameset.html
               fast/frames/frame-programmatic-noresize.html
               fast/frames/frame-with-noresize-can-be-resized-after-removal-of-noresize.html
               fast/frames/frame-with-noresize-can-be-resized-after-setting-noResize-to-false.html

        Implements support to programmatically allow and disallow frame resizing.

        Currently, HTMLFrameElement::parseMappedAttribute() is hardcoded to disallow frame resize (i.e.
        m_noResize = true) when either the noresize DOM attribute is specified (or existed at some
        point in time) or the value of the noResize attribute is modified. Instead we should allow/disallow
        frame resize depending on the presence of the noresize DOM attribute/the value of the noResize
        attribute.

        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::HTMLFrameElement):
        (WebCore::HTMLFrameElement::noResize): Made this a non-inline function since this
        code path isn't performance critical.
        (WebCore::HTMLFrameElement::attach): Removed code to inherit noresize attribute from
        parent <frameset> since this functionality is part of RenderFrameSet::computeEdgeInfo().
        (WebCore::HTMLFrameElement::parseMappedAttribute):
        * html/HTMLFrameElement.h:
        * rendering/RenderFrame.cpp:
        (WebCore::RenderFrame::updateFromElement): Added.
        * rendering/RenderFrame.h:
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::notifyFrameEdgeInfoChanged): Added.
        * rendering/RenderFrameSet.h:

2011-05-12  Emil A Eklund  <eae@chromium.org>

        Reviewed by Darin Adler.

        Replace IntPoint with const IntPoint& in RenderFlexibleBox::placeChild
        https://bugs.webkit.org/show_bug.cgi?id=60640

        Pass by const reference instead of by value for consistency reasons.

        Refactoring, covered by existing tests.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::placeChild):
        * rendering/RenderFlexibleBox.h:
        Use const IntPoint& instead of just IntPoint to avoid extra constructor overhead

2011-05-12  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/9427336> WebFindOptionsAtWordStarts still fails with some Japanese words
        https://bugs.webkit.org/show_bug.cgi?id=60730

        * editing/TextIterator.cpp:
        (WebCore::SearchBuffer::isWordStartMatch): Consider all positions before a CJK ideograph as
        word starts.

2011-05-12  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintBoxDecorationWithSize to IntRect
        https://bugs.webkit.org/show_bug.cgi?id=60679

        Switching paintBoxDecorationWithSize to take an IntRect instead of 4 ints.

        No new tests as this is simple refactoring.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorations): Cleaning up amazingly confusing logic.
        (WebCore::RenderBox::paintBoxDecorationsWithSize):
        * rendering/RenderBox.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::paintBoxDecorations):

2011-05-12  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintBoxShadow to use IntRect
        https://bugs.webkit.org/show_bug.cgi?id=60713

        Switching paintBoxShadow from taking four ints to taking an IntRect.

        No new tests since this is refactoring.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintBoxShadow):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        * rendering/InlineFlowBox.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorationsWithSize):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintBoxDecorations):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBoxDecorations):

2011-05-12  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin Adler.

        XMLDocumentParserLibxml2 should play nice with strict OwnPtrs
        https://bugs.webkit.org/show_bug.cgi?id=59394

        Properly fix this (formerly rolled out for breaking the build). I think the original
        failure had nothing to do with Deque<OwnPtr>, which in fact appears to work fine.

        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::PendingCallbacks::~PendingCallbacks):
        (WebCore::PendingCallbacks::create):
        (WebCore::PendingCallbacks::appendStartElementNSCallback):
        (WebCore::PendingCallbacks::appendEndElementNSCallback):
        (WebCore::PendingCallbacks::appendCharactersCallback):
        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
        (WebCore::PendingCallbacks::appendCDATABlockCallback):
        (WebCore::PendingCallbacks::appendCommentCallback):
        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
        (WebCore::PendingCallbacks::appendErrorCallback):
        (WebCore::PendingCallbacks::PendingCallbacks):
        (WebCore::XMLDocumentParser::XMLDocumentParser):

2011-05-12  Daniel Bates  <dbates@rim.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] fast/events/fire-mousedown-while-pressing-mouse-button.html failing
        https://bugs.webkit.org/show_bug.cgi?id=58863

        Fixes an issue where a platform mouse event corresponding to mouse button A
        may be associated with the wrong WebCore mouse button when the event occurs
        while pressing and holding a mouse button B, where A != B.

        For example, a person clicks the middle mouse button while pressing and holding
        the left mouse button. Then we dispatch the following DOM events: mouse down for
        left button, mouse down for left button, mouse up for left button. But, we should
        have dispatched: mouse down for left button, mouse down for middle button, mouse up
        for middle button.

        * platform/qt/PlatformMouseEventQt.cpp:
        (WebCore::mouseEventTypeAndMouseButtonFromQEvent): Added.
        (WebCore::PlatformMouseEvent::PlatformMouseEvent): Modified to call mouseEventTypeAndMouseButtonFromQEvent()
        to determine the WebCore mouse event type and button from the platform-specific event.

2011-05-12  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintMask and paintMaskImages off of ints
        https://bugs.webkit.org/show_bug.cgi?id=60578

        Primarily switching paintMask and paintMaskImages to use IntSize and IntRect respectively.
        In the process of that:
         - added an "expand" function to IntRect that allows you to add an IntSize or pair of
           integers to the size portion of an IntRect.
         - changed borderFitAdjust to take an IntRect. It modifies only the x and width attributes.

        No new tests since this refactoring.

        * platform/graphics/IntRect.h:
        (WebCore::IntRect::expand): Added for convenience.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):
        (WebCore::RenderBlock::borderFitAdjust):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorationsWithSize):
        (WebCore::RenderBox::paintMask):
        (WebCore::RenderBox::paintMaskImages):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::borderFitAdjust):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintMask):
        * rendering/RenderFieldset.h:
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderReplica.cpp:
        (WebCore::RenderReplica::paint):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintObject):
        (WebCore::RenderTable::paintMask):
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintMask):
        * rendering/RenderTableCell.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):

2011-05-12  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Eric Seidel.

        SimpleFontData::scaledFontData should return a PassOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=60657

        Let scaledFontData return a PassOwnPtr instead of a raw pointer
        to make SimpleFontData build without LOOSE_PASS_OWN_PTR.

        * platform/graphics/SimpleFontData.h:
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::scaledFontData):
        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
        (WebCore::SimpleFontData::scaledFontData):
        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
        (WebCore::SimpleFontData::scaledFontData):
        * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
        (WebCore::SimpleFontData::scaledFontData):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::scaledFontData):
        * platform/graphics/pango/SimpleFontDataPango.cpp:
        (WebCore::SimpleFontData::scaledFontData):
        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::scaledFontData):
        * platform/graphics/win/SimpleFontDataWin.cpp:
        (WebCore::SimpleFontData::scaledFontData):
        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
        (WebCore::SimpleFontData::scaledFontData):
        * platform/graphics/wx/SimpleFontDataWx.cpp:
        (WebCore::SimpleFontData::scaledFontData):

2011-05-12  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Darin Adler.

        Assertion failure when requesting that storage be deleted for an origin without storage.
        https://bugs.webkit.org/show_bug.cgi?id=60709

        * storage/StorageTracker.cpp:
        (WebCore::StorageTracker::syncDeleteOrigin):
        If the path to the storage location for the givin origin is empty, return early instead of
        asserting.

2011-05-12  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Darin Adler.

        [Windows WebKit2] Use cookies set in WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=60274

        Make sure any Private Browsing session is based off the default session.

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):

2011-05-12  Rob Buis  <rbuis@rim.com>

        Reviewed by Eric Seidel.

        SVGStyledElement::resolveStyle(RenderStyle*) must be removed/fixed!
        https://bugs.webkit.org/show_bug.cgi?id=15479

        Finally remove resolveStyle, it is not used anymore.

        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::childrenChanged):
        * svg/SVGStyledElement.h:

2011-05-12  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION (r65868): createContextualFragment does not work with <style>
        https://bugs.webkit.org/show_bug.cgi?id=60155

        createContextualFragment doesn't have a spec, so it's hard to tell what
        we're supposed to do exactly.  This patch appears to make our behavior
        more like Firefox and should fix the compat issue with this site.

        Tests: fast/parser/style-in-create-contextual-fragment-head.html
               fast/parser/style-in-create-contextual-fragment.html

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

2011-05-12  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        WebKit inserts base, link, meta, style, and title elements into an editable region
        when pasting table cells from Excel
        https://bugs.webkit.org/show_bug.cgi?id=60644

        Strip base, link, meta, style, and tile elements from the fragment to be pasted prior
        to the merge. We don't have to strip these elements in performTrivialReplace because
        the function only handles a fragment that consists of exactly one text node.

        Test: editing/pasteboard/paste-head-contents.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::removeHeadContents): Added.
        (WebCore::ReplaceSelectionCommand::doApply): Calls removeHeadContents before handing
        style spans.

2011-05-12  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Simon Fraser.

        Switch calculateBackgroundImageGeometry to use IntRect
        https://bugs.webkit.org/show_bug.cgi?id=60671

        Replacing the four ints passed into calculateBackgroundImageGeometry with an IntRect.

        No new tests since this is just refactoring.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::maskClipRect):
        (WebCore::RenderBox::repaintLayerRectsForImage):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
        * rendering/RenderBoxModelObject.h:

2011-05-12  Carol Szabo  <carol@webkit.org>

        Reviewed by David Hyatt.

        Fix reparenting and destruction of counter nodes. 
        https://bugs.webkit.org/show_bug.cgi?id=57929

        Fixed several issues related to not met assertions.
        See below in the per file description.

        Test: fast/css/counters/element-removal-crash.xhtml

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChildren):
        Fixed the fact that Node::detach() used to be called
        while the DOM tree was in an inconsistent state.
        * rendering/RenderCounter.cpp:
        (WebCore::RenderCounter::rendererRemovedFromTree):
        Introduced this function to remove counters from
        descendents of renderers removed from the renderer
        tree not only from the removed renderers themselves.
        * rendering/RenderCounter.h:
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode):
        Changed to call RenderCounter::rendererRemovedFromTree
        instead of RenderCounter::destroyCounters.

2011-05-12  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Dimitri Glazkov.

        Merge ApplyPropertyExpanding and ApplyPropertyExpandingSuppressValue classes using template.
        https://bugs.webkit.org/show_bug.cgi?id=60691

        No new tests - refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyExpanding::applyValue):
        Use new template parameter to early exit if needed.
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        Specify template parameters for ApplyPropertyExpanding.

2011-05-12  Simon Fraser  <simon.fraser@apple.com>

        Followup to r86351; give the vectors some inline capacity
        to avoid heap allocations in most cases.

        * page/animation/AnimationBase.cpp:
        (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):

2011-05-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Mismatched multiple box-shadows do not transition as expected
        https://bugs.webkit.org/show_bug.cgi?id=60137
        
        When animating between two sets of shadows of different lengths, we need
        to walk the ShadowData list backwards, since it stores the shadows in
        reverse order relative to the CSS (so that painting is back-to-front).
        
        This progresses the behavior of the transitions/multiple-shadow-transitions.html
        test, which is given new expected results.

        Test: transitions/mismatched-shadow-transitions.html

        * page/animation/AnimationBase.cpp:
        (WebCore::shadowListLength): Utility to walk the list of ShadowData and count the number
        of shadows.
        (WebCore::shadowForBlending): Return a ShadowData* that is useful as a blending target,
        based on the shadow type, and whether it's a -webkit-box-shadow.
        (WebCore::PropertyWrapperShadow::blend): Call one of the specialized blend methods.
        (WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists): Fast path
        for shadow blending, when the list lengths match, or both are single or null shadows.
        (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists): Slower path that builds
        vectors for each list to reverse them.

2011-05-12  Adam Roben  <aroben@apple.com>

        Attempted WinCairo build fix after r86169, part II

        * platform/network/curl/CredentialStorageCurl.cpp: Added a missing #include.

2011-05-12  Adam Roben  <aroben@apple.com>

        Fix linker warnings in Production builds

        * WebCore.vcproj/WebCore.vcproj: Exclude JSSVGFEDropShadowElement.cpp from the build in the
        Production configuration, just like in the other configurations. Let VS resort some files
        (again).

2011-05-12  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Adam Roben.

        Autocorrection persists after deleting and retyping the same word at same location.
        https://bugs.webkit.org/show_bug.cgi?id=60555

        Follow-up fix for the 3 editing/deleting tests crashing on GTK,
        Leopard and Windows XP. Don't create the Range if the start of the
        selection has no next position.

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):

2011-05-12  Adam Roben  <aroben@apple.com>

        Attempted WinCairo build fix after r86169

        * WebCore.vcproj/WebCore.vcproj: Added CredentialStorageCurl.cpp. Also let VS do what it
        wants.

        * platform/network/curl/CredentialStorageCurl.cpp: Added.
        (WebCore::CredentialStorage::getFromPersistentStorage): Stubbed out.

2011-05-12  Adam Roben  <aroben@apple.com>

        Build fixes after r86325

        * editing/SpellingCorrectionController.cpp:
        * editing/SpellingCorrectionController.h:
        Added missing declarations/#includes.

2011-05-12  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed.

        String operator+ reallocates unnecessary when concatting > 2 strings
        https://bugs.webkit.org/show_bug.cgi?id=58420

        Attempt to fix the WinCE build. WinCE/WinCairo still won't link because of unresolved symbols, hmm. If we had EWS for those, I would have caught the problem earlier.

        * platform/wince/FileSystemWinCE.cpp:
        (WebCore::listDirectory):

2011-05-12  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed.

        String operator+ reallocates unnecessary when concatting > 2 strings
        https://bugs.webkit.org/show_bug.cgi?id=58420

        Fix fast/forms/input-image-submit.html regression, seens on the bots - by removing a last-minute typo: s/!!/!/

        * html/ImageInputType.cpp:
        (WebCore::ImageInputType::appendFormData):

2011-05-12  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Eric Seidel.

        REGRESSION(79985): Changes in fill-opacity should trigger repaint but don't
        https://bugs.webkit.org/show_bug.cgi?id=59941

        Also consider fill-opacity when determining whether StyleDifferenceRepaint is needed.

        Test: svg/custom/fill-opacity-update.svg

        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff):

2011-05-12  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Darin Adler.

        String operator+ reallocates unnecessary when concatting > 2 strings
        https://bugs.webkit.org/show_bug.cgi?id=58420

        Provide a faster String append operator. See Source/JavaScriptCore/ChangeLog for details.

        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::handleElementAttributes):
        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::shouldAddNamespaceElement):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::hash):
        (WebCore::HTMLAnchorElement::search):
        * html/ImageInputType.cpp:
        (WebCore::ImageInputType::appendFormData):
        * html/parser/HTMLTreeBuilder.cpp:
        * loader/CrossOriginAccessControl.cpp:
        (WebCore::passesAccessControlCheck):
        * page/Location.cpp:
        (WebCore::Location::search):
        (WebCore::Location::hash):
        * page/NavigatorBase.cpp:
        (WebCore::NavigatorBase::platform):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::writeImageToDataObject):
        * platform/gtk/PasteboardHelper.cpp:
        (WebCore::PasteboardHelper::fillSelectionData):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::encodeBasicAuthorization):
        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::copyCFStreamDescription):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::encodeBasicAuthorization):
        * workers/WorkerLocation.cpp:
        (WebCore::WorkerLocation::search):
        (WebCore::WorkerLocation::hash):

2011-05-06  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: move agents from InspectorAgent to InspectorController
        https://bugs.webkit.org/show_bug.cgi?id=60359

        All inspector agents are now created and owned by InspectorController which
        in turned is owned by the inspected Page. InspectorInstrumentation gets access
        to the instrumenting agents by means of InspectorAgent::instrumentingAgents().

        In addition to managing inspector agents lifetime InspectorController sets
        InspectorFronted on the agents when the front-end is connected.

        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::InspectorAgent::~InspectorAgent):
        (WebCore::InspectorAgent::inspectedPageDestroyed):
        (WebCore::InspectorAgent::restore):
        (WebCore::InspectorAgent::setFrontend):
        (WebCore::InspectorAgent::clearFrontend):
        * inspector/InspectorAgent.h: all accessors to other agents were removed along with
        the agents themselves from InspectorAgent. Every agent that depends on some other agents
        receives pointers to them explicitely in its constructor. All access to the agents
        from WebCore should go through InspectorInstrumentation which retrieves corresponding
        agents using InstrumentingAgents structure which represents the set of active agents.
        (WebCore::InspectorAgent::instrumentingAgents):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::startTimelineProfiler):
        (WebCore::InspectorController::stopTimelineProfiler):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        (WebCore::InspectorController::drawNodeHighlight):
        (WebCore::InspectorController::inspect):
        (WebCore::InspectorController::timelineProfilerEnabled):
        (WebCore::InspectorController::hideHighlight):
        (WebCore::InspectorController::highlightedNode):
        (WebCore::InspectorController::enableProfiler):
        (WebCore::InspectorController::disableProfiler):
        (WebCore::InspectorController::profilerEnabled):
        (WebCore::InspectorController::debuggerEnabled):
        (WebCore::InspectorController::disableDebugger):
        (WebCore::InspectorController::startUserInitiatedProfiling):
        (WebCore::InspectorController::stopUserInitiatedProfiling):
        (WebCore::InspectorController::isRecordingUserInitiatedProfile):
        (WebCore::InspectorController::resume):
        * inspector/InspectorController.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
        (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
        (WebCore::InspectorInstrumentation::consoleCountImpl):
        (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
        (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
        (WebCore::InspectorInstrumentation::addProfileImpl):
        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
        (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
        * page/Page.cpp:
        (WebCore::Page::~Page): we send two notifications when inspected Page is being
        destroyed: one to the inspector instrumentation and another one to the InspectorController
        which is owned by the Page.

2011-05-12  Tony Gentilcore  <tonyg@chromium.org>

        Build fix: include ExceptionCode.h
        https://bugs.webkit.org/show_bug.cgi?id=60694

        * dom/Range.cpp:

2011-05-10  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Adler.

        Perform some forward declarations suggested by include-what-you-use
        https://bugs.webkit.org/show_bug.cgi?id=60545

        * accessibility/AccessibilityObject.cpp:
        * accessibility/AccessibilityRenderObject.cpp:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        * dom/DocumentMarkerController.cpp:
        * dom/Position.cpp:
        * dom/PositionIterator.cpp:
        * dom/Range.cpp:
        * editing/ApplyBlockElementCommand.cpp:
        * editing/ApplyStyleCommand.cpp:
        * editing/Editor.cpp:
        * editing/EditorCommand.cpp:
        * editing/FrameSelection.cpp:
        * editing/HTMLInterchange.cpp:
        * editing/IndentOutdentCommand.cpp:
        * editing/ReplaceSelectionCommand.cpp:
        * editing/SpellChecker.h:
        * editing/SpellingCorrectionCommand.cpp:
        * editing/SpellingCorrectionController.h:
        * editing/TextCheckingHelper.cpp:
        * editing/TextIterator.h:
        * editing/htmlediting.h:
        * editing/markup.cpp:
        * editing/visible_units.cpp:
        * editing/visible_units.h:
        * fileapi/DOMFileSystem.cpp:
        * fileapi/DirectoryReaderSync.cpp:
        * fileapi/DirectoryReaderSync.h:
        * fileapi/FileEntry.h:
        * fileapi/FileWriter.h:
        * fileapi/FileWriterBase.h:
        * fileapi/FileWriterSync.h:
        * history/CachedFrame.cpp:
        * history/CachedPage.cpp:
        * history/HistoryItem.cpp:
        * history/HistoryItem.h:
        * history/PageCache.h:
        * loader/HistoryController.h:
        * loader/PingLoader.h:
        * loader/ResourceLoader.h:
        * loader/appcache/DOMApplicationCache.h:
        * loader/cache/CachedCSSStyleSheet.h:
        * loader/cache/CachedFont.cpp:
        * loader/cache/CachedFont.h:
        * loader/cache/CachedResourceRequest.cpp:
        * loader/cache/CachedResourceRequest.h:
        * loader/cache/MemoryCache.h:
        * notifications/Notification.cpp:
        * notifications/Notification.h:
        * notifications/NotificationCenter.cpp:
        * notifications/NotificationCenter.h:
        * page/Chrome.cpp:
        * page/Chrome.h:
        * page/DOMSelection.cpp:
        * page/DOMTimer.h:
        * page/DOMWindow.cpp:
        * page/EventHandler.cpp:
        * page/FocusController.h:
        * page/Geolocation.cpp:
        * page/Geolocation.h:
        * page/History.cpp:
        * rendering/RenderListBox.cpp:
        * workers/WorkerContext.cpp:

2011-05-12  Yuta Kitamura  <yutak@chromium.org>

        Unreviewed, another attempt of build fix.

        * websockets/CloseEvent.h:
        * websockets/CloseEvent.idl:

2011-05-12  Yuta Kitamura  <yutak@chromium.org>

        Unreviewed, trying to fix Qt minimal compile.

        * websockets/CloseEvent.idl:

2011-05-12  ojab  <ojab@ojab.ru>

        Reviewed by Eric Seidel.

        Fix build with --disable-video --enable-fullscreen-api
        https://bugs.webkit.org/show_bug.cgi?id=60542

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

2011-05-12  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Kent Tamura.

        WebSocket add new event: CloseEvent
        https://bugs.webkit.org/show_bug.cgi?id=35573

        Original patch was written by Fumitoshi Ukai <ukai@chromium.org>.
        I added CloseEvent constructor to DOMWindow, so it can be referred
        in the new test (close-event.html).

        Test: http/tests/websocket/tests/close-event.html

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8EventCustom.cpp:
        (WebCore::toV8):
        * dom/Event.cpp:
        (WebCore::Event::isCloseEvent):
        * dom/Event.h:
        * page/DOMWindow.idl: Add CloseEvent constructor.
        * websockets/CloseEvent.h: Added.
        (WebCore::CloseEvent::isCloseEvent):
        (WebCore::CloseEvent::create):
        (WebCore::CloseEvent::initCloseEvent):
        (WebCore::CloseEvent::wasClean):
        (WebCore::CloseEvent::CloseEvent):
        * websockets/CloseEvent.idl: Added.
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::didClose):

2011-05-12  Ben Wells  <benwells@chromium.org>

        Reviewed by Simon Fraser.

        RGBA colors in outlines show overpainting at the corners
        https://bugs.webkit.org/show_bug.cgi?id=58999

        Tests: fast/borders/outline-alpha-block.html
               fast/borders/outline-alpha-inline.html

        Updated baseline images for tests with rgba outlines:
               fast/box-shadow/box-shadow-radius.html
               fast/layers/self-painting-outline.html

         * rendering/RenderInline.cpp:
        (WebCore::RenderInline::paintOutline):
        (WebCore::RenderInline::paintOutlineForLine):
        * rendering/RenderInline.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintOutline):

2011-05-11  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Rename Widget::pos()
        https://bugs.webkit.org/show_bug.cgi?id=60575

        Renaming Widget::pos() to the more-descriptive location().

        No new tests as this is a simple rename

        * page/FrameView.cpp:
        (WebCore::FrameView::create):
        * platform/Widget.h:
        (WebCore::Widget::location):
        (WebCore::Widget::resize):

2011-05-10  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        Crashes if the document inside iframe is removed during pasting some text into it.
        https://bugs.webkit.org/show_bug.cgi?id=60534

        Added missing null check.
        
        Test: editing/pasteboard/paste-removing-iframe.html

        * editing/Editor.cpp:
        (WebCore::Editor::shouldChangeSelection):

2011-05-11  Brian Salomon  <bsalomon@google.com>

        Reviewed by Eric Seidel.

        Handle case when GrContext creation fails
        https://bugs.webkit.org/show_bug.cgi?id=60410

        Exercised by all canvas tests when DRT is run with skia-gpu

        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::grContext):

2011-05-11  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Andreas Kling.

        Remove empty class CallbackGuard
        https://bugs.webkit.org/show_bug.cgi?id=60610

        CallbackGuard was only ever used on Tiger and it is now an empty class. Remove all uses of it.

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
        (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]):
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
        (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
        (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]):
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
        (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
        (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
        (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):

2011-05-11  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Implement CSSPropertyMargin and CSSPropertyPadding in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=60609

        No new tests - refactoring only.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        Initialise CSSPropertyMargin and CSSPropertyPadding handlers.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Remove unused implementations.

2011-05-11  Robin Dunn  <robin@alldunn.com>

        Reviewed by Kevin Ollivier.

        [wx] Implement more clipping functions for wxWebKit.
        
        https://bugs.webkit.org/show_bug.cgi?id=60662

        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::clipOut):

2011-05-11  Damian Kaleta  <dkaleta@apple.com>

        Reviewed by Brady Eidson.

        Need a new API that will try to restore the scrollbars' position, when navigating in the back/forward history
        https://bugs.webkit.org/show_bug.cgi?id=60674

        * WebCore.exp.in: Export restoreScrollPositionAndViewState()

2011-05-11  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch paintFillLayer and its progeny to use IntRect instead of four ints
        https://bugs.webkit.org/show_bug.cgi?id=60596

        Changing integers passed into paintFillLayer and other derivatives to IntRects
        and IntSizes that reflect their function.

        No new tests since this is just refactoring.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintFillLayers):
        (WebCore::InlineFlowBox::paintFillLayer):
        (WebCore::InlineFlowBox::paintBoxDecorations):
        (WebCore::InlineFlowBox::paintMask):
        * rendering/InlineFlowBox.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintRootBoxFillLayers):
        (WebCore::RenderBox::paintBoxDecorationsWithSize):
        (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):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintBoxDecorations):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBackgroundsBehindCell):

2011-05-11  Nat Duca  <nduca@chromium.org>

        Reviewed by James Robinson.

        [chromium] Use mapTexSubImage2D for tile uploads if available
        https://bugs.webkit.org/show_bug.cgi?id=60008

        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::LayerTilerChromium):
        (WebCore::LayerTilerChromium::update):
        (WebCore::LayerTilerChromium::updateFromPixels):
        * platform/graphics/chromium/LayerTilerChromium.h:

2011-05-11  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Implements a disable appearance for Media Elements of Qt port.
        https://bugs.webkit.org/show_bug.cgi?id=60561

        Implements a disable appearance for the media controls of the Qt port
        when the media is not yet available.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::mediaElementCanPlay):
        (WebCore::RenderThemeQt::getMediaControlForegroundColor):
        (WebCore::RenderThemeQt::paintMediaSliderThumb):

2011-05-11  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        input type=email is too strict
        https://bugs.webkit.org/show_bug.cgi?id=55988

        Follow the updated specification.

        * html/EmailInputType.cpp: Update the pattern to allow a domain part without periods.

2011-05-11  Jia Pu  <jpu@apple.com>

        Reviewed by Darin Adler.

        Autocorrection persists after deleting and retyping the same word at same location.
        https://bugs.webkit.org/show_bug.cgi?id=60555
        <rdar://problem/9373915>

        This patch intends to alleviate the issue of repetitively applying the same autocorrection
        when user delete and retype the same word at the same location. This scenario is especially
        common when autocorrection modifies the first letter of the word.

        This patch consists following major changes:
        1. Added a new marker type, DeletedAutocorrection. This marker is added to the whitespace that
           precedes a deleted autocorrection. If the user later types the same original word at after
           this whitespace, the autocorrection will not be applied again.
        2. In DeleteSelectionCommand, added code to notify SpellingCorrectionController about the
           autocorrection that has just been deleted.
        3. In Editor and SpellingCorrectionController, added code to apply the marker and to suppress
           autocorrection when necessary.
        4. The change in CompositeEditCommand::replaceTextInNode is necessary for preserving markers.
           Otherwise, we will loose the DeletedAutocorrection on the whitespace, when inserting text
           after the whitespace.

        Test: platform/mac/editing/spelling/delete-autocorrected-word-2.html

        * dom/DocumentMarker.h: Added new marker type DeletedAutocorrection.
        (WebCore::DocumentMarker::AllMarkers::AllMarkers):
        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::markersInRange): Support querying multiple marker types.
        * dom/DocumentMarkerController.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::replaceTextInNodeAndPreserveMarkers):
        (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
        (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
        * editing/CompositeEditCommand.h:
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
        (WebCore::DeleteSelectionCommand::fixupWhitespace):
        (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection): Extracting
           the original string if we are deleting an autocorrection.
        (WebCore::DeleteSelectionCommand::doApply): Notify editor about the deleted autocorrection and its position.
        * editing/DeleteSelectionCommand.h:
        * editing/Editor.cpp:
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Moved all logic of determining
           when to suppress an autocorrection into SpellingCorrectionController.
        (WebCore::Editor::deletedAutocorrectionAtPosition):
        * editing/Editor.h:
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/SpellingCorrectionController.cpp:
        (WebCore::SpellingCorrectionController::respondToAppliedEditing):
        (WebCore::SpellingCorrectionController::deletedAutocorrectionAtPosition):
        (WebCore::SpellingCorrectionController::markPrecedingWhitespaceForDeletedAutocorrectionAfterCommand):
        (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
        * editing/SpellingCorrectionController.h:
        (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
        * editing/visible_units.cpp:
        (WebCore::isStartOfWord):
        * editing/visible_units.h:
        * manual-tests/autocorrection/spell-checking-after-reversion.html:

2011-05-11  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/9414874> Layout unnecessarily interrupts smooth scrolling at msnbc.com
        https://bugs.webkit.org/show_bug.cgi?id=60677

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateScrollbars): Only perform an immediate scroll, aborting any running
        animation, if the new scroll offset computed here is different from the current scroll offset.

2011-05-11  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        <input pattern="1|10" value="10"> doesn't work correctly.
        https://bugs.webkit.org/show_bug.cgi?id=60619

        Fixes a bug that patternMismatch returns a wrong result if
         - a whole value matches to a pattern,
         - a sub-string of the value also matches to the pattern, and
         - the sub-string matching has priority.

        * html/BaseTextInputType.cpp:
        (WebCore::BaseTextInputType::patternMismatch):
          Enclose the specified pattern with ^( and )$.

2011-05-11  Zelidrag Hornung  <zelidrag@chromium.org>

        Reviewed by David Levin.

        Prevented DOMFileSystemBase from imposing file naming restrictions on
        external file systems.

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

        There are no new tests for this change since it requires the presence
        of external file system provider which is specific to the platform host
        process. Chromium implementation will test this within its extension API
        test suite.

        * fileapi/DOMFileSystemBase.cpp:
        (WebCore::pathToAbsolutePath):
        (WebCore::DOMFileSystemBase::getFile):
        (WebCore::DOMFileSystemBase::getDirectory):

2011-05-11  Antoine Labour  <piman@chromium.org>

        Reviewed by David Levin.

        Expose shouldBufferData to ThreadableLoaderOptions to be able to disable buffering of the
        loaded resource.
        https://bugs.webkit.org/show_bug.cgi?id=60656

        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::loadRequest):
        Pass the shouldBufferData to the resource load scheduler, forcing it to true for the
        preflight request.
        * loader/ResourceLoadScheduler.cpp:
        (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
        Pass through shouldBufferData to SubresourceLoader::create
        * loader/ResourceLoadScheduler.h:

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):
        Set shouldBufferData on the newly created loader

        * loader/SubresourceLoader.h:

        * loader/ThreadableLoader.h:
        (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
        Add shouldBufferData to the options, defaulting to true.

2011-05-11  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Adding a Content-Type parser. This is needed for MHTML support.
        https://bugs.webkit.org/show_bug.cgi?id=60637

        (WebCore::ScriptController::disableEval):
        * platform/network/ContentTypeParser.cpp: Added.
        * platform/network/ContentTypeParser.h: Added.

2011-05-11  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Steve Falkenburg.

        [Windows WebKit2] Use cookies set in WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=60274

        Share the default storage session between the UI and Web Processes.

        * platform/network/cf/CookieStorageCFNet.cpp:
        (WebCore::defaultSessionCookieStorage):
        Keep track of the default storage session cookie storage.
        (WebCore::currentCookieStorage):
        Call defaultCookieStorage to get the default cookie storage.
        (WebCore::defaultCookieStorage):
        If there is a default storage session cookie storage, prefer that over getting the default
        cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
        without specifying a storage session will not get the cookie storage being shared by the UI
        and Web Processes.

        * platform/network/ResourceHandle.h:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::willSendRequest):
        Make sure to set the current storage session on any requests used by the Web
        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
        doing anything with the Web Process's default storage session (which is not the one shared
        with the UI Process).
        (WebCore::makeFinalRequest):
        Ditto.
        (WebCore::ResourceHandle::willSendRequest):
        Ditto.
        (WebCore::ResourceHandle::currentStorageSession):
        If there is a Private Browsing storage session, return that.
        If not, on Windows return the default storage session that is being shared with the UI
        Process and on Mac return 0.
        (WebCore::defaultCFURLStorageSession):
        (WebCore::ResourceHandle::setDefaultStorageSession):
        (WebCore::ResourceHandle::defaultStorageSession):

        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        Make sure to set the current storage session on any requests used by the Web
        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
        doing anything with the Web Process's default storage session (which is not the one shared
        with the UI Process).

2011-05-11  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by David Kilzer.

        Remove wml directory from include lists
        https://bugs.webkit.org/show_bug.cgi?id=60646

        Remove wml dir from CMake, Autotools and qmake build systems since WML
        was removed in r85256.

        No new tests since no change in functionality.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.pri:

2011-05-11  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [CMAKE] Move EFL-specific file to CMakeListsEfl.txt
        https://bugs.webkit.org/show_bug.cgi?id=60642

        Move file EFL-specific file to the CMakeListsEfl.txt file. This implies
        having to include CMakeLists${PORT}.txt before the ADD_CUSTOM_COMMAND
        calls, since they depend on lists that now may change inside a port
        like WebCore_USER_AGENT_STYLE_SHEETS.

        No new tests since no change in functionality.

        * CMakeLists.txt: remove css file specific to EFL port.
        * CMakeListsEfl.txt: move file here.

2011-05-11  Tao Bai  <michaelbai@chromium.org>

        Reviewed by David Kilzer.

        Return empty Favicon URL instead of default one when the frame isn't top level one
        https://bugs.webkit.org/show_bug.cgi?id=60527
        This issue was discovered by chromium browser test.

        * dom/Document.cpp:
        (WebCore::Document::setIconURL):
        Restored original logic which was inadvertently flipped by http://trac.webkit.org/changeset/85785.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::iconURLs):
        (WebCore::FrameLoader::fillIconURL):
        Restored original logic, the empty URL should be returned instead of default one. The client (at
        least chromium) may rely on the returned value to decided whether the favicon should be changed.

2011-05-11  Nat Duca  <nduca@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Make throttling of WebGL based on webgl frames, not compositor frames
        https://bugs.webkit.org/show_bug.cgi?id=60508

        When a WebGL layer is dirtied outside of a requestAnimFrame callback, we need
        to prevent WebGL from running too far ahead of the GPU process. The current
        throttling mechanism relies on prepareTexture being called for every WebGL frame.
        However, in a non-requestAnimFrame application, multiple frames might get created
        before the compositor runs and calls prepareTexture on the surface.

        To address this, we post a task that calls a special rate limiting GL extension on
        the WebGL context after every WebGL "frame." When the compositor runs, it calls
        prepareTexture as usual.

        * platform/graphics/chromium/Extensions3DChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::setIsAnimating):
        (WebCore::LayerRendererChromium::isAnimating):
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromiumRateLimitTask::WebGLLayerChromiumRateLimitTask):
        (WebCore::WebGLLayerChromiumRateLimitTask::run):
        (WebCore::WebGLLayerChromiumRateLimitTask::cancel):
        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
        (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
        (WebCore::WebGLLayerChromium::setTextureUpdated):
        (WebCore::WebGLLayerChromium::setContext):
        * platform/graphics/chromium/WebGLLayerChromium.h:
        (WebCore::WebGLLayerChromium::context):

2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
        https://bugs.webkit.org/show_bug.cgi?id=60439

        Patch 12/12: Enable accelerated animations in texture-mapper. The entire interpolation
        mechanism happens inside TextureMapper, and we interpolate right before we paint.

        No new tests. Tests in LayoutTests/compositing cover this.

        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
        (WebCore::GraphicsLayerTextureMapper::syncCompositingState):
        (WebCore::GraphicsLayerTextureMapper::addAnimation):
        (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
        (WebCore::GraphicsLayerTextureMapper::removeAnimation):
        (WebCore::GraphicsLayerTextureMapper::animationStartedTimerFired):
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
        (WebCore::normalizedAnimationValue):
        (WebCore::TextureMapperNode::applyOpacityAnimation):
        (WebCore::solveEpsilon):
        (WebCore::solveCubicBezierFunction):
        (WebCore::solveStepsFunction):
        (WebCore::applyTimingFunction):
        (WebCore::TextureMapperNode::applyTransformAnimation):
        (WebCore::TextureMapperNode::applyAnimationFrame):
        (WebCore::TextureMapperNode::applyAnimation):
        (WebCore::TextureMapperNode::hasRunningOpacityAnimation):
        (WebCore::TextureMapperNode::hasRunningTransformAnimation):
        (WebCore::TextureMapperNode::syncAnimations):
        (WebCore::copyTimingFunction):
        (WebCore::copyAnimationValue):
        (WebCore::TextureMapperAnimation::TextureMapperAnimation):
        * platform/graphics/texmap/TextureMapperNode.h:
        (WebCore::TextureMapperAnimation::create):

2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
        https://bugs.webkit.org/show_bug.cgi?id=60439

        Patch 11/12: Patch PluginView to build with TextureMapper on Linux.

        No new tests. This is a build fix.

        * platform/qt/QWebPageClient.h:
        (QWebPageClient::setRootGraphicsLayer):

2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
        https://bugs.webkit.org/show_bug.cgi?id=60439

        Patch 10/12: Glue the TextureMapper refactoring into Webkit(1).
        Pass a GraphicsLayer* instead of a PlatformLayer* to the QWebPageClient.

        No new tests. Tests in LayoutTests/compositing cover this.

        * platform/qt/QWebPageClient.h:
        (QWebPageClient::setRootGraphicsLayer):

2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
        https://bugs.webkit.org/show_bug.cgi?id=60439

        Patch 9/12: Refactor TextureMapperNode for performance, readability and accuracy.
        Changes include:
        1. Support the new TextureMapperPlatformLayer for media & WebGL.
        2. Use a pool for intermediate surfaces, to avoid constant allocating/freeing of textures.
        3. Divide computation operations to different smaller functions.
        4. Get rid of scissor/clip layers, use transformed clip instead.
        5. Allow tiling for big layers.

        No new tests. Tests in LayoutTests/compositing cover this.

        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
        (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
        (WebCore::GraphicsLayerTextureMapper::platformLayer):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
        (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
        (WebCore::GraphicsLayerTextureMapper::setContentsToCanvas):
        (WebCore::GraphicsLayerTextureMapper::node):
        * platform/graphics/texmap/TextureMapperNode.cpp:
        (WebCore::TextureMapperSurfaceManager::getIntermediateSurface):
        (WebCore::TextureMapperSurfaceManager::releaseIntermediateSurface):
        (WebCore::toTextureMapperNode):
        (WebCore::TextureMapperNode::rootLayer):
        (WebCore::TextureMapperNode::setTransform):
        (WebCore::TextureMapperNode::computePerspectiveTransformIfNeeded):
        (WebCore::TextureMapperNode::countDescendantsWithContent):
        (WebCore::TextureMapperNode::computeOverlapsIfNeeded):
        (WebCore::TextureMapperNode::computeReplicaTransformIfNeeded):
        (WebCore::TextureMapperNode::computeLocalTransformIfNeeded):
        (WebCore::TextureMapperNode::needsToComputeBoundingRect):
        (WebCore::TextureMapperNode::computeAllTransforms):
        (WebCore::TextureMapperNode::computeBoundingRectFromRootIfNeeded):
        (WebCore::TextureMapperNode::computeTiles):
        (WebCore::TextureMapperNode::computeVisibleRectIfNeeded):
        (WebCore::TextureMapperNode::renderContent):
        (WebCore::TextureMapperNode::paint):
        (WebCore::TextureMapperNode::targetRectForTileRect):
        (WebCore::TextureMapperNode::paintSelf):
        (WebCore::TextureMapperNode::compareGraphicsLayersZValue):
        (WebCore::TextureMapperNode::sortByZOrder):
        (WebCore::TextureMapperNode::paintSelfAndChildren):
        (WebCore::TextureMapperNode::paintReflection):
        (WebCore::TextureMapperNode::paintRecursive):
        (WebCore::TextureMapperNode::~TextureMapperNode):
        (WebCore::TextureMapperNode::resetDescendants):
        (WebCore::TextureMapperNode::setContentScale):
        (WebCore::TextureMapperNode::setVisibleRect):
        (WebCore::TextureMapperNode::syncCompositingState):
        (WebCore::TextureMapperNode::invalidateOverlaps):
        (WebCore::TextureMapperNode::syncCompositingStateSelf):
        (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
        * platform/graphics/texmap/TextureMapperNode.h:
        (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
        (WebCore::TextureMapperAnimation::create):
        (WebCore::TextureMapperNode::TextureMapperNode):
        (WebCore::TextureMapperNode::size):
        (WebCore::TextureMapperNode::setOpacity):
        (WebCore::TextureMapperNode::setTextureMapper):
        (WebCore::TextureMapperNode::media):
        (WebCore::TextureMapperNode::texture):
        (WebCore::TextureMapperNode::targetRect):
        (WebCore::TextureMapperNode::entireRect):
        (WebCore::TextureMapperNode::contentSize):
        (WebCore::TextureMapperNode::State::State):
        (WebCore::deleteOwnedPtr):

2011-05-07  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
        https://bugs.webkit.org/show_bug.cgi?id=60439

        Patch 8/12: Changes to the GL backend of TextureMapper. The code for these changes is intertwined so it was hard to separate
        them to different patches. This is the summary of what the changes do:

        1. Use stencil for clipping instead of scissors, refactor beginClip/endClip functions to accomodate that.
        2. Get rid of the "Target" program which forced an intermediate framebuffer for any content. Instead,
           we upload the texture with BGRA from the start. Ports other than Qt can optimize this for their needs.
        3. Use glGetAttribLocation instead of glBindAttribLocation; On some platforms we might be polluting the
           GL context otherwise.
        4. Use image UIDs (cache-key in Qt) instead of image pointers. This is important for images that change their
           internal content.
        5. Allow packing and unpacking. This is currently a stub, for future memory optimizations.
        6. Put some of the initialization code here (beginPainting/endPainting).
        7. Allow painting a texture via an ID instead of a BitmapTexture data type.
        8. Get rid of makeContextCurrent / obtainCurrentContext. We only use texture-mapper when the context is current.

        No new tests. Tests in LayoutTests/compositing test this.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::debugGLCommand):
        (WebCore::TextureMapperGLData::GlobalGLData::createShaderProgram):
        (WebCore::TextureMapperGLData::GlobalGLData::GlobalGLData):
        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
        (WebCore::TextureMapperGLData::TextureMapperGLData):
        (WebCore::BitmapTextureGL::id):
        (WebCore::BitmapTextureGL::isOpaque):
        (WebCore::BitmapTextureGL::relativeSize):
        (WebCore::BitmapTextureGL::setTextureMapper):
        (WebCore::BitmapTextureGL::pack):
        (WebCore::BitmapTextureGL::unpack):
        (WebCore::BitmapTextureGL::isPacked):
        (WebCore::BitmapTextureGL::BitmapTextureGL):
        (WebCore::TextureMapperGL::TextureMapperGL):
        (WebCore::TextureMapperGL::initializeShaders):
        (WebCore::TextureMapperGL::beginPainting):
        (WebCore::TextureMapperGL::endPainting):
        (WebCore::TextureMapperGL::drawTexture):
        (WebCore::BitmapTextureGL::reset):
        (WebCore::BitmapTextureGL::endPaint):
        (WebCore::BitmapTextureGL::setContentsToImage):
        (WebCore::createProjectionMatrix):
        (WebCore::BitmapTextureGL::bind):
        (WebCore::BitmapTextureGL::destroy):
        (WebCore::TextureMapperGL::~TextureMapperGL):
        (WebCore::TextureMapperGL::bindSurface):
        (WebCore::TextureMapperGL::beginClip):
        (WebCore::TextureMapperGL::endClip):
        (WebCore::TextureMapperGL::createTexture):
        * platform/graphics/opengl/TextureMapperGL.h:
        (WebCore::TextureMapperGL::allowSurfaceForRoot):
        (WebCore::TextureMapperGL::create):
        (WebCore::TextureMapperGL::setGraphicsContext):
        (WebCore::TextureMapperGL::graphicsContext):
        (WebCore::TextureMapperGL::isOpenGLBacked):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
        (WebCore::GraphicsContext3DInternal::boundingRect):
        (WebCore::GraphicsContext3DInternal::paint):
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::repaint):
        (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
        * platform/graphics/qt/MediaPlayerPrivateQt.h:
        (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
        (WebCore::MediaPlayerPrivateQt::platformLayer):

2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
        https://bugs.webkit.org/show_bug.cgi?id=60439

        Patch 7/12: Allow a 3D-context (WebGL) to paint itself into a TextureMapper.
        This allows using a WebGL canvas with CSS.

        No new tests. Tests in LayoutTests/compositing/webgl cover this.

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
        (WebCore::GraphicsContext3DInternal::boundingRect):
        (WebCore::GraphicsContext3DInternal::paint):
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::repaint):
        (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
        * platform/graphics/qt/MediaPlayerPrivateQt.h:
        (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
        (WebCore::MediaPlayerPrivateQt::platformLayer):

2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
        https://bugs.webkit.org/show_bug.cgi?id=60439

        Patch 6/12: Allow the Qt media player implementation to paint into a TextureMapper,
        to allow videos to be composited.

        No new tests. Tests in LayoutTests/compositing cover this.

        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::repaint):
        (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
        * platform/graphics/qt/MediaPlayerPrivateQt.h:
        (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
        (WebCore::MediaPlayerPrivateQt::platformLayer):

2011-05-11  John Bauman  <jbauman@chromium.org>

        Reviewed by Kenneth Russell.

        Don't send zeros in TexImage if GL implementation handles that
        https://bugs.webkit.org/show_bug.cgi?id=60581

        Chromium already handles zeroing textures upon creation, so don't
        bother zeroing them in WebKit, as that causes some unnecessary memcpys
        of zeros.

        No new tests as functionality is the same.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::texImage2DBase):
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::texImage2DResourceSafe):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::GraphicsContext3D):

2011-05-11  Simon Fraser  <simon.fraser@apple.com>

        Attempt to fix Chromium Mac build.

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

2011-05-11  Daniel Bates  <dbates@rim.com>

        Reviewed by Antonio Gomes.

        [Qt] Extract code to set mouse event modifiers into common function
        https://bugs.webkit.org/show_bug.cgi?id=60649

        Consolidate code to set the keyboard modifiers for a mouse event into a common
        function that can be used by both PlatformMouseEvent(QGraphicsSceneMouseEvent*, int clickCount)
        and PlatformMouseEvent(QInputEvent*, int clickCount) so as to remove duplicate code.

        No functionality was changed. So, no new tests.

        * platform/qt/PlatformMouseEventQt.cpp:
        (WebCore::mouseEventModifiersFromQtKeyboardModifiers): Added.
        (WebCore::PlatformMouseEvent::PlatformMouseEvent): Modified to call mouseEventModifiersFromQtKeyboardModifiers().

2011-05-11  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Switch RenderBoxModelObject::paintBorder to use IntRect instead of four ints
        https://bugs.webkit.org/show_bug.cgi?id=60591

        Switching RenderBoxModelObject::paintBorder to use IntRect instead of four ints representing a rect.

        No new tests since there is no functionality change.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintBoxDecorations):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorationsWithSize):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBorder):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintBoxDecorations):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBoxDecorations):

2011-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r86255.
        http://trac.webkit.org/changeset/86255
        https://bugs.webkit.org/show_bug.cgi?id=60660

        REGRESSION (r86255): Lots of tests crashing in
        CFWriteStreamCreateWithAllocatedBuffers on Windows 7 Release
        (WebKit2 Tests) (Requested by aroben on #webkit).

        * platform/network/ResourceHandle.h:
        * platform/network/cf/CookieStorageCFNet.cpp:
        (WebCore::currentCookieStorage):
        (WebCore::defaultCookieStorage):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::willSendRequest):
        (WebCore::makeFinalRequest):
        (WebCore::ResourceHandle::willSendRequest):
        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):

2011-05-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Eric Seidel.

        Frequent crashes beneath WebCore::ScriptElement::prepareScript
        https://bugs.webkit.org/show_bug.cgi?id=60559

        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::runScript):
        Add null check and explanation that we are keeping the ASSERT to help
        track down the cause and produce a test.

2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
        https://bugs.webkit.org/show_bug.cgi?id=60439

        Patch 5/12: Implement the new TextureMapper functions for the Qt backend.
        This allow non-rectangular clipping, some stub functions, and getting a unique
        id for an image.

        No new tests. Tests in LayoutTests/compositing cover this.

        * platform/graphics/qt/TextureMapperQt.cpp:
        (WebCore::TextureMapperQt::beginClip):
        (WebCore::TextureMapperQt::endClip):
        (WebCore::TextureMapperQt::viewportSize):
        (WebCore::TextureMapperQt::setGraphicsContext):
        (WebCore::TextureMapperQt::graphicsContext):
        (WebCore::TextureMapperQt::drawTexture):
        (WebCore::TextureMapperQt::beginPainting):
        (WebCore::TextureMapperQt::endPainting):
        (WebCore::RGBA32PremultimpliedBufferQt::beginPaint):
        (WebCore::uidForImage):
        * platform/graphics/qt/TextureMapperQt.h:

2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap] Upstream texture-mapper changes from Qt's WebKit2 branch
        https://bugs.webkit.org/show_bug.cgi?id=60439

        Patch 3/12: TextureMapper shouldn't depend on OpenGL, but rather only allow the GL backend when
        OpenGL is present.

        No new tests. This is a build fix.

        * WebCore.pri:
        * WebCore.pro:

2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
        https://bugs.webkit.org/show_bug.cgi?id=60439

        Patch 2/12: Add a few functions to the TextureMapper API, allowing:
        1. an entry/exit point for painting (beginPaint/endPaint)
        2. Clipping with a matrix, since we use stencil instead of scissors
        3. Draw a texture directly with an ID
        4. Remove offset, since we're using real tiling
        5. numberOfBytes calculation for textures, for memory management

        No new tests. Tests in LayoutTests/compositing test this.

        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::BitmapTexture::destroy):
        (WebCore::BitmapTexture::allowOfflineTextureUpload):
        (WebCore::BitmapTexture::bpp):
        (WebCore::BitmapTexture::numberOfBytes):
        (WebCore::TextureMapper::viewportSize):
        (WebCore::TextureMapper::setViewportSize):
        (WebCore::TextureMapper::allowPartialUpdates):
        (WebCore::TextureMapper::isOpenGLBacked):
        (WebCore::TextureMapper::setTransform):
        (WebCore::TextureMapper::transform):
        (WebCore::TextureMapper::beginPainting):
        (WebCore::TextureMapper::endPainting):

2011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
        https://bugs.webkit.org/show_bug.cgi?id=60439

        Patch 1/12: Change the TextureMapperPlatformLayer API to allow a 3D-context or a
        media player to decide how to paint into the TextureMapper, rather than mandate specific
        types of platform layers.

        No new tests. Tests in LayoutTests/compositing test this.

        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/texmap/TextureMapperPlatformLayer.h:

2011-05-11  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Flesh out RenderLayer's ScrollableArea implementation a little more
        https://bugs.webkit.org/show_bug.cgi?id=60593

        Override a few more ScrollableArea methods on RenderLayer
        as a baby-step towards animating overflow div scrolling.

        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::visibleContentRect):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollPosition):
        (WebCore::RenderLayer::minimumScrollPosition):
        (WebCore::RenderLayer::maximumScrollPosition):
        (WebCore::RenderLayer::visibleContentRect):
        (WebCore::RenderLayer::overhangAmount):
        (WebCore::RenderLayer::didCompleteRubberBand):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::shouldSuspendScrollAnimations):

2011-05-11  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        <rdar://problem/9421781> Slider thumb draws upside-down in WebKit2
        <rdar://problem/9418025> Slider thumb has odd appearance

        Fix two issues drawing the slider thumb.
        
        To fix <rdar://problem/9421781>, if we detect that we're in WebKit2
        by virtual of the FrameView not having a documentView, then flip
        the graphics context.

        To fix <rdar://problem/9418025>, we call -drawInteriorWithFrame:inView:
        rather than -drawWithFrame:inView: so that AppKit doesn't draw a section
        of track behind the thumb.

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

2011-05-11  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Steve Falkenburg.

        [Windows WebKit2] Use cookies set in WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=60274

        Share the default storage session between the UI and Web Processes.

        * platform/network/cf/CookieStorageCFNet.cpp:
        (WebCore::defaultSessionCookieStorage):
        Keep track of the default storage session cookie storage.
        (WebCore::currentCookieStorage):
        Call defaultCookieStorage to get the default cookie storage.
        (WebCore::defaultCookieStorage):
        If there is a default storage session cookie storage, prefer that over getting the default
        cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
        without specifying a storage session will not get the cookie storage being shared by the UI
        and Web Processes.

        * platform/network/ResourceHandle.h:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::willSendRequest):
        Make sure to set the current storage session on any requests used by the Web
        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
        doing anything with the Web Process's default storage session (which is not the one shared
        with the UI Process).
        (WebCore::makeFinalRequest):
        Ditto.
        (WebCore::ResourceHandle::willSendRequest):
        Ditto.
        (WebCore::ResourceHandle::currentStorageSession):
        If there is a Private Browsing storage session, return that.
        If not, on Windows return the default storage session that is being shared with the UI
        Process and on Mac return 0.
        (WebCore::defaultCFURLStorageSession):
        (WebCore::ResourceHandle::setDefaultStorageSession):
        (WebCore::ResourceHandle::defaultStorageSession):

        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        Make sure to set the current storage session on any requests used by the Web
        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
        doing anything with the Web Process's default storage session (which is not the one shared
        with the UI Process).

2011-05-11  Martin Robinson  <mrobinson@igalia.com>

        Try once more to fix the WinCairo build.

        * platform/graphics/cairo/CairoUtilities.h: Include GraphicsTypes.h with a relative
        include rather than a system include.

2011-05-11  Sam Weinig  <sam@webkit.org>

        Reviewed by Eric Seidel.

        Stop including Console.h just to get Console enum types
        https://bugs.webkit.org/show_bug.cgi?id=60607

        Move MessageSource, MessageType and MessageLevel into its own
        header and cleanup surrounding classes.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCustomXPathNSResolver.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/v8/V8Proxy.cpp:
        * dom/ScriptExecutionContext.h:
        * html/HTMLFormElement.cpp:
        * html/parser/XSSFilter.cpp:
        * inspector/ConsoleMessage.h:
        * inspector/InjectedScriptHost.h:
        * inspector/InspectorAgent.h:
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorInstrumentation.cpp:
        * inspector/InspectorInstrumentation.h:
        * loader/EmptyClients.h:
        * loader/FrameLoader.cpp:
        * loader/MainResourceLoader.cpp:
        * loader/appcache/ApplicationCacheGroup.cpp:
        * page/ChromeClient.h:
        * page/Console.cpp:
        (WebCore::Console::~Console):
        * page/Console.h:
        * page/ConsoleTypes.h: Added.
        * page/ContentSecurityPolicy.cpp:
        * page/Geolocation.h:
        * workers/WorkerReportingProxy.h:
        * xml/XMLHttpRequest.cpp:

2011-05-11  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r85650.
        http://trac.webkit.org/changeset/85650
        https://bugs.webkit.org/show_bug.cgi?id=59983

        Triggers m_numNodeListCaches > 0 assert in gc-heavy sites.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::childrenChanged):
        * dom/Node.cpp:
        (WebCore::Node::~Node):
        (WebCore::Node::setDocument):
        (WebCore::Node::setTreeScopeRecursively):
        (WebCore::Node::childNodes):
        (WebCore::Node::registerDynamicNodeList):
        (WebCore::Node::unregisterDynamicNodeList):
        (WebCore::Node::notifyLocalNodeListsAttributeChanged):
        (WebCore::Node::notifyLocalNodeListsChildrenChanged):
        (WebCore::Node::getElementsByTagName):
        (WebCore::Node::getElementsByTagNameNS):
        (WebCore::Node::getElementsByName):
        (WebCore::Node::getElementsByClassName):
        * dom/Node.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::labels):

2011-05-11  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        Video track sometimes fails to draw.
        https://bugs.webkit.org/show_bug.cgi?id=60635
        <rdar://problem/9281951>

        No new tests, covered by existing pixel tests.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::loadResource): Set display mode to "Unknown" to force a 
            recalculation, and media engine notification, the next time the state machine runs.

2011-05-11  Adam Roben  <aroben@apple.com>

        WinCE build fixes for strict PassOwnPtr

        * platform/graphics/wince/SharedBitmap.cpp:
        (WebCore::SharedBitmap::createHandle):
        (WebCore::SharedBitmap::clipBitmap):
        Use nullptr instead of 0.

        * platform/graphics/wince/SimpleFontDataWinCE.cpp: Keep LOOSE_PASS_OWN_PTR turned on for
        this file until SimpleFontData::scaledFontData is dealt with on all platforms.

        * platform/text/wince/TextCodecWinCE.cpp:
        (WebCore::newTextCodecWinCE): Use adoptPtr.

2011-05-11  Chang Shu  <cshu@webkit.org>

        Reviewed by Antonio Gomes.

        [Qt] Tab not working in editing/inserting/typing-tab-designmode-forms.html
        https://bugs.webkit.org/show_bug.cgi?id=60477

        PlatformKeyboardEvent.m_text should be set to "\t" instead of leaving as null.
        The value is checked at EventHandler.cpp:2527 (r86166).

        Function keyTextForKeyEvent is partially implemented and can be enhanced in
        a need-base.

        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::keyTextForKeyEvent):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2011-05-11  Adam Roben  <aroben@apple.com>

        Use case-insensitive comparisons when checking plugin filenames on Windows

        Windows paths are nearly always case-insensitive.

        I couldn't think of a good way to test this.

        Fixes <http://webkit.org/b/60633> WebKit1 loads Windows Presentation Foundation plugin, but
        should not

        Reviewed by Steve Falkenburg.

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::isPluginBlacklisted): Use equalIgnoringCase instead of == when
        checking plugin filenames.

2011-05-11  Adam Roben  <aroben@apple.com>

        Turn on strict PassOwnPtr on Windows

        Fixes <http://webkit.org/b/60632> Windows should build with strict PassOwnPtr enabled

        Reviewed by Adam Barth.

        * platform/graphics/win/SimpleFontDataWin.cpp: Keep LOOSE_PASS_OWN_PTR turned on for this
        file until SimpleFontData::scaledFontData is dealt with on all platforms.

2011-05-11  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Geoffrey Garen.

        XPathResult should keep its node set's JS wrappers alive
        https://bugs.webkit.org/show_bug.cgi?id=34231

        The change added a custom mark function for JSC. V8 was already properly
        marking the nodes so no change were done on the V8 side.

        Tests: fast/xpath/xpath-iterator-result-should-mark-its-nodeset.html
               fast/xpath/xpath-other-nodeset-result-should-mark-its-nodeset.html
               fast/xpath/xpath-result-eventlistener-crash.html
               fast/xpath/xpath-snapshot-result-should-mark-its-nodeset.html

        * Android.jscbindings.mk:
        * GNUmakefile.list.am:
        * UseJSC.cmake:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        Added the new file to our build systems.

        * bindings/js/JSXPathResultCustom.cpp: Added.
        (WebCore::JSXPathResult::markChildren): Added code to mark the
        XPathResult snapshot's nodes.
        * xml/XPathResult.h:
        (WebCore::XPathResult::value): Exposed this getter so that we can
        mark our XPathValue.
        * xml/XPathResult.idl: Told the IDL parser that we now need
        a custom mark function.

2011-05-04  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk+] deadlock in gstreamer video player when exiting fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=58548

        Block data flow towards the pipeline branch to remove to avoid
        potential deadlocks during the PAUSED->READY transitions of the
        elements to remove.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::exitFullscreen):

2011-05-11  Kent Tamura  <tkent@chromium.org>

        Reviewed by Hajime Morita.

        The position of validation message bubble is wrong for non text fields.
        https://bugs.webkit.org/show_bug.cgi?id=60341

        Tests: fast/forms/validation-message-on-checkbox.html
               fast/forms/validation-message-on-listbox.html
               fast/forms/validation-message-on-menulist.html
               fast/forms/validation-message-on-radio.html
               fast/forms/validation-message-on-textarea.html

        * css/html.css:
        (::-webkit-validation-bubble-message):
          Add white-space:normal in order not to inherit white-space:pre for <select>.
        * html/ValidationMessage.cpp:
        (WebCore::adjustBubblePosition):
          Adjust the bubble position.
          - The top of the bubble should be same as the bottom of the target control.
          - The left of the bubble should be same as the left of the target control.
            But If the left+32 is larger than the center of the target control,
            left+32 should be at the center of the target control.
            But the left position should not be less than 0.
        (WebCore::ValidationMessage::buildBubbleTree): Call adjustBubblePosition().

2011-05-11  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Convert RenderFlexibleBox to use IntPoint/IntSize instead of x,y/w,h pairs
        https://bugs.webkit.org/show_bug.cgi?id=60592

        Refactoring, covered by existing tests.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        (WebCore::RenderFlexibleBox::placeChild):
        * rendering/RenderFlexibleBox.h:

2011-05-10  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed buildfix for strict OwnPtr.

        * platform/audio/AudioBus.cpp:
        (WebCore::AudioBus::createBufferFromRange):
        (WebCore::AudioBus::createBySampleRateConverting):
        (WebCore::AudioBus::createByMixingToMono):
        * platform/audio/HRTFElevation.cpp:
        (WebCore::HRTFElevation::createForSubject):
        (WebCore::HRTFElevation::createByInterpolatingSlices):
        * platform/audio/Panner.cpp:
        (WebCore::Panner::create):
        * platform/audio/Reverb.cpp:
        (WebCore::Reverb::initialize):
        * platform/audio/chromium/AudioBusChromium.cpp:
        (WebCore::AudioBus::loadPlatformResource):
        (WebCore::createBusFromInMemoryAudioFile):

2011-05-10  Adam Barth  <abarth@webkit.org>

        Build fix for font data madness.  I've had to whitelist this on several
        ports.  They need to all be fixed at once.

        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:

2011-05-10  David Kilzer  <ddkilzer@apple.com>

        BUILD FIX for !ENABLE(TEXT_CARET) after r86039

        * editing/FrameSelection.cpp:
        (WebCore::DragCaretController::paintDragCaret): Added
        UNUSED_PARAM(frame) for !ENABLE(TEXT_CARET).

2011-05-10  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Clean up setLayerRenderer() calls in LayerRendererChromium
        https://bugs.webkit.org/show_bug.cgi?id=60524

        This refactors the way LayerRendererChromium calls setLayerRenderer on its layers in a few ways to clean things
        up:

        *) Move the pre-paint call to setLayerRenderer from updatePropertiesAndRenderSurfaces() to paintLayerContents().
            updatePropertiesAndRenderSurfaces() does too much and the layer renderer pointer only has to be up to date to do
            the actual paint. Longer term we won't need to call this at all in order to call paint and this call will just
            go away.
        *) Tweaks updateCompositorResourcesRecursive() to be slightly shorter and less error-prone.
        *) Explicitly set the LayerRendererChromium for each layer in the tree when transfering the root layer (used
            during lost context).  LayerChromium::setLayerRenderer checks if the new LayerRendererChromium is different
            by comparing the pointer value to the old one.  This check will be incorrect if there are multiple lost
            contexts between a setLayerRenderer() call and a new LayerRendererChromium happens to be allocated at the
            same address as the old one.  An explicit call to setLayerRenderer() for every layer in the tree fixes this
            since when this function is called the new and old LayerRendererChromium are still live and so they cannot
            live at the same address.

        The first two changes are purely refactors and do not change behavior.  The third issue can't be tested via a
        layout test directly as we don't have a way to induce a lost context on the compositor in a layout test.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::paintLayerContents):
        (WebCore::LayerRendererChromium::clearLayerRendererRecursive):
        (WebCore::LayerRendererChromium::transferRootLayer):
        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
        (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
        * platform/graphics/chromium/LayerRendererChromium.h:

2011-05-10  Anton D'Auria  <adauria@apple.com>

        Reviewed by David Levin.

        StorageTracker should report actual local storage usage on disk
        https://bugs.webkit.org/show_bug.cgi?id=60558

        Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-6-create.html
               storage/domstorage/localstorage/storagetracker/storage-tracker-7-usage.html

        Use SQLiteFileSystem::getDatabaseFileSize to get actual usage by
        an origin's local storage db. Factored out code that retrieves
        path of local storage db.

        * WebCore.exp.in: Sorted alphabetically StorageTracker's mangled
        function names.
        * storage/StorageTracker.cpp:
        (WebCore::StorageTracker::syncDeleteOrigin): Uses helper function
        to get path of origin's db
        (WebCore::StorageTracker::databasePathForOrigin): New helper function.
        that gets the path of an origin's local storage db from StorageTracker.
        (WebCore::StorageTracker::diskUsageForOrigin): New API.
        * storage/StorageTracker.h:

2011-05-10  Anton D'Auria  <adauria@apple.com>

        Reviewed by Alexey Proskuryakov.

        Add ApplicationCache API to get disk usage per origin
        https://bugs.webkit.org/show_bug.cgi?id=57127

        ApplicationCacheStorage already provides an API to get per-origin
        disk usage. This should be exposed through WebCore::ApplicationCache
        to not be dependent on storage implementation.

        Test: http/tests/appcache/origin-usage.html

        * WebCore.exp.in:
        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::diskUsageForOrigin):
        * loader/appcache/ApplicationCache.h:

2011-05-10  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Alexey Proskuryakov.

        Protect self in [WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]
        https://bugs.webkit.org/show_bug.cgi?id=60594
        <rdar://problem/9203259>

        No tests since we don't have any bots testing CFNETWORK_DATA_ARRAY_CALLBACK.

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]): The didReceiveData()
        callback on client can result in the load being cancelled. This results in the delegate
        (self) being freed.  Protect self during the loop so we can check for m_handle and safely
        return without crashing.

2011-05-10  Chris Guillory  <chris.guillory@google.com>

        Reviewed by James Robinson.

        [ChromiumWin] Font::drawComplexText calls EndPlatformPaint without calling BeginPlatformPaint.
        https://bugs.webkit.org/show_bug.cgi?id=59848

        To test this I plan to make the non-printing device (BitmapPlatformDevice) fail
        when EndPlatformPaint doesn't matchup with BeginPlatformPaint.
        http://codereview.chromium.org/6949012/ 

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawComplexText):

2011-05-10  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r86195.
        http://trac.webkit.org/changeset/86195
        https://bugs.webkit.org/show_bug.cgi?id=60597

        LayerOffset is a really bad name (Requested by smfr on
        #webkit).

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/FrameView.cpp:
        (WebCore::FrameView::paintScrollCorner):
        * platform/graphics/LayerOffset.h: Removed.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintCustomHighlight):
        * rendering/InlineTextBox.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintCustomHighlight):
        * rendering/RenderBox.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintReplaced):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintScrollCorner):
        (WebCore::RenderLayer::paintResizer):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderObject.h:
        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::paintPart):
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::paintIntoRect):
        * rendering/RenderScrollbarPart.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paintObject):
        (WebCore::RenderTable::paintMask):
        * rendering/RenderTable.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::paintCustomHighlight):
        (WebCore::RootInlineBox::paint):
        * rendering/RootInlineBox.h:

2011-05-10  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Convert x,y and width,height pairs to IntPoint and IntSize for RenderLayer
        https://bugs.webkit.org/show_bug.cgi?id=60409

        Convert RenderLayer to use IntPoint for x,y pairs and IntSize for offsets and sizes.

        Refactoring, covered by existing tests.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::RenderLayer::updateLayerPosition):
        (WebCore::RenderLayer::scrollTo):
        (WebCore::RenderLayer::visibleHeight):
        (WebCore::RenderLayer::visibleWidth):
        (WebCore::RenderLayer::scrollWidth):
        (WebCore::RenderLayer::scrollHeight):
        (WebCore::RenderLayer::computeScrollDimensions):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::x):
        (WebCore::RenderLayer::y):
        (WebCore::RenderLayer::setLocation):
        (WebCore::RenderLayer::width):
        (WebCore::RenderLayer::height):
        (WebCore::RenderLayer::size):
        (WebCore::RenderLayer::setWidth):
        (WebCore::RenderLayer::setHeight):
        (WebCore::RenderLayer::scrolledContentOffset):
        (WebCore::RenderLayer::scrollXOffset):
        (WebCore::RenderLayer::scrollYOffset):
        (WebCore::RenderLayer::scrollOffset):
        (WebCore::RenderLayer::scrollToXOffset):
        (WebCore::RenderLayer::scrollToYOffset):
        (WebCore::RenderLayer::relativePositionOffset):

2011-05-10  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Create LayerOffset class
        https://bugs.webkit.org/show_bug.cgi?id=60490

        Adding a LayerOffset class that will replace existing usage of tx/ty.
        LayerOffset is necessary since these values are commonly used as both
        a size and a point. Updating paintIntoRect to use this new class.

        No new tests since this doesn't change any behavior.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/FrameView.cpp:
        (WebCore::FrameView::paintScrollCorner):
        * platform/graphics/LayerOffset.h: Added.
        (WebCore::LayerOffset::LayerOffset):
        (WebCore::LayerOffset::x):
        (WebCore::LayerOffset::y):
        (WebCore::LayerOffset::setX):
        (WebCore::LayerOffset::setY):
        (WebCore::LayerOffset::toSize):
        (WebCore::LayerOffset::toPoint):
        (WebCore::operator+=):
        (WebCore::operator-=):
        (WebCore::operator+):
        (WebCore::operator-):
        (WebCore::operator==):
        (WebCore::operator!=):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintScrollCorner):
        (WebCore::RenderLayer::paintResizer):
        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::paintPart):
        * rendering/RenderScrollbarPart.cpp:
        (WebCore::RenderScrollbarPart::paintIntoRect):
        * rendering/RenderScrollbarPart.h:

2011-05-10  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Make member variables of CaretBase private
        https://bugs.webkit.org/show_bug.cgi?id=60454

        Moved m_absCaretBounds, m_absoluteCaretRepaintBounds, m_absCaretBoundsDirty, and m_caretPaint back
        from CaretBase to FrameSelection because they are only used in FrameSelection, and made the rest
        of member variables in CaretBase private.

        * editing/FrameSelection.cpp:
        (WebCore::CaretBase::CaretBase): Takes CaretVisibility as an argument.
        (WebCore::DragCaretController::DragCaretController):
        (WebCore::FrameSelection::FrameSelection): Initializes m_absCaretBoundsDirty and m_caretPaint
        now that they are part of FrameSelection again.
        (WebCore::DragCaretController::setCaretPosition):
        (WebCore::FrameSelection::setSelection):
        (WebCore::CaretBase::clearCaretRect): Extracted from updateCaretRect.
        (WebCore::CaretBase::updateCaretRect): No longer clears caret; all call sites (namely setCaretPosition
        and localCaretRect) that used to call updateCaretRect now need to call clearCaretRect or updateCaretRect
        based on some conditions.
        (WebCore::FrameSelection::localCaretRect):
        (WebCore::CaretBase::caretRepaintRect):
        (WebCore::FrameSelection::recomputeCaretRect):
        (WebCore::FrameSelection::paintCaret): Only calls CaretBase::paintCaret if m_caretPaint is true.
        (WebCore::CaretBase::paintCaret): Removed an early exit for when m_caretPaint is false since m_caretPaint
        has been moved from CaretBase to FrameSelection.
        (WebCore::FrameSelection::focusedOrActiveStateChanged):
        (WebCore::FrameSelection::updateAppearance):
        (WebCore::FrameSelection::setCaretVisibility): Takes CaretVisibility instead of bool.
        (WebCore::FrameSelection::caretBlinkTimerFired):
        * editing/FrameSelection.h:
        (WebCore::CaretBase::fastLocalCaretRect): Added; replaces localCaretRectForPainting.
        (WebCore::CaretBase::shouldUpdateCaretRect): Added.
        (WebCore::CaretBase::setCaretRectNeedsUpdate): Added.
        (WebCore::CaretBase::setCaretVisibility): Added.
        (WebCore::CaretBase::caretIsVisible): Added.
        (WebCore::FrameSelection::setCaretRectNeedsUpdate): Added.

2011-05-10  James Robinson  <jamesr@chromium.org>

        Reviewed by Nate Chapin.

        [chromium] Use parent/child terms for compositor tree structures consistently instead of superlayer/sublayer
        https://bugs.webkit.org/show_bug.cgi?id=60588

        GraphicsLayer uses parent/child terminology for tree structure, as does CCLayerImpl.  LayerChromium was using
        superlayer/sublayer terms, inherited from this code's branching from the platform/graphics/win/CACF code.  The
        mixed terminology is confusing and parent/child is more common, so this unifies everything to use parent/child.

        No new tests, refactor only.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setChildren):
        (WebCore::GraphicsLayerChromium::addChild):
        (WebCore::GraphicsLayerChromium::addChildAtIndex):
        (WebCore::GraphicsLayerChromium::addChildBelow):
        (WebCore::GraphicsLayerChromium::addChildAbove):
        (WebCore::GraphicsLayerChromium::replaceChild):
        (WebCore::GraphicsLayerChromium::removeFromParent):
        (WebCore::GraphicsLayerChromium::setContentsToImage):
        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
        (WebCore::GraphicsLayerChromium::setContentsToMedia):
        (WebCore::GraphicsLayerChromium::hostLayerForChildren):
        (WebCore::GraphicsLayerChromium::layerForParent):
        (WebCore::GraphicsLayerChromium::updateChildList):
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        (WebCore::GraphicsLayerChromium::setupContentsLayer):
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::~LayerChromium):
        (WebCore::LayerChromium::addChild):
        (WebCore::LayerChromium::insertChild):
        (WebCore::LayerChromium::removeFromParent):
        (WebCore::LayerChromium::removeChild):
        (WebCore::LayerChromium::replaceChild):
        (WebCore::LayerChromium::indexOfChild):
        (WebCore::LayerChromium::rootLayer):
        (WebCore::LayerChromium::removeAllChildren):
        (WebCore::LayerChromium::setChildren):
        (WebCore::LayerChromium::parent):
        (WebCore::LayerChromium::dumpLayer):
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::children):
        (WebCore::LayerChromium::setParent):
        (WebCore::LayerChromium::numChildren):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
        (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
        (WebCore::LayerRendererChromium::dumpRenderSurfaces):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::parent):
        (WebCore::CCLayerImpl::descendantsDrawsContent):
        * platform/graphics/chromium/cc/CCLayerImpl.h:

2011-05-10  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Darin Adler.

        Switch RenderBoxModelObject::paintNinePieceImage to use IntRect instead of four ints
        https://bugs.webkit.org/show_bug.cgi?id=60586

        Switch paintNinePieceImage to take an IntRect instead of four ints representing an IntRect!

        No new tests as this is simply refactoring.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintMask):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintMaskImages):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintNinePieceImage):
        (WebCore::RenderBoxModelObject::paintBorder):
        * rendering/RenderBoxModelObject.h:

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

        Reviewed by Maciej Stachowiak.

        Removing the full screen element via parent.innerHTML="" does not result in a webkitfullscreenchange event.
        https://bugs.webkit.org/show_bug.cgi?id=60278

        Handle the removal of a full screen element from within Node::willRemove() instead
        of Document::nodeWillBeRemoved().  The new function Document::fullScreenElementWillBeRemoved() will
        be called by Node::willRemove() to handle those changes which used to occur in nodeWillBeRemoved().

        Test: fullscreen/full-screen-remove-children.html

        * dom/Document.cpp:
        (WebCore::Document::nodeWillBeRemoved): Removed the code checking for the full screen element.
        (WebCore::Document::fullScreenElementWillBeRemoved): Added, moved from nodeWillBeRemoved.
        * dom/Document.h:
        * dom/Node.cpp:
        (WebCore::Node::willRemove): Check to see if this is the current full screen element.

2011-05-10  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=60582
        Crash switching overlay/non-overlay scrollbar preference still possible
        -and corresponding-
        <rdar://problem/9323983>

        This patch prevents any work from being done on pages that are in the page cache 
        when the preference is switched.

        When the Document is going into or coming out of the page cache, have the 
        FrameView inactivate or activate the Page's ScrollAnimators as appropriate.
        * dom/Document.cpp:
        (WebCore::Document::setInPageCache):

        Iterate through the Page's ScrollableAreas setting the active state of the 
        ScrollAnimators.
        * page/FrameView.cpp:
        (WebCore::FrameView::setAnimatorsAreActive):
        * page/FrameView.h:

        ScrollAnimator has a new bit -- m_isActive. Right now m_isActive is always true 
        unless the ScrollAnimator belongs to a ScrollableArea that is in the page cache.
        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::ScrollAnimator):
        * platform/ScrollAnimator.h:
        (WebCore::ScrollAnimator::setIsActive):
        (WebCore::ScrollAnimator::isActive):

        ScrollAnimatorMac has a new bit -- m_needsScrollerStyleUpdate. This is set to true 
        when a ScrollAnimator is inactive and has received the 
        updateScrollerStyleForNewRecommendedScrollerStyle delegate notification. It 
        prevents any work from being done for this delegate until the ScrollAnimator 
        becomes active again.
        * platform/mac/ScrollAnimatorMac.h:
        (WebCore::ScrollAnimatorMac::setNeedsScrollerStyleUpdate):
        (WebCore::ScrollAnimatorMac::needsScrollerStyleUpdate):

        This delegate method has been re-factored into ScrollAnimatorMac:: 
        updateScrollerStyle(). This way the meat of the function can be called by both the 
        delegate and ScrollAnimatorMac::setIsActive()
        * platform/mac/ScrollAnimatorMac.mm:
        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):

        This override of ScrollAnimator::setIsActive() calls the base class, and then calls updateScrollerStyle() if needsScrollerStyleUpdate() is set to true.
        (WebCore::ScrollAnimatorMac::setIsActive):

        This is mostly the same as the old delegate method. Key differences are that if 
        the ScrollAnimator is inactive, we now setNeedsScrollerStyleUpdate(true) and 
        return early. We also only call scrollableArea()->scrollbarStyleChanged() if 
        needsScrollerStyleUpdate() is false since in the true case when we are restoring 
        from the page cache, this would be duplicated work.
        (WebCore::ScrollAnimatorMac::updateScrollerStyle):

        New WKSystemInterface function is needed to retrieve the scrollbar style.
        * WebCore.exp.in:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2011-05-10  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Enable strict PassOwnPtr on Chromium
        https://bugs.webkit.org/show_bug.cgi?id=60502

        Technically there are a few bits in here that weren't reviewed by Dave,
        but close enough for government work.  This patch all fixes  the
        remaining strict PassOwnPtr violations on Chromium Linux.

        * platform/graphics/chromium/PlatformCanvas.cpp:
        (WebCore::PlatformCanvas::resize):
        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):

2011-05-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Alice Liu.

        <rdar://problem/9343191> and https://bugs.webkit.org/show_bug.cgi?id=60572
        REGRESSION - Canon On-screen Manual.app crashes after a search

        No new tests - There's no way to reproduce the truly bizarre things Canon does in their app
        that would reasonably fit in to our testing infrastructure.

        In r66577 a new behavior was added where changing the "setLoadsImagesAutomatically" setting to "true" would immediately
        start loading those images that had been disabled.

        If this happens while a WebView is being dealloc'ed, and we don't know the WebView is being dealloc'ed, these new loads
        can cause crashes downstream when the WebView memory has actually been free'd.

        One example where this can happen is in Mac apps that subclass WebView then do work in their overridden dealloc methods.
        And the Canon Onscreen Manual is one such app.

        Starting these loads synchronously is not important.  By putting it on a 0-delay, properly closing the Page cancels them
        before they have a chance to really start.

        See http://webkit.org/b/60572 for more discussion.


        Add a timer to Settings and instead of calling setLoadsImagesAutomaticallyInAllFrames right
        away when this pref changes, call it on a 0-delay:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setLoadsImagesAutomatically):
        (WebCore::Settings::loadsImagesAutomaticallyTimerFired):
        * page/Settings.h:

2011-05-10  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK][WebKit2] GTK+ 2.x widget rendering fails after r85480
        https://bugs.webkit.org/show_bug.cgi?id=59990

        No new tests. This is covered by existing pixel tests.

        * platform/gtk/GtkVersioning.c:
        (getGdkDrawableSize): Added this helper method.
        * platform/gtk/GtkVersioning.h: Added helper method declaration.
        * platform/gtk/WidgetRenderingContext.cpp:
        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Call into the helper if
        there is actually a GdkDrawable. If not, disable the sanity check.

2011-05-10  Martin Robinson  <mrobinson@igalia.com>

        Fix the GTK+ WebKit2 build. Add a CredentialsStorage stub for libsoup.

        * GNUmakefile.list.am: Add stub to source list.
        * platform/network/soup/CredentialStorageSoup.cpp: Added.
        (WebCore::CredentialStorage::getFromPersistentStorage):  Added stub.
        (WebCore::CredentialStorage::get):

2011-05-09  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/9354979> REGRESSION (r83070-r83126): This conversation takes 10 seconds to load and makes mail unresponsive
        
        Second attempts at a fix for this bug.  Instead of removing the dirtying (which turned out to be needed in a few cases),
        make dirtyLinesFromChangedChild mark a child as needing layout when it has to recur to the parent.  Because the method already
        aborts the recursion if selfNeedsLayout() is set on the parent, this has the effect of stopping the O(n^2) pathological
        behavior, since you can use the selfNeedsLayout() bit to understand that you've dirtied the lines already.

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

2011-05-05  Brent Fulgham  <bfulgham@webkit.org> and Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Anders Carlsson.

        [Cairo][WebKit2] Add an implementation of ShareableBitmap for Cairo
        https://bugs.webkit.org/show_bug.cgi?id=60293

        No new tests. This is covered by current pixel tests.

        * platform/graphics/cairo/CairoUtilities.cpp:
        (WebCore::copyCairoImageSurface): Abstract the code from WebCore::ImageBuffer::copyImage
        into this helper which creates a deep copy of a Cairo image surface.
        * platform/graphics/cairo/CairoUtilities.h: Added declaration.
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::copyImage): Use the new helper.
        * platform/graphics/cairo/ImageCairo.cpp: Abstract some of this logic
        into the new drawSurfaceToContext method on PlatformContextCairo.
        (WebCore::BitmapImage::draw):
        * platform/graphics/cairo/PlatformContextCairo.cpp:
        (WebCore::drawPatternToCairoContext): Added.
        (WebCore::PlatformContextCairo::drawSurfaceToContext): Added.
        * platform/graphics/cairo/PlatformContextCairo.h: Added declarations.

2011-05-10  Anders Carlsson  <andersca@apple.com>

        Attempt to fix Qt build.

        * platform/network/qt/CredentialStorageQt.cpp:
        (WebCore::CredentialStorage::get):
        Add stub.

2011-05-10  Kenichi Ishibashi  <bashi@chromium.org>

        Reviewed by Tony Chang.

        REGRESSION(r85013): platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=60079

        Set resultingNumPoints = 0 so that harfbuzz uses the design coordinate
        value pair.

        * platform/graphics/chromium/HarfbuzzSkia.cpp:
        (WebCore::getOutlinePoint): Just return HB_Err_Ok with resultingNumPoints = 0.

2011-05-10  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Extra sign in required to view video on MobileMe Gallery album
        https://bugs.webkit.org/show_bug.cgi?id=60560
        <rdar://problem/9338693>

        Add symbols required by WebKit2.

        * WebCore.exp.in:

2011-05-10  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Styles sidebar is not updated upon changes in the Resources panel.
        https://bugs.webkit.org/show_bug.cgi?id=60320

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

2011-05-06  Brett Wilson  <brettw@chromium.org>

        Reviewed by Adam Barth.

        Use a File object to store the downloaded file reference rather than
        just the path. This keeps the file and permissions in scope (using the
        already-existing blob system) so the browser won't delete the file
        when the load is complete. Instead, the file will be cleaned up when
        the request objects are deleted.
        https://bugs.webkit.org/show_bug.cgi?id=60281

        * platform/network/chromium/ResourceResponse.cpp:
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):
        * platform/network/chromium/ResourceResponse.h:
        (WebCore::ResourceResponse::downloadedFile):
        (WebCore::ResourceResponse::setDownloadedFile):

2011-05-10  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        Files that load quickly sometimes won't play.
        https://bugs.webkit.org/show_bug.cgi?id=60556
        <rdar://problem/9330567>

        No new tests, this failure is very difficult to reproduce on some machines. The fix was
        verified manually.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::playabilityKnown): Move the call to updateStates
            to dispatchNotification so it is more obvious which state changes call it.
        (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Correct logging typo.
        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Move updateStates call to 
            dispatchNotification.
        (WebCore::MediaPlayerPrivateAVFoundation::rateChanged): Ditto.
        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Ditto.
        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Call updateStates after
            processing "size changed" notification so we detect all state changes. Consolidate
            calls to updateStates here.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Name the video layer in
            a debug build.

2011-05-10  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Simon Fraser.

        Add containsFloats call to hasOverhangingFloats.
        https://bugs.webkit.org/show_bug.cgi?id=60537

        Test: fast/block/float/no-overhanging-float-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::repaintOverhangingFloats):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::hasOverhangingFloats):

2011-05-10  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Antonio Gomes.

        Warning fix on PluginPackage.cpp.
        https://bugs.webkit.org/show_bug.cgi?id=60371

        Warning fix on conversion from time_t to unsigned on Linux with GCC 4.6.0.
        Let's use a struct rather than an array so we can pass everything to StringHasher.

        * plugins/PluginPackage.cpp:
        (WebCore::PluginPackage::hash):

2011-05-10  Andreas Kling  <andreas.kling@nokia.com>

        Rubber-stamped by Csaba Osztrogonác.

        [Qt] Disable HAVE_QRAWFONT until Qt API stabilizes.
        https://bugs.webkit.org/show_bug.cgi?id=60551

        * WebCore.pro: Disable the line that enables HAVE_QRAWFONT
        if the feature is found. Added a comment about why.

2011-05-10  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Sam Weinig.

        Web Inspector: inspector/console/console-shadow-dom-access.html crashes on mac debug
        https://bugs.webkit.org/show_bug.cgi?id=60266

        * bindings/objc/DOM.mm:
        (kitClass): return DOMNode class for shadow root node


2011-05-10  Ben Murdoch  <benm@google.com>

        Reviewed by Steve Block.

        Fix build in WebCore/xml/XSLTProcessorLibxslt.cpp
        https://bugs.webkit.org/show_bug.cgi?id=60478

        No new tests), build fix only.

        * xml/XSLTProcessorLibxslt.cpp: Add CString.h include.

2011-05-10  Keith Kyzivat  <keith.kyzivat@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] QtRawFont support should check based on feature, not version
        https://bugs.webkit.org/show_bug.cgi?id=60513

        Build fix - no tests added.

        * WebCore.pro:

2011-05-10  Tony Gentilcore  <tonyg@chromium.org>

        Build fix: include ExceptionCode
        https://bugs.webkit.org/show_bug.cgi?id=60538

        * bindings/js/JSDOMBinding.cpp:

2011-05-06  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Adler.

        Fix some unnecessary includes in headers
        https://bugs.webkit.org/show_bug.cgi?id=60388

        These were all found using the include-what-you-use clang plugin.

        * css/CSSFontFaceSrcValue.h:
        * css/CSSImageGeneratorValue.h:
        * css/CSSParser.h:
        * css/CSSPrimitiveValueCache.cpp:
        * css/CSSPrimitiveValueCache.h:
        * css/CSSStyleSelector.cpp:
        * css/CSSStyleSelector.h:
        * css/RGBColor.cpp:
        * css/RGBColor.h:
        * dom/EventTarget.h:
        * dom/ExceptionBase.cpp:
        * dom/ExceptionBase.h:
        * dom/MessagePort.cpp:
        * dom/Range.cpp:
        * dom/Range.h:
        * dom/SelectElement.cpp:
        * dom/SelectElement.h:
        * dom/TextEvent.cpp:
        * dom/TextEvent.h:
        * dom/Touch.cpp:
        * dom/Touch.h:
        * dom/TouchEvent.cpp:
        * dom/TouchEvent.h:
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserScope.h:
        * editing/AppendNodeCommand.cpp:
        * editing/ApplyBlockElementCommand.h:
        * editing/DeleteFromTextNodeCommand.cpp:
        * editing/EditCommand.h:
        * editing/Editor.h:
        * editing/FormatBlockCommand.h:
        * editing/IndentOutdentCommand.h:
        * editing/InsertIntoTextNodeCommand.cpp:
        * editing/InsertNodeBeforeCommand.cpp:
        * editing/ReplaceSelectionCommand.h:
        * editing/SetNodeAttributeCommand.h:
        * html/HTMLSelectElement.h:
        * html/canvas/CanvasRenderingContext2D.cpp:
        * loader/appcache/DOMApplicationCache.cpp:
        * page/EventSource.cpp:
        * rendering/RenderListBox.cpp:
        * rendering/RenderMenuList.cpp:
        * rendering/RenderTextControlSingleLine.cpp:
        * rendering/svg/RenderSVGInlineText.cpp:
        * svg/SVGMatrix.h:
        * websockets/WebSocket.cpp:
        * workers/AbstractWorker.cpp:
        * xml/XMLHttpRequest.cpp:
        * xml/XPathExpression.cpp:

2011-05-10  MORITA Hajime  <morrita@google.com>

        Reviewed by Ryosuke Niwa.

        REGRESSION(r73886): Frequent crashes in replaceSelectionWithFragment
        https://bugs.webkit.org/show_bug.cgi?id=60090

        SpellChecker uses TextCheckerClient, which belongs Page object,
        which is possibly destroyed during SpellChecker's lifetime.
        This change added to a guard before using TextCheckerClient to
        ensure it being live.
        
        No new tests, this is a speculative fix for a real crash.

        * editing/Editor.cpp:
        (WebCore::Editor::Editor):
        * editing/SpellChecker.cpp:
        (WebCore::SpellChecker::SpellChecker):
        (WebCore::SpellChecker::client):
        (WebCore::SpellChecker::canCheckAsynchronously):
        (WebCore::SpellChecker::requestCheckingFor):
        * editing/SpellChecker.h:

2011-05-09  Dan Bernstein  <mitz@apple.com>

        Try to fix the LLVM Compiler build.

        * page/EventHandler.h:

2011-05-09  Daniel Cheng  <dcheng@chromium.org>

        Fix the build.

        Really add the file this time.

        * page/DragState.h: Added.
        (WebCore::DragState::DragState):

2011-05-09  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Tony Chang.

        Refactor RenderObject::draggableNode.
        https://bugs.webkit.org/show_bug.cgi?id=60503

        This patch lays the ground for refactoring the drag start logic. It moves draggableNode to
        DragController to avoid the awkward plumbing of calling DragController from RenderObject and
        also moves EventHandlerDragState out from EventHandler so it can be shared between
        EventHandler and DragController where appropriate.

        No new tests since there should be no behavior change.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/DragController.cpp:
        (WebCore::DragController::draggableNode):
        (WebCore::DragController::mayStartDragAtEventLocation):
        * page/DragController.h:
        * page/DragState.h: Added.
        (WebCore::DragState::DragState):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::dragState):
        (WebCore::EventHandler::eventMayStartDrag):
        (WebCore::EventHandler::handleDrag):
        * page/EventHandler.h:
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:

2011-05-09  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Darin Adler.

        Enable casting between CSSPrimitiveValue and FontWeight enum
        https://bugs.webkit.org/show_bug.cgi?id=60516

        No new tests added as no functionality changed.

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        Implement cast from FontWeight to CSSPrimitiveValue.
        (WebCore::CSSPrimitiveValue::operator FontWeight):
        Implement cast from CSSPrimitiveValue to FontWeight
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Use new cast to reduce code size.
        Flatten switch inside if.

2011-05-09  Simon Fraser  <simon.fraser@apple.com>

        Move IconURL.* into the dom grouping.

        * WebCore.xcodeproj/project.pbxproj:

2011-05-08  Jeremy Noble  <jer.noble@apple.com>

        Reviewed by Dan Bernstein.

        Full-screen video disappears behind black screen with scrollbar, followed by crash at jerryseinfeld.com
        https://bugs.webkit.org/show_bug.cgi?id=60449

        Make RenderFullScreen a non-anonymous block, so that it does not get deleted when a parent attempts to 
        coalesce anonymous children.

        Test: fullscreen/full-screen-remove-sibling.html

        * rendering/RenderObject.h:
        (WebCore::RenderObject::isAnonymousBlock):

2011-05-09  Jeremy Noble  <jer.noble@apple.com>

        Reviewed by Simon Fraser.

        REGRESSION (r84706): Crazy rendering of vimeo.com after exiting fullscreen video
        https://bugs.webkit.org/show_bug.cgi?id=60512

        Initialize m_containsFullScreenElement.

        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):

2011-05-09  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION(r86039): DragCaretController doesn't draw caret
        https://bugs.webkit.org/show_bug.cgi?id=60505

        Removed an early exit in setCaretPosition introduced by r86039.
        Also replaced calls to containerNode by deprecatedNode since rendering code doesn't
        support container node for rendering caret.

        * editing/FrameSelection.cpp:
        (WebCore::DragCaretController::setCaretPosition):

2011-04-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Untangle GtkAdjustments from WebCore
        https://bugs.webkit.org/show_bug.cgi?id=59821

        Completely remove the ability for WebKit to set GtkAdjustments on ScrollViews
        and, consequently, Scrollbars. Handling adjustment updates can now be managed
        in WebKit.

        No new tests. This is covered by existing Scrollbar tests.

        * platform/ScrollView.cpp: platformInit and platformDestroy can now be shared
        between ScrollView.cpp and ScrollViewGtk.cpp.
        * platform/ScrollView.h: Remove unused methods.
        * platform/gtk/MainFrameScrollbarGtk.cpp:
        (MainFrameScrollbarGtk::create): No longer need to pass in the adjustment.
        (MainFrameScrollbarGtk::MainFrameScrollbarGtk): Update the comments here.
        * platform/gtk/MainFrameScrollbarGtk.h: Lots of code removal.
        * platform/gtk/ScrollViewGtk.cpp: Ditto.
        (WebCore::ScrollView::createScrollbar): Ditto.
        (WebCore::ScrollView::setScrollbarModes): Ditto.
        * plugins/gtk/PluginViewGtk.cpp: This file needs the GRefPtrGtk.h include now
        that it doesn't receive it transitively.

2011-05-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        CSP should block Function constructor
        https://bugs.webkit.org/show_bug.cgi?id=60240

        Tests: http/tests/security/contentSecurityPolicy/function-constructor-allowed.html
               http/tests/security/contentSecurityPolicy/function-constructor-blocked.html

        * bindings/js/JSLazyEventListener.cpp:
        (WebCore::JSLazyEventListener::initializeJSFunction):
            - Update call site to the new entrypoint.
        * bindings/v8/V8LazyEventListener.cpp:
        (WebCore::V8LazyEventListener::prepareListenerObject):
            - Add some comments about the rediculousness of this implementation.

2011-05-09  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add RAII-style DenormalDisabler class to disable denormals which hurt audio performance
        https://bugs.webkit.org/show_bug.cgi?id=60396

        No new tests since audio API is not yet implemented.

        * WebCore.gypi:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/audio/DenormalDisabler.h: Added.
        (WebCore::DenormalDisabler::DenormalDisabler):
        (WebCore::DenormalDisabler::~DenormalDisabler):
        (WebCore::DenormalDisabler::getCSR):
        (WebCore::DenormalDisabler::setCSR):
        * webaudio/AudioDestinationNode.cpp:
        (WebCore::AudioDestinationNode::provideInput):

2011-05-09  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        Style cleanups in RenderFlexibleBox.cpp
        https://bugs.webkit.org/show_bug.cgi?id=60504

        No new tests, just refactoring.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::FlexBoxIterator::FlexBoxIterator): Use m_ for member variables, and
            use class initializer list.
        (WebCore::FlexBoxIterator::reset):
        (WebCore::FlexBoxIterator::next):
        (WebCore::RenderFlexibleBox::RenderFlexibleBox):
        (WebCore::marginWidthForChild): Pull out common code used in calc*PrefWidths
        (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
        (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
        (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
        (WebCore::RenderFlexibleBox::layoutBlock):
        (WebCore::gatherFlexChildrenInfo): Rewrite uses of FlexBoxIterator into for statements
            rather than while loops.
        (WebCore::RenderFlexibleBox::layoutHorizontalBox): ditto
        (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto
        (WebCore::RenderFlexibleBox::applyLineClamp):
        (WebCore::RenderFlexibleBox::allowedChildFlex): Rename variables w/h to width/height.

2011-05-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Ryosuke Niwa.

        Abstract line deletion code into a function
        https://bugs.webkit.org/show_bug.cgi?id=60501

        No change in behavior, thus no testing.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::deleteLineRange):
        (WebCore::RenderBlock::layoutRunsAndFloats):
        (WebCore::RenderBlock::determineStartPosition):
        (WebCore::RenderBlock::matchedEndLine):

2011-05-09  Darin Adler  <darin@apple.com>

        Cleared some stray executable bits on source files.

        * bindings/js/WorkerScriptDebugServer.cpp: Removed property svn:executable.
        * bindings/js/WorkerScriptDebugServer.h: Removed property svn:executable.

2011-05-09  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Darin Adler.

        radiogroup: onchange not detected when triggered by keyboard
        https://bugs.webkit.org/show_bug.cgi?id=32013

        Test: fast/forms/radio-group-keyboard-change-event.html

        * html/RadioInputType.cpp:
        (WebCore::RadioInputType::handleKeydownEvent): Ensure that we do not check the radio input before we simulate the click
            event. The simulated click event will check it for us but more importantly it will fire the "change" event as
            expected.

2011-05-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        XSSAuditor should be more selective about the <meta http-equivs> that it blocks
        https://bugs.webkit.org/show_bug.cgi?id=60489

        We don't need to filter most http-equiv attributes.  This patch
        introduces a blacklist for two that we probably do want to filter.
        It's possible a whitelist would be more appropriate, but I'm inclined
        to start with a blacklist and see how it works.

        This patch will hopefully fix a false positive that is causing errors
        with copy-and-pasted text in Gmail in some configurations (due to using
        the <meta> tag to request UTF-8 encoding both in the pasted text and in
        the page itself).

        * html/parser/XSSFilter.cpp:
        (WebCore::isNonCanonicalCharacter):
        (WebCore::canonicalize):
        (WebCore::isRequiredForInjection):
        (WebCore::hasName):
        (WebCore::findAttributeWithName):
        (WebCore::isNameOfInlineEventHandler):
        (WebCore::isDangerousHTTPEquiv):
            - This function is new in the patch and includes a blacklist of
              dangerous http-equivs.  Many of the other functions listed here
              are just being moved from an anonymous namespace to use static
              for internal linkage.
        (WebCore::containsJavaScriptURL):
        (WebCore::decodeURL):
        (WebCore::XSSFilter::eraseAttributeIfInjected):

2011-05-05  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        Remove canvas usage of roundToDevicePixels
        https://bugs.webkit.org/show_bug.cgi?id=60331

        No new tests. This could only affect canvases at non-integral scale factors. Our tests only run in 1.0x.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage):

2011-05-09  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] Fix the build on Embedded Linux.
        https://bugs.webkit.org/show_bug.cgi?id=60347        

        qpa is the name for lighthouse but the old name for Qt for Embedded Linux should
        still be used in order to build properly.

        * WebCore.pri:

2011-05-09  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Simple small-caps text is displayed in uniform size.
        https://bugs.webkit.org/show_bug.cgi?id=60492

        Covered by existing tests.

        * platform/graphics/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData): In the FontPlatformData constructor
        used by SimpleFontData::scaledFontData(), pass the pixel size to both QFont and QRawFont
        to make small caps and emphasis marks have the correct size when rendered through
        the fast font path.

2011-05-09  Andreas Kling  <kling@webkit.org>

        Reviewed by Tor Arne Vestbø.

        [Qt] Remove unused FontPlatformData functions.
        https://bugs.webkit.org/show_bug.cgi?id=60485

        * platform/graphics/qt/FontPlatformData.h:
        (WebCore::FontPlatformData::bold): Removed.
        (WebCore::FontPlatformData::family): Removed.
        (WebCore::FontPlatformData::italic): Removed.
        (WebCore::FontPlatformData::smallCaps): Removed.

2011-05-09  Robin Dunn  <robin@alldunn.com>

        Reviewed by Kevin Ollivier.

        [wx] Add invalid file handle check.
        
        https://bugs.webkit.org/show_bug.cgi?id=60483

        * platform/wx/FileSystemWx.cpp:
        (WebCore::closeFile):

2011-05-09  Robin Dunn  <robin@alldunn.com>

        Reviewed by Kevin Ollivier.

        [wx] Update the popup menu code to grab the native control and initialize the
        event handler properly.
        
        https://bugs.webkit.org/show_bug.cgi?id=60482

        * platform/wx/PopupMenuWx.cpp:
        (WebCore::PopupMenuWx::PopupMenuWx):
        (WebCore::PopupMenuWx::~PopupMenuWx):
        (WebCore::PopupMenuWx::show):

2011-05-09  Robin Dunn  <robin@alldunn.com>

        Reviewed by Kevin Ollivier.

        [wx] Make sure other controls adjust the rect to handle transforms, and turn off the
        adjustment in 2.9.2+ where it is handled internally by wx.
        
        Also add a couple drawing and focus handling fixes for text fields and menulist controls.
        
        https://bugs.webkit.org/show_bug.cgi?id=60481

        * platform/wx/RenderThemeWx.cpp:
        (WebCore::getAdjustedRect):
        (WebCore::RenderThemeWx::supportsFocus):
        (WebCore::RenderThemeWx::paintButton):
        (WebCore::RenderThemeWx::adjustTextFieldStyle):
        (WebCore::RenderThemeWx::paintTextField):
        (WebCore::RenderThemeWx::adjustMenuListStyle):
        (WebCore::RenderThemeWx::paintMenuList):
        (WebCore::RenderThemeWx::paintMenuListButton):

2011-05-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Adler.

        Style fix: Function names must begin with lowercase letter and should not use "get".
        https://bugs.webkit.org/show_bug.cgi?id=60475

        * dom/Document.cpp:
        (WebCore::Document::webkitVisibilityState):
        * page/PageVisibilityState.cpp:
        (WebCore::pageVisibilityStateString): Renamed.
        * page/PageVisibilityState.h:

2011-05-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Tony Gentilcore.

        Make Chromium build with strict PassOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=60461

        Fix many, many PassOwnPtr nits.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::precompileScript):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8MessageEventCustom.cpp:
        (WebCore::V8MessageEvent::initMessageEventCallback):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):
        * dom/Document.cpp:
        (WebCore::Document::removedLastRef):
        (WebCore::Document::detach):
        * fileapi/DOMFileSystem.h:
        (WebCore::DOMFileSystem::scheduleCallback):
        * fileapi/FileSystemCallbacks.cpp:
        (WebCore::FileSystemCallbacks::didOpenFileSystem):
        (WebCore::ResolveURICallbacks::didOpenFileSystem):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayer::create):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::createRenderSurface):
        * platform/graphics/gpu/BicubicShader.cpp:
        (WebCore::BicubicShader::create):
        * platform/graphics/gpu/ConvolutionShader.cpp:
        (WebCore::ConvolutionShader::create):
        * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
        (WebCore::LoopBlinnSolidFillShader::create):
        * platform/graphics/gpu/SolidFillShader.cpp:
        (WebCore::SolidFillShader::create):
        * platform/graphics/gpu/TexShader.cpp:
        (WebCore::TexShader::create):
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::Texture::create):
        * storage/chromium/DatabaseTrackerChromium.cpp:
        (WebCore::TrackerRemoveOpenDatabaseTask::create):
        * storage/chromium/SQLTransactionClientChromium.cpp:
        (WebCore::NotifyDatabaseChangedTask::create):

2011-05-07  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Daniel Bates.

        [Soup] Clean up error handling in ResourceHandleSoup
        https://bugs.webkit.org/show_bug.cgi?id=60436

        Instead of repeating the ResourceError creation twice, abstract
        it into a helper method.

        No new tests. This is a code cleanup.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::soupErrorShouldCauseLoadFailure): Added.
        (WebCore::convertSoupErrorToResourceError): Added.
        (WebCore::sendRequestCallback): Use the new helpers.
        (WebCore::readCallback): Ditto.

2011-05-09  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Regression(r85869): Restore dirty line logic in RenderInline::destroy.
        https://bugs.webkit.org/show_bug.cgi?id=60448

        Test: fast/inline/inline-destroy-dirty-lines-crash.html

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::destroy):

2011-05-09  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] WidgetGtk setFocus can not access directly the widget in WK2
        https://bugs.webkit.org/show_bug.cgi?id=60016

        Added code to check the situation where we do not have direct
        access to the widget. We use the page to grab the focus which
        would send a request to the UIProcess in WK2.

        * platform/gtk/WidgetGtk.cpp:
        (WebCore::Widget::setFocus):

2011-05-09  Leandro Gracia Gil  <leandrogracia@chromium.org>

        Reviewed by Tony Gentilcore.

        Media Stream API: add exception raising to the getUserMedia method.
        https://bugs.webkit.org/show_bug.cgi?id=60387

        Perform the required changes to support rising exceptions in the
        navigator.getUserMedia method. This is required by the latest changes in the spec:
        http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dom-navigator-getusermedia

        Test: fast/dom/MediaStream/argument-types.html

        * bindings/js/JSNavigatorCustom.cpp:
        (WebCore::JSNavigator::webkitGetUserMedia):
        * bindings/v8/custom/V8NavigatorCustom.cpp:
        (WebCore::V8Navigator::webkitGetUserMediaCallback):
        * page/Navigator.cpp:
        (WebCore::Navigator::webkitGetUserMedia):
        * page/Navigator.h:
        * page/Navigator.idl:

2011-05-09  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed Qt 4.8 fix.

        * WebCore.pro: 4.8 bots are updated with the full QRawFont APIs, so we can set HAVE_QRAWFONT now.

2011-05-09  Adam Roben  <aroben@apple.com>

        Windows project file fix after r86047

        * WebCore.vcproj/WebCore.vcproj: Added missing closing tags.

2011-05-06  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Darin Adler.

        Fix layer names to say "tiled" and show CALayer addresses, not PlatformCALayer addresses
        https://bugs.webkit.org/show_bug.cgi?id=60417

        Layer name now has "Tiled" prepended if it is a TiledLayer. This is true on Mac where
        the layer is a CATiledLayer and on Win where the layer is actually still a CACFLayer
        but implements a tiled layer. I also now print the address of the CALayer or CACFLayer
        instead of the PlatformCALayer everywhere.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):

2011-05-09  Rob Buis  <rbuis@rim.com>

        Reviewed by Dirk Schulze.

        Elements should assert that the QualifiedName given to their constructor corresponds to the Element constructed
        https://bugs.webkit.org/show_bug.cgi?id=22576

        Add tag name ASSERTs in SVG Element constructors.

        No new tests, since no change in behaviour.

        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::SVGAElement):
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
        * svg/SVGAnimateColorElement.cpp:
        (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        * svg/SVGAnimateMotionElement.cpp:
        (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
        * svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
        * svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::SVGCircleElement):
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::SVGClipPathElement):
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::SVGCursorElement):
        * svg/SVGDefsElement.cpp:
        (WebCore::SVGDefsElement::SVGDefsElement):
        * svg/SVGDescElement.cpp:
        (WebCore::SVGDescElement::SVGDescElement):
        * svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::SVGEllipseElement):
        * svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
        * svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
        * svg/SVGFEConvolveMatrixElement.cpp:
        (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
        * svg/SVGFEDistantLightElement.cpp:
        (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
        * svg/SVGFEDropShadowElement.cpp:
        (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
        * svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::SVGFEFloodElement):
        * svg/SVGFEFuncAElement.cpp:
        (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
        * svg/SVGFEFuncBElement.cpp:
        (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
        * svg/SVGFEFuncGElement.cpp:
        (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
        * svg/SVGFEFuncRElement.cpp:
        (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
        * svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::SVGFEImageElement):
        * svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::SVGFEMergeElement):
        * svg/SVGFEMergeNodeElement.cpp:
        (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
        * svg/SVGFEMorphologyElement.cpp:
        (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
        * svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
        * svg/SVGFEPointLightElement.cpp:
        (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
        * svg/SVGFESpotLightElement.cpp:
        (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
        * svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::SVGFETileElement):
        * svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
        * svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::SVGFilterElement):
        * svg/SVGFontElement.cpp:
        (WebCore::SVGFontElement::SVGFontElement):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
        * svg/SVGFontFaceFormatElement.cpp:
        (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
        * svg/SVGFontFaceNameElement.cpp:
        (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
        * svg/SVGFontFaceSrcElement.cpp:
        (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
        * svg/SVGFontFaceUriElement.cpp:
        (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
        * svg/SVGGElement.cpp:
        (WebCore::SVGGElement::SVGGElement):
        * svg/SVGGlyphElement.cpp:
        (WebCore::SVGGlyphElement::SVGGlyphElement):
        * svg/SVGHKernElement.cpp:
        (WebCore::SVGHKernElement::SVGHKernElement):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::SVGImageElement):
        * svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::SVGLineElement):
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
        * svg/SVGMPathElement.cpp:
        (WebCore::SVGMPathElement::SVGMPathElement):
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        * svg/SVGMetadataElement.cpp:
        (WebCore::SVGMetadataElement::SVGMetadataElement):
        * svg/SVGMissingGlyphElement.cpp:
        (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
        * svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::SVGPathElement):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        * svg/SVGPolygonElement.cpp:
        (WebCore::SVGPolygonElement::SVGPolygonElement):
        * svg/SVGPolylineElement.cpp:
        (WebCore::SVGPolylineElement::SVGPolylineElement):
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
        * svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::SVGRectElement):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        * svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::SVGScriptElement):
        * svg/SVGSetElement.cpp:
        (WebCore::SVGSetElement::SVGSetElement):
        * svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::SVGStopElement):
        * svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::SVGStyleElement):
        * svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::SVGSwitchElement):
        * svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::SVGSymbolElement):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::SVGTRefElement):
        * svg/SVGTSpanElement.cpp:
        (WebCore::SVGTSpanElement::SVGTSpanElement):
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::SVGTextElement):
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::SVGTextPathElement):
        * svg/SVGTitleElement.cpp:
        (WebCore::SVGTitleElement::SVGTitleElement):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::SVGUseElement):
        * svg/SVGVKernElement.cpp:
        (WebCore::SVGVKernElement::SVGVKernElement):
        * svg/SVGViewElement.cpp:
        (WebCore::SVGViewElement::SVGViewElement):

2011-05-09  Shishir Agrawal  <shishir@chromium.org>

        Reviewed by Tony Gentilcore.

        Implement Page Visibility API.
        https://bugs.webkit.org/show_bug.cgi?id=54181

        Tests: fast/events/page-visibility-iframe-delete-test.html
               fast/events/page-visibility-iframe-move-test.html
               fast/events/page-visibility-iframe-propagation-test.html
               fast/events/page-visibility-transition-test.html

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::visibilityState):
        (WebCore::Document::webkitVisibilityState):
        (WebCore::Document::webkitIsVisible):
        (WebCore::Document::dispatchVisibilityStateChangeEvent):
        * dom/Document.h:
        * dom/Document.idl:
        * dom/EventNames.h:
        * page/Frame.cpp:
        (WebCore::Frame::dispatchVisibilityStateChangeEvent):
        * page/Frame.h:
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::setVisibilityState):
        (WebCore::Page::visibilityState):
        * page/Page.h:
        * page/PageVisibilityState.cpp: Added.
        (WebCore::GetPageVisibilityStateString):
        * page/PageVisibilityState.h: Added.

2011-05-09  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Implement expanding CSS border properties in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=60456

        No new tests added as no functionality changed.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        Create CSS border expanding property handlers.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Remove property handlers that are no longer needed.

2011-05-08  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Kent Tamura.

        selectstart event does not fire when selection is made via select all
        https://bugs.webkit.org/show_bug.cgi?id=60376

        Fire selectstart event when a user selects all contents (i.e. document.execCommand('SelectAll')) in
        document, editable region, or text control.

        Tests: editing/selection/selectstart-on-selectall.html
               editing/selection/selectstart-prevent-selectall.html

        * dom/Node.h: Removed canSelectAll and selectAll as they are left over from WMLSelectElement.
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::selectAll): Dispatch selectstart event on selectStartTarget, which is
        input element or textarea element when the current selection is inside a shadow DOM, and the root
        editable element if it's inside a non-shadow editable region, and the body element otherwise.
        * html/HTMLSelectElement.h: Made canSelectAll and selectAll public since they are no longer
        declared in Node.

2011-05-08  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Make RenderStyle::setColumnBreakInside() reject unsupported enum values.
        https://bugs.webkit.org/show_bug.cgi?id=60249

        No new tests added as no functionality changed.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Remove special-case code and use appropriate macro.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setColumnBreakInside):
        Assert that supported values are used.

2011-05-08  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Extract a DragCaretController from FrameSelection
        https://bugs.webkit.org/show_bug.cgi?id=60273

        Extracted CaretBase and DragCaretController from FrameSelection. CaretBase is a base class for
        DragCaretController and FrameSelection and provides functions to paint caret.

        Since DragCaretController doesn't need to store selection, it only holds one VisiblePosition.

        * WebCore.exp.in:
        * editing/FrameSelection.cpp:
        (WebCore::CaretBase::CaretBase): Added.
        (WebCore::DragCaretController::DragCaretController): Added; Set m_caretVisible true.
        (WebCore::DragCaretController::isContentRichlyEditable): Added.
        (WebCore::FrameSelection::FrameSelection): Several member variables are move to CaretBase.
        (WebCore::DragCaretController::setCaretPosition): Extracted from FrameSelection::setSelection.
        (WebCore::FrameSelection::setSelection): Removed an early exit for DragCaretController.
        (WebCore::clearRenderViewSelection): Extracted from FrameSelection::respondToNodeModification.
        (WebCore::DragCaretController::nodeWillBeRemoved): Extracted from FrameSelection::nodeWillBeRemoved
        and respondToNodeModification. Note that the position DragCaretController holds is equivalent to
        FrameSelection's base or start so when removingNodeRemovesPosition returns true for m_position,
        we used to execute the first if clause and cleared render tree selection and DOM tree selection.
        This is exactly what new DragCaretController::nodeWillBeRemoved does.
        (WebCore::FrameSelection::nodeWillBeRemoved): Simplified early exist conditions.
        (WebCore::FrameSelection::respondToNodeModification): Calls clearRenderViewSelection.
        (WebCore::CaretBase::updateCaretRect): Takes document, caretPosition, selection type, and boolean isOrphaned.
        Note that we can't obtain the document from caretPosition because VisiblePosition can be null even if
        FrameSelection's start was not null.
        (WebCore::caretRendersInsideNode): Moved; Made static local.
        (WebCore::CaretBase::caretRenderer): Extracted from FrameSelection::caretRenderer.
        (WebCore::FrameSelection::caretRenderer): Calls CaretBase::caretRenderer.
        (WebCore::DragCaretController::caretRenderer): Ditto.
        (WebCore::FrameSelection::localCaretRect): Calls updateCaretRect with extra arguments.
        (WebCore::CaretBase::absoluteBoundsForLocalRect): Moved from FrameSelection; Takes Node*.
        (WebCore::CaretBase::caretRepaintRect): Ditto.
        (WebCore::FrameSelection::recomputeCaretRect): Calls absoluteBoundsForLocalRect, caretRepaintRect,
        and shouldRepaintCaret with extra arguments.
        (WebCore::CaretBase::shouldRepaintCaret): Takes a boolean isContentEditable.
        (WebCore::FrameSelection::invalidateCaretRect): Calls CaretBase::invalidateCaretRect.
        (WebCore::CaretBase::invalidateCaretRect): Extracted from FrameSelection::invalidateCaretRect.
        (WebCore::FrameSelection::paintCaret): Calls CaretBase::paintCaret.
        (WebCore::CaretBase::paintCaret): Extracted from FrameSelection::paintCaret.
        (WebCore::FrameSelection::updateAppearance): Removed an assertion that this function is never called for
        DragCaretController.
        (WebCore::DragCaretController::paintDragCaret): Moved from FrameSelection::paintDragCaret.
        * editing/FrameSelection.h:
        (WebCore::CaretBase::localCaretRectForPainting): Added.
        (WebCore::DragCaretController::isContentEditable): Added.
        (WebCore::DragCaretController::hasCaret): Added.
        (WebCore::DragCaretController::caretPosition): Added.
        (WebCore::DragCaretController::clear): Added.
        * page/DragController.cpp:
        (WebCore::DragController::tryDocumentDrag): Uses DragCaretController.
        (WebCore::DragController::dispatchTextInputEventFor): Ditto.
        (WebCore::DragController::concludeEditDrag): Ditto.
        (WebCore::DragController::placeDragCaret): Ditto.
        * page/Page.cpp:
        (WebCore::Page::Page): Instantiates DragCaretController instead of FrameSelection.
        * page/Page.h:
        (WebCore::Page::dragCaretController): Returns DragCaretController* instead of FrameSelection*.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintCaret): Uses FrameSelection and DragCaretController.

2011-05-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/9401853> REGRESSION (r78846): Insufficient expansion for justification when there are multiple inline boxes
        https://bugs.webkit.org/show_bug.cgi?id=60432

        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::setExpansion): Changed back to take a int, since the m_expansion member
        variable is a (truncated) int anyway.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::computeExpansionForJustifiedText): Changed the expansion local variable into an int
        so that the right amount is added to the total width. Also changed to use an early return.

2011-05-08  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: ignore 0 responses in the inspector network instrumentation.

        * inspector/front-end/NetworkManager.js:

2011-05-08  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsContext3D::getImageData() does not retrieve image data correctly
        https://bugs.webkit.org/show_bug.cgi?id=58556

        Tests: fast/canvas/webgl/gl-teximage.html

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2011-05-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Maciej Stachowiak.

        <rdar://problem/9403055> REGRESSION (r85499): Inline images in iChat overflow their chat bubbles
        https://bugs.webkit.org/show_bug.cgi?id=60443

        Test: fast/replaced/table-percent-height-positioned.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Do not apply the logic to prevent precent-height
        replaced elements from being squeezed by table cells when the replaced element is positioned (and thus
        doesn’t affect the table cell’s height).

2011-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r86016.
        http://trac.webkit.org/changeset/86016
        https://bugs.webkit.org/show_bug.cgi?id=60445

        caused crashes on the WK2 Windows bots (Requested by
        jessieberlin on #webkit).

        * platform/network/ResourceHandle.h:
        * platform/network/cf/CookieStorageCFNet.cpp:
        (WebCore::currentCookieStorage):
        (WebCore::defaultCookieStorage):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::willSendRequest):
        (WebCore::makeFinalRequest):
        (WebCore::ResourceHandle::willSendRequest):
        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):

2011-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r85974.
        http://trac.webkit.org/changeset/85974
        https://bugs.webkit.org/show_bug.cgi?id=60444

        broke browser tests (Requested by inferno-sec on #webkit).

        * platform/network/chromium/ResourceResponse.cpp:
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):
        * platform/network/chromium/ResourceResponse.h:
        (WebCore::ResourceResponse::downloadFilePath):
        (WebCore::ResourceResponse::setDownloadFilePath):

2011-05-07  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Steve Falkenburg.

        [Windows WebKit2] Use cookies set in WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=60274

        Share the default storage session between the UI and Web Processes.

        * platform/network/cf/CookieStorageCFNet.cpp:
        (WebCore::defaultSessionCookieStorage):
        Keep track of the default storage session cookie storage.
        (WebCore::currentCookieStorage):
        Call defaultCookieStorage to get the default cookie storage.
        (WebCore::defaultCookieStorage):
        If there is a default storage session cookie storage, prefer that over getting the default
        cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
        without specifying a storage session will not get the cookie storage being shared by the UI
        and Web Processes.

        * platform/network/ResourceHandle.h:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::willSendRequest):
        Make sure to set the current storage session on any requests used by the Web
        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
        doing anything with the Web Process's default storage session (which is not the one shared
        with the UI Process).
        (WebCore::makeFinalRequest):
        Ditto.
        (WebCore::ResourceHandle::willSendRequest):
        Ditto.
        (WebCore::ResourceHandle::currentStorageSession):
        If there is a Private Browsing storage session, return that.
        If not, on Windows return the default storage session that is being shared with the UI
        Process and on Mac return 0.
        (WebCore::defaultCFURLStorageSession):
        (WebCore::ResourceHandle::setDefaultStorageSession):
        (WebCore::ResourceHandle::defaultStorageSession):

        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        Make sure to set the current storage session on any requests used by the Web
        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
        doing anything with the Web Process's default storage session (which is not the one shared
        with the UI Process).

2011-05-07  Joe Mason  <jmason@rim.com>

        Reviewed by Daniel Bates.

        FrameLoader::isProcessingUserGesture is wrong in dispatchWillPerformClientRedirect
        https://bugs.webkit.org/show_bug.cgi?id=52211

        Create a UserGestureIndicator when calling the clientRedirected callback.

        * loader/NavigationScheduler.cpp:
        (WebCore::ScheduledURLNavigation::didStartTimer):
        (WebCore::ScheduledURLNavigation::didStopTimer):
        (WebCore::ScheduledFormSubmission::didStartTimer):
        (WebCore::ScheduledFormSubmission::didStopTimer):

2011-05-06  Jon Lee  <jonlee@apple.com>

        Reviewed by Alice Liu.

        Crash when sending a wheel event to a node with no shadow ancestor node
        https://bugs.webkit.org/show_bug.cgi?id=60429
        <rdar://problem/9389619>

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleWheelEvent):add check to see if the shadow ancestor node of the node that was under the mouse exists before trying to dispatch the wheel event to it.

2011-05-06  Kent Tamura  <tkent@chromium.org>

        Reviewed by Ryosuke Niwa.

        Eliminate WebCore/dom/InputElement.{cpp,h}
        https://bugs.webkit.org/show_bug.cgi?id=60262

        - Fold in all of the code of InputElement.{cpp,h} into HTMLInputElement
          and TextFieldInputType.
        - Change the return type of Node::toInputElement():
          InputElement* -> HTMLInputElement*

        No new tests. This change should not change the existing behaviour.

        * CMakeLists.txt: Remove InpuntElement.cpp and/or InputElement.h.
        * GNUmakefile.list.am: ditto.
        * WebCore.exp.in: Add symbols of functions exposed to WebKit.
        * WebCore.gypi: Remove InpuntElement.cpp and/or InputElement.h.
        * WebCore.pro: ditto.
        * WebCore.vcproj/WebCore.vcproj: ditto.
        * WebCore.xcodeproj/project.pbxproj: ditto.
        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
          Follow the return type change of Node::toInputElement().
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isPasswordField): ditto.
        (WebCore::AccessibilityRenderObject::isIndeterminate): ditto.
        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio): ditto.
        (WebCore::AccessibilityRenderObject::isChecked): ditto.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement): ditto.
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto.
        * dom/CheckedRadioButtons.cpp:
        (WebCore::CheckedRadioButtons::removeButton): ditto.
        * dom/DOMAllInOne.cpp: Remove InputElement.h.
        * dom/InputElement.cpp: Removed.
        * dom/InputElement.h: Removed.
        * dom/Node.cpp:
        (WebCore::Node::toInputElement):
          Change the return type from InputElement* to HTMLInputElement*.
        * dom/Node.h: ditto.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::HTMLInputElement):
        (WebCore::HTMLInputElement::formControlName):
        (WebCore::HTMLInputElement::tooLong):
        (WebCore::HTMLInputElement::updateFocusAppearance):
        (WebCore::HTMLInputElement::aboutToUnload):
        (WebCore::HTMLInputElement::handleFocusEvent):
        (WebCore::HTMLInputElement::handleBlurEvent):
        (WebCore::HTMLInputElement::updateType):
        (WebCore::HTMLInputElement::parseMappedAttribute):
        (WebCore::HTMLInputElement::size):
        (WebCore::HTMLInputElement::copyNonAttributeProperties):
        (WebCore::HTMLInputElement::value):
        (WebCore::HTMLInputElement::suggestedValue):
        (WebCore::HTMLInputElement::setSuggestedValue):
        (WebCore::HTMLInputElement::setValue):
        (WebCore::HTMLInputElement::setValueFromRenderer):
        (WebCore::HTMLInputElement::setFileListFromRenderer):
        (WebCore::HTMLInputElement::setDefaultName):
        (WebCore::HTMLInputElement::maxLength):
        (WebCore::HTMLInputElement::cacheSelection):
        (WebCore::formatCodes): Moved from InputElement.
        (WebCore::cursorPositionToMaskIndex): ditto.
        (WebCore::HTMLInputElement::isConformToInputMask): ditto.
        (WebCore::HTMLInputElement::validateInputMask): ditto.
        (WebCore::HTMLInputElement::setWapInputFormat): ditto.
        (WebCore::HTMLInputElement::notifyFormStateChanged): ditto.
        (WebCore::HTMLInputElement::parseMaxLengthAttribute): ditto.
        (WebCore::HTMLInputElement::updateValueIfNeeded):ditto.
        * html/HTMLInputElement.h:
          - Add data members which were defined in InputElementData.
          - Make some functions public because the public interface InputElement is removed.
          - Make some functions non-virtual because they don't override
            corresponding virtual functions of InputElement anymore.
        (WebCore::HTMLInputElement::toInputElement):
          Follow the return type change of Node::toInputElement().
        (WebCore::HTMLInputElement::isIndeterminate):
        (WebCore::HTMLInputElement::isAutofilled):
        (WebCore::HTMLInputElement::supportsMaxLength):
        (WebCore::HTMLInputElement::cachedSelectionStart):
        (WebCore::HTMLInputElement::cachedSelectionEnd):
        * html/HTMLTextAreaElement.cpp: Remove unused InputElement.h.
        * html/InputType.cpp:
        (WebCore::InputType::handleBeforeTextInsertedEvent): Remove the code.
        * html/InputType.h: Update for the above.
        * html/TextFieldInputType.cpp:
        (WebCore::replaceEOLAndLimitLength): Moved from InputElement.cpp.
        (WebCore::TextFieldInputType::sanitizeValue): Implement with replaceEOLAndLimitLength().
        (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
          Move the code from InputElement::handleBeforeTextInsertedEvent().
        * html/TextFieldInputType.h: Update declarations.
        * rendering/RenderTextControlSingleLine.cpp:
          - Remove ASSERT(node()->isHTMLElement()) because it is checked in the constructor.
          - Follow the return type change of inputElement().
        (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
          Make sure node() is an HTMLInputElement instance.
        (WebCore::RenderTextControlSingleLine::addSearchResult):
        (WebCore::RenderTextControlSingleLine::stopSearchEventTimer):
        (WebCore::RenderTextControlSingleLine::showPopup):
        (WebCore::RenderTextControlSingleLine::hidePopup):
        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
        (WebCore::RenderTextControlSingleLine::updateFromElement):
        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
        (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
        (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
        (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle):
        (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle):
        (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
        (WebCore::RenderTextControlSingleLine::visibilityForCancelButton):
        (WebCore::RenderTextControlSingleLine::startSearchEventTimer):
        (WebCore::RenderTextControlSingleLine::searchEventTimerFired):
        (WebCore::RenderTextControlSingleLine::valueChanged):
        (WebCore::RenderTextControlSingleLine::setTextFromItem):
        (WebCore::RenderTextControlSingleLine::inputElement):
        * rendering/RenderTextControlSingleLine.h:
          Change the return type of inputElement(): InputElement* -> HTMLInputElement*.
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::isChecked):
          Follow the return type change of Node::toInputElement().
        (WebCore::RenderTheme::isIndeterminate): ditto.
        (WebCore::RenderTheme::shouldHaveSpinButton):
          Change the parameter type: InputElement* -> HTMLInputElement*.
        * rendering/RenderTheme.h: ditto.

2011-05-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Implement "Report-Only" mode for CSP
        https://bugs.webkit.org/show_bug.cgi?id=60402

        This mode lets web sites try out CSP by getting violation reports (and
        console spam) without actually changing the behavior of their web sites.

        Test: http/tests/security/contentSecurityPolicy/report-only.html

        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didBeginDocument):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
        (WebCore::ContentSecurityPolicy::didReceiveHeader):
        (WebCore::ContentSecurityPolicy::reportViolation):
        (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation):
        (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation):
        (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
        * page/ContentSecurityPolicy.h:

2011-05-06  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=60421
        Custom scrollbars nested inside an overlay scrollbar overflow region end up 
        painting twice
        -and corresponding-
        <rdar://problem/9389072>

        Be sure not to paint custom css scrollbars during the special overlay-scrollbar 
        painting pass.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintOverflowControls):

2011-05-06  Cary Clark  <caryclark@google.com>

        Reviewed by Eric Seidel.

        Add utility for converting SkCanvas to CGContext
        https://bugs.webkit.org/show_bug.cgi?id=59808

        Skia on Mac uses Skia to render WebKit, and CG 
        to render UI elements. The CG elements need a 
        transcribed graphics context that preserves the 
        canvas matrix, and the canvas clip. 

        The BitLockerSkia utility class sets up a CGContext 
        from the SkCanvas, locks the bitmap's bits, and 
        releases the lock when the class goes out of scope. 

        Each time the CGContext is retrieved, it is rebuilt. 
        This permits the caller to modify the same canvas 
        between calls. 

        This change adds utilities but does not modify any 
        existing code. For now, there are no callers to these 
        utilities, so there is no functional change.

        No new tests.

        * platform/graphics/skia/BitLockerSkia.cpp: Added.
        (WebCore::SkMatrixToCGAffineTransform): Conversion utility.
        (WebCore::BitLockerSkia::BitLockerSkia): Takes SkCanvas.
        (WebCore::BitLockerSkia::~BitLockerSkia): Unlocks, cleans up.
        (WebCore::BitLockerSkia::release): Internal private helper.
        (WebCore::BitLockerSkia::cgContext): Returns CGContextRef.
        * platform/graphics/skia/BitLockerSkia.h: Added.

2011-05-06  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] [WebKit2] WebView::windowToScreen needs an implementation
        https://bugs.webkit.org/show_bug.cgi?id=55960

        Abstract coordinate system translation code from WebKit into WebCore.
        This will allow the code to be shared between WebKit and WebKit2. The code
        now lives in a new GtkUtilities.cpp helper file.

        * GNUmakefile.list.am: Added GtkUtilities to the source list.
        * platform/gtk/GtkUtilities.cpp: Added.
        (WebCore::convertWidgetRectToScreenRect):
        * platform/gtk/GtkUtilities.h: Added.

2011-05-06  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        Remove some unnecessary static methods in ResourceHandleSoup.

        No new tests. This is only a small cleanup.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::restartedCallback): Call ResourceResponse::updateFromSoupMessage directly.
        (WebCore::gotHeadersCallback):Ditto.
        (WebCore::contentSniffedCallback):Ditto.
        (WebCore::sendRequestCallback):Ditto.
        (WebCore::ResourceHandle::defaultSession): Create the soup session directly.

2011-05-06  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [Soup] ResourceHandles are leaked on 304 responses
        https://bugs.webkit.org/show_bug.cgi?id=60413

        Always call cleanupSoupRequestOperation, even when the request was not
        canceled. Before the code would call didFinishLoading and then never clean up
        the request.

        No new tests. This simply fixes a memory leak.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::sendRequestCallback):

2011-05-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add disable-javascript-urls CSP directive
        https://bugs.webkit.org/show_bug.cgi?id=60301

        This CSP directive is not in the CSP spec.  This patch is somewhat of
        an experiment to see whether this feature is useful.  Based on our
        implementation experience, we will coordinate with folks via the W3C to
        see if this makes sense to add to the spec.

        Test: http/tests/security/contentSecurityPolicy/javascript-urls-blocked.html

        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
        (WebCore::ContentSecurityPolicy::addDirective):
        * page/ContentSecurityPolicy.h:

2011-05-06  Brett Wilson  <brettw@chromium.org>

        Reviewed by Adam Barth.

        Use a File object to store the downloaded file reference rather than
        just the path. This keeps the file and permissions in scope (using the
        already-existing blob system) so the browser won't delete the file
        when the load is complete. Instead, the file will be cleaned up when
        the request objects are deleted.
        https://bugs.webkit.org/show_bug.cgi?id=60281

        * platform/network/chromium/ResourceResponse.cpp:
        (WebCore::ResourceResponse::doPlatformCopyData):
        (WebCore::ResourceResponse::doPlatformAdopt):
        * platform/network/chromium/ResourceResponse.h:
        (WebCore::ResourceResponse::downloadedFile):
        (WebCore::ResourceResponse::setDownloadedFile):

2011-05-06  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Darin Adler.

        Fix two warnings of unused variables.
        https://bugs.webkit.org/show_bug.cgi?id=60370

        Remove two unused local variable from the code.

        No new tests, the existing ones should cover.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::calculateNextProgressTime):

2011-05-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Wire up CSP's eval blocking to V8's new API
        https://bugs.webkit.org/show_bug.cgi?id=60384

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::disableEval):

2011-05-06  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=60398 (<rdar://problem/9307696>)
        REGRESSION (r81684?): cox.com sign in button is missing
        
        Fix a typo in r81684 where the ascent was used in a comparison instead of boxHeight.
        This restores the original behavior before the refactoring messed it up.

        Added fast/inline/nested-top-alignment.html

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::computeLogicalBoxHeights):

2011-05-06  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=60390 (<rdar://problem/9364449>)
        REGRESSION (r81992): portions of ticketmaster site render blank

        Make simplified layout skip from a positioned object out to its containing block.  There is no
        need to dirty the intermediate inlines, and in this case it's actively harmful, since the
        block responsible for the layout of the positioned object doesn't get m_posChildNeedsLayout set.

        Added fast/block/positioning/hiding-inside-relpositioned-inline.html

        * rendering/RenderObject.h:
        (WebCore::RenderObject::markContainingBlocksForLayout):

2011-05-06  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: move selection test into the text area branch.

        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._contextMenu):

2011-05-04  Adrienne Walker  <enne@google.com>

        Reviewed by James Robinson.

        [chromium] Fix incorrect scissor rect for layers that render into a rendersurface
        https://bugs.webkit.org/show_bug.cgi?id=59020

        Allow for empty scissor rects, which implies scissoring to the render
        surface. The previous code and previous patch on this bug both didn't
        take into account that the scissor rect should be the render surface
        and not the projection of the layer itself, because child layers
        aren't necessarily contained within the bounds of their superlayer.

        Test: compositing/flat-with-transformed-child.html

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::paintLayerContents):
        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
        (WebCore::LayerRendererChromium::drawLayer):
        (WebCore::LayerRendererChromium::setScissorToRect):

2011-05-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Lazily allocate ScrollAnimator in ScrollableArea
        https://bugs.webkit.org/show_bug.cgi?id=60327

        Avoid allocating the ScrollAnimator up-front, because we
        create lots of ScrollableAreas via RenderLayer, and we should
        only need the animator when scrolling.

        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::ScrollableArea):
        (WebCore::ScrollableArea::scrollAnimator):
        (WebCore::ScrollableArea::scroll):
        (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
        (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation):
        (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation):
        (WebCore::ScrollableArea::handleWheelEvent):
        (WebCore::ScrollableArea::handleGestureEvent):
        * platform/ScrollableArea.h:

2011-05-06  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r77954): HTTP Live Streams have incorrect controller UI
        https://bugs.webkit.org/show_bug.cgi?id=60304
        <rdar://problem/9392609>

        Don't assume that the only time the media controls UI may need to change is on a 
        network state change, readyState changes can be significant as well.

        Tested manually because we don't have any live streams to test in DRT.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setNetworkState): changedNetworkState -> updateStatusDisplay.
        (WebCore::HTMLMediaElement::setReadyState): Call updateStatusDisplay.

        * html/shadow/MediaControlRootElement.cpp:
        (WebCore::MediaControlRootElement::reset): changedNetworkState -> updateStatusDisplay.
        (WebCore::MediaControlRootElement::updateStatusDisplay): Ditto.
        * html/shadow/MediaControlRootElement.h:

        * html/shadow/MediaControlRootElementChromium.cpp:
        (WebCore::MediaControlRootElementChromium::reset): Ditto.
        (WebCore::MediaControlRootElementChromium::updateStatusDisplay): Ditto.
        * html/shadow/MediaControlRootElementChromium.h:
        * html/shadow/MediaControls.h:

2011-05-06  Andreas Kling  <andreas.kling@nokia.com>

        Unreviewed Qt 4.8 build fix.

        * WebCore.pro: Don't set HAVE_QRAWFONT yet. Left a FIXME so we can
        enable it after the 4.8 bots are updated with the full QRawFont APIs.

2011-05-06  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: editing CSS in the Resources panel and not committing does not revert the change.
        https://bugs.webkit.org/show_bug.cgi?id=60319

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

2011-05-06  Joe Mason  <jmason@rim.com>

        Reviewed by Adam Barth.

        WebSocket urls should always be encoded as UTF-8.
        https://bugs.webkit.org/show_bug.cgi?id=57138

        Change WebSocket::connect to take the raw URL string and parse it
        internally using the simple KURL constructor, which expects an absolute
        UTF-8 encoded URL.  This ensures that all code that creates a WebSocket
        goes through this method instead of completeURL.

        Test: http/tests/websocket/tests/url-with-nonascii-query.html

        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocketConstructor::constructJSWebSocket): Pass String instead of KURL to WebSocket::connect().
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect): Now takes a String instead of a KURL and parses it using UTF-8.
        * websockets/WebSocket.h:

2011-05-06  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Make CSSStyleSelector::applyProperty() CSSPropertyWebkitColorCorrection case use appropriate macro.
        https://bugs.webkit.org/show_bug.cgi?id=60339

        No tests added as no functionality changed.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Use correct macro for CSSPropertySpeak.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::initialColorSpace):
        Add initialColorSpace() static method.

2011-05-06  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Make RenderStyle::setPageBreakInside() reject unsupported enum values.
        https://bugs.webkit.org/show_bug.cgi?id=60235

        No tests added as no functionality changed.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Remove special-case code and use appropriate macro.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setPageBreakInside):
        Assert that only supported values are used.

2011-05-06  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Move burden of checking for BJustify box alignment into RenderStyle
        https://bugs.webkit.org/show_bug.cgi?id=60246

        No new tests added as no functionality changed.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Remove special-case logic checking for BJUSTIFY and use existing macro.
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setBoxAlign):
        Assert valid values are used.

2011-05-06  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Make CSSStyleSelector::applyProperty() CSSPropertyPointerEvents use the correct macro.
        https://bugs.webkit.org/show_bug.cgi?id=60338

        No tests added as no functionality changed.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Use correct macro for CSSPropertySpeak.

2011-05-06  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Alexey Proskuryakov.

        Build fix with gcc 4.6 and c++0x support.
        https://bugs.webkit.org/show_bug.cgi?id=60284

        When enabling support of c++0x the compilation fails because of an
        ambiguous overload error. In this code when constructing the pair
        we use the new c++0x rvalue reference feature (&&). It means we are
        calling String(const WTF::AtomicString&) which becomes ambiguous because
        it has an overload WTF::String::String(const WTF::String&) and usually one
        with the native port string type (e.g. QString). In this code we want the
        String version because the pair store Strings.

        No new tests, build fix.

        * loader/FormSubmission.cpp:
        (WebCore::FormSubmission::create):

2011-05-06  Cris Neckar  <cdn@chromium.org>

        Reviewed by Dirk Schulze.

        Tests for crash when a transform is applied to certain filters.
        https://bugs.webkit.org/show_bug.cgi?id=59551

        Test: svg/filters/filter-after-transform-crash.svg

        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::FEComposite::determineAbsolutePaintRect):
        * platform/graphics/filters/FEConvolveMatrix.h:
        (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
        * platform/graphics/filters/FEDisplacementMap.h:
        (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
        * platform/graphics/filters/FEFlood.h:
        (WebCore::FEFlood::determineAbsolutePaintRect):
        * platform/graphics/filters/FELighting.h:
        (WebCore::FELighting::determineAbsolutePaintRect):
        * platform/graphics/filters/FETile.h:
        (WebCore::FETile::determineAbsolutePaintRect):
        * platform/graphics/filters/FETurbulence.h:
        (WebCore::FETurbulence::determineAbsolutePaintRect):
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::isFilterSizeValid):
        (WebCore::FilterEffect::determineAbsolutePaintRect):
        (WebCore::FilterEffect::asUnmultipliedImage):
        (WebCore::FilterEffect::asPremultipliedImage):
        (WebCore::FilterEffect::copyUnmultipliedImage):
        (WebCore::FilterEffect::copyPremultipliedImage):
        (WebCore::FilterEffect::createUnmultipliedImageResult):
        (WebCore::FilterEffect::createPremultipliedImageResult):
        * platform/graphics/filters/FilterEffect.h:
        (WebCore::FilterEffect::maxEffectRect):
        (WebCore::FilterEffect::setMaxEffectRect):
        * rendering/svg/RenderSVGResourceFilter.cpp:
        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):

2011-05-06  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Use cast to convert primitive value to FontSmoothingMode.
        https://bugs.webkit.org/show_bug.cgi?id=60242

        No tests added as no functionality changed.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Use cast to convert primitive value to FontSmoothingMode.

2011-05-05  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Make CSSPropertySpeak use the correct macro.
        https://bugs.webkit.org/show_bug.cgi?id=60335

        No tests added as no functionality changed.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Use correct macro for CSSPropertySpeak.

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

        Reviewed by Maciej Stachowiak.

        <rdar://problem/9390864>
        https://bugs.webkit.org/show_bug.cgi?id=60343
        Crash on Recovery System when trying to load page that includes media element

        Automated test not possible, tested manually.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::isAvailable): Only return true if
            AVFoundation and CoreMedia are installed.

        * platform/mac/SoftLinking.h: Define SOFT_LINK_FRAMEWORK_OPTIONAL, identical to 
            SOFT_LINK_FRAMEWORK except that it doesn't ASSERT if the framework doesn't exist.

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

        Reviewed by Darin Adler.

        Live streams sometimes won't play with AVFoundation backend
        https://bugs.webkit.org/show_bug.cgi?id=58961
        rdar://problem/9284748

        Tested manually because we don't have any live streams to test in DRT.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Don't special case seeking, assume
            AVFoundation will notify us when internal states change.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Make m_timeObserver
            a RetainPtr
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Ditto.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Ditto.

2011-05-05  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Adding quoted-printable encoding/decoding capabilities.
        This is needed for MHTML support.
        https://bugs.webkit.org/show_bug.cgi?id=59834

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/text/QuotedPrintable.cpp: Added.
        * platform/text/QuotedPrintable.h: Added.

2011-05-05  Andy Estes  <aestes@apple.com>

        Reviewed by Eric Seidel.

        Implement document.innerHTML
        https://bugs.webkit.org/show_bug.cgi?id=60316

        ASSERT that contextElement is non-0 when constructing a HTMLTreeBuilder
        for fragment parsing. This assertion will become invalid when
        document.innerHTML is implemented, which is the only case where HTML5
        specifies that a fragment will not have a context element.

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):

2011-05-05  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Include ApplicationServices for wx port.

        * platform/graphics/GlyphBuffer.h:
        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:

2011-05-05  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        WebCore part of <rdar://problem/9155590> Broken animation in iAd producer

        * WebCore.exp.in: Export wkExecutableWasLinkedOnOrBeforeSnowLeopard.
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Account for the binary-compatiblity
        check in Core Animation.
        * platform/mac/WebCoreSystemInterface.h: Added wkExecutableWasLinkedOnOrBeforeSnowLeopard.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.

2011-05-05  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        WebKit2 (Mac): Background tabs/windows can force themselves to the front
        <rdar://problem/9386346>
        https://bugs.webkit.org/show_bug.cgi?id=60315

        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::setFocus):
        It is incorrect for us to call Chrome::focus() here, which could bring a window/tab
        to the front. Calling focusNSView() was only necessary because in WebKit we must inform
        the platform widget that the focus has changed. WebKit2 Mac now matches other ports.

2011-05-05  Justin Novosad  <junov@chromium.org>

        Reviewed by Kenneth Russell.

        [Chromium] Change the --accelerated-2d-canvas flag to mean Ganesh, and stop using --enable-accelerated-drawing for that purpose
        https://bugs.webkit.org/show_bug.cgi?id=60173

        * page/Page.cpp:
        (WebCore::Page::sharedGraphicsContext3D):
        Flipping the switch to make Skia the default for the accelerated 2d canvas

2011-05-05  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Adam Barth.

        ASSERT(m_state == ParsingState) fires @ www.canalplus.fr
        https://bugs.webkit.org/show_bug.cgi?id=60101

        Test: fast/parser/close-while-stopping.html

        * dom/Document.cpp:
        (WebCore::Document::close): According to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-close,
        the close() steps should be aborted if there is no script-created parser
        associated with the document. Our parser lives throughout
        http://www.whatwg.org/specs/web-apps/current-work/#the-end, but it seems
        the spec doesn't consider the parser active any more. So to properly
        respect this, we need to check that the parser is still parsing.

2011-04-28  Evan Martin  <evan@chromium.org>

        Reviewed by Ojan Vafai.

        REGRESSION: backspace should not go back on Linux
        https://bugs.webkit.org/show_bug.cgi?id=59731

        Add a new EditingBehavior, shouldNavigateBackOnBackspace, which is false on
        Linux, and test for it in the default backspace handler.

        * editing/EditingBehavior.h:
        (WebCore::EditingBehavior::shouldNavigateBackOnBackspace):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::defaultBackspaceEventHandler):

2011-05-05  Igor Oliveira  <igor.oliveira@openbossa.org>

        Reviewed by Kenneth Russell.

        Framebuffer object is being created twice
        https://bugs.webkit.org/show_bug.cgi?id=60207

        Does not create more than one opengl framebuffer

        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/gtk/DrawingBufferGtk.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):

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

        Reviewed by Beth Dakin.

        Every RenderLayer registers itself as a ScrollableArea
        https://bugs.webkit.org/show_bug.cgi?id=59650

        Rather than registering every RenderLayer as a ScrollableArea
        on layer creation, only register RenderLayers which are overflow-
        scrollable. Use the m_scrollableAreaPage pointer to keep track
        of whether we've registered to avoid excess work.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::scrollsOverflow):
        (WebCore::RenderLayer::styleChanged):
        * rendering/RenderLayer.h:

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

        Reviewed by Steve Falkenburg.

        Workaround iTunes' incorrect registry entry for .m4a extensions.
        https://bugs.webkit.org/show_bug.cgi?id=60229

        No new tests, as a test already exits for .m4a support (LayoutTests/media/audio-mpeg4-supported.html).
        The test failed to catch this regression because the build bots haven't installed iTunes.
        
        Add a hard-coded MIME type mapping for 'm4a' -> 'audio/x-m4a'.

        * platform/win/MIMETypeRegistryWin.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):

2011-05-05  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        When style changes for a RenderBlock and we lose our ability to intrude into
        floats in the next siblings block (e.g a position change), make sure to mark
        our childs with floats for layout and iterate through our next sibling block
        chain to see which ones contain the float that also exists in our floating
        objects list and clear those using markAllDescendantsWithFloatsForLayout.
        https://bugs.webkit.org/show_bug.cgi?id=56299

        Tests: fast/block/float/float-not-removed-from-next-sibling-crash.html
               fast/block/float/float-not-removed-from-next-sibling.html
               fast/block/float/float-not-removed-from-next-sibling2.html
               fast/block/float/float-not-removed-from-next-sibling3.html
               fast/block/float/float-not-removed-from-next-sibling4.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleWillChange):
        (WebCore::RenderBlock::styleDidChange):
        (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
        * rendering/RenderBlock.h:

2011-05-05  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Timothy Hatcher.

        WebKit2: Docking Web Inspector doesn't respect maximum inspector size
        https://bugs.webkit.org/show_bug.cgi?id=60294
        <rdar://problem/9388518>

        Make a needed function public and export it.

        * WebCore.exp.in: Export constrainedAttaechedWindowHeight.
        * inspector/InspectorFrontendClientLocal.h: Make constrainedAttaechedWindowHeight public.

2011-05-05  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Nate Chapin.

        [Navigation Timing] navigationStart should always be available
        https://bugs.webkit.org/show_bug.cgi?id=59448

        * page/PerformanceTiming.cpp:
        (WebCore::PerformanceTiming::navigationStart):

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

        Reviewed by Adam Roben.

        Block callbacks delivered during destruction
        https://bugs.webkit.org/show_bug.cgi?id=60291
        <rdar://problem/9382942>

        No new tests, tested by existing tests.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::~MediaPlayerPrivateAVFoundation): Call 
            setIgnoreLoadStateChanges(true) to cancel all callbacks.
        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Return immediately if 
            m_ignoreLoadStateChanges is true.
        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): loadStateChanged -> updateStates.
            Don't call updateStates after calling loadedTimeRangesChanged, it already does it.
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

2011-05-05  David Hyatt  <hyatt@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/9354979> REGRESSION (r83070-r83126): Conversation takes 10 seconds to load and makes mail unresponsive

        Culled inlines were triggering some pathological line box tree groveling that isn't even necessary.
        Removed the ancient code (that used to be in RenderFlow), since it made no sense in the RenderBlock case
        (it was running for inline blocks, which was definitely not even the intent) or in the RenderInline case
        (the object being removed has no effect on any lines).
        
        Also tweaked culledInlineFirstLineBox and culledInlineLastLineBox to avoid bailing if the first replaced object that
        is encountered has a null inlineBoxWrapper().  Just a slight speed optimization to avoid an extra null check.
        
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::destroy):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::destroy):
        (WebCore::RenderInline::culledInlineFirstLineBox):
        (WebCore::RenderInline::culledInlineLastLineBox):

2011-05-05  Bharathwaaj Srinivasan  <bharathwaaj.s@gmail.com>

        Reviewed by Holger Freyther.

        Fix build-webkit --minimal.
        https://bugs.webkit.org/show_bug.cgi?id=60257

        No new tests. This is just a build fix.

        * bindings/js/JSDOMBinding.cpp:

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

        Reviewed by Adam Roben.

        The preload attribute of the video tag is not completely implemented
        https://bugs.webkit.org/show_bug.cgi?id=43673
        <rdar://problem/9369746>

        This change implements "preload=metadata" for the AVFoundation backend.
        Tested manually with manual-tests/media-elements/video-preload.html.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay.
        (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
        (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play.
        (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'auto'
            because we need to have media data loaded to seek.
        (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay.
        * html/HTMLMediaElement.h:

        * manual-tests/media-elements/video-preload.html: Make changing urls work. 

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):  Remove 
            m_videoFrameHasDrawn and m_delayingLoad as they are no longer used.
        (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed.
        (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn. 
            Move all preload logic to setPreload, call it from here.
        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to 
            setPreload, call it.
        (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is
            unlikely to be correct and isn't worth caching. Use invalidTime() function.
        (WebCore::MediaPlayerPrivateAVFoundation::seeking): Use invalidTime() function.
        (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Add logging.
        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus
            to AssetStatus. Always create a AVPlayerItem for live streams because they can't be inspected
            without one. Set networkState to 'idle' when the playback buffer is full because that is
            a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA' 
            when the first frame is available.
        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache
            width, height, hasVideo, etc.
        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Use invalidTime() function.
        (WebCore::MediaPlayerPrivateAVFoundation::timeChanged): Ditto.
        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Ditto.
        (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done
            in derived classes.
        (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create
            AVAsset and AVPlayerItem here.
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
            m_videoFrameHasDrawn.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from
            videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or
            if we have painted a frame to the context.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset
            if necessary.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when
            the buffer is full.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the
            AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration
            when we only have metadata.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset
            when when we haven't allocated the AVPlayerItem yet so that we can report attributes
            when we only have metadata.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before
            we have allocated the AVPlayerItem.

2011-05-05  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Rename SelectionController to FrameSelection
        https://bugs.webkit.org/show_bug.cgi?id=60234

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/AccessibilityObject.cpp:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        * bindings/objc/ExceptionHandlers.h:
        * css/CSSStyleSelector.cpp:
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::cloneChildNodes):
        * dom/Document.cpp:
        * dom/InputElement.cpp:
        * editing/DeleteButtonController.cpp:
        * editing/EditCommand.cpp:
        * editing/EditingAllInOne.cpp:
        * editing/EditingStyle.cpp:
        * editing/Editor.cpp:
        (WebCore::Editor::canCopy):
        (WebCore::Editor::canDelete):
        (WebCore::Editor::markMisspellingsAfterTypingToWord):
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
        (WebCore::Editor::changeSelectionAfterCommand):
        (WebCore::Editor::respondToChangedSelection):
        * editing/Editor.h:
        * editing/EditorCommand.cpp:
        (WebCore::executeDeleteToMark):
        (WebCore::executeMoveBackward):
        (WebCore::executeMoveBackwardAndModifySelection):
        (WebCore::executeMoveDown):
        (WebCore::executeMoveDownAndModifySelection):
        (WebCore::executeMoveForward):
        (WebCore::executeMoveForwardAndModifySelection):
        (WebCore::executeMoveLeft):
        (WebCore::executeMoveLeftAndModifySelection):
        (WebCore::executeMovePageDown):
        (WebCore::executeMovePageDownAndModifySelection):
        (WebCore::executeMovePageUp):
        (WebCore::executeMovePageUpAndModifySelection):
        (WebCore::executeMoveRight):
        (WebCore::executeMoveRightAndModifySelection):
        (WebCore::executeMoveToBeginningOfDocument):
        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
        (WebCore::executeMoveToBeginningOfLine):
        (WebCore::executeMoveToBeginningOfLineAndModifySelection):
        (WebCore::executeMoveToBeginningOfParagraph):
        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
        (WebCore::executeMoveToBeginningOfSentence):
        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
        (WebCore::executeMoveToEndOfDocument):
        (WebCore::executeMoveToEndOfDocumentAndModifySelection):
        (WebCore::executeMoveToEndOfSentence):
        (WebCore::executeMoveToEndOfSentenceAndModifySelection):
        (WebCore::executeMoveToEndOfLine):
        (WebCore::executeMoveToEndOfLineAndModifySelection):
        (WebCore::executeMoveToEndOfParagraph):
        (WebCore::executeMoveToEndOfParagraphAndModifySelection):
        (WebCore::executeMoveParagraphBackwardAndModifySelection):
        (WebCore::executeMoveParagraphForwardAndModifySelection):
        (WebCore::executeMoveUp):
        (WebCore::executeMoveUpAndModifySelection):
        (WebCore::executeMoveWordBackward):
        (WebCore::executeMoveWordBackwardAndModifySelection):
        (WebCore::executeMoveWordForward):
        (WebCore::executeMoveWordForwardAndModifySelection):
        (WebCore::executeMoveWordLeft):
        (WebCore::executeMoveWordLeftAndModifySelection):
        (WebCore::executeMoveWordRight):
        (WebCore::executeMoveWordRightAndModifySelection):
        (WebCore::executeMoveToLeftEndOfLine):
        (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
        (WebCore::executeMoveToRightEndOfLine):
        (WebCore::executeMoveToRightEndOfLineAndModifySelection):
        * editing/FrameSelection.cpp: Copied from Source/WebCore/editing/SelectionController.cpp.
        (WebCore::FrameSelection::FrameSelection):
        (WebCore::FrameSelection::moveTo):
        (WebCore::FrameSelection::setSelection):
        (WebCore::FrameSelection::nodeWillBeRemoved):
        (WebCore::FrameSelection::respondToNodeModification):
        (WebCore::FrameSelection::textWillBeReplaced):
        (WebCore::FrameSelection::setIsDirectional):
        (WebCore::FrameSelection::directionOfEnclosingBlock):
        (WebCore::FrameSelection::willBeModified):
        (WebCore::FrameSelection::positionForPlatform):
        (WebCore::FrameSelection::startForPlatform):
        (WebCore::FrameSelection::endForPlatform):
        (WebCore::FrameSelection::modifyExtendingRight):
        (WebCore::FrameSelection::modifyExtendingForward):
        (WebCore::FrameSelection::modifyMovingRight):
        (WebCore::FrameSelection::modifyMovingForward):
        (WebCore::FrameSelection::modifyExtendingLeft):
        (WebCore::FrameSelection::modifyExtendingBackward):
        (WebCore::FrameSelection::modifyMovingLeft):
        (WebCore::FrameSelection::modifyMovingBackward):
        (WebCore::FrameSelection::modify):
        (WebCore::FrameSelection::xPosForVerticalArrowNavigation):
        (WebCore::FrameSelection::clear):
        (WebCore::FrameSelection::setStart):
        (WebCore::FrameSelection::setEnd):
        (WebCore::FrameSelection::setBase):
        (WebCore::FrameSelection::setExtent):
        (WebCore::FrameSelection::setCaretRectNeedsUpdate):
        (WebCore::FrameSelection::updateCaretRect):
        (WebCore::FrameSelection::caretRenderer):
        (WebCore::FrameSelection::localCaretRect):
        (WebCore::FrameSelection::absoluteBoundsForLocalRect):
        (WebCore::FrameSelection::absoluteCaretBounds):
        (WebCore::FrameSelection::caretRepaintRect):
        (WebCore::FrameSelection::recomputeCaretRect):
        (WebCore::FrameSelection::shouldRepaintCaret):
        (WebCore::FrameSelection::invalidateCaretRect):
        (WebCore::FrameSelection::paintCaret):
        (WebCore::FrameSelection::debugRenderer):
        (WebCore::FrameSelection::contains):
        (WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):
        (WebCore::FrameSelection::selectAll):
        (WebCore::FrameSelection::setSelectedRange):
        (WebCore::FrameSelection::isInPasswordField):
        (WebCore::FrameSelection::caretRendersInsideNode):
        (WebCore::FrameSelection::focusedOrActiveStateChanged):
        (WebCore::FrameSelection::pageActivationChanged):
        (WebCore::FrameSelection::updateSecureKeyboardEntryIfActive):
        (WebCore::FrameSelection::setUseSecureKeyboardEntry):
        (WebCore::FrameSelection::setFocused):
        (WebCore::FrameSelection::isFocusedAndActive):
        (WebCore::FrameSelection::updateAppearance):
        (WebCore::FrameSelection::setCaretVisible):
        (WebCore::FrameSelection::clearCaretRectIfNeeded):
        (WebCore::FrameSelection::caretBlinkTimerFired):
        (WebCore::FrameSelection::notifyRendererOfSelectionChange):
        (WebCore::FrameSelection::setFocusedNodeIfNeeded):
        (WebCore::FrameSelection::paintDragCaret):
        (WebCore::FrameSelection::copyTypingStyle):
        (WebCore::FrameSelection::shouldDeleteSelection):
        (WebCore::FrameSelection::bounds):
        (WebCore::FrameSelection::getClippedVisibleTextRectangles):
        (WebCore::FrameSelection::currentForm):
        (WebCore::FrameSelection::revealSelection):
        (WebCore::FrameSelection::setSelectionFromNone):
        (WebCore::FrameSelection::shouldChangeSelection):
        (WebCore::FrameSelection::formatForDebugger):
        (WebCore::FrameSelection::showTreeForThis):
        (showTree):
        * editing/FrameSelection.h: Copied from Source/WebCore/editing/SelectionController.h.
        (WebCore::FrameSelection::typingStyle):
        (WebCore::FrameSelection::clearTypingStyle):
        (WebCore::FrameSelection::setTypingStyle):
        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
        * editing/ModifySelectionListLevel.cpp:
        * editing/RemoveFormatCommand.cpp:
        * editing/ReplaceSelectionCommand.cpp:
        * editing/SelectionController.cpp: Removed.
        * editing/SelectionController.h: Removed.
        * editing/SetSelectionCommand.cpp:
        (WebCore::SetSelectionCommand::SetSelectionCommand):
        (WebCore::SetSelectionCommand::doApply):
        (WebCore::SetSelectionCommand::doUnapply):
        * editing/SetSelectionCommand.h:
        (WebCore::SetSelectionCommand::create):
        * editing/SpellingCorrectionCommand.cpp:
        (WebCore::SpellingCorrectionCommand::doApply):
        * editing/SpellingCorrectionController.cpp:
        (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        * editing/chromium/FrameSelectionChromium.cpp: Copied from Source/WebCore/editing/chromium/SelectionControllerChromium.cpp.
        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
        * editing/chromium/SelectionControllerChromium.cpp: Removed.
        * editing/gtk/FrameSelectionGtk.cpp: Copied from Source/WebCore/editing/gtk/SelectionControllerGtk.cpp.
        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
        * editing/gtk/SelectionControllerGtk.cpp: Removed.
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::canCopyExcludingStandaloneImages):
        * editing/mac/FrameSelectionMac.mm: Copied from Source/WebCore/editing/mac/SelectionControllerMac.mm.
        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
        * editing/mac/SelectionControllerMac.mm: Removed.
        * editing/qt/EditorQt.cpp:
        * loader/archive/cf/LegacyWebArchive.cpp:
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::populate):
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::type):
        (WebCore::DOMSelection::modify):
        (WebCore::DOMSelection::addRange):
        (WebCore::DOMSelection::deleteFromDocument):
        (WebCore::DOMSelection::containsNode):
        * page/DragController.cpp:
        (WebCore::DragController::dragIsMove):
        * page/DragController.h:
        * page/EventHandler.cpp:
        (WebCore::setSelectionIfNeeded):
        (WebCore::setNonDirectionalSelectionIfNeeded):
        (WebCore::EventHandler::sendContextMenuEventForKey):
        (WebCore::EventHandler::handleKeyboardSelectionMovement):
        * page/EventHandler.h:
        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded):
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        * page/Frame.h:
        (WebCore::Frame::selection):
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        (WebCore::Page::dragCaretController):
        * page/chromium/DragControllerChromium.cpp:
        * page/chromium/EventHandlerChromium.cpp:
        * page/win/DragControllerWin.cpp:
        * page/win/EventHandlerWin.cpp:
        * rendering/HitTestResult.cpp:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::destroy):
        (WebCore::RenderBlock::paintCaret):
        * rendering/RenderImage.cpp:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::destroy):
        * rendering/RenderLayer.cpp:
        * rendering/RenderListBox.cpp:
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::removeChildNode):
        * rendering/RenderTextControl.cpp:
        * rendering/RenderTextControlSingleLine.cpp:
        * rendering/RenderTheme.cpp:
        * rendering/RenderTreeAsText.cpp:
        * svg/SVGSVGElement.cpp:
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::selectSubString):

2011-05-05  Brent Fulgham  <bfulgham@webkit.org>

        [WinCairo] unreviewed build correction.

        * platform/network/curl/ResourceRequest.h:
        Stub out the new pipelined http logic for cURL.

2011-05-05  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: searching for node does not result in bringToFront call.
        https://bugs.webkit.org/show_bug.cgi?id=60222

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.updateFocusedNode):

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

        Reviewed by Simon Hausmann.

        [Qt] Implement the fast font path for Qt.
        https://bugs.webkit.org/show_bug.cgi?id=51106

        Use the new QRawFont and QGlyphs APIs in Qt 4.8 to implement the fast paths for
        rendering and measurement of simple text.

        Since this is still unreleased API, it's guarded by HAVE(QRAWFONT) until the new
        classes are fully integrated into the Qt 4.8 release branch.

        * WebCore.pro: Add HAVE_QRAWFONT define (for Qt >= 4.8) and new files to build.

        * platform/graphics/Font.cpp:
        (WebCore::Font::drawText): Disable fast font path for stroked text, and when
        painting text with a shadow. (Qt-only)
        (WebCore::Font::codePath): Try to use fast font path in more cases.

        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::rawFontForCharacters): Helper function, returns a suitable QRawFont
        to use for rendering a given string. Goes through QTextLayout to find the best
        font based on the original QFont query.
        (WebCore::FontCache::getFontDataForCharacters): Implemented using helper above.

        * platform/graphics/qt/FontPlatformData.h:
        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::rawFont):
        * platform/graphics/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData): Add a QRawFont member to FontPlatformData.

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::fillPenForContext):
        (WebCore::strokePenForContext):
        (WebCore::drawTextCommon): Factored QPen creation out of drawTextCommon
        to share code between complex and simple font rendering paths.
        (WebCore::Font::drawGlyphs): Implemented using QPainter::drawGlyphs().

        * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
        (WebCore::GlyphPage::fill): Implemented using QRawFont::glyphIndexesForString().

        * platform/graphics/qt/SimpleFontDataQt.cpp:
        (WebCore::SimpleFontData::determinePitch): Return false when using QRawFont since we
        have no way of knowing the pitch.
        (WebCore::SimpleFontData::containsCharacters): Implemented using QRawFont::supportsCharacter().
        (WebCore::SimpleFontData::platformWidthForGlyph): Implemented using QRawFont::advancesForGlyphIndexes().
        (WebCore::SimpleFontData::scaledFontData): Added, based on other ports.
        (WebCore::SimpleFontData::smallCapsFontData): Ditto.
        (WebCore::SimpleFontData::emphasisMarkFontData): Ditto.
        (WebCore::SimpleFontData::platformBoundsForGlyph): Stub.
        (WebCore::SimpleFontData::platformInit): Use QRawFont APIs to retrieve font metrics.
        (WebCore::SimpleFontData::platformCharWidthInit): Ditto.

2011-05-05  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] RenderThemeQt and DumpRenderTreeSupportQt should use nullptr rather than 0.
        https://bugs.webkit.org/show_bug.cgi?id=60224

        We should use nullptr rather than 0. nullptr will be added in the new C++ standard
        but WebKit already has a nullptr class if there is no c++0x support.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::adjustProgressBarStyle):
        (WebCore::RenderThemeQt::adjustSliderTrackStyle):
        (WebCore::RenderThemeQt::adjustSliderThumbStyle):

2011-05-05  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: rename BrowserDebugger to DOMDebugger.

        https://bugs.webkit.org/show_bug.cgi?id=60256
        InspectorBrowserDebuggerAgent => InspectorDOMDebuggerAgent
        browserDebugger => domDebugger

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::InspectorAgent::inspectedPageDestroyed):
        (WebCore::InspectorAgent::disconnectFrontend):
        * inspector/InspectorAgent.h:
        (WebCore::InspectorAgent::DOMDebuggerAgent):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        * inspector/InspectorDOMDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.cpp.
        (WebCore::InspectorDOMDebuggerAgent::create):
        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
        (WebCore::InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent):
        (WebCore::InspectorDOMDebuggerAgent::debuggerWasEnabled):
        (WebCore::InspectorDOMDebuggerAgent::debuggerWasDisabled):
        (WebCore::InspectorDOMDebuggerAgent::disable):
        (WebCore::InspectorDOMDebuggerAgent::clearFrontend):
        (WebCore::InspectorDOMDebuggerAgent::discardBindings):
        (WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
        (WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
        (WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode):
        (WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode):
        (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
        (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
        (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
        (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
        (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
        (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
        (WebCore::InspectorDOMDebuggerAgent::hasBreakpoint):
        (WebCore::InspectorDOMDebuggerAgent::updateSubtreeBreakpoints):
        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
        (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
        (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
        (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
        (WebCore::InspectorDOMDebuggerAgent::clear):
        * inspector/InspectorDOMDebuggerAgent.h: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.h.
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
        * inspector/InstrumentingAgents.h:
        (WebCore::InstrumentingAgents::InstrumentingAgents):
        (WebCore::InstrumentingAgents::inspectorDOMDebuggerAgent):
        (WebCore::InstrumentingAgents::setInspectorDOMDebuggerAgent):
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::connectFrontend):

2011-05-04  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: show only Console and Scripts panels in worker inspector front-end
        https://bugs.webkit.org/show_bug.cgi?id=60159

        * inspector/front-end/WorkerManager.js:
        (WebInspector.WorkerManager.isWorkerFrontend):
        * inspector/front-end/inspector.js: show only Scripts and Console panels in the worker inspector front-end.

2011-05-03  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        IndexedDB: Unit tests for LevelDB key coding functions
        https://bugs.webkit.org/show_bug.cgi?id=59692

        Fix some embarrassing bugs uncovered by unit tests.

        No new functionality, but this is now covered by unit tests in the Chromium WebKit port.

        * storage/IDBLevelDBCoding.cpp:
        (WebCore::IDBLevelDBCoding::decodeInt):
        (WebCore::IDBLevelDBCoding::decodeVarInt):

2011-05-05  Young Han Lee  <joybro@company100.net>

        Reviewed by Csaba Osztrogonác.

        [Texmap][Qt] Enable strict OwnPtr for Qt with texmap enabled.
        https://bugs.webkit.org/show_bug.cgi?id=60251

        No new tests. Build fix.

        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):

2011-05-04  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Adding a utility class to read a SharedBuffer line by line.
        https://bugs.webkit.org/show_bug.cgi?id=59946

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/SharedBufferCRLFLineReader.cpp: Added.
        * platform/SharedBufferCRLFLineReader.h: Added.

2011-05-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r85788.
        http://trac.webkit.org/changeset/85788
        https://bugs.webkit.org/show_bug.cgi?id=60250

        svg/text/text-block-child-crash.xhtml asserts (Requested by
        Ossy on #webkit).

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

2011-05-04  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Make more member functions in EventHandler private
        https://bugs.webkit.org/show_bug.cgi?id=60200

        Reduced the number of public member functions in EventHandler.

        * WebCore.exp.in:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleAutoscroll):
        (WebCore::EventHandler::autoscrollTimerFired):
        (WebCore::EventHandler::stopAutoscrollTimer):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseMoveEvent):
        (WebCore::EventHandler::keyEvent):
        (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
        * page/EventHandler.h:
        (WebCore::EventHandler::mouseDownMayStartSelect):

2011-05-04  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] REGRESSION(85136): Composited content vanishes when transform-style changes from preserve-3d to flat
        https://bugs.webkit.org/show_bug.cgi?id=60202

        In r85136 I accidentally transposed two lines in GraphicsLayerChromium when adding a null check.  This switches
        the order back and adds a regression test.

        Test: compositing/repaint/transform-style-change.html

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):

2011-05-04  Cris Neckar  <cdn@chromium.org>

        Reviewed by Adam Barth.

        Expose WebView directly through ChromeClient.
        https://bugs.webkit.org/show_bug.cgi?id=49902

        Test: fast/media/media-svg-crash.html

        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::webView):
        * page/ChromeClient.h:
        * page/brew/ChromeClientBrew.h:
        (WebCore::ChromeClientBrew::webView):

2011-05-04  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Darin Adler.

        Unable to Paste After Deleting Text from Input due to -webkit-user-select
        https://bugs.webkit.org/show_bug.cgi?id=60219

        When deleting all the text inside the input a placeholder <br>
        element was inserted for the selection point. However, when
        pasting, the test run computes the -webkit-user-select for the
        <br> element, instead of what would be the text inside the
        <input> and incorrectly disallows selection and prevented
        the paste.

        Test: editing/pasteboard/paste-placeholder-input.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::insertFragmentForTestRendering): skip
        <br> elements above us as those are likely placeholder elements.

2011-05-04  Fridrich Strba  <fridrich.strba@bluewin.ch>

        Reviewed by Martin Robinson.

        Windows build of WebKit GTK needs to be able to find SystemInfo.h
        https://bugs.webkit.org/show_bug.cgi?id=60221

        * GNUmakefile.am: add Source/WebCore/platform/win to the paths searched
        for headers, since Source/WebCore/platform/win/SystemInfo.h
        header is needed by Source/WebKit/gtk/webkit/webkitwebsettings.cpp
        on Windows.

2011-05-04  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Improve sorting of layers in hierarchies that preserve-3d
        by testing for overlapping regions between layer pairs and doing a
        topological sort to determine the right order.
        https://bugs.webkit.org/show_bug.cgi?id=59255

        Test: platform/chromium/compositing/perpendicular-layer-sorting.html

        * WebCore.gypi:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/cc/CCLayerImpl.h:
        (WebCore::CCLayerImpl::clearRenderSurface):
        * platform/graphics/chromium/cc/CCLayerSorter.cpp: Added.
        (WebCore::perpProduct):
        (WebCore::innerProduct):
        (WebCore::pointInColinearEdge):
        (WebCore::edgeEdgeTest):
        (WebCore::CCLayerSorter::LayerIntersector::LayerIntersector):
        (WebCore::CCLayerSorter::LayerIntersector::go):
        (WebCore::CCLayerSorter::LayerIntersector::edgeTriangleTest):
        (WebCore::CCLayerSorter::LayerIntersector::triangleTriangleTest):
        (WebCore::CCLayerSorter::LayerIntersector::checkZDiff):
        (WebCore::CCLayerSorter::LayerIntersector::layerZFromProjectedPoint):
        (WebCore::CCLayerSorter::CCLayerSorter):
        (WebCore::CCLayerSorter::checkOverlap):
        (WebCore::CCLayerSorter::createGraphNodes):
        (WebCore::CCLayerSorter::createGraphEdges):
        (WebCore::CCLayerSorter::removeEdgeFromList):
        (WebCore::CCLayerSorter::sort):
        * platform/graphics/chromium/cc/CCLayerSorter.h: Added.
        (WebCore::CCLayerSorter::GraphNode::GraphNode):
        (WebCore::CCLayerSorter::GraphEdge::GraphEdge):

2011-05-03  Jer Noble  <jer.noble@apple.com>

        Reviewed by Antti Koivisto.

        Safari: Video at apple.com cannot play at full screen mode with layout distortion
        https://bugs.webkit.org/show_bug.cgi?id=60140

        Because a fullscreen element may be in a stacking context with a lower z-index than
        a sibling stacking context, those higher contexts would sometimes "pop" through the 
        full screen renderer. To facilitate eliminating all the stacking contexts aside from
        the full screen renderer, added a new pseudo-class specific to video or audio full
        screen elements. Then, added a new UA rule which resets the z-index and opacities of 
        all elements under said pseudo-class to auto and 1 respectively. To facilitate quick
        identity checking of HTMLMediaElements, added isMediaElement() virtual function to 
        Element and HTMLMediaElement. 

        Test: fullscreen/full-screen-stacking-context.html

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId): Support PseudoFullScreenMediaDocument.
        (WebCore::nameToPseudoTypeMap): Support fullScreenMediaDocument.
        (WebCore::CSSSelector::extractPseudoType): Support PseudoFullScreenMediaDocument.
        * css/CSSSelector.h: Add PseudoFullScreenMediaDocument.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Support PseudoFullScreenMediaDocument.
        * css/fullscreen.css:
        (:root:-webkit-full-screen-document:not(:-webkit-full-screen)): Corrected these names, 
            which were missing the -webkit prefix.
        (:root:-webkit-full-screen-media-document *:not(-webkit-full-screen)): Added.
        * dom/Element.h:
        (WebCore::Element::isMediaElement): Added, returns false.
        * html/HTMLMediaElement.h:
        (WebCore::HTMLMediaElement::isMediaElement): Added, returns true.
        * rendering/style/RenderStyleConstants.h: Added FULL_SCREEN_MEDIA_DOCUMENT.

2011-05-04  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Split findNextLineBreak into a LineBreaker class
        https://bugs.webkit.org/show_bug.cgi?id=60209

        Breaking findNextLineBreak into a new class inside RenderBlock. Currently it's tracking
        nearly no state, but subsequent patches will move some of the local variables used throughout
        the nextLineBreak function into member variables to simplify breaking off helper functions from
        the bloated function.

        No new tests since this is just moving code around.

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::LineBreaker::LineBreaker):
        (WebCore::RenderBlock::LineBreaker::lineWasHyphenated): Accessor.
        (WebCore::RenderBlock::LineBreaker::positionedObjects): Ditto.
        (WebCore::RenderBlock::LineBreaker::clear): Ditto.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutRunsAndFloats):
        (WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace):
        (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
        (WebCore::RenderBlock::LineBreaker::reset):
        (WebCore::RenderBlock::LineBreaker::nextLineBreak):

2011-05-04  Fridrich Strba  <fridrich.strba@bluewin.ch>

        Reviewed by Adam Barth.

        Add COMPILER(MINGW) to the compilers using the Microsoft C Runtime's vsnprintf.
        The vsnprintf is part of Microsoft C runtime used also by MinGW (GCC) toolchain.
        https://bugs.webkit.org/show_bug.cgi?id=58579

        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::error):

2011-05-04  Alexis Menard  <alexis.menard@openbossa.org>

        Unreviewed warning fix.

        The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
        a warning in Release build.

        * dom/Node.cpp:
        (WebCore::Node::removeEventListener):
        * platform/DateComponents.cpp:
        (WebCore::DateComponents::parseTime):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::convertToLayerCoords):
        * storage/StorageMap.cpp:
        (WebCore::StorageMap::importItem):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::buildShadowTree):
        (WebCore::SVGUseElement::expandUseElementsInShadowTree):

2011-05-04  Alexis Menard  <alexis.menard@openbossa.org>

        Unreviewed warning fix.

        The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
        a warning in Release build.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::lastChildConsideringContinuation):

2011-05-04  Dimitri Glazkov  <dglazkov@chromium.org>

        Sort xcodeproj files.

        The WebCore.xcodeproj got out of sorts again.

        * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.

2011-05-04  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Adam Barth.

        Warning fix.

        * bindings/js/DOMObjectHashTableMap.h:
        (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):

2011-05-04  Rob Buis  <rbuis@rim.com>

        Reviewed by Darin Adler.

        NULL deref when SVG elements have table styles 
        https://bugs.webkit.org/show_bug.cgi?id=45561

        Restrict computed CSS values for SVG display property to block, inline or none.

        Tests: svg/custom/display-table-caption-foreignObject.svg
               svg/custom/display-table-caption-inherit-foreignObject.xhtml
               svg/custom/display-table-caption-inherit-text.xhtml
               svg/custom/display-table-caption-text.svg

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

2011-05-04  Tao Bai  <michaelbai@chromium.org>

        Reviewed by David Kilzer.

        Populate touch-icon url to FrameLoaderClient
        https://bugs.webkit.org/show_bug.cgi?id=59143
        
        Parsed and populated apple-touch-icon url to FrameLoaderClient.
        Changed favicon to be a type of icon.

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::iconURL):
        (WebCore::Document::setIconURL):
        * dom/Document.h:
        * dom/IconURL.cpp: Added.
        (WebCore::toIconIndex):
        * dom/IconURL.h: Added.
        (WebCore::IconURL::IconURL):
        * features.pri:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
        (WebCore::HTMLLinkElement::process):
        (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
        * html/HTMLLinkElement.h:
        (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
        (WebCore::HTMLLinkElement::isEnabledViaScript):
        * html/parser/HTMLPreloadScanner.cpp:
        (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::iconURL):
        (WebCore::DocumentLoader::setIconURL):
        * loader/DocumentLoader.h:
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::iconURL):
        (WebCore::FrameLoader::iconURLs):
        (WebCore::FrameLoader::fillIconURL):
        (WebCore::FrameLoader::getDefaultIconURL):
        (WebCore::FrameLoader::setIconURL):
        (WebCore::FrameLoader::didChangeIcons):
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:

2011-05-04  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Crash in PlatformCALayer ::replaceSublayer when layer has not superlayer
        https://bugs.webkit.org/show_bug.cgi?id=60191

        Skip replaceSublayer when there is no superlayer rather than asserting.
        This is probably not a problem and happens when restructuring the layer
        tree. Avoiding this crash will allow us to get more testing.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):

2011-05-04  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        Fix the GTK+ 2.x build for Windows. Instead of making getStockIcon a RenderTheme
        method, just use extern declarations to avoid having to declare it in the header.
        This will prevent having to include glib.h in RenderThemeGtk.h, which is included
        in many C++ files.

        No new tests. This is just a build fix.

        * platform/gtk/RenderThemeGtk.cpp: Update getStockIcon calls to say getStockIconForWidgetType.
        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
        (WebCore::RenderThemeGtk::paintCapsLockIndicator):
        (WebCore::RenderThemeGtk::paintMediaButton):
        * platform/gtk/RenderThemeGtk.h: Removed getStockIcon declaration. Make gtkContainer() and
        gtkEntry() public because they are now accessed externally from getStockIcon().
        * platform/gtk/RenderThemeGtk2.cpp: Update getStockIcon calls.
        (WebCore::getStockIconForWidgetType):
        * platform/gtk/RenderThemeGtk3.cpp: Ditto.
        (WebCore::getStockIconForWidgetType):

2011-05-04  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB open (database) should fail if name is null
        https://bugs.webkit.org/show_bug.cgi?id=60022

        Test: storage/indexeddb/mozilla/open-database-null-name.html

        Combination problem: Bug in IDL didn't pass null values to .cpp layer,
        then .cpp layer didn't check for null value anyway.

        * storage/IDBFactory.cpp:
        (WebCore::IDBFactory::open): check for null name
        * storage/IDBFactory.idl: pass null name as null

2011-05-04  Jer Noble  <jer.noble@apple.com>

        Reviewed by Darin Adler.

        Entering full screen fails >= second time on Vimeo.com.
        https://bugs.webkit.org/show_bug.cgi?id=60143

        Force the RenderFullScreen's layer backing to be recreated when setAnimating() is called.
        Previously, the RenderLayerCompositor would fail to reparent the RenderFullScreen's layer
        at the end of an animation, if it determined that the RenderFullScreen would still require
        a layer even when not animating.

        * rendering/RenderFullScreen.cpp:
        (RenderFullScreen::setAnimating): Clear the renderer's layer.

2011-05-04  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Avoid allocating a new image buffer in ~CanvasRenderingContext2D()
        https://bugs.webkit.org/show_bug.cgi?id=59849

        When attempting to unwind the graphics state stack in the
        CanvasRenderingContext2D destructor, don't allow HTMLCanvasElement
        to create a new ImageBuffer.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::existingDrawingContext):
        * html/HTMLCanvasElement.h:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):

2011-05-04  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: expose shadow DOM in the Elements panel
        https://bugs.webkit.org/show_bug.cgi?id=60160

        Test: inspector/elements/shadow-dom.html

        * dom/Element.cpp:
        (WebCore::Element::ensureShadowRoot):
        (WebCore::Element::removeShadowRoot):
        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        (WebCore::InspectorDOMAgent::isContainerNode):
        * inspector/InspectorDOMAgent.h:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.DOMNode.prototype.inShadowTree):
        (WebInspector.DOMNode.prototype._setShadowRootPayload):
        (WebInspector.DOMNode.prototype._renumber):
        (WebInspector.DOMAgent.prototype._bindNodes):
        (WebInspector.DOMAgent.prototype.querySelectorAll):
        (WebInspector.DOMAgent.prototype._shadowRootUpdated):
        (WebInspector.DOMDispatcher.prototype.searchResults):
        (WebInspector.DOMDispatcher.prototype.shadowRootUpdated):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype._nodeUpdated):
        (WebInspector.ElementsPanel.prototype._attributesUpdated):
        (WebInspector.ElementsPanel.prototype._nodeRemoved):
        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement):
        (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
        (WebInspector.ElementsTreeElement.prototype._updateChildren):
        ():
        * inspector/front-end/inspector.css:
        (#elements-content .dom-shadow-root):
        (.outline-disclosure li .webkit-html-tag.shadow):
        * inspector/front-end/utilities.js:

2011-05-03  Adam Roben  <aroben@apple.com>

        Remove an unnecessary OwnPtr equality check in XSLT code

        Fixes <http://webkit.org/b/60053> Testing OwnPtrs for equality should cause a compiler error

        Reviewed by Anders Carlsson and Antti Koivisto.

        * dom/Document.cpp:
        (WebCore::Document::setTransformSource): No need to check for equality. If the pointers are
        equal, we're screwed anyway. (And the caller always passes in a newly-allocated object, so
        we're safe.)

2011-05-04  Leandro Gracia Gil  <leandrogracia@chromium.org>

        Reviewed by Tony Gentilcore.

        Media Stream API: add the skeleton of the frame and page controllers and the embedder client.
        https://bugs.webkit.org/show_bug.cgi?id=56922

        Add the basic outlines of the page controller, the per-frame controller and the embedder
        client interface for the Media Stream API. Provide methods to handle the situations
        where a frame is detached from the page or transferred between pages.

        Tests for the Media Stream API will be provided by the bug 56587.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::~Frame):
        (WebCore::Frame::pageDestroyed):
        (WebCore::Frame::transferChildFrameToNewDocument):
        * page/Frame.h:
        (WebCore::Frame::mediaStreamFrameController):
        * page/MediaStreamClient.h: Added.
        (WebCore::MediaStreamClient::~MediaStreamClient):
        * page/MediaStreamController.cpp: Added.
        (WebCore::MediaStreamController::Request::Request):
        (WebCore::MediaStreamController::Request::localId):
        (WebCore::MediaStreamController::Request::frameController):
        (WebCore::MediaStreamController::MediaStreamController):
        (WebCore::MediaStreamController::~MediaStreamController):
        (WebCore::MediaStreamController::unregisterFrameController):
        (WebCore::MediaStreamController::registerRequest):
        * page/MediaStreamController.h: Added.
        * page/MediaStreamFrameController.cpp: Added.
        (WebCore::MediaStreamFrameController::Request::Request):
        (WebCore::MediaStreamFrameController::Request::~Request):
        (WebCore::MediaStreamFrameController::Request::scriptExecutionContext):
        (WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest):
        (WebCore::MediaStreamFrameController::Request::isRecordedDataRequest):
        (WebCore::MediaStreamFrameController::RequestMap::abort):
        (WebCore::MediaStreamFrameController::RequestMap::abortAll):
        (WebCore::MediaStreamFrameController::MediaStreamFrameController):
        (WebCore::MediaStreamFrameController::~MediaStreamFrameController):
        (WebCore::MediaStreamFrameController::securityOrigin):
        (WebCore::MediaStreamFrameController::scriptExecutionContext):
        (WebCore::MediaStreamFrameController::pageController):
        (WebCore::MediaStreamFrameController::enterDetachedState):
        (WebCore::MediaStreamFrameController::disconnectPage):
        (WebCore::MediaStreamFrameController::disconnectFrame):
        (WebCore::MediaStreamFrameController::transferToNewPage):
        * page/MediaStreamFrameController.h: Added.
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::PageClients::PageClients):
        * page/Page.h:
        (WebCore::Page::mediaStreamController):

2011-05-04  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Double-click in a read-only style rule results in a non-editable blank property
        https://bugs.webkit.org/show_bug.cgi?id=60150

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):

2011-05-04  Dominic Battre  <battre@chromium.org>

        Reviewed by Tony Gentilcore.

        Fix missing header in case SVG is disabled
        https://bugs.webkit.org/show_bug.cgi?id=60153

        * dom/EventDispatcher.cpp:

2011-05-04  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Rename CSSStyleApplyProperty::propertyValue and setPropertyValue.
        https://bugs.webkit.org/show_bug.cgi?id=60006

        No new tests as no functionality added. Simple rename only.

        * css/CSSStyleApplyProperty.cpp:
        Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.
        * css/CSSStyleApplyProperty.h:
        Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.

2011-05-04  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Cleanup conditionals in findNextLineBreak
        https://bugs.webkit.org/show_bug.cgi?id=60117

        Simplified conditional statements in findNextLineBreak.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::findNextLineBreak):

2011-05-04  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Make CSSStyleSelector::applyProperty() CSSPropertyWebkitHyphens case use appropriate macro.
        https://bugs.webkit.org/show_bug.cgi?id=60114

        No new tests as no functionality changes.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to remove code duplication.

2011-05-04  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] Fix QNetworkReplyWrapper to not depend on QNetworkReply::isFinished() method
        https://bugs.webkit.org/show_bug.cgi?id=59070

        Applications using our API and our autotests subclass QNetworkReply as part of providing a
        custom QNetworkAccessManager. But there's an API limitation in Qt 4.7, that makes
        QNetworkReply::isFinished() always be false for these custom replies. This was fixed in Qt
        4.8, see http://bugreports.qt.nokia.com/browse/QTBUG-11737.

        The consequence is that QtWebKit cannot rely on this function. So now QNetworkReplyWrapper
        watches for the finished() signal and set a dynamic property "_q_isFinished" on the reply
        indicating that it is finished. When there's no finished signal (synchronous) we set the
        dynamic property once we get the reply.

        This fixes tst_QWebFrame::requestedUrl(), that was breaking because sniffer was not
        emitting its own finished() signal, causing QWebFrame::loadFinished() to not be emitted.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
        Connect the finished signal to the new setFinished() slot.

        (WebCore::QNetworkReplyWrapper::synchronousLoad):
        Since we don't get the finished signal for synchronous loads, set the dynamic property
        before processing it.

        (WebCore::QNetworkReplyWrapper::resetConnections):
        Do not reset the connection to setFinished().

        (WebCore::QNetworkReplyWrapper::setFinished):
        Set the dynamic property in the reply.

        (WebCore::QNetworkReplyWrapper::emitMetaDataChanged):
        (WebCore::QNetworkReplyHandler::start):
        Change to use wrapper's isFinished() instead of asking the reply directly.

        * platform/network/qt/QNetworkReplyHandler.h:
        (WebCore::QNetworkReplyWrapper::isFinished):
        Checks the dynamic property of the reply.

        * platform/network/qt/QtMIMETypeSniffer.cpp:
        (QtMIMETypeSniffer::sniff):
        Use the dynamic property to check if the reply is finished.

2011-05-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Ryosuke Niwa.

        Split createLineBoxesFromBidiRuns out from layoutRunsAndFloats
        https://bugs.webkit.org/show_bug.cgi?id=60080

        No functional change, just moving code.

        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::createLineBoxesFromBidiRuns):
        (WebCore::RenderBlock::layoutRunsAndFloats):

2011-05-04  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Remove unused function FontPlatformData::pixelSize()
        https://bugs.webkit.org/show_bug.cgi?id=60156

        * platform/graphics/qt/FontPlatformData.h:
        (WebCore::FontPlatformData::pixelSize): Removed.

2011-05-04  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Darin Adler.

        Remove redundant conversion from auto table layout to auto table layout in CSSStyleSelector::applyProperty()
        https://bugs.webkit.org/show_bug.cgi?id=60011

        No new tests added as no functionality changed.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Remove reundant check for auto table layout.

2011-05-04  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Darin Adler.

        Remove double-free checks for bug 56124
        https://bugs.webkit.org/show_bug.cgi?id=60037

        Antti's speculative fix for bug 56124 (r84151) appears to have worked,
        these CRASH() calls are not triggering anymore.

        * css/CSSSelector.h:
        (WebCore::CSSSelector::CSSSelector):
        (WebCore::CSSSelector::~CSSSelector):
        * css/CSSSelectorList.cpp:
        (WebCore::CSSSelectorList::deleteSelectors):

2011-05-04  Satish Sampath  <satish@chromium.org>

        Reviewed by Tony Gentilcore.

        Layout the speech input button to the left of outer spin button properly.
        https://bugs.webkit.org/show_bug.cgi?id=59742

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):

2011-05-04  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Build fix.

        * bindings/js/JSInjectedScriptHostCustom.cpp: fix includes declaration

2011-05-03  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: can't inspect element in an iframe when element originates from non-frame document
        https://bugs.webkit.org/show_bug.cgi?id=60031
        
        Inspected object type evaluation has moved into native bindings. This way it doesn't
        depend on the current JS context.

        Test: inspector/elements/elements-inspect-iframe-from-different-domain.html

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::JSInjectedScriptHost::isHTMLAllCollection): this method helps distinguish
        real undefined values from HTMLAllCollection
        (WebCore::JSInjectedScriptHost::type): method that returns presice type of the passed
        value
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallback):
        (WebCore::V8InjectedScriptHost::typeCallback):
        * inspector/InjectedScriptHost.idl:
        * inspector/InjectedScriptSource.js:
        (.):

2011-05-03  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Antti Koivisto.

        Part of WebCore should use CFNetwork-based loader on Mac
        https://bugs.webkit.org/show_bug.cgi?id=51836

        Merge the conflicting definitions of WebCore::privateBrowsingCookieStorage() into one. Clean
        up some warnings and #if USE(CFNETWORK) around code.

        * platform/mac/CookieJar.mm:
        * platform/network/CookieStorage.h:
        * platform/network/cf/CookieStorageCFNet.cpp:
        (WebCore::privateBrowsingCookieStorage):
        (WebCore::currentCookieStorage):
        (WebCore::setCurrentCookieStorage):
        (WebCore::setCookieStoragePrivateBrowsingEnabled):
        (WebCore::notifyCookiesChangedOnMainThread):
        (WebCore::notifyCookiesChanged):
        * platform/network/cf/CookieStorageCFNet.h:
        * platform/network/mac/CookieStorageMac.mm:

2011-05-03  Justin Novosad  <junov@chromium.org>

        Reviewed by Kenneth Russell.

        [Chromium] Make accelerated 2d canvas enabled by default with skia
        https://bugs.webkit.org/show_bug.cgi?id=59929

        No new tests. Covered by existing layout tests

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
        Initialized for accelerated canvas if either the accelerated2dCanvas
        or the legacyAccelerated2dCanvas flags are enabled
        * page/Page.cpp:
        (WebCore::Page::sharedGraphicsContext3D):
        This is where the code goes to implement the functionality for the
        legacy vs current acceleration paths for the 2D canvas. Currently,
        this is a no-op, and always select the legacy path.  This is temporary
        until we are ready to sort the GPU layout tests (rebasline vs. bug)
        * page/Settings.cpp:  Added new flage for legacyAccelerated2dCanvas
        (WebCore::Settings::Settings):
        (WebCore::Settings::setLegacyAccelerated2dCanvasEnabled):
        * page/Settings.h:
        (WebCore::Settings::legacyAccelerated2dCanvasEnabled):

2011-04-29  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Seidel.

        Implement FULLSCREEN_API on Windows, Part 4: Enable it
        https://bugs.webkit.org/show_bug.cgi?id=59798

        * WebCore.vcproj/WebCore.vcproj: Add missing full screen related
            files to the project.

2011-05-03  Alpha Lam  <hclam@chromium.org>

        Not reviewed. Build fix.

        More places from 0 to nullptr.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::precompileScript):
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::create):
        * platform/graphics/gpu/BicubicShader.cpp:
        (WebCore::BicubicShader::create):
        * platform/graphics/gpu/ConvolutionShader.cpp:
        (WebCore::ConvolutionShader::create):
        * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
        (WebCore::LoopBlinnSolidFillShader::create):
        * platform/graphics/gpu/SolidFillShader.cpp:
        (WebCore::SolidFillShader::create):
        * platform/graphics/gpu/TexShader.cpp:
        (WebCore::TexShader::create):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::~PlatformContextSkia):
        * platform/leveldb/LevelDBDatabase.cpp:
        (WebCore::LevelDBDatabase::createIterator):
        * platform/text/LocalizedNumberICU.cpp:
        (WebCore::createFormatterForCurrentLocale):

2011-05-03  Alpha Lam  <hclam@chromium.org>

        Not reviewed. Build fix.

        Using nullptr instead of 0. This makes visual studio happy.

        * storage/IDBTransactionBackendInterface.h:

2011-05-03  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add template parameter to ApplyPropertyColor to improve clarity by removing constructor parameter side effects.
        https://bugs.webkit.org/show_bug.cgi?id=59774

        No new tests required as on new functionality.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyColor::applyValue):
        Added template parameter "inheritColorFromParent = false".
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        Use template parameter where appropriate.

2011-05-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/9313186> Make the fix for <rdar://problem/9190108> more robust.

        Added a pointer from FloatingObject to its originating line, if there is one, and made sure to
        dirty the line when the float is removed, instead of relying on the float always intersecting
        its originating line.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeFloatingObject):
        (WebCore::RenderBlock::removeFloatingObjectsBelow):
        (WebCore::RenderBlock::clearFloats):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::FloatingObject::FloatingObject):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::appendFloatingObjectToLastLine):
        (WebCore::RenderBlock::layoutRunsAndFloats):
        (WebCore::RenderBlock::determineStartPosition):

2011-05-02  Jer Noble  <jer.noble@apple.com>

        Reviewed by Adam Roben.

        Implement FULLSCREEN_API on Windows, Part 3: WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=59845

        Move WebFullScreenController into WebCore to facilitate code sharing between WebKit
        and WebKit2.  WebFullScreenController now uses a Client class to request work on its
        behalf by WebKit and WebKit2.  MediaPlayerPrivateFullscreenWindow now only creates a 
        CALayerHost once a root layer is set, as the CALayerHost was causing child window drawing
        problems, and because a CALayerHost is overkill if the window is only drawing black to
        its client area.

        * WebCore.vcproj/WebCore.vcproj:
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow): Do not create 
            m_layerHost in the constructor.
        (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): NULL check m_layerHost.
        (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): Lazily instantiate m_layerHost.
        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): NULL check m_layerHost; if a root layer is
            not present, fill the window with black in WM_PAINT.
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
        * platform/graphics/win/FullScreenController.cpp: Renamed from Source/WebKit/win/WebFullScreenController.cpp.
        * platform/graphics/win/FullScreenController.h: Renamed from Source/WebKit/win/WebFullScreenController.h.
        * platform/graphics/win/FullScreenControllerClient.h: Split out from FullScreenController.h
        (WebCore::FullScreenControllerClient::~FullScreenControllerClient):

2011-05-03  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=60087 and <rdar://problem/9373182>
        WK2 Icon Database should provide access to all image representations in the icon.

        Add an accessor for CG platforms to get a CFArrayRef of all the CGImageRefs represented:
        * platform/graphics/BitmapImage.h:
        * platform/graphics/Image.h:
        (WebCore::Image::getCGImageArray):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::getCGImageArray):

2011-05-03  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        findNextLineBreak splits InlineIterator into 3 pieces
        https://bugs.webkit.org/show_bug.cgi?id=60082

        Avoid splitting InlineIterator into 3 variables with inter-dependencies.

        * rendering/InlineIterator.h:
        (WebCore::InlineIterator::fastIncrementInTextNode): Added.
        (WebCore::InlineIterator::previousInSameNode): Added.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::findNextLineBreak):

2011-05-03  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        Interrupted transitions are not correctly removed
        https://bugs.webkit.org/show_bug.cgi?id=60062

        CompositeAnimation was replacing any existing
        transition as a new one was created. However, it wasn't
        clearing the lists in AnimationControllerPrivate that
        signal when a hardware animation starts. Rather than
        simple removing the existing transition, we now tell
        AnimationControllerPrivate that is has gone.

        Test: transitions/3d/interrupted-transition.html

        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions):

2011-05-03  Enrica Casucci  <enrica@apple.com>

        Reviewed by Ryosuke Niwa.

        Crash in SpellingCorrectionController::respondToChangedSelection.
        https://bugs.webkit.org/show_bug.cgi?id=60071
        <rdar://problem/9358190>

        Creating a Visible position could trigger a layout and there is no
        guarantee that the selection is still valid after that.

        Tests: editing/selection/undo-crash.html

        * editing/SpellingCorrectionController.cpp:
        (WebCore::SpellingCorrectionController::respondToChangedSelection):

2011-05-03  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Refactor computeInlineDirectionPositionsForLine into smaller functions
        https://bugs.webkit.org/show_bug.cgi?id=60072

        Split three functions off from computeInlineDirectionPositionsForLine
        to improve its readability.

        No new tests since this is just moving code around.

        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::setMarginsForRubyRun):
        (WebCore::setLogicalWidthForTextRun):
        (WebCore::computeExpansionForJustifiedText):
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):

2011-05-03  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/59838> Implement HTTP pipelining for CoreFoundation-based networking

        Reviewed by Antti Koivisto.

        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::ResourceRequest::doUpdatePlatformRequest): Set the
        priority on the request if HTTP pipelining is enabled.
        (WebCore::ResourceRequest::doUpdateResourceRequest): Read the
        priority from the request if HTTP pipelining is enabled.
        (readBooleanPreference): Enable code when compiling with
        USE(CFNETWORK).
        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Ditto.
        Comment out setting the minimum fast lane priority on Windows
        since it's not currently available.

2011-05-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/9278296> Flicker zooming on Google Maps satellite view with accelerated compositing turned on

        Conditionalize compositing tiled layer size-constraining logic to older
        OSes.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::constrainedSize):

2011-05-03  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Dimitri Glazkov.

        Allow access keys to be used in shadow DOM
        https://bugs.webkit.org/show_bug.cgi?id=59979

        Move access key methods and members back to Document from TreeScope.
        Also traverse into shadow trees when building the access key map.

        No new tests. (refactoring)

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::getElementByAccessKey):
        (WebCore::Document::buildAccessKeyMap):
        (WebCore::Document::invalidateAccessKeyMap):
        * dom/Document.h:
        * dom/TreeScope.cpp:
        (WebCore::TreeScope::TreeScope):
        (WebCore::TreeScope::destroyTreeScopeData):
        * dom/TreeScope.h:

2011-05-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8891395> -[DOMRange textRects] returns incorrect results for vertical or flipped text
        https://bugs.webkit.org/show_bug.cgi?id=60067

        No test because this code path is only used by the Objective-C API, which is not testable from DumpRenderTree.

        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteRectsForRange): Use width/height instead of logicalWidth/logicalHeight here,
        and perform the local-to-absolute mapping on the rects rather than their origin, in order to get the right
        results for flipped writing modes.

2011-05-03  Anton Muhin  <antonm@chromium.org>

        Reviewed by Yury Semikhatsky.

        [v8] remove an ASSERT from grouping logic
        https://bugs.webkit.org/show_bug.cgi?id=60024

        This ASSERT was exploratory.  Alas, right now I am aware of no easy way to
        repro it.  Removing for now for greener bots.

        No new tests, only an ASSERT removal.

        * bindings/v8/V8GCController.cpp:
        (WebCore::calculateGroupId):

2011-05-03  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        WebKit allows selection that crosses the shadow boundary of a readonly input element
        https://bugs.webkit.org/show_bug.cgi?id=60000

        The bug was caused by VisibleSelection's not validating shadow DOM boundaries.
        Fixed the bug by adding an extra adjustment, adjustSelectionToAvoidCrossingShadowBoundaries,
        in its validation process.

        Tests: editing/selection/select-across-readonly-input-1.html
               editing/selection/select-across-readonly-input-2.html
               editing/selection/select-across-readonly-input-3.html
               editing/selection/select-across-readonly-input-4.html
               editing/selection/select-across-readonly-input-5.html

        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::validate): Calls adjustSelectionToAvoidCrossingShadowBoundaries.
        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries): Added.
        * editing/VisibleSelection.h:

2011-05-03  Eric Seidel  <eric@webkit.org>

        Reviewed by Ryosuke Niwa.

        Split out layoutRunsAndFloats from layoutInlineChildren
        https://bugs.webkit.org/show_bug.cgi?id=60052

        No new tests, just moving code here.  There should be
        no change in behavior.

        * rendering/RenderBlock.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutRunsAndFloats):
        (WebCore::RenderBlock::layoutInlineChildren):

2011-05-03  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Resizing a 2d canvas to huge dimensions after compositing crashes with accelerated 2d canvas option enabled
        https://bugs.webkit.org/show_bug.cgi?id=59965

        Fixes a few bugs leading to a crash if a canvas already being composited was resized to huge dimensions.

        Test: fast/canvas/canvas-resize-after-paint.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::reset):
            Mark the canvas's layer as needing a synthetic style recalculation when creating or destroying the backing
            DrawingBuffer so that we exit compositing mode properly if we can't handle the canvas dimensions.
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::setLayerRenderer):
            Add a null check for m_drawingBuffer
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::clear):
            Avoid clearing the m_context pointer in reset() - we destroy the DrawingBuffer whenever reset() fails, so
            this is unnecessary.

2011-05-03  Adam Roben  <aroben@apple.com>

        Fix most strict PassOwnPtr violations on Windows

        Fixes <http://webkit.org/b/60025> Windows should (almost) build with strict PassOwnPtr
        enabled

        Reviewed by Anders Carlsson.

        * loader/EmptyClients.h:
        * platform/GeolocationService.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        * platform/mock/GeolocationServiceMock.cpp:
        * rendering/RenderTheme.cpp:
        * rendering/RenderThemeSafari.cpp:

2011-05-03  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Extract LineInfo class
        https://bugs.webkit.org/show_bug.cgi?id=60044

        Created a LineInfo class in RenderBlockLineLayout.cpp that brings together the relevant
        layout information about a line. This simplifies function signatures and clears up initialization.

        No new tests as this is refactoring.

        * rendering/RenderBlock.h: Updated internal layout function signatures to use LineInfo.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineInfo::LineInfo):
        (WebCore::LineInfo::isFirstLine):
        (WebCore::LineInfo::isLastLine):
        (WebCore::LineInfo::isEmpty):
        (WebCore::LineInfo::previousLineBrokeCleanly):
        (WebCore::LineInfo::setFirstLine):
        (WebCore::LineInfo::setLastLine):
        (WebCore::LineInfo::setEmpty):
        (WebCore::LineInfo::setPreviousLineBrokeCleanly):
        (WebCore::RenderBlock::createLineBoxes):
        (WebCore::RenderBlock::constructLine):
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::determineStartPosition):
        (WebCore::skipNonBreakingSpace):
        (WebCore::shouldCollapseWhiteSpace):
        (WebCore::requiresLineBox): Moved from RenderBlock.h and made it locally scoped to RenderBlockLineLayout.cpp
        (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
        (WebCore::RenderBlock::skipTrailingWhitespace):
        (WebCore::RenderBlock::skipLeadingWhitespace):
        (WebCore::RenderBlock::findNextLineBreak):

2011-05-03  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Dimitri Glazkov.

        Update node list cache count on the containing TreeScope rather than the Document
        https://bugs.webkit.org/show_bug.cgi?id=59983

        Change code to call add/removeNodeListCache() and hasNodeListCaches() on the proper tree scope.
        Move updating of the node list cache count from setDocument() to setTreeScopeRecursively().
        Make setDocument() and setDocumentRecursively() private.

        No new tests. (refactoring)

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::childrenChanged):
        * dom/Node.cpp:
        (WebCore::Node::~Node):
        (WebCore::Node::setDocument):
        (WebCore::Node::setTreeScopeRecursively):
        (WebCore::Node::childNodes):
        (WebCore::Node::registerDynamicNodeList):
        (WebCore::Node::unregisterDynamicNodeList):
        (WebCore::Node::notifyLocalNodeListsAttributeChanged):
        (WebCore::Node::notifyLocalNodeListsChildrenChanged):
        (WebCore::Node::getElementsByTagName):
        (WebCore::Node::getElementsByTagNameNS):
        (WebCore::Node::getElementsByName):
        (WebCore::Node::getElementsByClassName):
        * dom/Node.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::labels):

2011-05-03  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Bundle trailingSpaceObject and trailingPositionedBoxes in findNextLineBreak as a class
        https://bugs.webkit.org/show_bug.cgi?id=60046

        Extracted TrailingObjects that encapsulates trailingSpaceObject and trailingPositionedBoxes.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::TrailingObjects::TrailingObjects):
        (WebCore::TrailingObjects::setTrailingWhitespace):
        (WebCore::TrailingObjects::clear):
        (WebCore::TrailingObjects::appendBoxIfNeeded):
        (WebCore::TrailingObjects::addMidpoints):
        (WebCore::RenderBlock::findNextLineBreak):

2011-05-03  Igor Oliveira  <igor.oliveira@openbossa.org>

        Reviewed by Eric Seidel.

        [Qt] Implement initial support to DataTransferItems
        https://bugs.webkit.org/show_bug.cgi?id=58448

        Implement initial support to DataTransferItems. DataTransferItems are used to 
        hold data for drag and drop operations. DataTransferItems hold a list of 
        DataTransferItem objects each of which holds an item being dragged.

        * WebCore.pro:
        * dom/DataTransferItems.idl:
        * editing/qt/EditorQt.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * page/qt/EventHandlerQt.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/chromium/DataTransferItemsChromium.h:
        * platform/qt/ClipboardQt.cpp:
        (WebCore::Clipboard::create):
        (WebCore::ClipboardQt::ClipboardQt):
        (WebCore::ClipboardQt::items):
        * platform/qt/ClipboardQt.h:
        (WebCore::ClipboardQt::create):
        * platform/qt/DataTransferItemQt.cpp: Added.
        (WebCore::DataTransferItem::create):
        (WebCore::DataTransferItemQt::createFromPasteboard):
        (WebCore::DataTransferItemQt::create):
        (WebCore::DataTransferItemQt::DataTransferItemQt):
        (WebCore::DataTransferItemQt::getAsString):
        (WebCore::DataTransferItemQt::getAsFile):
        * platform/qt/DataTransferItemQt.h: Added.
        * platform/qt/DataTransferItemsQt.cpp: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
        (WebCore::DataTransferItemsQt::create):
        (WebCore::DataTransferItemsQt::DataTransferItemsQt):
        (WebCore::DataTransferItemsQt::addPasteboardItem):
        * platform/qt/DataTransferItemsQt.h: Copied from Source/WebCore/editing/qt/EditorQt.cpp.

2011-05-03  Julien Chaffraix  <jchaffraix@codeaurora.org>

        Reviewed by Dimitri Glazkov.

        Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot*
        https://bugs.webkit.org/show_bug.cgi?id=58703

        No new tests, refactoring only.

        * dom/Element.cpp:
        (WebCore::Element::copyNonAttributeProperties):
        (WebCore::Element::insertedIntoDocument):
        (WebCore::Element::removedFromDocument):
        (WebCore::Element::insertedIntoTree):
        (WebCore::Element::removedFromTree):
        (WebCore::Element::attach):
        (WebCore::Element::detach):
        (WebCore::Element::recalcStyle):
        (WebCore::Element::shadowRoot):
        (WebCore::Element::ensureShadowRoot):
        (WebCore::Element::childrenChanged):
        * dom/Node.cpp:
        (WebCore::Node::setTreeScopeRecursively):
        (WebCore::shadowRoot):
        (WebCore::Node::setDocumentRecursively):
        (WebCore::NodeRendererFactory::findVisualParent):
        Updated all the call sites for shadowRoot and ensureShadowRoot in the 2
        previous classes.

        * dom/Element.h: Updated 2 methods' signature to return a ShadowRoot*.

        * dom/ShadowRoot.h: Removed toShadowRoot as it is not used anymore.

        * html/HTMLDetailsElement.cpp:
        * html/HTMLSummaryElement.cpp:
        Added #include for ShadowRoot.h.

2011-05-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Implement mediaSliderTrack
        https://bugs.webkit.org/show_bug.cgi?id=59998

        Implement paintMediaSliderTrack.

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::RenderThemeEfl):
        (WebCore::RenderThemeEfl::paintMediaSliderTrack):
        * platform/efl/RenderThemeEfl.h:

2011-05-03  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: [Chromium] Fix slowness of Summary view nodes expansion in detailed heap profiles.
        https://bugs.webkit.org/show_bug.cgi?id=60023

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotConstructorNode):
        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshot.prototype.dispose):
        (WebInspector.HeapSnapshot.prototype.aggregates):
        (WebInspector.HeapSnapshot.prototype._buildAggregates):
        (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
        (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
        (WebInspector.HeapSnapshotFilteredOrderedIterator):
        (WebInspector.HeapSnapshotNodesProvider):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotProxy.prototype.aggregates):
        (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):

2011-05-03  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: [Chromium] Hint user that to display retaining paths, an object entry must be clicked.
        https://bugs.webkit.org/show_bug.cgi?id=60029

        * English.lproj/localizedStrings.js:
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotRetainingPathsList.prototype.reset):
        (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):

2011-05-03  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=60045
        Scrollbar thumb sometimes leaves artifacts in the track after scrolling
        -and corresponding-
        <rdar://problem/9015376>

        When we're using WK_SCROLLBAR_PAINTER, the AppleScrollBarVariant default should 
        always be ignored.
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::updateArrowPlacement):

2011-05-03  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

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

        Links broken at iplanwebsites.com. Make sure that culledInlineAbsoluteQuads still does
        a translation of a 0,0 point to absolute coordinates so that the top left position is
        accurate.

        Added fast/inline/skipped-whitespace-client-rect.html
        
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::culledInlineAbsoluteQuads):

2011-05-03  Sam Weinig  <sam@webkit.org>

        Fix chromium build.

        * page/Settings.cpp:

2011-05-02  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Dimitri Glazkov.

        Bug 59974 - Update image map on the containing TreeScope rather than the Document
        https://bugs.webkit.org/show_bug.cgi?id=59974

        No new tests. (reefactoring)

        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::parseMappedAttribute):
        (WebCore::HTMLMapElement::insertedIntoDocument):
        (WebCore::HTMLMapElement::removedFromDocument):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageMap):

2011-05-03  Sam Weinig  <sam@webkit.org>

        Fix chromium build.

        * loader/HistoryController.cpp:

2011-05-02  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Dimitri Glazkov.

        Bug 59966 - Update ID hash on the containing TreeScope rather than the Document
        https://bugs.webkit.org/show_bug.cgi?id=59966

        No new tests. (refactoring)

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::elementsFromAttribute):
        (WebCore::AccessibilityRenderObject::activeDescendant):
        * accessibility/AccessibilityRenderObject.h:
        (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
        * css/CSSCursorImageValue.cpp:
        (WebCore::resourceReferencedByCursorElement):
        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
        (WebCore::CSSCursorImageValue::cachedImage):
        * dom/DynamicNodeList.cpp:
        (WebCore::DynamicNodeList::itemWithName):
        * dom/Element.h:
        (WebCore::Element::updateId):
        * dom/Node.cpp:
        (WebCore::Node::querySelector):
        * html/FormAssociatedElement.cpp:
        (WebCore::FormAssociatedElement::insertedIntoTree):
        (WebCore::FormAssociatedElement::resetFormOwner):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::dataList):
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::control):
        * rendering/svg/RenderSVGTextPath.cpp:
        (WebCore::RenderSVGTextPath::layoutPath):
        * svg/SVGAElement.cpp:
        (WebCore::SVGAElement::defaultEventHandler):
        * svg/SVGAltGlyphElement.cpp:
        (WebCore::SVGAltGlyphElement::glyphElement):
        * svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::requestImageResource):
        (WebCore::SVGFEImageElement::build):
        * svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::collectGradientAttributes):
        * svg/SVGMPathElement.cpp:
        (WebCore::SVGMPathElement::pathElement):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::collectPatternAttributes):
        * svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::collectGradientAttributes):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::getElementById):
        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::updateReferencedText):
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::insertedIntoDocument):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::buildPendingResource):
        (WebCore::SVGUseElement::hasCycleUseReferencing):
        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::viewTarget):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::eventBaseFor):
        (WebCore::SVGSMILElement::connectConditions):
        (WebCore::SVGSMILElement::targetElement):
        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunId::evaluate):

2011-05-03  Sam Weinig  <sam@webkit.org>

        Fix chromium build.

        * css/StyleMedia.cpp:

2011-05-03  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Prune #includes from FrameView.h (Part 1)
        https://bugs.webkit.org/show_bug.cgi?id=59957

        * page/FrameView.h:
        Prune #includes.

        * accessibility/chromium/AXObjectCacheChromium.cpp:
        * page/win/FrameCGWin.cpp:
        * platform/Scrollbar.cpp:
        Add not necessary #includes.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
        Add now necessary forward declaration.

2011-05-03  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] toV8(Node*) will enter infinite recursion when called with a node of type SHADOW_ROOT_NODE
        https://bugs.webkit.org/show_bug.cgi?id=60026

        Return a wrapper for Node in toV8(Node*) when called with a node of type
        SHADOW_ROOT_NODE instead of entering infinite recursion.

        * bindings/v8/custom/V8NodeCustom.cpp:
        (WebCore::toV8Slow):

2011-05-02  Adam Roben  <aroben@apple.com>

        Take advantage of implicit conversion from nullptr_t to PassOwnPtr

        Fixes <http://webkit.org/b/59964> Implicit conversion from std::nullptr_t to PassOwnPtr
        doesn't work, but should

        Reviewed by Adam Barth.

        * bindings/js/ScheduledAction.cpp:
        * css/CSSStyleSelector.cpp:
        * css/MediaList.cpp:
        * css/MediaQueryMatcher.cpp:
        * css/SVGCSSStyleSelector.cpp:
        * dom/MessagePort.cpp:
        * html/InputType.cpp:
        * html/canvas/WebGLRenderingContext.cpp:
        * inspector/InspectorStyleSheet.cpp:
        * page/ContextMenuController.cpp:
        * page/Page.cpp:
        * platform/PlatformGestureRecognizer.cpp:
        * platform/PurgeableBuffer.h:
        * platform/graphics/ImageBuffer.h:
        * platform/leveldb/LevelDBDatabase.cpp:
        * platform/mac/PurgeableBufferMac.cpp:
        * platform/text/RegularExpression.cpp:
        * rendering/RenderTheme.cpp:
        * rendering/RenderThemeMac.mm:
        * rendering/style/RenderStyle.h:
        * rendering/style/SVGRenderStyleDefs.cpp:
        * rendering/style/ShadowData.cpp:
        * rendering/style/StyleRareInheritedData.cpp:
        * rendering/style/StyleRareNonInheritedData.cpp:
        * rendering/svg/RenderSVGResourcePattern.cpp:

2011-05-03  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: fix inspector status bar image glyph reference in network panel.

        * inspector/front-end/networkPanel.css:
        (.network-larger-resources-status-bar-item .glyph):

2011-05-03  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: rename BrowserDebugger agent to DOMDebugger.
        https://bugs.webkit.org/show_bug.cgi?id=60019

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.json:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
        (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
        (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
        * inspector/generate-inspector-idl:

2011-05-03  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: remove special logic for type of document.__proto__
        https://bugs.webkit.org/show_bug.cgi?id=60014

        Test: inspector/console/console-log-document-proto.html

        * inspector/InjectedScriptSource.js: removed unnecessary check nodeType === undefined

2011-05-03  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: fixed typo in inspector style.

        * inspector/front-end/inspector.css:
        (.status-bar-item > .glyph):

2011-05-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: revision history storage is too slow.
        https://bugs.webkit.org/show_bug.cgi?id=59939

        It turns out that iterating localStorage keys is very
        expensive (results in slow inspector start), refactor revision
        history in order not to rely upon that operation.

        * inspector/front-end/Resource.js:
        (WebInspector.Resource):
        (WebInspector.Resource._resourceRevisionRegistry):
        (WebInspector.Resource.restoreRevisions.persist):
        (WebInspector.Resource.restoreRevisions):
        (WebInspector.Resource.persistRevision):
        (WebInspector.Resource.prototype._persistRevision):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
        (WebInspector.ResourceTreeModel.prototype._frameNavigated):

2011-05-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: combine toolbar icon images.
        https://bugs.webkit.org/show_bug.cgi?id=59931

        * WebCore.gypi:
        * inspector/front-end/Images/auditsIcon.png: Removed.
        * inspector/front-end/Images/consoleIcon.png: Removed.
        * inspector/front-end/Images/elementsIcon.png: Removed.
        * inspector/front-end/Images/networkIcon.png: Removed.
        * inspector/front-end/Images/profilesIcon.png: Removed.
        * inspector/front-end/Images/resourcesIcon.png: Removed.
        * inspector/front-end/Images/scriptsIcon.png: Removed.
        * inspector/front-end/Images/timelineIcon.png: Removed.
        * inspector/front-end/Images/toolbarIcons.png: Added.
        * inspector/front-end/Images/toolbarIconsSmall.png: Added.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.toolbar-icon):
        (#toolbar-dropdown .toolbar-icon):
        (.toolbar-item:active .toolbar-icon):
        (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
        (.toolbar-item.elements .toolbar-icon):
        (.toolbar-item.resources .toolbar-icon):
        (#toolbar-dropdown .toolbar-item.resources .toolbar-icon):
        (.toolbar-item.network .toolbar-icon):
        (#toolbar-dropdown .toolbar-item.network .toolbar-icon):
        (.toolbar-item.scripts .toolbar-icon):
        (#toolbar-dropdown .toolbar-item.scripts .toolbar-icon):
        (.toolbar-item.timeline .toolbar-icon):
        (#toolbar-dropdown .toolbar-item.timeline .toolbar-icon):
        (.toolbar-item.profiles .toolbar-icon):
        (#toolbar-dropdown .toolbar-item.profiles .toolbar-icon):
        (.toolbar-item.audits .toolbar-icon):
        (#toolbar-dropdown .toolbar-item.audits .toolbar-icon):
        (.toolbar-item.console .toolbar-icon):
        (#toolbar-dropdown .toolbar-item.console .toolbar-icon):
        (.status-bar-item > .glyph):

2011-05-03  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: combine status bar button glyphs.
        https://bugs.webkit.org/show_bug.cgi?id=59885

        * WebCore.gypi:
        * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Removed.
        * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Removed.
        * inspector/front-end/Images/clearConsoleButtonGlyph.png: Removed.
        * inspector/front-end/Images/consoleButtonGlyph.png: Removed.
        * inspector/front-end/Images/dockButtonGlyph.png: Removed.
        * inspector/front-end/Images/enableOutlineButtonGlyph.png: Removed.
        * inspector/front-end/Images/enableSolidButtonGlyph.png: Removed.
        * inspector/front-end/Images/excludeButtonGlyph.png: Removed.
        * inspector/front-end/Images/focusButtonGlyph.png: Removed.
        * inspector/front-end/Images/garbageCollectButtonGlyph.png: Removed.
        * inspector/front-end/Images/gearButtonGlyph.png: Removed.
        * inspector/front-end/Images/helpButtonGlyph.png: Removed.
        * inspector/front-end/Images/largerResourcesButtonGlyph.png: Removed.
        * inspector/front-end/Images/nodeSearchButtonGlyph.png: Removed.
        * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Removed.
        * inspector/front-end/Images/percentButtonGlyph.png: Removed.
        * inspector/front-end/Images/prettyPrintButtonGlyph.png: Removed.
        * inspector/front-end/Images/recordButtonGlyph.png: Removed.
        * inspector/front-end/Images/recordToggledButtonGlyph.png: Removed.
        * inspector/front-end/Images/reloadButtonGlyph.png: Removed.
        * inspector/front-end/Images/statusBarButtonGlyphs.png: Added.
        * inspector/front-end/Images/undockButtonGlyph.png: Removed.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.status-bar-item > .glyph):
        (#dock-status-bar-item .glyph):
        (body.detached #dock-status-bar-item .glyph):
        (#console-status-bar-item .glyph):
        (.clear-status-bar-item .glyph):
        (button.enable-toggle-status-bar-item .glyph):
        (button.enable-toggle-status-bar-item.toggled-on .glyph):
        (.scripts-pause-on-exceptions-status-bar-item .glyph):
        (.scripts-toggle-pretty-print-status-bar-item .glyph):
        (.toggle-breakpoints .glyph):
        (.toggle-breakpoints.toggled-on .glyph):
        (.resources-larger-resources-status-bar-item .glyph):
        (.timeline-filter-status-bar-item .glyph):
        (.garbage-collect-status-bar-item .glyph):
        (.record-profile-status-bar-item .glyph):
        (.record-profile-status-bar-item.toggled-on .glyph):
        (.heap-snapshot-status-bar-item .glyph):
        (.node-search-status-bar-item .glyph):
        (.percent-time-status-bar-item .glyph):
        (.focus-profile-node-status-bar-item .glyph):
        (.exclude-profile-node-status-bar-item .glyph):
        (.reset-profile-status-bar-item .glyph):
        (.delete-storage-status-bar-item .glyph):
        (.refresh-storage-status-bar-item .glyph):
        * inspector/front-end/inspector.js:

2011-05-02  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Possible crash when removing elements with reflections
        https://bugs.webkit.org/show_bug.cgi?id=60009
        
        RenderLayer's destructor deleted its z-order list Vector pointers
        before removing the reflection layer. However, the reflection cleanup
        code could call back into the RenderLayer to dirty z-order lists,
        so move reflection cleanup to before z-order vector deletion.
        
        The test crashes when run manually a few times with MallocScribble enabled,
        but I was not able to create a test that crashed reliably.

        Test: fast/reflections/remove-reflection-crash.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::~RenderLayer):

2011-05-02  Ian Henderson  <ianh@apple.com>

        Reviewed by Dan Bernstein.

        CSS !important not respected by JavaScript
        https://bugs.webkit.org/show_bug.cgi?id=60007

        The addParsedProperty and addParsedProperties methods were subtly
        different.  The former did not check for !important before setting the
        given property.

        Change addParsedProperties to call addParsedProperty and move the
        relevant code.  The one other caller of this method, in
        editing/markup.cpp, probably wanted this behavior anyway.

        Test: fast/css/important-js-override.html

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):

2011-05-02  Ben Wells  <benwells@chromium.org>

        Reviewed by Simon Fraser.

        Cleanup variable usage in RenderObject.cpp paintOutline()
        https://bugs.webkit.org/show_bug.cgi?id=59911

        No new tests for this, there should be no change in behaviour.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintOutline):

2011-05-02  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by James Robinson.

        REGRESSION(r84672): showTree doesn't work for input/textarea elements
        https://bugs.webkit.org/show_bug.cgi?id=60001

        When shadow is null, try retrieving the inner element of a render text control.

        * dom/Node.cpp:
        (WebCore::traverseTreeAndMark):

2011-05-02  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by David Kilzer.

        Respect fixed text-indent on ::-webkit-input-placeholder
        https://bugs.webkit.org/show_bug.cgi?id=59825

        Test: fast/forms/input-placeholder-text-indent.html

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::paintPlaceholder): indent by
        a fixed text-indent size specified on the placeholder style.

2011-05-02  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Eric Seidel.

        Some FileWriter progress events should be queued
        https://bugs.webkit.org/show_bug.cgi?id=50846

        * fileapi/FileWriter.cpp:
        * fileapi/FileWriter.h:
        Create a new asynchronous Task [FileWriterCompletionEventTask] that will set readyState to DONE and fire off the right events.

2011-05-02  Jia Pu  <jpu@apple.com>

        Reviewed by Alexey Proskuryakov.

        [Mac] Need to truncate the string sent to "Look Up … " menu item, if it's too long.
        https://bugs.webkit.org/show_bug.cgi?id=59836
        <rdar://problem/9275983>

        * platform/DefaultLocalizationStrategy.cpp:
        (WebCore::truncatedStringForLookupMenuItem):
        (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):

2011-05-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/9340945> and https://bugs.webkit.org/show_bug.cgi?id=59973
        In Aperture, a WebView might be dealloc'ed before it finishes loading.

        * WebCore.exp.in:
        * platform/RuntimeApplicationChecks.cpp:
        (WebCore::applicationIsAperture): Perform a com.apple.Aperture bundle check.
        * platform/RuntimeApplicationChecks.h:

2011-05-02  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Avoid wasted cycles updating paths when popping the context stack
        https://bugs.webkit.org/show_bug.cgi?id=59967

        CanvasRenderingContext2D has to map the current path through
        transforms whenever the context stack is popped, which creates
        a lot of platform path objects. Avoid extra work here when the
        path is empty, or when the transform is identity.

        * platform/graphics/cg/PathCG.cpp:
        (WebCore::Path::transform):

2011-05-02  Enrica Casucci  <enrica@apple.com>

        Reviewed by Dan Bernstein.

        Text does not split on white space when typing to the edge of window.
        https://bugs.webkit.org/show_bug.cgi?id=59968
        <rdar://problem/9112683>

        Test: editing/inserting/typing-at-end-of-line.html

        This is a regression introduced when we converted the line box tree to
        floating point in r78846. In findNextLineBreak, there was still one place where
        the character width was treated as int and truncated and we were inconsistent
        in the way we treated a character that did not fit entirely in the line.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::findNextLineBreak):

2011-04-19  Adrienne Walker  <enne@google.com>

        Reviewed by James Robinson.

        [chromium] Don't unnecessarily resize skia/cg canvases when painting in compositor
        https://bugs.webkit.org/show_bug.cgi?id=58907

        Additionally, move the context save/restore logic to a place where it
        will reset the translation added in LayerTilerChromium.

        Test: compositing/repaint/same-size-invalidation.html

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerPainter::paint):
        * platform/graphics/chromium/PlatformCanvas.cpp:
        (WebCore::PlatformCanvas::resize):
        (WebCore::PlatformCanvas::Painter::Painter):
        (WebCore::PlatformCanvas::Painter::~Painter):
        * platform/graphics/chromium/PlatformCanvas.h:

2011-05-02  Csaba Osztrogonác  <ossy@webkit.org>

        Enable strict OwnPtr for Qt
        https://bugs.webkit.org/show_bug.cgi?id=59667

        Unreviewed buildfix after r85343.

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::GraphicsContext3D):

2011-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r85483.
        http://trac.webkit.org/changeset/85483
        https://bugs.webkit.org/show_bug.cgi?id=59958

        Causes media test failures. (Requested by eric_carlson on
        #webkit).

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement):
        (WebCore::HTMLMediaElement::prepareForLoad):
        (WebCore::HTMLMediaElement::seek):
        (WebCore::HTMLMediaElement::updatePlayState):
        * html/HTMLMediaElement.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
        (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad):
        (WebCore::MediaPlayerPrivateAVFoundation::load):
        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay):
        (WebCore::MediaPlayerPrivateAVFoundation::paint):
        (WebCore::MediaPlayerPrivateAVFoundation::duration):
        (WebCore::MediaPlayerPrivateAVFoundation::seeking):
        (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
        (WebCore::MediaPlayerPrivateAVFoundation::hasAvailableVideoFrame):
        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):
        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged):
        (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
        (WebCore::MediaPlayerPrivateAVFoundation::repaint):
        (WebCore::MediaPlayerPrivateAVFoundation::setPreload):
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::videoLayerIsReadyToDisplay):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):

2011-05-02  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        PLATFORM(MAC) should (almost!) build with strict PassOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=59924

        * css/CSSGrammar.y:
        * platform/graphics/mac/SimpleFontDataMac.mm:
            - Memory management for the font cache is somewhat... complext.
              This will require some careful thought to sort out.

2011-05-02  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        showLineTree/showLineTreeForThis would make working with the line box tree easier
        https://bugs.webkit.org/show_bug.cgi?id=59662

        Adding a showLineTree/showLineTreeForThis method to help visualize and debug
        the line tree. Also adding a missing showRenderTreeForThis method to RenderObject.

        No new tests since this is a debugging feature only and not compiled in release.

        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::showLineTreeForThis):
        (WebCore::InlineBox::showLineTreeAndMark):
        (WebCore::InlineBox::showBox):
        (showLineTree):
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::showLineTreeAndMark):
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::showBox):
        * rendering/InlineTextBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::showLineTreeAndMark):
        * rendering/RenderBlock.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::showRenderTreeForThis):
        (WebCore::RenderObject::showLineTreeForThis):
        (showTree):
        (showLineTree):
        * rendering/RenderObject.h:

2011-05-02  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Carlson.

        REGRESSIONS (r71934): In standalone media documents, (double-)clicking the media element doesn’t play/pause
        https://bugs.webkit.org/show_bug.cgi?id=59917

        Since default event handlers are not retargeted, we should always attempt ancestor
        traversal to find out whether the event.

        * html/MediaDocument.cpp:
        (WebCore::ancestorVideoElement): Added ancestor-traversing helper.
        (WebCore::MediaDocument::defaultEventHandler): Changed to use ancestorVideoElement.

2011-05-02  Sam Weinig  <sam@webkit.org>

        Attempt to fix the Leopard build.

        * platform/graphics/FontPlatformData.h:
        * platform/graphics/mac/ComplexTextController.h:
        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
        * platform/mac/WebCoreSystemInterface.h:

2011-05-02  Tony Chang  <tony@chromium.org>

        Reviewed by Kent Tamura.

        convert manual-tests/bugzilla-6821.html to a layout test
        https://bugs.webkit.org/show_bug.cgi?id=59404

        Test: fast/css/hover-update.html

        * manual-tests/bugzilla-6821.html: Removed.

2011-05-02  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Prune ApplicationServices.h out of the headers
        https://bugs.webkit.org/show_bug.cgi?id=59952

        More forward declares are better.

        * html/canvas/CanvasRenderingContext2D.cpp:
        * html/canvas/CanvasRenderingContext2D.h:
        * platform/graphics/GlyphBuffer.h:
        * platform/graphics/cg/ImageBufferCG.cpp:
        * platform/graphics/cg/PDFDocumentImage.cpp:
        * platform/graphics/cg/PDFDocumentImage.h:
        * platform/graphics/mac/ComplexTextController.h:
        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        * platform/mac/WebCoreNSStringExtras.h:
        * platform/mac/WebCoreSystemInterface.h:

2011-05-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7972529> Images with percentage based height/max-height are missing when they are inside blocks inside tables
        https://bugs.webkit.org/show_bug.cgi?id=58006

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Expanded the scope of the fix for
        <http://webkit.org/b/15359> from r29039 to cover not just the case of a auto-or-percent-height
        table cell as the immediate containing block, but any case where all containing block ancestors
        up to and including a table cell are auto-or-percent height.

2011-05-02  Daniel Bates  <dbates@webkit.org>

        Reviewed by Sam Weinig.

        Convert manual test onblur-remove.html to a DRT test; onblur-remove.html fails
        https://bugs.webkit.org/show_bug.cgi?id=59379

        Move manual test onblur-remove.html to LayoutTests/fast/events.

        Test: fast/events/onblur-remove.html

        * manual-tests/onblur-remove.html: Removed.

2011-05-02  Sailesh Agrawal  <sail@chromium.org>

        Reviewed by Dimitri Glazkov.

        Chromium Mac: Add scrollbar overlay drawing functions
        https://bugs.webkit.org/show_bug.cgi?id=59741

        These functions are simply copied from WebCoreSystemInterface. These will be used to implement overlay scrollbars for Chromium Mac.

        No new tests, since this code is only enabled on future versions of Mac OS X.

        * WebCore.gypi:
        * platform/chromium/ScrollbarOverlayUtilitiesMac.h: Added.
        * platform/chromium/ScrollbarOverlayUtilitiesMac.mm: Added.
        (LookUpNSScrollerImpClass):
        (LookUpNSScrollerImpPairClass):
        (ScrollbarControlSizeToNSControlSize):
        (wkScrollbarPainterUsesOverlayScrollers):
        (wkScrollbarPainterIsHorizontal):
        (wkScrollbarPainterKnobAlpha):
        (wkScrollbarPainterSetOverlayState):
        (wkScrollbarPainterPaint):
        (wkScrollbarMinimumThumbLength):
        (wkScrollbarPainterSetDelegate):
        (wkScrollbarPainterTrackAlpha):
        (wkMakeScrollbarPainter):
        (wkScrollbarThickness):
        (wkScrollbarMinimumTotalLengthNeededForThumb):
        (wkVerticalScrollbarPainterForController):
        (wkHorizontalScrollbarPainterForController):
        (wkMakeScrollbarReplacementPainter):
        (wkSetPainterForPainterController):
        (wkSetScrollbarPainterControllerStyle):
        (wkScrollbarPainterKnobRect):
        (wkSetScrollbarPainterKnobAlpha):
        (wkSetScrollbarPainterTrackAlpha):
        (wkSetScrollbarPainterKnobStyle):
        (wkMakeScrollbarPainterController):
        (wkContentAreaScrolled):
        (wkContentAreaWillPaint):
        (wkMouseEnteredContentArea):
        (wkMouseExitedContentArea):
        (wkMouseMovedInContentArea):
        (wkWillStartLiveResize):
        (wkContentAreaResized):
        (wkWillEndLiveResize):
        (wkContentAreaDidShow):
        (wkContentAreaDidHide):
        (wkDidBeginScrollGesture):
        (wkDidEndScrollGesture):
        (wkScrollbarPainterForceFlashScrollers):
        (IsScrollbarOverlayAPIAvailable):

2011-05-02  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Dimitri Glazkov.

        Implement Length based CSS properties in CSSStyleApplyProperty
        https://bugs.webkit.org/show_bug.cgi?id=59314

        No new tests as no functionality changed.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyLength::ApplyPropertyLength):
        Added this class to handle all length types.
        Property specific behavior is handled through set of boolean parameters.
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
        Added calls to set up entries for the newly added length properties.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        Remove property implementations mow implemented in CSSStyleApplyProperty.
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::rootElementStyle):
        Expose m_rootElementStyle via getter.

2011-05-02  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Eric Seidel.

        HTMLMediaElement should not seek to time 0 when readyState reaches HAVE_METADATA
        https://bugs.webkit.org/show_bug.cgi?id=59828

        No new tests required, no functional change because seeking to time zero before playback
        begins has no effect.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setReadyState): Don't seek to time 0 when readyState reaches
            HAVE_METADATA.

2011-05-02  Sam Weinig  <sam@webkit.org>

        Reviewed by Gavin Barraclough.

        Fix extra whitespace in license in FocusDirection.h.

        * page/FocusDirection.h:

2011-05-02  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam Barth.

        Prune some #includes from DOMWindow.h
        https://bugs.webkit.org/show_bug.cgi?id=59907

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::setSecurityOrigin):
        * page/DOMWindow.h:
        Remove #includes of SecurityOrigin and MessagePort by forward declaring
        and moving the SecurityOrigin setter to the .cpp file. Also adds EventTarget
        #include that was getting added by MessagePort.h.

        * bindings/js/JSCustomVoidCallback.cpp:
        * bindings/js/JSCustomXPathNSResolver.cpp:
        * bindings/js/JSDOMWindowCustom.h:
        * bindings/js/JSHistoryCustom.cpp:
        * bindings/js/ScriptController.h:
        * html/HTMLAnchorElement.cpp:
        * html/HTMLMediaElement.cpp:
        * html/parser/XSSFilter.cpp:
        * inspector/InspectorDOMStorageResource.cpp:
        * loader/MainResourceLoader.cpp:
        * page/DragController.cpp:
        * page/EventSource.cpp:
        * page/Location.cpp:
        * websockets/WebSocket.cpp:
        * xml/XSLTProcessorLibxslt.cpp:
        Add now missing SecurityOrigin.h #includes.

2011-05-02  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Brady Eidson.

        The preload attribute of the video tag is not completely implemented
        https://bugs.webkit.org/show_bug.cgi?id=43673
        <rdar://problem/7508322>

        Tested manually with manual-tests/media-elements/video-preload.html.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay.
        (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
        (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play.
        (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'metadata'
            because we need to have media data loaded to seek.
        (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay.
        * html/HTMLMediaElement.h:

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):  Remove 
            m_videoFrameHasDrawn and m_delayingLoad as they are no longer used.
        (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed.
        (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn. 
            Move all preload logic to setPreload, call it from here.
        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to 
            setPreload, call it.
        (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is
            unlikely to be correct and isn't worth caching.
        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus
            to AssetStatus. Create the AVPlayer once we know an asset is playable but preload is
            'metadata'. Set networkState to 'idle' when the playback buffer is full because that is
            a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA' 
            when the first frame is available.
        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache
            width, height, hasVideo, etc.
        (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done
            in derived classes.
        (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create
            AVAsset and AVPlayerItem here.
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
            m_videoFrameHasDrawn.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from
            videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or
            if we have painted a frame to the context.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset
            if necessary.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when
            the buffer is full.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the
            AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration
            when we only have metadata.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset
            when when we haven't allocated the AVPlayerItem yet so that we can report attributes
            when we only have metadata.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before
            we have allocated the AVPlayerItem.

2011-05-02  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] gdk_drawable_get_size() shouldn't be used with GTK+ >= 2.24
        https://bugs.webkit.org/show_bug.cgi?id=59932

        Use gdk_window_get_width() and gdk_window_get_height() if
        available, instead of the deprecated gdk_drawable_get_size().

        No new tests, build fix only.

        * platform/gtk/WidgetRenderingContext.cpp:
        (WebCore::WidgetRenderingContext::WidgetRenderingContext):

2011-05-02  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Brady Eidson.

        The preload attribute of the video tag is not completely implemented
        https://bugs.webkit.org/show_bug.cgi?id=43673
        <rdar://problem/7508322>

        Test manually with manual-tests/media-elements/video-preload.html.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Add new "limit read-ahead"
            attribute when preload is not "auto".
        (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Remove m_delayingLoad, we don't need it.
        (WebCore::MediaPlayerPrivateQTKit::load): Correct comment.
        (WebCore::MediaPlayerPrivateQTKit::prepareToPlay): Call setPreload('auto').
        (WebCore::MediaPlayerPrivateQTKit::setPreload): Set new attribue if we already have
            a QTMovie.

2011-05-02  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Brady Eidson.

        The preload attribute of the video tag is not completely implemented
        https://bugs.webkit.org/show_bug.cgi?id=43673
        <rdar://problem/7508322>

        Manual test manual-tests/media-elements/video-preload.html added.

        * manual-tests/media-elements/video-preload.html: Added. New manual test for media element 
            'preload' attribute because it is not possible to detect if a media engine supports 
            "preload=metadata" in a way that lets us have per-platform layout test results.

2011-05-01  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Eric Carlson.

        Regression(r74787): Media document mouse click and double-click
        events should be checked on target node only and not its descendants.
        https://bugs.webkit.org/show_bug.cgi?id=59886

        * html/MediaDocument.cpp:
        (WebCore::MediaDocument::defaultEventHandler):

2011-05-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Polish CSP host and port matching
        https://bugs.webkit.org/show_bug.cgi?id=59899

        Finish last two details of host and port matching.  I don't think the
        default port handling is testable with our current testing
        infrastructure.

        Tests: http/tests/security/contentSecurityPolicy/image-full-host-wildcard-allowed.html
               http/tests/security/contentSecurityPolicy/image-host-wildcard-allowed.html

        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPSource::hostMatches):
        (WebCore::CSPSource::portMatches):

2011-05-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        CSP default-src is missing
        https://bugs.webkit.org/show_bug.cgi?id=58641

        Add support for default-src.  The default-src provides a default policy
        for every directive that sends in "-src".  If the more-specific
        directive is present, it takes precedence.  I also took this
        opportunity to refactor the internals of ContentSecurityPolicy a bit to
        reduce duplicate code.

        Tests: http/tests/security/contentSecurityPolicy/default-src-inline-allowed.html
               http/tests/security/contentSecurityPolicy/default-src-inline-blocked.html
               http/tests/security/contentSecurityPolicy/script-src-overrides-default-src.html

        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::didReceiveHeader):
        (WebCore::ContentSecurityPolicy::checkEval):
        (WebCore::ContentSecurityPolicy::operativeDirective):
        (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation):
        (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation):
        (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
        (WebCore::ContentSecurityPolicy::allowInlineScript):
        (WebCore::ContentSecurityPolicy::allowInlineStyle):
        (WebCore::ContentSecurityPolicy::allowEval):
        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
        (WebCore::ContentSecurityPolicy::allowImageFromSource):
        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
        (WebCore::ContentSecurityPolicy::allowFontFromSource):
        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
        (WebCore::ContentSecurityPolicy::addDirective):
        * page/ContentSecurityPolicy.h:

2011-05-01  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Prune some unnecessary #includes
        https://bugs.webkit.org/show_bug.cgi?id=59895

        Start getting rid of unnecessary #includes and forward declares.

        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowShell.h:
        * bindings/js/ScheduledAction.cpp:
        * bindings/js/ScriptController.cpp:
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptDebugServer.cpp:
        * editing/Editor.h:
        * inspector/InspectorClient.cpp:
        * loader/FrameLoader.h:
        * loader/NavigationScheduler.h:
        * page/Console.cpp:
        * xml/XMLTreeViewer.cpp:
        * xml/XMLTreeViewer.h:

2011-05-01  Patrick Gansterer  <paroga@webkit.org>

        [WIN] Unreviewed buildfix after r85434.

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

2011-05-01  Patrick Gansterer  <paroga@webkit.org>

        [WIN] Unreviewed buildfix after r85434.

        * platform/graphics/win/QTMovieVisualContext.cpp:
        (QTMovieVisualContext::QTMovieVisualContext): Added missing header.

2011-05-01  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        History::stateObjectAdded should check origin via SecurityOrigin::canRequest
        https://bugs.webkit.org/show_bug.cgi?id=59840

        Tests: fast/loader/stateobjects/pushstate-in-data-url-denied.html
               http/tests/navigation/replacestate-base-illegal.html
               http/tests/navigation/replacestate-base-legal.html

        * page/History.cpp:
        (WebCore::History::stateObjectAdded):

2011-05-01  Patrick Gansterer  <paroga@webkit.org>

        [WIN] Unreviewed buildfix after r85434.

        * platform/graphics/win/QTMovieVisualContext.cpp:
        (QTMovieVisualContext::QTMovieVisualContext):

2011-05-01  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Barth.

        [WINCE] Fix OwnPtr strict issues
        https://bugs.webkit.org/show_bug.cgi?id=59898

        * page/wince/FrameWinCE.cpp:
        (WebCore::imageFromSelection):
        * platform/graphics/wince/FontPlatformData.cpp:
        (WebCore::FixedSizeFontData::create):
        (WebCore::FontPlatformPrivateData::FontPlatformData::hfont):
        (WebCore::FontPlatformPrivateData::FontPlatformData::getScaledFontHandle):
        (WebCore::FontPlatformPrivateData::FontPlatformData::discardFontHandle):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::drawRoundCorner):
        (WebCore::GraphicsContext::drawText):
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/wince/ImageWinCE.cpp:
        (WebCore::BitmapImage::getHBITMAPOfSize):
        * platform/graphics/wince/SharedBitmap.cpp:
        (WebCore::SharedBitmap::SharedBitmap):

2011-05-01  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Get rid of versions of sendContextMenuEvent and eventMayStartDrag that takes NSEvent
        https://bugs.webkit.org/show_bug.cgi?id=59837

        Removed EventHandler::sendContextMenuEvent(NSEvent*) and EventHandler::eventMayStartDrag(NSEvent*)

        * WebCore.exp.in:
        * page/EventHandler.h:
        * page/mac/EventHandlerMac.mm:

2011-05-01  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Move currentKeyboardEvent from EventHandlerMac.mm to WebHTMLView.mm
        https://bugs.webkit.org/show_bug.cgi?id=59835

        Moved currentKeyboardEvent.

        * WebCore.exp.in:
        * page/EventHandler.h:
        * page/mac/EventHandlerMac.mm:

2011-05-01  ojab  <ojab@ojab.ru>

        Reviewed by Eric Seidel.

        Fix build with --disable-video --enable-fullscreen-api
        https://bugs.webkit.org/show_bug.cgi?id=59698

        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::extraFullScreenStyleSheet):

2011-05-01  Jeff Timanus  <twiz@chromium.org>

        Reviewed by Eric Seidel.

        Add solid-color checking to BitmapImage::checkForSolidColour in the skia port.
        https://bugs.webkit.org/show_bug.cgi?id=59041

        Test:css2.1/t140201-c533-bgimage-00-a.html

        * platform/graphics/Image.cpp:
        (WebCore::Image::drawTiled): Removal of macro exclusion of assert for Skia path.
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::BitmapImage::checkForSolidColor):

2011-05-01  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Barth.

        Fix OwnPtr strict issues in windows build
        https://bugs.webkit.org/show_bug.cgi?id=59878

        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
        (WebCore::getDirtyRects):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
        * platform/graphics/win/WKCAImageQueue.cpp:
        (WebCore::WKCAImageQueue::WKCAImageQueue):
        * platform/win/CursorWin.cpp:
        (WebCore::createSharedCursor):
        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::writeImage):

2011-05-01  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Eric Seidel.

        Use PassOwnPtr as return value of GraphicsContext::createWindowsBitmap
        https://bugs.webkit.org/show_bug.cgi?id=59876

        Also pass the size "as reference" instead of "as value".

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::drawGDIGlyphs):
        * platform/graphics/win/GraphicsContextWin.cpp:
        (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
        (WebCore::GraphicsContext::createWindowsBitmap):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::paint):

2011-05-01  Emil A Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        getComputedStyle() returns unitless values for some properties that require units
        https://bugs.webkit.org/show_bug.cgi?id=55111

        Change getComputedStyle to return value with unit for -webkit-column-width, -webkit-column-gap and -webkit-perspective

        Test: fast/css/getComputedStyle/getComputedStyle-length-unit.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2011-05-01  Young Han Lee  <joybro@company100.net>

        Reviewed by Eric Seidel.

        Change TEXMAP_OPENGL_ES2 to TEXMAP_OPENGL_ES_2
        https://bugs.webkit.org/show_bug.cgi?id=59608

        TEXMAP_OPENGL_ES2 is a wrong name. TEXMAP_OPENGL_ES_2 is already defined in TextureMapper.h

        No new functionality, no new tests.

        * platform/graphics/opengl/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::TextureMapperGL):

2011-05-01  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Eric Seidel.

        CSS3 nth-child(n) selector fails
        https://bugs.webkit.org/show_bug.cgi?id=56943

        Regression from r75158.
        "n" is a valid parameter to nth() and should be allowed.

        Test: fast/css/nth-child-n.html

        * css/CSSParser.cpp:
        (WebCore::isValidNthToken):

2011-05-01  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: address stack frame scriptName -> url rename in timeline panel.

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

2011-05-01  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Maciej Stachowiak.

        Crash in AccessibilityRenderObject while viewing PDFs in iframes
        https://bugs.webkit.org/show_bug.cgi?id=59629

        Could not reproduce this crash, but it's quite clear how it could happen.
 
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityHitTest):

2011-05-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        LEAK: SVGElement leaks when detaching it in a pending resource state
        https://bugs.webkit.org/show_bug.cgi?id=59072

        Make the pending resources set non-refcounted again. We made it refcounted a while ago
        to fix a security bug, as we had dangling pointers in the set in SVGDocumentExtensions.
        Fix the underlying problem, by removing all pending resources referencing to a particular
        SVGElement, upon its destruction or upon removing it from the document.

        Example: <rect fill="url(#foo)" id="rect">
        When we try to render the rect, the foo paint server can't be found and thus "foo" will be
        added to the pending resource set, with "rect" as client. When "foo" appears, it would remove
        itself from the pending resource set, and a ref count to the "rect" would be released.
        If "foo" never appears, SVGDocumentExtensions still holds a ref to the <rect>, thus keeping
        it and the associated document alive.

        Tests: svg/custom/pending-resource-leak-2.svg
               svg/custom/pending-resource-leak-3.svg
               svg/custom/pending-resource-leak.svg

        These tests cover several scenarios where we used to leak. Should fix several SVG*Element leaks on the bots.
        I manually tested reloading above testcases dozens of times, before the leak count was incremented by 2 nodes on every reload, that's gone now.

        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::registerResource):
        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
        * rendering/svg/SVGResources.cpp:
        (WebCore::registerPendingResource):
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::addPendingResource):
        (WebCore::SVGDocumentExtensions::hasPendingResources):
        (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
        (WebCore::SVGDocumentExtensions::removePendingResource):
        * svg/SVGDocumentExtensions.h:
        * svg/SVGElement.cpp:
        * svg/SVGElement.h:
        * svg/SVGElementRareData.h:
        (WebCore::SVGElementRareData::SVGElementRareData):
        (WebCore::SVGElementRareData::hasPendingResources):
        (WebCore::SVGElementRareData::setHasPendingResources):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::~SVGStyledElement):
        (WebCore::SVGStyledElement::insertedIntoDocument):
        (WebCore::SVGStyledElement::removedFromDocument):
        (WebCore::SVGStyledElement::hasPendingResources):
        (WebCore::SVGStyledElement::setHasPendingResources):
        * svg/SVGStyledElement.h:
        (WebCore::SVGStyledElement::needsPendingResourceHandling):
        (WebCore::SVGStyledElement::buildPendingResource):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::SVGUseElement):
        (WebCore::SVGUseElement::insertedIntoDocument):
        (WebCore::SVGUseElement::svgAttributeChanged):
        (WebCore::SVGUseElement::buildPendingResource):
        * svg/SVGUseElement.h:

2011-05-01  Rafael Brandao  <rafael.lobo@openbossa.org>

        Reviewed by Csaba Osztrogonác.

        [Qt] build-webkit warning Inspector.idl is missing
        https://bugs.webkit.org/show_bug.cgi?id=59047
        
        Added variable_out to pipe output from one compiler to another,
        and then forced the output to be added to the sources.

        * CodeGenerators.pri:

2011-05-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/9155067> REGRESSION (float-based line boxes): Gaps and overlaps in selection highlight
        https://bugs.webkit.org/show_bug.cgi?id=56658

        Test: fast/text/selection-rect-rounding.html

        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::selectionRectForSimpleText): Account for non-integral anchor point coordinates.
        * platform/graphics/mac/FontComplexTextMac.cpp:
        (WebCore::Font::selectionRectForComplexText): Ditto.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect): Floor the horizontal sides of the clip rect.
        (WebCore::InlineTextBox::paintSelection): Pass the logical left location to Font::selectionRectForText(),
        since it affects rounding.

2011-04-30  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Dirk Schulze.

        Make RenderSVGResourceFilter take ownership of filter data when painting
        https://bugs.webkit.org/show_bug.cgi?id=51524

        Test: svg/custom/filter-on-svgimage.svg

        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::removeClientFromCache):
        (WebCore::RenderSVGResourceFilter::postApplyResource):
        * rendering/svg/RenderSVGResourceFilter.h:
        (WebCore::FilterData::FilterData):

2011-04-30  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Adam Barth.

        Enable strict mode for OwnPtr and PassOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=59428

        Fix assignments and .set() calls with OwnPtr to use adoptPtr. Have GeolocationService
        factory methods return a PassOwnPtr.

        No new tests. This should not change functionality.

        * platform/GeolocationService.cpp:
        (WebCore::createGeolocationServiceNull):
        (WebCore::GeolocationService::create):
        * platform/GeolocationService.h:
        * platform/android/GeolocationServiceAndroid.cpp:
        (WebCore::GeolocationServiceAndroid::create):
        * platform/android/GeolocationServiceAndroid.h:
        * platform/efl/GeolocationServiceEfl.cpp:
        (WebCore::GeolocationServiceEfl::create):
        * platform/efl/GeolocationServiceEfl.h:
        * platform/graphics/cairo/CairoUtilities.cpp:
        (WebCore::appendPathToCairoContext):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::drawPathShadow):
        (WebCore::GraphicsContext::clip):
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/cairo/OwnPtrCairo.h:
        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::Path):
        (WebCore::Path::operator=):
        (WebCore::Path::apply):
        * platform/gtk/GeolocationServiceGtk.cpp:
        (WebCore::GeolocationServiceGtk::create):
        * platform/gtk/GeolocationServiceGtk.h:
        * platform/mock/GeolocationServiceMock.cpp:
        (WebCore::GeolocationServiceMock::create):
        * platform/mock/GeolocationServiceMock.h:

2011-04-30  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: inspector toolbar titles were 2px off.

        * inspector/front-end/inspector.css:
        (#toolbar-dropdown .toolbar-label):

2011-04-30  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Eric Seidel.

        V8Proxy.h shouldn't include SecurityOrigin.h
        https://bugs.webkit.org/show_bug.cgi?id=59859

        Remove SecurityOrigin.h #include from V8Proxy.h. Touching
        SecurityOrigin.h now rebuilds 234 targets instead of 638 (when building
        chromium's DumpRenderTree).

        * bindings/v8/NPV8Object.cpp:
        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/V8Proxy.h:
        * css/CSSStyleSelector.cpp:
        * dom/XMLDocumentParserLibxml2.cpp:
        * html/HTMLLinkElement.cpp:
        * loader/SubframeLoader.cpp:
        * page/History.cpp:
        * storage/IDBFactory.cpp:
        * storage/StorageAreaImpl.cpp:

2011-04-29  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        CSP script-src should block eval
        https://bugs.webkit.org/show_bug.cgi?id=59850

        Rather than have JavaScriptCore call back into WebCore to learn whether
        eval is enabled, we push that bit of the policy into JavaScriptCore.

        Tests: http/tests/security/contentSecurityPolicy/eval-allowed.html
               http/tests/security/contentSecurityPolicy/eval-blocked.html

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::disableEval):
        * bindings/js/ScriptController.h:
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::didReceiveHeader):
        (WebCore::ContentSecurityPolicy::internalAllowEval):
        (WebCore::ContentSecurityPolicy::allowEval):
        * page/ContentSecurityPolicy.h:

2011-04-29  Joseph Pecoraro  <joepeck@webkit.org>

        GTK build fix. Missed moving DateComponents and
        adding LocalizedDate files for their build file.

        * GNUmakefile.list.am:

2011-04-29  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        style-src should block @style
        https://bugs.webkit.org/show_bug.cgi?id=59293

        This patch blocks @style when style-src doesn't have the
        'unsafe-inline' token.  This patch blocks the parsing of the attribute
        itself.  That feels vaguely like too low a level to interpose the
        policy, but there didn't seem to be anywhere else natural to enforce
        the policy.

        Tests: http/tests/security/contentSecurityPolicy/inline-style-attribute-allowed.html
               http/tests/security/contentSecurityPolicy/inline-style-attribute-blocked.html
               http/tests/security/contentSecurityPolicy/inline-style-on-html.html

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::parseMappedAttribute):

2011-04-29  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Kent Tamura.

        Allow Localized Date Strings for Date Input Fields
        https://bugs.webkit.org/show_bug.cgi?id=59752

        Test: fast/forms/date-input-visible-strings.html

        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj: update build files for
        moving DateComponents from WebCore/html to WebCore/platform
        and adding the LocalizedDate files.

        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::serialize):
        (WebCore::BaseDateAndTimeInputType::serializeWithComponents):
        (WebCore::BaseDateAndTimeInputType::serializeWithMilliseconds):
        InputType::serialize for a double value with date types is
        different for the month type because it assumes the incoming
        value is months instead of msecs (matching valueAsNumber in
        HTML5).  So provide a more general serialization function,
        serializeWithComponents, that will always serialize a string
        correctly for the current type but taking in a DateComponents
        object. The default serialize, and new serializeWithMilliseconds,
        can fall back to this and allows an override point for
        the month type.

        * html/MonthInputType.cpp:
        (WebCore::MonthInputType::serializeWithMilliseconds): the month
        type is a case where the default serialize does not take msec,
        so provide an implementation for month which handles msec input.

        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::setValueAsDate): switch
        to serializeWithMilliseconds as the incoming date value is msec.
        * html/MonthInputType.cpp:
        (WebCore::MonthInputType::setValueAsDate): removed.

        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::visibleValue): allow
        localized formatting of a date value.
        (WebCore::BaseDateAndTimeInputType::convertFromVisibleValue):
        allow parsing for a formatted date value.

        * html/BaseDateAndTimeInputType.h:
        * platform/DateComponents.cpp: Renamed from Source/WebCore/html/DateComponents.cpp.
        Expose the Type enum so it can be used outside of the DateComponents class.
        * platform/text/LocalizedDate.h: Added.
        * platform/text/LocalizedDateNone.cpp: Added.
        (WebCore::formatLocalizedDate): Default implementation falls back to
        existing HTML5 date input value formatting.

        * html/BaseDateAndTimeInputType.h:
        * html/DateInputType.cpp:
        (WebCore::DateInputType::dateType):
        * html/DateInputType.h:
        * html/DateTimeInputType.cpp:
        (WebCore::DateTimeInputType::dateType):
        * html/DateTimeInputType.h:
        * html/DateTimeLocalInputType.cpp:
        (WebCore::DateTimeLocalInputType::dateType):
        * html/DateTimeLocalInputType.h:
        * html/MonthInputType.cpp:
        (WebCore::MonthInputType::dateType):
        * html/MonthInputType.h:
        * html/TimeInputType.cpp:
        (WebCore::TimeInputType::dateType):
        * html/TimeInputType.h:
        * html/WeekInputType.cpp:
        (WebCore::WeekInputType::dateType):
        * html/WeekInputType.h: Accessors for the desired date
        type of a date input type. This allows the base class
        to write a generic algorithm.

2011-04-29  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        style-src should block inline style from <style>
        https://bugs.webkit.org/show_bug.cgi?id=59292

        The spec has been updated to allow blocking of inline styles with
        style-src.  This will help folks defend against tricky CSS3 injections.

        This patch covers the <style> case.  The next patch will cover the
        @style case.

        Tests: http/tests/security/contentSecurityPolicy/inline-style-allowed.html
               http/tests/security/contentSecurityPolicy/inline-style-blocked.html

        * dom/StyleElement.cpp:
        (WebCore::StyleElement::createSheet):
        * page/ContentSecurityPolicy.cpp:
        (WebCore::ContentSecurityPolicy::allowInlineStyle):
        * page/ContentSecurityPolicy.h:

2011-04-29  Chris Evans  <cevans@chromium.org>

        Reviewed by Adam Barth.

        Add WebCore::Setting to block displaying and/or running insecure content on secure pages
        https://bugs.webkit.org/show_bug.cgi?id=58378

        Test: To follow in subsequent patch, including the wiring to expose the new settings to LayoutTests.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkIfDisplayInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking.
        (WebCore::FrameLoader::checkIfRunInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking.
        * loader/FrameLoader.h:
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::willSendRequest): Check if the frame load is blocked due to mixed content and cancel it if so. The check was moved up so that it occurs before firing the load callbacks, to avoid any outgoing network hits or accounting. Redirects are handled because willSendRequest is called for each one in the chain.
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): Handle the blocking of mixed-content plug-in loads.
        (WebCore::SubframeLoader::loadPlugin): Handle the blocking of mixed-content plug-in loads.
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::canRequest): Handle the blocking of various loads due to mixed content conditions.
        * page/Settings.cpp:
        (WebCore::Settings::Settings): Permit mixed-content loads by default to avoid a change in behavior by default.
        * page/Settings.h: Add two new booleans to control blocking of mixed content (displaying and running thereof).
        (WebCore::Settings::setAllowDisplayOfInsecureContent):
        (WebCore::Settings::allowDisplayOfInsecureContent):
        (WebCore::Settings::setAllowRunningOfInsecureContent):
        (WebCore::Settings::allowRunningOfInsecureContent):

2011-04-29  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Extract a function to obtain VisiblePosition from RenderText::positionForPoint
        https://bugs.webkit.org/show_bug.cgi?id=59811

        Extracted lineDirectionPointFitsInBox from positionForPoint.

        * rendering/RenderText.cpp:
        (WebCore::lineDirectionPointFitsInBox):
        (WebCore::RenderText::positionForPoint):

2011-04-29  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Alexey Proskuryakov.

        REGRESSION: r83938 abandons GC memory
        https://bugs.webkit.org/show_bug.cgi?id=59604

        This bug was caused by script and image elements waiting indefinitely
        for their loads to finish.

        * bindings/js/JSNodeCustom.cpp:
        (WebCore::isReachableFromDOM): Don't test for the load event firing,
        since the load event doesn't fire in cases of canceled or errored loads.
        Instead, test hasPendingActivity().
        
        Don't do this test at all for script elements because script elements
        can't load while outside the document. (fast/dom/script-element-gc.html
        verifies that this is correct.)

        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::hasPendingActivity):
        * html/HTMLImageElement.h:
        * loader/ImageLoader.cpp:
        (WebCore::ImageEventSender::hasPendingEvents):
        (WebCore::ImageLoader::hasPendingLoadEvent):
        * loader/ImageLoader.h: Added API for finding out if an image element
        has pending activity.

        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::setRequest): All loads are supposed to end in
        data(allDataReceived = true) or error(), but in the edge case of a
        canceled load, all we get is a call to setRequest(0). Be sure to
        record that we're no longer loading in that case, otherwise our element
        will leak forever, waiting for its load to complete.

2011-04-29  Emil Eklund  <eae@chromium.org>

        Reviewed by Tony Chang.

        Setting outerHTML should merge text nodes
        https://bugs.webkit.org/show_bug.cgi?id=52686

        When setting outerHTML adjacent text nodes should be merged. This matches
        the behavior of outerText and the IE implementation of outerHTML.       

        Test: fast/dom/set-outer-html.html

        * html/HTMLElement.cpp:
        (WebCore::mergeWithNextTextNode): Move function to before setOuterHTML.
        (WebCore::HTMLElement::setOuterHTML): Merge adjacent text nodes after replacing the element.

2011-04-29  Emil A Eklund  <eae@chromium.org>

        Reviewed by Dimitri Glazkov.

        Onchange on text fields has an incoherent behavior
        https://bugs.webkit.org/show_bug.cgi?id=57330

        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::insertedIntoDocument):
        Initialize m_textAsOfLastFormControlChangeEvent to empty string rather
        than null for empty fields.

2011-04-29  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed buildfix after r85343.

        Enable strict OwnPtr for Qt
        https://bugs.webkit.org/show_bug.cgi?id=59667

        * plugins/mac/PluginViewMac.mm:
        (WebCore::PluginView::platformStart):

2011-04-29  Jon Lee  <jonlee@apple.com>

        Reviewed by mitzpettel.

        REGRESSION (WebKit2): (Mac) Selection is gone after switching tabs (59721)
        <rdar://problem/9327332>
        https://bugs.webkit.org/show_bug.cgi?id=59721

        Removing shouldClearSelectionWhenLosingWebPageFocus().  Reverting changelist 83814.

        * WebCore.exp.in:
        * editing/EditingBehavior.h:

2011-04-29  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Allow only first table caption and destroy the remaining ones.
        https://bugs.webkit.org/show_bug.cgi?id=58249

        Previously, we were only laying out the first table caption.
        However Table::layout didn't mark the other ones as not needing
        layout. So after table layout completes, table is marked as not
        needing layout with its other table caption still needing layout.
        This causes incorrect layout root calculations and set it to a
        node which is already getting deleted.

        Tests: fast/table/dynamic-caption-add-before-child.xhtml
               fast/table/dynamic-caption-add-remove-before-child.xhtml
               fast/table/multiple-captions-crash.xhtml
               fast/table/multiple-captions-crash2.xhtml
               fast/table/multiple-captions-display.xhtml

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): when new caption or a before
        child caption is added, we need to explicitly trigger section
        recalc or otherwise layout won't catch it.
        (WebCore::RenderTable::removeChild): when child to be removed is
        m_caption, make sure to trigger style recalc on the table.
        (WebCore::RenderTable::recalcCaption): code to destroy captions
        other than the first one.
        (WebCore::RenderTable::recalcSections): call recalcCaption
        helper. Store the next sibling early since child can get destroyed
        in recalcCaption.
        * rendering/RenderTable.h:

2011-04-29  David Kilzer  <ddkilzer@apple.com>

        Remove WML
        https://bugs.webkit.org/show_bug.cgi?id=59678

        * DerivedSources.make: Removed $(WebCore)/wml path in VPATH.

2011-04-29  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r85330.
        http://trac.webkit.org/changeset/85330
        https://bugs.webkit.org/show_bug.cgi?id=41311

        Caused unexpected border rendering change on 500 tests on chromium linux.

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::clipConvexPolygon):

2011-04-29  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed buildfix after r85343.

        Enable strict OwnPtr for Qt
        https://bugs.webkit.org/show_bug.cgi?id=59667

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::wndProc):
        (WebCore::PluginView::snapshot):

2011-04-29  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Adam Barth.

        Enable strict OwnPtr for Qt
        https://bugs.webkit.org/show_bug.cgi?id=59667

        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBufferData::ImageBufferData):
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::setData):
        * platform/graphics/qt/ImageDecoderQt.h:
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):

2011-04-29  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        Add ENABLE macro for WebKitAnimation
        https://bugs.webkit.org/show_bug.cgi?id=59729

        Add new feature to toggle WebKit Animation API.

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * dom/Element.idl:
        * features.pri:
        * page/DOMWindow.idl:

2011-04-29  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=59149
        (Regression) Existing animations are not replaced when filling.

        Hardware animations that fill forwards were not being correctly
        replaced when the animation was removed. The actual animation
        logic was working correctly, but it wasn't deleting the
        CoreAnimation animation from the PlatformLayer. The fix was
        to explicitly call endAnimation when disconnecting the animation
        from its RenderObject.

        Test: animations/3d/replace-filling-transform.html

        * page/animation/AnimationBase.h:
        (WebCore::AnimationBase::clear): call endAnimation as the animation is cleared

2011-04-29  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Nikolas Zimmermann.

        When svg inline text is getting destroyed, make sure to mark
        its svg text ancestor as needing a positioning values update.
        This helps to recalculate layout attributes and makes sure
        that svg inline text is not used again.
        https://bugs.webkit.org/show_bug.cgi?id=59161

        Test: svg/text/inline-text-destroy-attributes-crash.xhtml

        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::destroy):
        * rendering/svg/RenderSVGInlineText.h:

2011-04-29  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Fix wxMSW trunk builds by adding include.

        * platform/graphics/wx/GraphicsContextWx.cpp:

2011-04-29  Mike Reed  <reed@google.com>

        Reviewed by Ojan Vafai.

        Skia: Need to implement GraphicsContext::clipConvexPolygon()
        https://bugs.webkit.org/show_bug.cgi?id=41311

        This does not (yet) enable HAVE_PATH_BASED_BORDER_RADIUS_DRAWING
        as that shows other issues/question unrelated to clipping.
        https://bugs.webkit.org/show_bug.cgi?id=41311

        No new tests. covered by existing layout tests

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::setPathFromConvexPoints):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::clipConvexPolygon):

2011-04-29  Mike Lawther  <mikelawther@chromium.org>

        Reviewed by Ojan Vafai.

        Fix IR->SR typo in enum value (and resulting style fails)
        https://bugs.webkit.org/show_bug.cgi?id=59779

        No functionality change, so no new tests

        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EShapeRendering):

2011-04-29  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: CSS editing breaks when entering "color: rgb(1"
        https://bugs.webkit.org/show_bug.cgi?id=59789

        Tests: inspector/styles/styles-add-invalid-property.html
               inspector/styles/styles-cancel-editing.html
               inspector/styles/styles-commit-editing.html

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSProperty.prototype.setText.callback):
        (WebInspector.CSSProperty.prototype.setText):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.selectElement):
        (WebInspector.StylePropertyTreeElement.prototype):
        (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert.originalPropertyText):
        * inspector/front-end/inspector.js:
        (WebInspector.startEditing.defaultFinishHandler):
        (WebInspector.startEditing.keyDownEventListener):
        (WebInspector.startEditing):

2011-04-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        ENABLE(QT_BEARER) -> USE(QT_BEARER)

        * WebCore.pri:
        * WebCore.pro:
        * features.pri:
        * platform/network/NetworkStateNotifier.h:
        * platform/network/qt/NetworkStateNotifierQt.cpp:

2011-04-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        ENABLE(QT_USERAGENT_DEVICEMODEL) -> USE(QT_MOBILITY_SYSTEMINFO)

        * WebCore.pri:
        * features.pri:

2011-04-29  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation.
        https://bugs.webkit.org/show_bug.cgi?id=59476

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
        (WebInspector.PresentationBreakpoint.prototype.serialize):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
        (WebInspector.ScriptsPanel.prototype.reset):

2011-04-28  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: include script end line:column in scriptParsed parameters.
        https://bugs.webkit.org/show_bug.cgi?id=59717

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        * bindings/v8/DebuggerScript.js:
        ():
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        * inspector/Inspector.json:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        (WebCore::InspectorDebuggerAgent::Script::Script):
        * inspector/ScriptDebugListener.h:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
        (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
        * inspector/front-end/Script.js:
        (WebInspector.Script):

2011-04-28  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [protocol] Evaluate should expose thrown exception value
        https://bugs.webkit.org/show_bug.cgi?id=59000

        Each evaluation command may have either thrown or returned result. This is indicated
        by wasThrown property in the protocol.

        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluate):
        (WebCore::InjectedScript::evaluateOn):
        (WebCore::InjectedScript::evaluateOnCallFrame):
        (WebCore::InjectedScript::getProperties):
        (WebCore::InjectedScript::makeEvalCall):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptSource.js:
        * inspector/Inspector.json: Removed "error" remote object type, added "wasThrown" property to
        the evaluation results.
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::evaluateOn):
        (WebCore::InspectorRuntimeAgent::getProperties):
        * inspector/InspectorRuntimeAgent.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.completions.evaluated):
        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
        (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
        (WebInspector.ConsoleView.prototype._enterKeyPressed):
        (WebInspector.ConsoleCommandResult):
        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.PresenationCallFrame.prototype.evaluate):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionSidebarPane.prototype._onEvaluate):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.update):
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
        (WebInspector.SourceFrame.prototype._showPopup):

2011-04-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r85315.
        http://trac.webkit.org/changeset/85315
        https://bugs.webkit.org/show_bug.cgi?id=59792

        Broke script-formatter.html test (Requested by podivilov on
        #webkit).

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger.didRemoveBreakpoint):
        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
        (WebInspector.PresentationBreakpoint.prototype.serialize):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
        (WebInspector.ScriptsPanel.prototype.reset):

2011-04-29  Vsevolod Vlasov  <vsevik@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Hyperlink Auditing (ping) requests are not shown in network panel
        https://bugs.webkit.org/show_bug.cgi?id=58794

        Added ping requests to network panel.

        Test: http/tests/inspector/network/ping.html

        * English.lproj/localizedStrings.js:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::continueAfterPingLoader):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
        (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get formParameters):
        (WebInspector.Resource.prototype.requestContentType):
        (WebInspector.Resource.prototype.isPingRequest):
        * loader/PingLoader.cpp:
        (WebCore::PingLoader::PingLoader):
        * loader/PingLoader.h:

2011-04-28  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation.
        https://bugs.webkit.org/show_bug.cgi?id=59476

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
        (WebInspector.PresentationBreakpoint.prototype.serialize):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
        (WebInspector.ScriptsPanel.prototype.reset):

2011-04-29  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add "open link in new tab" action into the network and resources panels.
        https://bugs.webkit.org/show_bug.cgi?id=59788

        This change also distinguishes context menu items case between platforms.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
        * inspector/front-end/DOMBreakpointsSidebarPane.js:
        (WebInspector.DOMBreakpointsSidebarPane):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
        (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
        (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._contextMenu):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction):
        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
        * inspector/front-end/Settings.js:
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._contextMenu):
        * inspector/front-end/inspector.js:
        (WebInspector.openLinkExternallyLabel):
        (WebInspector.openResource):
        (WebInspector.useLowerCaseMenuTitles):

2011-04-28  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Mask placement on composited layer is incorrect sometimes
        https://bugs.webkit.org/show_bug.cgi?id=59775
        
        The mask layer always has the same size as its owning GraphicsLayer,
        so it needs to share the same offsetFromRenderer as well. This fixes
        the offset at which the mask layer contents are painted in cases where
        that offset is non-zero, for example when outline style bloats all of
        the layer sizes.

        Test: compositing/masks/layer-mask-placement.html

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

2011-04-28  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Mark Rowe.

        Reverted r81319.

        Fixes <rdar://problem/9331580> REGRESSION (r81319): Safari fails to display dropdown navigation on classics.berkeley.edu

        * page/NavigatorBase.cpp:

2011-04-28  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dirk Schulze.

        1px box-shadow looks ugly
        https://bugs.webkit.org/show_bug.cgi?id=58100
        and
        ShadowBlur incorrectly handles zero-sized blur radius in one axis
        https://bugs.webkit.org/show_bug.cgi?id=59710
        
        blurLayerImage() has issues at the edges if the blur radius
        is one, so in that case bump the buffer size out by a pixel.
        This results in a correct, symmetrical blur.
        
        Also fix an issue noticed during testing where a zero
        height or width radius would still blur on that axis,
        because we clamp the kernel size to a minimum of two.

        Test: fast/box-shadow/single-pixel-shadow.html

        * platform/graphics/ShadowBlur.h:
        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ShadowBlur::blurLayerImage):
        Skip horizontal or vertial passes if the radius on that axis is zero.
        Move the "if (pass && m_blurRadius.width() != m_blurRadius.height())"
        clause to the end of the loop, since it only needs to execute once
        after the first pass.        
        (WebCore::ShadowBlur::blurredEdgeSize):
        New method to compute the width of the blurred edge (radius + extra
        pixel when necessary).
        (WebCore::ShadowBlur::calculateLayerBoundingRect):
        (WebCore::ShadowBlur::templateSize):
        (WebCore::ShadowBlur::drawRectShadow):
        (WebCore::ShadowBlur::drawInsetShadow):
        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
        (WebCore::ShadowBlur::drawRectShadowWithTiling):
        (WebCore::ShadowBlur::drawLayerPieces):
        Use the result of blurredEdgeSize() rather than recomputing.

2011-04-28  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Beth Dakin.

        CSS sibling selector (~) does not work with :target pseudo class
        https://bugs.webkit.org/show_bug.cgi?id=26539

        Allow style recalculation of forward siblings of elements with
        forward positional rules.

        Tests: fast/css/pseudo-target-indirect-sibling-001.html
               fast/css/pseudo-target-indirect-sibling-002.html

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

2011-04-28  Nat Duca  <nduca@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Add swapBuffersCompleteCallback to Extensions3DChromium
        https://bugs.webkit.org/show_bug.cgi?id=59626

        * platform/graphics/chromium/Extensions3DChromium.h:
        (WebCore::Extensions3DChromium::SwapBuffersCompleteCallbackCHROMIUM::~SwapBuffersCompleteCallbackCHROMIUM):

2011-04-28  Steve Lacey  <sjl@chromium.org>

        Reviewed by Eric Carlson.

        Change chromium media controls to use absolute positioning until bug 59644 is fixed.
        https://bugs.webkit.org/show_bug.cgi?id=59732

        * css/mediaControlsChromium.css:
        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):

2011-04-28  Luke Macpherson   <macpherson@chromium.org>

        Reviewed by Eric Seidel.

        Implement CSS border width and related properties in CSSStyleApplyProperty.
        https://bugs.webkit.org/show_bug.cgi?id=59414

        No new tests as no functionality added.

        * css/CSSStyleApplyProperty.cpp:
        Separated ApplyPropertyDefault into parent and child so that other classes could inherit
        the applyInheritValue and applyInitialValue methods only.
        This was necessary to avoid casting from CSSPrimitiveValue to inappropriate types in ApplyPropertyDefault::applyValue().
        
        Added ApplyPropertyWidth class for handling width based CSS properties.
        * css/CSSStyleSelector.cpp:
        Removed no-longer-required code for handling width based CSS properties.
        * css/CSSStyleSelector.h:
        Added a getter for m_rootElementStyle.

2011-04-28  Kent Tamura  <tkent@chromium.org>

        Run sort-Xcode-project-file.

        * WebCore.xcodeproj/project.pbxproj:

2011-04-28  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Dirk Schulze.

        [Cairo] Text underline is not shadowed when text-shadow is enabled
        https://bugs.webkit.org/show_bug.cgi?id=48074

        Use ContextShadow to enable shadows for text underlines. Also remove quite a bit
        of duplicate code in GraphicsContext used for stroking lines. This code looks like it was
        originally copied from the CG GraphicsContext.

        * platform/graphics/GraphicsContext.h: Make adjustLineToPixelBoundaries so that we
          can call it from a static helper function.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::calculateStrokePatternOffset): Abstracted this code into a helper.
        (WebCore::drawLineOnCairoContext): Abstracted this code into a helper. We need to
        call it multiple times when shadowing text underlines.
        (WebCore::GraphicsContext::drawLine): Use drawLineOnCairoContext.
        (WebCore::GraphicsContext::strokeArc): Use calculateStrokePatternOffset.
        (WebCore::GraphicsContext::drawLineForText): Use drawLineOnCairoContext.

2011-04-28  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Mark Rowe.

        Cleanup WebCore.xcodeproj a bit.

        * WebCore.xcodeproj/project.pbxproj:
        Added CompilerVersion.xcconfig and moved some JS bindings files into the
        correct sub groups.

2011-04-28  David Levin  <levin@chromium.org>

        Reviewed by Adam Barth.

        Remove IMAGE_RESIZER related code.
        https://bugs.webkit.org/show_bug.cgi?id=59735

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * features.pri:
        * html/AsyncImageResizer.cpp: Removed.
        * html/AsyncImageResizer.h: Removed.
        * html/ImageResizerThread.cpp: Removed.
        * html/ImageResizerThread.h: Removed.

2011-04-28  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed trivial one-line fix inspired by wrong patch for https://bugs.webkit.org/show_bug.cgi?id=59630.

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

2011-04-28  Beth Dakin  <bdakin@apple.com>

        Rubber-stamped by Sam Weinig.

        Rolling out revision 85258! I want to fix that bug a different way.
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint):

2011-04-28  Chang Shu  <cshu@webkit.org>

        Reviewed by Eric Seidel.

        isContentEditable is not working properly with document.designMode
        https://bugs.webkit.org/show_bug.cgi?id=53031

        The specification (http://dev.w3.org/html5/spec/Overview.html#attr-contenteditable)
        indicates that the element.isContentEditable relies on document.designMode if its
        and its ancestors' contenteditable attributes are set to inherit.

        1. Sync document render style after document.designMode is changed.
        2. Removed the code that does unnecessary and incorrect handling for contenteditable
        attribute with "inherit" value.
        3. Ryosuke Niwa also helped to fix the code in ApplyStyleCommand that causes an assertion.

        Tests: fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit-subframe.html
               fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit.html
               fast/dom/HTMLElement/iscontenteditable-designmodeon-ancestor.html
               fast/dom/HTMLElement/iscontenteditable-designmodeon.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForDocument):
        * dom/Document.cpp:
        (WebCore::Document::setDesignMode):
        * dom/Node.cpp:
        (WebCore::Node::rendererIsEditable):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setContentEditable):

2011-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r85101.
        http://trac.webkit.org/changeset/85101
        https://bugs.webkit.org/show_bug.cgi?id=59757

         it'd be better to rollout the patch and do another one with
        another property name. Current one will bring us to a problem
        at first run after upgrade because it's type was changed from
        int to string. (Requested by loislo on #webkit).

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):

2011-04-28  Mike Reed  <reed@google.com>

        Reviewed by Eric Seidel.

        fix shadw behavior for both CSS and Canvas -- skia only
        https://bugs.webkit.org/show_bug.cgi?id=59700

        Test:
        canvas/philip/tests/2d.shadow.alpha.3.html
        canvas/philip/tests/2d.shadow.alpha.4.html
        canvas/philip/tests/2d.shadow.alpha.5.html
        fast/canvas/canvas-fillPath-alpha-shadow.html
        fast/canvas/canvas-strokePath-alpha-shadow.html
        fast/canvas/canvas-strokeRect-alpha-shadow.html
        fast/css/text-input-with-webkit-border-radius.html
        fast/repaint/shadow-multiple-horizontal.html
        fast/repaint/shadow-multiple-strict-horizontal.html
        fast/repaint/shadow-multiple-strict-vertical.html
        fast/repaint/shadow-multiple-vertical.html
        fast/canvas/canvas-getImageData.html

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):

2011-04-28  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/59755> AXObjectCache::attachWrapper() over-retains an AccessibilityObjectWrapper

        Reviewed by Chris Fleizach.

        Previously, AXObjectCache::attachWrapper over-retained each
        AccessibilityObjectWrapper it created, which is why
        AXObjectCache::detachWrapper() contained an extra -release.

        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::detachWrapper): Removed extra -release.
        (WebCore::AXObjectCache::attachWrapper): Because setWrapper()
        assigns to a RetainPtr<> instance variable, it doesn't need a +1
        retained object passed in.  Fix the leak by using a RetainPtr<>
        for the AccessibilityObjectWrapper.

2011-04-28  Nat Duca  <nduca@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Compute compositor fps value and history using the frameBegin timestamp
        https://bugs.webkit.org/show_bug.cgi?id=59668

        This change switches the compositor FPS meter to use the timestamp
        of the beginning of the frame rather than the time we call
        swapBuffers. When scheduling is correctly tied to vsync, we can
        have highly variable times when we finish vsync and still have
        stable frame rates.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateAndDrawLayers):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
        (WebCore::CCHeadsUpDisplay::onFrameBegin):
        (WebCore::CCHeadsUpDisplay::onPresent):
        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:

2011-04-28  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=59759
        Overflow:scroll regions with overlay scrollbars show full thumb instead of just a 
        track when there is nothing to scroll to
        <rdar://problem/9282066>

        Scrollbar::totalSize() and Scrollbar::visibleSize() are the same when there is 
        nothing to scroll to. Just dividing them to get a knob proportion yields 1, which 
        is not right. Set the proportion to 0 in this case instead.
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint):

2011-04-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/9291132> Add support for -epub-prefixed properties

        Test: fast/css/epub-properties.html

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::cssPropertyName): Map "epub"-prefixed properties to "-epub"-prefixed ones.
        * css/CSSPropertyNames.in: Added -epub- aliases to caption-side, -webkit-hyphens, -webkit-text-combine,
        -webkit-text-emphasis, -webkit-text-emphasis-color, -webkit-text-emphasis-style, -webkit-text-orientation,
        text-transform, text-transform, word-break, and -webkit-writing-mode.

2011-04-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove WML
        https://bugs.webkit.org/show_bug.cgi?id=59678

        This patch removes WML from WebCore.  After removing WML, there's a
        bunch of twisted code that could be untwisted, but this patch contains
        only the purely mechanical part of removing the feature.

        There's been a lot of discussion on webkit-dev about whether we should
        remove WML.  In addition to those threads, we've had an informal poll
        of the reviewers as well as an in-person discussion at the WebKit
        contributor's meeting.  Removing any feature is likely to make some
        folks unhappy, but, on balance, removing WML appears to be the right
        thing for the project to do at this time.

        * CMakeLists.txt:
        * CodeGenerators.pri:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSelector.cpp:
        (WebCore::linkAttribute):
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * css/wml.css: Removed.
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::createElement):
        * dom/Document.h:
        (WebCore::Document::isMediaDocument):
        * dom/Document.idl:
        * dom/InputElement.h:
        * dom/Node.cpp:
        (WebCore::Node::toInputElement):
        * dom/Node.h:
        * dom/OptionElement.cpp:
        (WebCore::toOptionElement):
        (WebCore::isOptionElement):
        * dom/OptionElement.h:
        * dom/OptionGroupElement.cpp:
        (WebCore::toOptionGroupElement):
        (WebCore::isOptionGroupElement):
        * dom/SelectElement.cpp:
        (WebCore::toSelectElement):
        * dom/SelectElement.h:
        * dom/Text.cpp:
        (WebCore::Text::attach):
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
        * dom/XMLDocumentParser.h:
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::internalSubset):
        (WebCore::getEntityHandler):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::parse):
        (WebCore::XMLDocumentParser::parseDtd):
        * editing/htmlediting.cpp:
        (WebCore::canHaveChildrenForEditing):
        * features.pri:
        * history/BackForwardList.h:
        * history/BackForwardListImpl.cpp:
        * history/BackForwardListImpl.h:
        * history/PageCache.cpp:
        (WebCore::PageCache::canCachePageContainingThisFrame):
        * html/HTMLAnchorElement.h:
        * inspector/ConsoleMessage.cpp:
        (WebCore::messageSourceValue):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype.toString):
        * loader/FrameLoader.cpp:
        (WebCore::isBackForwardLoadType):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::shouldReload):
        (WebCore::FrameLoader::loadDifferentDocumentItem):
        (WebCore::FrameLoader::loadItem):
        * loader/FrameLoaderTypes.h:
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::restoreDocumentState):
        * manual-tests/wml: Removed.
        * manual-tests/wml/StartTests.wml: Removed.
        * manual-tests/wml/a-br-element.wml: Removed.
        * manual-tests/wml/a-element.wml: Removed.
        * manual-tests/wml/a-img-element.wml: Removed.
        * manual-tests/wml/access-target.wml: Removed.
        * manual-tests/wml/anchor-br-element.wml: Removed.
        * manual-tests/wml/anchor-element.wml: Removed.
        * manual-tests/wml/anchor-img-element.wml: Removed.
        * manual-tests/wml/card-newcontext-attr.wml: Removed.
        * manual-tests/wml/card-onenterbackward.wml: Removed.
        * manual-tests/wml/card-onenterforward.wml: Removed.
        * manual-tests/wml/card-ontimer.wml: Removed.
        * manual-tests/wml/deck-access-control.wml: Removed.
        * manual-tests/wml/input-format.wml: Removed.
        * manual-tests/wml/onevent-go.wml: Removed.
        * manual-tests/wml/onevent-noop.wml: Removed.
        * manual-tests/wml/onevent-prev.wml: Removed.
        * manual-tests/wml/onevent-refresh.wml: Removed.
        * manual-tests/wml/onevent-shadow.wml: Removed.
        * manual-tests/wml/resources: Removed.
        * manual-tests/wml/resources/smiley.png: Removed.
        * manual-tests/wml/select-element.wml: Removed.
        * manual-tests/wml/select-onpick-event-crash.wml: Removed.
        * manual-tests/wml/select-onpick-event.wml: Removed.
        * manual-tests/wml/setvar-element.wml: Removed.
        * manual-tests/wml/targetdeck.wml: Removed.
        * manual-tests/wml/task-go-in-anchor.wml: Removed.
        * manual-tests/wml/task-prev-in-anchor.wml: Removed.
        * manual-tests/wml/task-refresh-in-anchor.wml: Removed.
        * manual-tests/wml/template-go.wml: Removed.
        * manual-tests/wml/template-ontimer.wml: Removed.
        * manual-tests/wml/timer.wml: Removed.
        * manual-tests/wml/variable-substitution.wml: Removed.
        * page/Console.cpp:
        (WebCore::printMessageSourceAndLevelPrefix):
        * page/Console.h:
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        * page/Page.cpp:
        * page/Page.h:
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedNonImageMimeTypes):
        * platform/network/FormDataBuilder.h:
        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
        * platform/wince/MIMETypeRegistryWinCE.cpp:
        (WebCore::initMIMETypeEntensionMap):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::altDisplayString):
        (WebCore::HitTestResult::absoluteImageURL):
        (WebCore::HitTestResult::absoluteLinkURL):
        (WebCore::HitTestResult::isLiveLink):
        * rendering/RenderBox.cpp:
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::updateFromElement):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::findLegend):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::updateAltText):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::isLegend):
        (WebCore::RenderObject::offsetParent):
        * wml: Removed.
        * wml/WMLAElement.cpp: Removed.
        * wml/WMLAElement.h: Removed.
        * wml/WMLAccessElement.cpp: Removed.
        * wml/WMLAccessElement.h: Removed.
        * wml/WMLAnchorElement.cpp: Removed.
        * wml/WMLAnchorElement.h: Removed.
        * wml/WMLAttributeNames.in: Removed.
        * wml/WMLBRElement.cpp: Removed.
        * wml/WMLBRElement.h: Removed.
        * wml/WMLCardElement.cpp: Removed.
        * wml/WMLCardElement.h: Removed.
        * wml/WMLDoElement.cpp: Removed.
        * wml/WMLDoElement.h: Removed.
        * wml/WMLDocument.cpp: Removed.
        * wml/WMLDocument.h: Removed.
        * wml/WMLElement.cpp: Removed.
        * wml/WMLElement.h: Removed.
        * wml/WMLErrorHandling.cpp: Removed.
        * wml/WMLErrorHandling.h: Removed.
        * wml/WMLEventHandlingElement.cpp: Removed.
        * wml/WMLEventHandlingElement.h: Removed.
        * wml/WMLFieldSetElement.cpp: Removed.
        * wml/WMLFieldSetElement.h: Removed.
        * wml/WMLFormControlElement.cpp: Removed.
        * wml/WMLFormControlElement.h: Removed.
        * wml/WMLGoElement.cpp: Removed.
        * wml/WMLGoElement.h: Removed.
        * wml/WMLImageElement.cpp: Removed.
        * wml/WMLImageElement.h: Removed.
        * wml/WMLImageLoader.cpp: Removed.
        * wml/WMLImageLoader.h: Removed.
        * wml/WMLInputElement.cpp: Removed.
        * wml/WMLInputElement.h: Removed.
        * wml/WMLInsertedLegendElement.cpp: Removed.
        * wml/WMLInsertedLegendElement.h: Removed.
        * wml/WMLIntrinsicEvent.cpp: Removed.
        * wml/WMLIntrinsicEvent.h: Removed.
        * wml/WMLIntrinsicEventHandler.cpp: Removed.
        * wml/WMLIntrinsicEventHandler.h: Removed.
        * wml/WMLMetaElement.cpp: Removed.
        * wml/WMLMetaElement.h: Removed.
        * wml/WMLNoopElement.cpp: Removed.
        * wml/WMLNoopElement.h: Removed.
        * wml/WMLOnEventElement.cpp: Removed.
        * wml/WMLOnEventElement.h: Removed.
        * wml/WMLOptGroupElement.cpp: Removed.
        * wml/WMLOptGroupElement.h: Removed.
        * wml/WMLOptionElement.cpp: Removed.
        * wml/WMLOptionElement.h: Removed.
        * wml/WMLPElement.cpp: Removed.
        * wml/WMLPElement.h: Removed.
        * wml/WMLPageState.cpp: Removed.
        * wml/WMLPageState.h: Removed.
        * wml/WMLPostfieldElement.cpp: Removed.
        * wml/WMLPostfieldElement.h: Removed.
        * wml/WMLPrevElement.cpp: Removed.
        * wml/WMLPrevElement.h: Removed.
        * wml/WMLRefreshElement.cpp: Removed.
        * wml/WMLRefreshElement.h: Removed.
        * wml/WMLSelectElement.cpp: Removed.
        * wml/WMLSelectElement.h: Removed.
        * wml/WMLSetvarElement.cpp: Removed.
        * wml/WMLSetvarElement.h: Removed.
        * wml/WMLTableElement.cpp: Removed.
        * wml/WMLTableElement.h: Removed.
        * wml/WMLTagNames.in: Removed.
        * wml/WMLTaskElement.cpp: Removed.
        * wml/WMLTaskElement.h: Removed.
        * wml/WMLTemplateElement.cpp: Removed.
        * wml/WMLTemplateElement.h: Removed.
        * wml/WMLTimerElement.cpp: Removed.
        * wml/WMLTimerElement.h: Removed.
        * wml/WMLVariables.cpp: Removed.
        * wml/WMLVariables.h: Removed.

2011-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r85233 and r85235.
        http://trac.webkit.org/changeset/85233
        http://trac.webkit.org/changeset/85235
        https://bugs.webkit.org/show_bug.cgi?id=59754

        Causes issues with jsc. (Requested by dave_levin on #webkit).

        * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::defaultIcon):
        (WebCore::IconDatabase::setIconDataForIconURL):
        (WebCore::IconDatabase::getOrCreateIconRecord):
        (WebCore::IconDatabase::readFromDatabase):

2011-04-28  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Introducing a new class that allows serialization of a page back
        to HTML/XML with all its sub-frames and also retrieves the page's
        resources.
        Tests: unit-tests in chromium/tests/WebPageNewSerializerTest.cpp
        https://bugs.webkit.org/show_bug.cgi?id=58947

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * dom/Document.cpp:
        (WebCore::Document::suggestedMIMEType):
        * dom/Document.h:
        * editing/MarkupAccumulator.cpp:
        (WebCore::MarkupAccumulator::appendCustomAttributes):
        (WebCore::MarkupAccumulator::appendElement):
        * editing/MarkupAccumulator.h:
        * html/parser/HTMLMetaCharsetParser.cpp:
        (WebCore::HTMLMetaCharsetParser::processMeta):
        (WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes):
        * html/parser/HTMLMetaCharsetParser.h:
        * page/PageSerializer.cpp: Added.
        * page/PageSerializer.h: Added.

2011-04-28  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB createIndex should fail if name arg is null
        https://bugs.webkit.org/show_bug.cgi?id=58365

        Test: storage/indexeddb/mozilla/create-index-null-name.html

        * storage/IDBObjectStore.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::createIndex):

2011-04-28  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB put() should fail if second (key) parameter is null
        https://bugs.webkit.org/show_bug.cgi?id=58613

        If key arg is not specified, prpKey ends up as a null pointer in ::put().
        However, if the key arg is specified but is null, prpKey ends up as a
        valid IDBKey which has a null key type. As it happens, we need to be able
        to detect the difference between these cases (the key arg is optional but
        if specified must not be null).

        Test: storage/indexeddb/mozilla/key-requirements-put-null-key.html

        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::put):

2011-04-07  David Levin  <levin@chromium.org>

        Reviewed by Darin Adler.

        Add asserts to RefCounted to make sure ref/deref happens on the right thread.
        https://bugs.webkit.org/show_bug.cgi?id=31639

        No new functionality exposed so no new tests. (The change is basically adding
        more testing.)

        * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::defaultIcon): Set the mutex which does the guarding of the variable.
        (WebCore::IconDatabase::getOrCreateIconRecord): Ditto.
        (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
        (WebCore::IconDatabase::readFromDatabase): Ditto.

2011-04-28  Kenneth Russell  <kbr@google.com>

        Unreviewed build fix for Web Audio with strict OwnPtr.

        * platform/audio/HRTFDatabaseLoader.cpp:
        (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):

2011-04-28  Dominic Cooney  <dominicc@chromium.org>

        Reviewed by Geoffrey Garen.

        Walk shadow hosts as well as parent nodes when finding opaque roots.
        https://bugs.webkit.org/show_bug.cgi?id=59571

        Test: fast/dom/shadow/gc-shadow.html

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

2011-04-28  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Click counting logic should be shared between WebKit1 and WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=59715

        Added a GtkClickCounter class which is just the logic from WebKit1 pushed down
        into WebCore so that WebKit1 and WebKit2 can share the code.

        No new tests. This is covered by fast/events/click-count.html.

        * GNUmakefile.list.am: Added new files.
        * platform/gtk/GtkClickCounter.cpp: Added.
        (WebCore::GtkClickCounter::GtkClickCounter): Added.
        (WebCore::GtkClickCounter::reset): Added.
        (WebCore::GtkClickCounter::shouldProcessButtonEvent): Added.
        (WebCore::getEventTime): Added.
        (WebCore::GtkClickCounter::clickCountForGdkButtonEvent): Added.
        * platform/gtk/GtkClickCounter.h: Added.

2011-04-28  Dan Bernstein  <mitz@apple.com>

        Build fix.

        * css/CSSParser.cpp:
        (WebCore::cssPropertyID):

2011-04-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        Allow specifying CSS property aliases in CSSPropertyNames.in files
        https://bugs.webkit.org/show_bug.cgi?id=59712

        * css/CSSParser.cpp:
        (WebCore::cssPropertyID): Removed code to handle some aliases
        * css/CSSPropertyNames.in: Added aliases no longer handled in code.
        * css/makeprop.pl: Interpret lines of the form "alias-property-name = property-name" as
        defining an alias, and add an appropriate entry to the gperf file.

2011-04-28  Arno Renevier  <arno@renevier.net>

        Reviewed by Gustavo Noronha Silva.

        [Soup] does not load css stylesheets without content-type
        https://bugs.webkit.org/show_bug.cgi?id=59697

        When sniffing content type, do not replace http Content-Type header in
        soup message anymore, but keep sniffed content type in a separate
        variable.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::contentSniffedCallback):
        * platform/network/soup/ResourceResponse.h:
        (WebCore::ResourceResponse::sniffedContentType):
        (WebCore::ResourceResponse::setSniffedContentType):
        * platform/network/soup/ResourceResponseSoup.cpp:
        (WebCore::ResourceResponse::updateFromSoupMessage):

2011-04-28  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Andreas Kling.

        Remove flag ENABLE_SYMBIAN_DIALOG_PROVIDER
        https://bugs.webkit.org/show_bug.cgi?id=59704

        No new tests, just code cleanup.

        * WebCore.pri:

2011-04-28  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: remove "Pretty print" source frame context menu item.
        https://bugs.webkit.org/show_bug.cgi?id=59709

        * inspector/front-end/DebuggerPresentationModel.js:
        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):

2011-04-28  Satish Sampath  <satish@chromium.org>

        Reviewed by Tony Gentilcore.

        Speech input button layout issues with padding and border.
        https://bugs.webkit.org/show_bug.cgi?id=59613

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):
        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
        (WebCore::RenderTextControlSingleLine::forwardEvent):

2011-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Check whether to use native scrollbars at run time
        https://bugs.webkit.org/show_bug.cgi?id=59694

        It's currently decided at build time depending on whether webkit2
        build is enabled or not. That makes imposible to build both
        webkit1 and webkit2 using the same libWebCore.

        * GNUmakefile.am:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::createScrollbar):

2011-04-28  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add status bar button for pretty print.
        https://bugs.webkit.org/show_bug.cgi?id=59467

        * WebCore.gypi:
        * inspector/front-end/Images/prettyPrintButtonGlyph.png: Added.
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.get statusBarItems):
        (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css:
        (.scripts-toggle-pretty-print-status-bar-item .glyph):
        (.scripts-toggle-pretty-print-status-bar-item.toggled .glyph):

2011-04-28  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add ResourceTreeModel tests.
        https://bugs.webkit.org/show_bug.cgi?id=59616

        Tests: http/tests/inspector/resource-tree/resource-tree-document-url.html
               http/tests/inspector/resource-tree/resource-tree-frame-navigate.html
               http/tests/inspector/resource-tree/resource-tree-reload.html

        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel.prototype.frontendReused):
        (WebInspector.ResourceTreeModel.prototype._addFrame):
        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
        (WebInspector.ResourceTreeModel.prototype._frameDetached):
        (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
        (WebInspector.ResourceTreeModel.prototype.forAllResources):
        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
        (WebInspector.ResourcesPanel.prototype._frameAdded):
        (WebInspector.ResourcesPanel.prototype._frameDetached):
        (WebInspector.ResourcesPanel.prototype._frameNavigated):
        (WebInspector.FrameTreeElement):
        (WebInspector.FrameTreeElement.prototype.frameNavigated):

2011-04-28  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: [Chromium] Implement retaining paths following in detailed heap snapshots.
        https://bugs.webkit.org/show_bug.cgi?id=59592

        * inspector/front-end/DetailedHeapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype._populate):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
        (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid.expandRoute):
        (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid):
        (WebInspector.DetailedHeapshotView.prototype.changeView.sortingComplete):
        (WebInspector.DetailedHeapshotView.prototype.changeView):
        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotPathFinder.prototype.findNext):
        (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter):
        (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath):
        (WebInspector.HeapSnapshotPathFinder.prototype._pathToString):
        (WebInspector.HeapSnapshotPathFinder.prototype._pathToRoute):
        * inspector/front-end/heapProfiler.css:
        (div.retaining-paths-view td.path-column div:hover):

2011-04-28  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [Chromium] Optimize detailed heap snapshots loading / parsing.
        https://bugs.webkit.org/show_bug.cgi?id=59454

        Test: inspector/profiler/heap-snapshot-loader.html

        * inspector/front-end/HeapSnapshot.js:
        (WebInspector.HeapSnapshotLoader):
        (WebInspector.HeapSnapshotLoader.prototype._findBalancedCurlyBrackets):
        (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
        (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
        (WebInspector.HeapSnapshotLoader.prototype._parseStringsArray):
        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
        * inspector/front-end/HeapSnapshotProxy.js:
        (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):

2011-04-28  ojab  <ojab@ojab.ru>

        Reviewed by David Levin.

        Fix build with libpng-1.5.1
        https://bugs.webkit.org/show_bug.cgi?id=59607

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::readColorProfile):

2011-04-28  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>

        Reviewed by Nikolas Zimmermann.

        Optimizing gaussian blur filter to ARM-neon SIMD instruction set
        https://bugs.webkit.org/show_bug.cgi?id=59447

        This patch contains two sub-routines, one for speeding up
        alpha channel only gaussian blur (by 2.5 times) and one
        for speeding up all channel blur (by 4 times).

        The common code is also redesigned to better fit for platform
        specific code. This means large chunks of code was moved to
        different files, and all platform specific files are added to
        all build systems.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::platformApplyGeneric):
        (WebCore::FEGaussianBlur::apply):
        * platform/graphics/filters/FEGaussianBlur.h:
        (WebCore::FEGaussianBlur::kernelPosition):
        (WebCore::FEGaussianBlur::platformApply):
        * platform/graphics/filters/FELighting.cpp:
        (WebCore::FELighting::platformApplyGeneric):
        (WebCore::FELighting::drawLighting):
        * platform/graphics/filters/FELighting.h:
        (WebCore::FELighting::platformApply):
        * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Added.
        (WebCore::WTF_ALIGNED):
        (WebCore::feGaussianBlurConstantsForNeon):
        * platform/graphics/filters/arm/FEGaussianBlurNEON.h: Added.
        (WebCore::FEGaussianBlur::platformApplyNeon):
        * platform/graphics/filters/arm/FELightingNEON.cpp:
        (WebCore::WTF_ALIGNED):
        (WebCore::FELighting::getPowerCoefficients):
        * platform/graphics/filters/arm/FELightingNEON.h:
        (WebCore::FELighting::platformApplyNeon):

2011-04-28  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: provide a hotkey for script pause
        https://bugs.webkit.org/show_bug.cgi?id=59593

        In fact, F8 works as a hotkey, but this fact was not reflected
        in the shortcut help popup.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._registerShortcuts):

2011-04-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        PluginStream should play nice with strict OwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=59675

        These failures appear when enabling strict OwnPtr on Qt.

        * plugins/PluginStream.cpp:
        (WebCore::PluginStream::PluginStream):
        (WebCore::PluginStream::didReceiveData):

2011-04-26  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Use CachedResource to retrieve charset-decoded stylesheet text
        https://bugs.webkit.org/show_bug.cgi?id=59326

        Concrete CachedResource successors for stylesheets and scripts
        can decode their content better than the generic approach we use.

        * inspector/InspectorPageAgent.cpp:
        (WebCore::decodeSharedBuffer):
        (WebCore::prepareCachedResourceBuffer):
        (WebCore::cachedResourceDecoded):
        (WebCore::InspectorPageAgent::resourceContent):
        (WebCore::InspectorPageAgent::resourceData):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::originalStyleSheetText):

2011-04-28  Jon Lee  <jonlee@apple.com>

        Reviewed by Simon Fraser.

        REGRESSION: white overlay scrollbars on apple.com/startpage
        https://bugs.webkit.org/show_bug.cgi?id=59540
        <rdar://problem/9338653>

        Now we look at the document background in addition to the <body> element,
        and blend those colors in with the base background of the frame view to
        arrive at our aggregate color. This provides a better result to determine
        overlay scrollbar style.

        * page/Frame.cpp:
        (WebCore::Frame::getDocumentBackgroundColor): look up the colors on the html and body element, and properly composite them.
        * platform/graphics/Color.h: a short comment to note that blend() uses the Porter-Duff source-over equation

2011-04-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Maciej Stachowiak.

        Fix OwnPtr issues in IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=59656

        This patch is an attempt to fix the clang build.  Clang can't seem to
        cope with OwnPtrs to classes declared in an anonymous namespace because
        OwnPtr's copy constructor isn't defined (but would need to be defined
        in this translation unit).

        * platform/leveldb/LevelDBDatabase.cpp:

2011-04-27  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] Change cursor to LAZY_NATIVE_CURSOR
        https://bugs.webkit.org/show_bug.cgi?id=59411

        Enable LAZY_NATIVE_CURSOR on EFL build.

        No test added because functionality is unchanged.

        * CMakeListsEfl.txt: Add Cursor.cpp
        * platform/Cursor.h:
        (WebCore::Cursor::Cursor):
        * platform/efl/CursorEfl.cpp:
        (WebCore::Cursor::Cursor):
        (WebCore::Cursor::~Cursor):
        (WebCore::getCursorString):
        (WebCore::Cursor::ensurePlatformCursor):
        * platform/efl/WidgetEfl.cpp:
        (WebCore::Widget::setCursor):

2011-04-27  Adam Barth  <abarth@webkit.org>

        Build fix from the future.  Another trival strict OwnPtr fixes.  This
        is the last futuristic build fix I can detect with my time traveling
        abilities.

        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::initializeNewContext):

2011-04-27  Dmitry Lomov  <dslomov@google.com>

        Reviewed by David Levin.

        CrossThreadCopier should not have a default specialization for raw pointers
        https://bugs.webkit.org/show_bug.cgi?id=59234
        Removed the ablity to pass raw pointers cross-thread
        Added and applied annotations for doing that

        * fileapi/FileReader.cpp:
        (WebCore::FileReader::readInternal):
        (WebCore::FileReader::abort):
        * fileapi/FileStreamProxy.cpp:
        (WebCore::FileStreamProxy::startOnFileThread):
        (WebCore::FileStreamProxy::stopOnFileThread):
        (WebCore::FileStreamProxy::getSize):
        (WebCore::FileStreamProxy::getSizeOnFileThread):
        (WebCore::FileStreamProxy::openForRead):
        (WebCore::FileStreamProxy::openForReadOnFileThread):
        (WebCore::FileStreamProxy::openForWrite):
        (WebCore::FileStreamProxy::openForWriteOnFileThread):
        (WebCore::FileStreamProxy::close):
        (WebCore::FileStreamProxy::read):
        (WebCore::FileStreamProxy::readOnFileThread):
        (WebCore::FileStreamProxy::write):
        (WebCore::FileStreamProxy::writeOnFileThread):
        (WebCore::FileStreamProxy::truncate):
        (WebCore::FileStreamProxy::truncateOnFileThread):
        * loader/WorkerThreadableLoader.cpp:
        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
        * page/GeolocationPositionCache.cpp:
        (WebCore::GeolocationPositionCache::triggerReadFromDatabase):
        (WebCore::GeolocationPositionCache::triggerWriteToDatabase):
        * platform/CrossThreadCopier.h:
        (WebCore::AllowCrossThreadAccessWrapper::AllowCrossThreadAccessWrapper):
        (WebCore::AllowCrossThreadAccessWrapper::value):
        (WebCore::AllowCrossThreadAccess):
        (WebCore::AllowExtendedLifetimeWrapper::AllowExtendedLifetimeWrapper):
        (WebCore::AllowExtendedLifetimeWrapper::value):
        (WebCore::AllowExtendedLifetime):
        * platform/graphics/chromium/cc/CCCompletionEvent.h:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::get):
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
        (WebCore::IDBObjectStoreBackendImpl::clear):
        (WebCore::IDBObjectStoreBackendImpl::createIndex):
        (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
        (WebCore::IDBObjectStoreBackendImpl::openCursor):
        * storage/SQLCallbackWrapper.h:
        (WebCore::SQLCallbackWrapper::clear):
        * websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):

2011-04-27  Adam Barth  <abarth@webkit.org>

        Two build fixes from the future.  (Trivial strict OwnPtr fixes.)

        * page/Frame.cpp:
        (WebCore::Frame::setTiledBackingStoreEnabled):
        * platform/audio/ReverbConvolver.cpp:
        (WebCore::ReverbConvolver::ReverbConvolver):

2011-04-27  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Fix five strict PassOwnPtr violations in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=59640

        * css/MediaList.cpp:
        (WebCore::MediaList::deleteMedium):
        (WebCore::MediaList::setMediaText):
        (WebCore::MediaList::appendMedium):
        * css/MediaQuery.h:
        * dom/MessagePort.cpp:
        (WebCore::MessagePort::disentanglePorts):
        (WebCore::MessagePort::entanglePorts):
        * inspector/InspectorStyleSheet.cpp:
        (ParsedStyleSheet::setText):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::adjustMeterStyle):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustMenuListStyle):
        (WebCore::RenderThemeMac::adjustSliderTrackStyle):
        (WebCore::RenderThemeMac::adjustSliderThumbStyle):
        (WebCore::RenderThemeMac::adjustSearchFieldStyle):
        (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):

2011-04-27  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        <rdar://problem/9315254> ARIA role attribute implemented incorrectly; does not support token list with fallbacks
        https://bugs.webkit.org/show_bug.cgi?id=59648

        Test: accessibility/aria-fallback-roles.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::ariaRoleToWebCoreRole):

2011-04-27  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=59671
        Race condition with scrollbar animations and closing a page can cause a crash in 
        WebCore::FrameView::setVisibleScrollerThumbRect + 15
        -and corresponding-
        <rdar://problem/9329253>

        It is definitely possible for Page to be null here. So we should null-check it! 
        And we should not ASSERT.
        * page/FrameView.cpp:
        (WebCore::FrameView::didCompleteRubberBand):
        (WebCore::FrameView::scrollbarStyleChanged):
        (WebCore::FrameView::setVisibleScrollerThumbRect):

2011-04-27  Ryosuke Niwa  <rniwa@webkit.org>

        WinCE build fix after r85143.

        * platform/graphics/wince/FontWinCE.cpp:
        (WebCore::TextRunComponent::TextRunComponent):

2011-04-27  Mark Pilgrim  <pilgrim@chromium.org>

        Reviewed by Tony Chang.

        IndexedDB object store delete should fail if key is null
        https://bugs.webkit.org/show_bug.cgi?id=58614

        Test: storage/indexeddb/mozilla/key-requirements-delete-null-key.html

        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):

2011-04-27  Eric Seidel  <eric@webkit.org>

        Reviewed by Ryosuke Niwa.

        Should have an easy way to construct starting BidiStatus for a paragraph root
        https://bugs.webkit.org/show_bug.cgi?id=59226

        Two places try to construct BidiStatuses for a paragraph root using copy/paste code.
        I've made this a constructor for BidiStatus instead.

        As part of this effort I added a direction() accessor for TextRun and got
        rid of the old m_rtl bool.  This is part of the generic effort in the
        Bidi code to replace old bool usage with the superior TextDirection enum
        (this generally makes the code cleaner).

        As part of this replacement effort I found several places which were
        assuming LTR (by passing rtl=false) when they probably want to use
        the current text direction.  I suspect that LTR vs. RTL may affect
        string width in the case of ligatures.  It's unclear.

        This is almost entirely a mechanical change.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawBidiText):
        * platform/graphics/TextRun.h:
        (WebCore::TextRun::TextRun):
        (WebCore::TextRun::direction):
        (WebCore::TextRun::rtl):
        (WebCore::TextRun::ltr):
        (WebCore::TextRun::setDirection):
        * platform/text/BidiResolver.h:
        (WebCore::BidiStatus::BidiStatus):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        (WebCore::EllipsisBox::selectionRect):
        (WebCore::EllipsisBox::paintSelection):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::paintCompositionBackground):
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        (WebCore::InlineTextBox::computeRectForReplacementMarker):
        (WebCore::InlineTextBox::offsetForPosition):
        (WebCore::InlineTextBox::positionForOffset):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::determineStartPosition):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject):
        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::updateFromElement):
        (WebCore::RenderListBox::paintItemForeground):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::getAvgCharWidth):
        (WebCore::RenderTextControl::paintPlaceholder):
        * rendering/svg/SVGInlineTextBox.cpp:
        (WebCore::SVGInlineTextBox::constructTextRun):
        * rendering/svg/SVGTextMetrics.cpp:
        (WebCore::constructTextRun):

2011-04-27  Robert Hogan  <robert@webkit.org>

        Reviewed by Adam Barth.

        Allow shadowing of history object
        https://bugs.webkit.org/show_bug.cgi?id=55965

        Tests: http/tests/history/cross-origin-replace-history-object-child.html
               http/tests/history/cross-origin-replace-history-object.html

        * page/DOMWindow.idl:

2011-04-27  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Ensure compositing layers are up to date before entering doComposite
        https://bugs.webkit.org/show_bug.cgi?id=59159

        Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during
        GraphicsLayerClient::paintContents() implementations).

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::~LayerChromium):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateLayers):
        * platform/graphics/chromium/LayerRendererChromium.h:
          Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents

2011-04-27  James Robinson  <jamesr@chromium.org>

        Reviewed by Adam Barth.

        Fix OwnPtr strict issues in chromium linux build
        https://bugs.webkit.org/show_bug.cgi?id=59664

        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::getNormalizedTextRun):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::PlatformContextSkia):

2011-04-27  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Make sure to set sample-rate of created AudioBus in AudioBus::createBySampleRateConverting()
        https://bugs.webkit.org/show_bug.cgi?id=59641

        No new tests since audio API is not yet implemented.

        * platform/audio/AudioBus.cpp:
        (WebCore::AudioBus::createBySampleRateConverting):
        (WebCore::AudioBus::createByMixingToMono):

2011-04-27  Geoffrey Garen  <ggaren@apple.com>

        Motivated by Alexey Proskuryakov.

        * bindings/scripts/CodeGeneratorJS.pm: Tried to make this comment more
        informative, since it confused Alexey and me.

2011-04-27  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Fixed a small leak related to CSSValues when deallocating a DOMWrapperWorld
        https://bugs.webkit.org/show_bug.cgi?id=59646

        Made the cssValueRoots map per-world, instead of a global. When we deallocate
        a world, we need to clear all entries in the map for that world, since
        the finalizers that would otherwise clear those entries don't run. The
        simplest way to do this is just to make the world own the map.
        
        * bindings/js/DOMWrapperWorld.h:
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
        (WebCore::JSCSSValueOwner::finalize):
        * bindings/js/JSDOMBinding.h:

2011-04-27  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Fix OwnPtr issues in IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=59656

        I didn't do an exhaustive review of this code, but I fixed the problems
        caught by turning on strict OwnPtr and all their antecedents.  This
        patch is entirely tighter bookkeeping.  There shouldn't be any actual
        behavior change.

        * platform/leveldb/LevelDBDatabase.cpp:
        (WebCore::LevelDBDatabase::LevelDBDatabase):
        (WebCore::LevelDBDatabase::open):
        (WebCore::LevelDBDatabase::createIterator):
        * platform/leveldb/LevelDBDatabase.h:
        * platform/leveldb/LevelDBIterator.cpp:
        (WebCore::LevelDBIterator::LevelDBIterator):
        * platform/leveldb/LevelDBIterator.h:
        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
        (WebCore::IDBLevelDBBackingStore::open):
        (WebCore::getNewDatabaseId):
        (WebCore::IDBLevelDBBackingStore::getObjectStores):
        (WebCore::getNewObjectStoreId):
        (WebCore::deleteRange):
        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
        (WebCore::IDBLevelDBBackingStore::getIndexes):
        (WebCore::getNewIndexId):
        (WebCore::findGreatestKeyLessThan):
        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
        (WebCore::findLastIndexKeyEqualTo):
        * storage/IDBLevelDBBackingStore.h:

2011-04-19  MORITA Hajime  <morrita@google.com>

        Reviewed by Tony Chang.

        [Refactoring] DocumentMarkerController::MarkerMapVectorPair should be replaced with a list of some class.
        https://bugs.webkit.org/show_bug.cgi?id=58113

        * Introduced RenderedDocumentMarker, a subclass of DocumentMarker.
        * Eliminated Vector<IntRect> and move the IntRect into RenderedDocumentMarker
        * Now MarkerMapVectorPair is no longer used.
        
        No new tests, No behavior change.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DocumentMarker.h:
        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::addMarker):
        (WebCore::DocumentMarkerController::copyMarkers):
        (WebCore::DocumentMarkerController::removeMarkers):
        (WebCore::DocumentMarkerController::markerContainingPoint):
        (WebCore::DocumentMarkerController::markersForNode):
        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
        (WebCore::DocumentMarkerController::removeMarkersFromList):
        (WebCore::DocumentMarkerController::repaintMarkers):
        (WebCore::DocumentMarkerController::setRenderedRectForMarker):
        (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
        (WebCore::DocumentMarkerController::shiftMarkers):
        (WebCore::DocumentMarkerController::setMarkersActive):
        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
        (WebCore::DocumentMarkerController::showMarkers):
        * dom/DocumentMarkerController.h:
        * dom/RenderedDocumentMarker.h: Added.
        (WebCore::RenderedDocumentMarker::RenderedDocumentMarker):
        (WebCore::RenderedDocumentMarker::isRendered):
        (WebCore::RenderedDocumentMarker::contains):
        (WebCore::RenderedDocumentMarker::setRenderedRect):
        (WebCore::RenderedDocumentMarker::renderedRect):
        (WebCore::RenderedDocumentMarker::invalidate):
        (WebCore::RenderedDocumentMarker::invalidMarkerRect):

2011-04-27  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r85112.
        http://trac.webkit.org/changeset/85112
        https://bugs.webkit.org/show_bug.cgi?id=59159

        Broke mac compile

        * page/FrameView.cpp:
        (WebCore::FrameView::updateCompositingLayers):
        * page/FrameView.h:
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::~LayerChromium):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateLayers):
        * platform/graphics/chromium/LayerRendererChromium.h:

2011-04-27  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * WebCore.xcodeproj/project.pbxproj: Make RenderLayerCompositor.h accessbile to WebKit and WebKit2.

2011-04-27  Pratik Solanki  <psolanki@apple.com>

        Unreviewed. Fix WinCE build. The include should be guarded inside USE(CFNETWORK).

        * platform/network/ResourceHandleClient.h:

2011-04-27  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Ensure compositing layers are up to date before entering doComposite
        https://bugs.webkit.org/show_bug.cgi?id=59159

        Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during
        GraphicsLayerClient::paintContents() implementations).

        * page/FrameView.cpp:
        (WebCore::FrameView::updateCompositingLayers):
            Add an optional CompositingUpdateType parameter.
        * page/FrameView.h:
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::LayerChromium):
        (WebCore::LayerChromium::~LayerChromium):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::updateLayers):
        * platform/graphics/chromium/LayerRendererChromium.h:
          Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::dirtyZOrderLists):
        (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        * rendering/RenderLayerCompositor.h:
          Fix a typo in CompositingUpdateType Pait->Paint

2011-04-27  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Antti Koivisto.

        Part of WebCore should use CFNetwork-based loader on Mac
        https://bugs.webkit.org/show_bug.cgi?id=51836

        Add willCacheResponse method when using CFNetwork on Mac. Also put appropriate ifdefs around
        willCacheResponse/shouldCacheResponse.

        * loader/EmptyClients.h:
        * loader/FrameLoaderClient.h:
        * loader/ResourceLoader.h:
        * loader/cf/ResourceLoaderCFNet.cpp:
        * loader/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::willCacheResponse):
        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::willCacheResponse):
        (WebCore::ResourceHandleClient::shouldCacheResponse):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::willCacheResponse):

2011-04-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Brian Weinstein.

        Web Inspector: Stop on Exception state does not persist.

        A wrong property name was used when we persist PauseOnExceptionState property to Local Storage.
        https://bugs.webkit.org/show_bug.cgi?id=59630

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):

2011-04-27  Adrienne Walker  <enne@google.com>

        [chromium] Unreviewed, rollout r85075 (scissor rect changes)
        https://bugs.webkit.org/show_bug.cgi?id=59020

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

2011-04-27  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Fix strict OwnPtr issues seen in about 30 more files
        https://bugs.webkit.org/show_bug.cgi?id=59615

        * bindings/js/JSCallbackData.h:
        (WebCore::DeleteCallbackDataTask::create): Use adoptPtr.
        * bindings/js/JSMessageEventCustom.cpp:
        (WebCore::JSMessageEvent::initMessageEvent): Use adoptPtr.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::updateSpecifiersWithElementName): Use OwnPtr,
        adoptPtr, and release.
        * dom/MessageEvent.cpp:
        (WebCore::MessageEvent::initMessageEvent): Use OwnPtr, adoptPtr,
        and release.
        * dom/MessagePortChannel.cpp:
        (WebCore::MessagePortChannel::EventData::create): Use adoptPtr.
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ProcessMessagesSoonTask::create): Use adoptPtr.
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::doEnd): Use adoptPtr.
        * dom/default/PlatformMessagePortChannel.cpp:
        (WebCore::MessagePortChannel::create): Use adoptPtr.
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::detach): Use nullptr.
        * inspector/InspectorAgent.cpp:
        (WebCore::PostWorkerNotificationToFrontendTask::create): Use adoptPtr.
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::addMessageToConsole): Use adoptPtr.
        (WebCore::InspectorConsoleAgent::didReceiveResponse): Use adoptPtr.
        (WebCore::InspectorConsoleAgent::didFailLoading): Use adoptPtr.
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend): Use adoptPtr.
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::didInvalidateStyleAttr): Use adoptPtr.
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::InspectorResourceAgent): Use adoptPtr.
        * page/FrameActionScheduler.cpp:
        (WebCore::FrameActionScheduler::scheduleEvent): Use adoptPtr.
        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ScratchBuffer::clearScratchBuffer): Use nullptr.
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayer::create): Use adoptPtr.
        (WebCore::GraphicsLayerCA::ensureCloneLayers): Use adoptPtr.
        (WebCore::GraphicsLayerCA::removeCloneLayers): Use nullptr.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::setMaxMarginBeforeValues): Use adoptPtr.
        (WebCore::RenderBlock::setMaxMarginAfterValues): Use adoptPtr.
        (WebCore::RenderBlock::setPaginationStrut): Use adoptPtr.
        (WebCore::RenderBlock::setPageLogicalOffset): Use adoptPtr.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::destroyGraphicsLayer): Use nullptr.
        (WebCore::RenderLayerBacking::updateClippingLayers): Use nullptr.
        (WebCore::RenderLayerBacking::updateForegroundLayer): Use nullptr.
        (WebCore::RenderLayerBacking::updateMaskLayer): Use nullptr.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): Use nullptr.
        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Use nullptr.
        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Use nullptr.
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Removed
        explicit initializations of OwnPtr members to 0. Use adoptPtr.
        * workers/SharedWorkerContext.cpp:
        (WebCore::createConnectEvent): Use adoptPtr.
        * workers/Worker.cpp:
        (WebCore::Worker::notifyFinished): Use nullptr.

2011-04-27  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r84311): Copy should preserve background color if specified in the body only if the entire content is selected.
        https://bugs.webkit.org/show_bug.cgi?id=59251
        <rdar://problem/9327044>

        When we are looking for wrapping elements that are presentational, we should
        include elements that have a non transparent background color only if they
        are not blocks.

        Test: editing/pasteboard/do-not-copy-body-color.html

        * editing/markup.cpp:
        (WebCore::isElementPresentational):

2011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Antti Koivisto.

        Teach sub-selector chains about shadow descendants
        https://bugs.webkit.org/show_bug.cgi?id=58342

        The primary change is to the logic of parsing specifiers:
        1) The shadow descendant selectors (those specifiers that are unknown
        pseudo element selectors) are always kept at the top of the chain.
        2) The sub-selectors after shadow descendant selectors are stashed right
        behind the sub-selector, but not at the end of the chain.
        3) Other sub-selectors are appended at the end of the chain.

        * css/CSSGrammar.y: Changed specifier_list collection to use new
            CSSParser::updateSpecifier helper.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::updateSpecifiersWithElementName): Added logic to
            look for the last ShadowDescendant relation in the chain of selectors,
            because the next selector after it is the one that should get the
            element name.
        (WebCore::CSSParser::updateSpecifiers): Moved and modified the logic from
            CSSGrammar.y. The new logic adjusts the selector chain to allow
            shadow descendant selectors have sub-selectors (and have multiple shadow
            descendants in the chain).
        * css/CSSParser.h: Added decl.
        * css/CSSParserValues.cpp:
        (WebCore::CSSParserSelector::insertTagHistory): Added.
        (WebCore::CSSParserSelector::appendTagHistory): Aded.
        * css/CSSParserValues.h: Added decls.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added
            shadow descendant selector match check, since now there could be many
            of them in the selector chain.

2011-04-20  Adrienne Walker  <enne@google.com>

        Reviewed by Kenneth Russell.

        [chromium] Fix incorrect scissor rect for layers that render into a rendersurface
        https://bugs.webkit.org/show_bug.cgi?id=59020

        mapRect is the incorrect transform here.  The parent scissor rect
        needs to be projected into layer space instead.

        Test: compositing/flat-with-transformed-child.html

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

2011-04-27  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Antti Koivisto.

        Part of WebCore should use CFNetwork-based loader on Mac
        https://bugs.webkit.org/show_bug.cgi?id=51836

        * Configurations/WebCore.xcconfig: Add location of CFNetwork.framework.
        * platform/mac/SoftLinking.h:
        * platform/network/cf/CookieJarCFNet.cpp: Soft-link in CFNetwork functions on Mac.

2011-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Antti Koivisto.

        Cleanup CSSStyleApplyProperty.cpp
        https://bugs.webkit.org/show_bug.cgi?id=59623

        As first step remove ApplyPropertyColorBase, merge it with ApplyPropertyColor, there's no need for two seperated classes.
        Use typedefs instead of repating the function pointer declarations in a few places.

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::ApplyPropertyDefault::ApplyPropertyDefault):
        (WebCore::ApplyPropertyColor::ApplyPropertyColor):
        (WebCore::ApplyPropertyColor::applyInheritValue):
        (WebCore::ApplyPropertyColor::applyInitialValue):
        (WebCore::ApplyPropertyColor::applyValue):
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):

2011-04-27  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/9335973> REGRESSION (r84341): Buttons in the Mac App store are rendered incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=59622

        Test: fast/borders/border-image-trumps-radius.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::determineBackgroundBleedAvoidance): If there is a renderable, loaded border
        image, then border radius is ignored, so no bleed avoidance is needed.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered): Added. Moved some logic here from...
        (WebCore::RenderObject::mustRepaintBackgroundOrBorder): ...here.
        * rendering/RenderObject.h:

2011-02-03  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] editing/pasteboard/copy-standalone-image.html fails
        https://bugs.webkit.org/show_bug.cgi?id=53645

        When writing an image to the clipboard, also write the URL and title
        into the markup and URL portion. This change also abstracts a helper
        imageToMarkup into markup.{cpp/h} from several different locations
        throughout the platform layer.

        * editing/markup.h: Added new function definition.
        * editing/markup.cpp:
        (WebCore::imageToMarkup): Add this function which turns an image URL 
        and element into some markup representing that image, while preserving
        non-src attributes.
        * platform/chromium/ClipboardChromium.cpp: Move the imageToMarkup helper
        to markup.cpp.
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::getURLForImageNode): Add this helper which gets the appropriate
        image URL for a variety of image tag types.
        (WebCore::Pasteboard::writeImage): Write the image URL and title to the
        markup and URL portions of the clipboard. This will ensure that images
        paste properly back into WebKit.
        * platform/win/ClipboardWin.cpp: Remove the imageToMarkup helper and the
        one from markup.h

2011-04-27  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Remove Android build system
        https://bugs.webkit.org/show_bug.cgi?id=48111

        This is to avoid the maintenance burden until the Android port is
        fully upstreamed.

        No new tests, build change only.

        * Android.derived.jscbindings.mk: Removed.
        * Android.derived.mk: Removed.
        * Android.derived.v8bindings.mk: Removed.
        * Android.jscbindings.mk: Removed.
        * Android.mk: Removed.
        * Android.v8bindings.mk: Removed.

2011-04-27  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Somehow about:blank gets into the icon database
        https://bugs.webkit.org/show_bug.cgi?id=58067
        rdar://problem/6751446

        Implemented the policy Brady suggested, where only http and https URLs can
        be associated with and icon, guarding both on the way in to the database,
        and on the way out.

        * loader/icon/IconDatabase.cpp:
        (WebCore::pageCanHaveIcon): Added.
        (WebCore::IconDatabase::synchronousIconForPageURL): Call pageCanHaveIcon
        instead of just checking for an empty URL.
        (WebCore::IconDatabase::synchronousIconURLForPageURL): Ditto.
        (WebCore::IconDatabase::retainIconForPageURL): Ditto.
        (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
        (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
        (WebCore::IconDatabase::getOrCreatePageURLRecord): Ditto.
        (WebCore::IconDatabase::importIconURLForPageURL): Broke assertion into
        two separate assertions and added a third.
        (WebCore::IconDatabase::performURLImport): Call pageCanHaveIcon.

        * platform/KURL.cpp: Sorted includes. Moved a FIXME to the top of the file.
        (WebCore::isLetterMatchIgnoringCase): Renamed matchLetter to this name,
        overloaded it to work on both UChar and char, and added an assertion to it.
        Also moved this to the top of the file and made the UChar version usable
        in the shared code used even by Google.
        (WebCore::KURL::invalidate): Updated for name change.
        (WebCore::KURL::protocolIs): Use isLetterMatchIgnoringCase instead of
        toASCIILower since it's faster.
        (WebCore::KURL::parse): Updated for name changes.
        (WebCore::protocolIs):Use isLetterMatchIgnoringCase instead of toASCIILower
        since it's faster.
        (WebCore::protocolIsInHTTPFamily): Added.

        * platform/KURL.h: Tweaked formatting. Renamed protocolInHTTPFamily
        to protocolIsInHTTPFamily and added a version that works on a string.
        Kept the old name as an inline function so we don't have to rename
        all the cal sites now.

        * platform/KURLGoogle.cpp: Renamed as above.
        (WebCore::KURLGooglePrivate::KURLGooglePrivate): Updated for rename.
        (WebCore::KURLGooglePrivate::setUtf8): Ditto.
        (WebCore::KURLGooglePrivate::setAscii): Ditto.
        (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily): Ditto.
        (WebCore::KURLGooglePrivate::copyTo): Ditto.
        (WebCore::KURL::KURL): Ditto.
        (WebCore::KURL::protocolIsInHTTPFamily): Ditto.
        (WebCore::KURL::invalidate): Ditto.
        * platform/KURLGooglePrivate.h: Ditto.

        * WebCore.exp.in: Updated for above changes.

2011-04-27  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: browser crash on evaluation of 'throw undefined'
        https://bugs.webkit.org/show_bug.cgi?id=59611

        Test: inspector/console/console-eval-throw-undefined.html

        * inspector/InjectedScriptSource.js: use try/catch to protect from
        exception during conversion of another exception to string.

2011-04-27  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: clicking bookmarklet multiplies resources panel entries.
        https://bugs.webkit.org/show_bug.cgi?id=59590

        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
        (WebInspector.FrameTreeElement):
        (WebInspector.FrameTreeElement.prototype.appendResource):
        * inspector/front-end/inspector.js:
        (WebInspector.frontendReused):

2011-04-27  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: opening bookmarklet disconnects DOM agent.
        https://bugs.webkit.org/show_bug.cgi?id=59588

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setDocument):

2011-04-27  Hans Wennborg  <hans@chromium.org>

        Reviewed by Tony Gentilcore.

        IndexedDB: Fix compiler warnings about uninitialized variables
        https://bugs.webkit.org/show_bug.cgi?id=59599

        Build fix. No new tests.

        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::getNewObjectStoreId):
        (WebCore::getNewIndexId):

2011-04-26  Hans Wennborg  <hans@chromium.org>

        Reviewed by Tony Gentilcore.

        IndexedDB: Move LevelDB key coding routines to separate file
        https://bugs.webkit.org/show_bug.cgi?id=59452

        Move all routines concerned with encoding, decoding and comparison of
        LevelDB keys from IDBLevelDBBackingStore.cpp to a separate file:
        IDBLevelDBCoding.cpp.

        This makes IDBLevelDBBackingStore.cpp easier to work with, and will
        allow for unit testing of the coding routines.

        No new functionality, no new tests.

        * WebCore.gypi:
        * storage/IDBLevelDBBackingStore.cpp:
        (WebCore::getInt):
        (WebCore::putInt):
        (WebCore::getString):
        (WebCore::putString):
        (WebCore::compareKeys):
        (WebCore::compareIndexKeys):
        (WebCore::Comparator::compare):
        (WebCore::setUpMetadata):
        (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
        (WebCore::getNewDatabaseId):
        (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
        (WebCore::IDBLevelDBBackingStore::getObjectStores):
        (WebCore::getNewObjectStoreId):
        (WebCore::IDBLevelDBBackingStore::createObjectStore):
        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
        (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
        (WebCore::getNewVersionNumber):
        (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
        (WebCore::IDBLevelDBBackingStore::clearObjectStore):
        (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
        (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
        (WebCore::IDBLevelDBBackingStore::getIndexes):
        (WebCore::getNewIndexId):
        (WebCore::IDBLevelDBBackingStore::createIndex):
        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
        (WebCore::versionExists):
        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
        * storage/IDBLevelDBCoding.cpp: Added.
        (WebCore::IDBLevelDBCoding::encodeByte):
        (WebCore::IDBLevelDBCoding::maxIDBKey):
        (WebCore::IDBLevelDBCoding::minIDBKey):
        (WebCore::IDBLevelDBCoding::encodeInt):
        (WebCore::IDBLevelDBCoding::decodeInt):
        (WebCore::IDBLevelDBCoding::encodeVarInt):
        (WebCore::IDBLevelDBCoding::decodeVarInt):
        (WebCore::IDBLevelDBCoding::encodeString):
        (WebCore::IDBLevelDBCoding::decodeString):
        (WebCore::IDBLevelDBCoding::encodeStringWithLength):
        (WebCore::IDBLevelDBCoding::decodeStringWithLength):
        (WebCore::IDBLevelDBCoding::encodeDouble):
        (WebCore::IDBLevelDBCoding::decodeDouble):
        (WebCore::IDBLevelDBCoding::encodeIDBKey):
        (WebCore::IDBLevelDBCoding::decodeIDBKey):
        (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
        (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
        (WebCore::IDBLevelDBCoding::compare):
        (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
        (WebCore::IDBLevelDBCoding::KeyPrefix::decode):
        (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
        (WebCore::IDBLevelDBCoding::KeyPrefix::compare):
        (WebCore::IDBLevelDBCoding::KeyPrefix::type):
        (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
        (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::DatabaseFreeListKey):
        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::decode):
        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::databaseId):
        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::compare):
        (WebCore::IDBLevelDBCoding::DatabaseNameKey::decode):
        (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
        (WebCore::IDBLevelDBCoding::DatabaseNameKey::compare):
        (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::decode):
        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::objectStoreId):
        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::metaDataType):
        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::IndexMetaDataKey):
        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::decode):
        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::compare):
        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::indexId):
        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::decode):
        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::objectStoreId):
        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::compare):
        (WebCore::IDBLevelDBCoding::IndexFreeListKey::IndexFreeListKey):
        (WebCore::IDBLevelDBCoding::IndexFreeListKey::decode):
        (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
        (WebCore::IDBLevelDBCoding::IndexFreeListKey::compare):
        (WebCore::IDBLevelDBCoding::IndexFreeListKey::objectStoreId):
        (WebCore::IDBLevelDBCoding::IndexFreeListKey::indexId):
        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::decode):
        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::compare):
        (WebCore::IDBLevelDBCoding::IndexNamesKey::IndexNamesKey):
        (WebCore::IDBLevelDBCoding::IndexNamesKey::decode):
        (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
        (WebCore::IDBLevelDBCoding::IndexNamesKey::compare):
        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::decode):
        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::compare):
        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::userKey):
        (WebCore::IDBLevelDBCoding::ExistsEntryKey::decode):
        (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
        (WebCore::IDBLevelDBCoding::ExistsEntryKey::compare):
        (WebCore::IDBLevelDBCoding::ExistsEntryKey::userKey):
        (WebCore::IDBLevelDBCoding::IndexDataKey::IndexDataKey):
        (WebCore::IDBLevelDBCoding::IndexDataKey::decode):
        (WebCore::IDBLevelDBCoding::IndexDataKey::encode):
        (WebCore::IDBLevelDBCoding::IndexDataKey::encodeMaxKey):
        (WebCore::IDBLevelDBCoding::IndexDataKey::compare):
        (WebCore::IDBLevelDBCoding::IndexDataKey::databaseId):
        (WebCore::IDBLevelDBCoding::IndexDataKey::objectStoreId):
        (WebCore::IDBLevelDBCoding::IndexDataKey::indexId):
        (WebCore::IDBLevelDBCoding::IndexDataKey::userKey):
        * storage/IDBLevelDBCoding.h: Added.
        (WebCore::IDBLevelDBCoding::DatabaseNameKey::origin):
        (WebCore::IDBLevelDBCoding::DatabaseNameKey::databaseName):
        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::metaDataType):
        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::objectStoreName):
        (WebCore::IDBLevelDBCoding::IndexNamesKey::indexName):

2011-04-27  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: expose exception details when script is paused on exception
        https://bugs.webkit.org/show_bug.cgi?id=59591

        When script is paused on an exception, the exception value is added as <exception>
        property in the local scope and the breakpoint details message says
        "Paused on excepion: '<exception to strin value>'."

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ScopeChainSidebarPane.js:
        (WebInspector.ScopeChainSidebarPane.prototype.update):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
        (WebInspector.ScriptsPanel.prototype._debuggerPaused):

2011-04-26  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [protocol] Paused event should expose exception value that caused it
        https://bugs.webkit.org/show_bug.cgi?id=58996

        Debug.pause event now contains an optional reference to the exception
        object in case script execution is paused on a JavaScript exception.

        Also JavaScript call frames are passed directly into the injected script when
        we need to wrap them for passing to the front-end. This change breaks cyclic
        dependency ScriptDebugServer->InspectorDebuggerAgent->InjectedScript->InjectedScriptHost->ScriptDebugServer

        * bindings/js/JSInjectedScriptHostCustom.cpp:
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidPause):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::breakProgram):
        (WebCore::ScriptDebugServer::editScriptSource):
        (WebCore::ScriptDebugServer::breakProgramCallback):
        (WebCore::ScriptDebugServer::handleV8DebugEvent):
        * bindings/v8/ScriptDebugServer.h:
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluateOnCallFrame):
        (WebCore::InjectedScript::wrapCallFrames):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptHost.cpp:
        * inspector/InjectedScriptHost.h:
        (WebCore::InjectedScriptHost::init):
        * inspector/InjectedScriptHost.idl:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        (WebCore::InspectorDebuggerAgent::currentCallFrames):
        (WebCore::InspectorDebuggerAgent::wrapCallFrames):
        (WebCore::InspectorDebuggerAgent::didPause):
        (WebCore::InspectorDebuggerAgent::didContinue):
        (WebCore::InspectorDebuggerAgent::clear):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/ScriptDebugListener.h:
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::WorkerInspectorController):

2011-04-27  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: implement incremental CSS editing in the structure view.
        https://bugs.webkit.org/show_bug.cgi?id=59455

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):

2011-04-27  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Eric Seidel.

        Frame.h shouldn't include Document.h
        https://bugs.webkit.org/show_bug.cgi?id=59560

        Frame can use a forward-declared Document if we move
        Frame::displayStringModifiedByEncoding's implementation out of the
        header.
                                Size  #includes  Size * #includes
        Before: page/Frame.h:   0.746       653           487.138
                dom/Document.h: 0.220      1306           287.320
        
        After:  page/Frame.h:   0.646       653           421.838
                dom/Document.h: 0.220      1189           261.580

        * WebCore.exp.in:
        * bindings/ScriptControllerBase.cpp:
        * bindings/generic/BindingSecurityBase.cpp:
        * bindings/v8/V8Proxy.cpp:
        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
        * dom/CharacterData.cpp:
        * dom/UserTypingGestureIndicator.cpp:
        * editing/chromium/SelectionControllerChromium.cpp:
        * inspector/InspectorDOMStorageResource.cpp:
        * inspector/InspectorInstrumentation.h:
        * loader/PingLoader.cpp:
        * loader/SubresourceLoader.cpp:
        * loader/appcache/DOMApplicationCache.cpp:
        * loader/cache/CachedResourceRequest.cpp:
        * page/Frame.cpp:
        (WebCore::Frame::displayStringModifiedByEncoding):
        * page/Frame.h:
        * page/Geolocation.cpp:
        * page/Location.cpp:
        * page/Navigator.cpp:
        * page/PageGroupLoadDeferrer.cpp:
        * page/PerformanceTiming.cpp:
        * xml/XSLTProcessorLibxslt.cpp:

2011-04-27  James Robinson  <jamesr@chromium.org>

        Reviewed by Eric Seidel.

        Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=59377

        This cleans up some strict OwnPtr<> violations around text and box shadow data.  ShadowData's linked list data
        structure now uses OwnPtr<>s to manage memory - each entry in the list has ownership of the next ShadowData.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * page/animation/AnimationBase.cpp:
        (WebCore::blendFunc):
        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
        (WebCore::PropertyWrapperShadow::blend):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setTextShadow):
        (WebCore::RenderStyle::setBoxShadow):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::textShadow):
        * rendering/style/ShadowData.cpp:
        (WebCore::ShadowData::ShadowData):
        * rendering/style/ShadowData.h:
        (WebCore::ShadowData::ShadowData):
        (WebCore::ShadowData::next):
        (WebCore::ShadowData::setNext):
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
        * rendering/style/StyleRareInheritedData.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

2011-04-26  David Levin  <levin@chromium.org>

        Reviewed by Eric Seidel.

        Fix some strict PassOwnPtr issues in WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=59563

        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::create):
        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
        * platform/text/TextCodecLatin1.cpp:
        (WebCore::newStreamingTextDecoderWindowsLatin1):
        * platform/text/TextCodecUTF16.cpp:
        (WebCore::newStreamingTextDecoderUTF16LE):
        (WebCore::newStreamingTextDecoderUTF16BE):
        * platform/text/TextCodecUserDefined.cpp:
        (WebCore::newStreamingTextDecoderUserDefined):
        * platform/text/mac/TextCodecMac.cpp:
        (WebCore::newTextCodecMac):
        * workers/Worker.cpp:
        (WebCore::Worker::notifyFinished):

2011-04-26  Justin Novosad  <junov@chromium.org>

        Reviewed by Kenneth Russell.

        [Chromium] Expose skia gpu canvas rendering as a runtime flag
        https://bugs.webkit.org/show_bug.cgi?id=58683
        Replace the SKIA_GPU compile flag by the pre-existing
        acceleratedDrawingEnabled flag. Most code changes are trivial:
        compile-time conditionals on SKIA_GPU were either replaced with
        a run-time check, or a compile time check on USE(SKIA) 

        No new tests. Covered by existing tests.

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
        * page/Page.cpp:
        (WebCore::Page::sharedGraphicsContext3D):
        Added check for the acceleratedDrawing flag.
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        (WebCore::DrawingBuffer::publishToPlatformLayer):
        * platform/graphics/gpu/DrawingBuffer.h:
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::create):
        On Skia builds, this methos now receives a bool arg to turn on
        GPU-accelerated skia rendering
        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
        (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
        (WebCore::SharedGraphicsContext3D::grContext):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::computeResamplingMode):
        (WebCore::paintSkBitmap):
        (WebCore::Image::drawPattern):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::PlatformContextSkia):
        (WebCore::PlatformContextSkia::~PlatformContextSkia):
        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
        (WebCore::PlatformContextSkia::prepareForHardwareDraw):
        (WebCore::PlatformContextSkia::syncSoftwareCanvas):
        (WebCore::PlatformContextSkia::markDirtyRect):
        * platform/graphics/skia/PlatformContextSkia.h:
        (WebCore::PlatformContextSkia::accelerationMode):
        (WebCore::PlatformContextSkia::useGPU):
        (WebCore::PlatformContextSkia::useSkiaGPU):

2011-04-26  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: restore inspector test disabled in r84913.

        Test: http/tests/inspector-enabled/dom-storage-open.html

        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::clearFrontend):

2011-04-26  Kenichi Ishibashi  <bashi@chromium.org>

        Reviewed by Tony Chang.

        [Chromium] Vertical positions are off for some Arabic glyphs on Linux
        https://bugs.webkit.org/show_bug.cgi?id=59182

        Use vertical offsets of the shaping results.

        Test: platform/chromium-linux/fast/text/international/arabic-vertical-offset.html

        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::ComplexTextController):
        Added initialization of m_startingY.
        (WebCore::ComplexTextController::nextScriptRun):
        Followed the change in handling positions.
        (WebCore::ComplexTextController::deleteGlyphArrays): Ditto.
        (WebCore::ComplexTextController::createGlyphArrays): Ditto.
        (WebCore::ComplexTextController::resetGlyphArrays): Ditto.
        (WebCore::ComplexTextController::setGlyphPositions):
        Changed to use vertical offsets as same as horizontal offsets.
        * platform/graphics/chromium/ComplexTextControllerLinux.h:
        Removed m_xPositions and Added m_positions and m_startingY.
        (WebCore::ComplexTextController::positions): Added.
        * platform/graphics/chromium/FontLinux.cpp:
        Followed the change in ComplexTextController.
        (WebCore::Font::drawComplexText): Ditto.
        (WebCore::Font::floatWidthForComplexText): Ditto.
        (WebCore::glyphIndexForXPositionInScriptRun): Ditto.
        (WebCore::Font::offsetForPositionForComplexText): Ditto.
        (WebCore::Font::selectionRectForComplexText): Ditto.

2011-04-26  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Eric Seidel.

        Root element should establish a new block formatting context
        https://bugs.webkit.org/show_bug.cgi?id=54573

        Always expanding the root renderer to include overhanging floats.

        Test: fast/block/float/float-overhangs-root.html

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

2011-04-26  Dawit Alemayehu  <adawit@kde.org>

        Reviewed by Andreas Kling.

        [Qt] Improper rendering of <button> tag when it contains a <br>
        https://bugs.webkit.org/show_bug.cgi?id=50521

        Test: platform/qt/fast/forms/button-line-break.html

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
        (WebCore::RenderThemeQt::setButtonPadding):

2011-04-26  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Only reset tiles if the LayerRendererChromium is actually changing
        https://bugs.webkit.org/show_bug.cgi?id=59572

        http://trac.webkit.org/changeset/84981/ caused us to reset the tiles
        when LayerRendererChromium was set.  We set this pointer every frame
        and should only reset the tiles if the new LayerRendererChromium is
        different from the old one (indicating a context loss), not just reset
        on every frame.

        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::setLayerRenderer):
        * platform/graphics/chromium/LayerTilerChromium.h:

2011-04-26  Dinesh K Garg  <dineshg@codeaurora.org>

        Reviewed by Eric Seidel.

        beginElement broken by setAttribute
        https://bugs.webkit.org/show_bug.cgi?id=26019

        Test: svg/animations/animate-beginElementAt.svg

        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::attributeChanged):
        Reset the animation state here as the rest of the code reads it and would still
        think we are animating when we are not.

        * svg/animation/SVGSMILElement.h:
        (WebCore::SVGSMILElement::setInactive): Helper function to reset the state.

2011-04-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r84989.
        http://trac.webkit.org/changeset/84989
        https://bugs.webkit.org/show_bug.cgi?id=59566

        REGRESSION (r84989): Lots of vertical text tests failing on
        windows (Requested by weinig on #webkit).

        * platform/graphics/FontPlatformData.h:
        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/win/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/win/FontPlatformDataCGWin.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        * platform/graphics/win/FontPlatformDataWin.cpp:
        (WebCore::FontPlatformData::FontPlatformData):

2011-04-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Eric Seidel.

        Try again:
            Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects
            https://bugs.webkit.org/show_bug.cgi?id=59310

        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMConstructorObject::DOMConstructorObject):
        * bindings/js/JSDOMWrapper.h:
        (WebCore::JSDOMWrapper::globalObject):
        (WebCore::JSDOMWrapper::scriptExecutionContext):
        (WebCore::JSDOMWrapper::createStructure):
        (WebCore::JSDOMWrapper::JSDOMWrapper):
        * bindings/scripts/CodeGeneratorJS.pm:

2011-04-26  Sam Weinig  <sam@webkit.org>

        Reviewed by David Hyatt.

        Remove Datagrid from the tree
        https://bugs.webkit.org/show_bug.cgi?id=59543

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.jscbindings.mk:
        * Android.v8bindings.mk:
        * CMakeLists.txt:
        * CodeGenerators.pri:
        * Configurations/FeatureDefines.xcconfig:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * UseJSC.cmake:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDataGridColumnListCustom.cpp: Removed.
        * bindings/js/JSDataGridDataSource.cpp: Removed.
        * bindings/js/JSDataGridDataSource.h: Removed.
        * bindings/js/JSHTMLDataGridElementCustom.cpp: Removed.
        * bindings/v8/V8DataGridDataSource.cpp: Removed.
        * bindings/v8/V8DataGridDataSource.h: Removed.
        * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Removed.
        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Removed.
        * css/CSSStyleSelector.cpp:
        * css/CSSStyleSelector.h:
        * css/html.css:
        (input, textarea, keygen, select, button, isindex):
        (select:disabled, keygen:disabled, optgroup:disabled, option:disabled):
        * editing/htmlediting.cpp:
        (WebCore::canHaveChildrenForEditing):
        * features.pri:
        * html/DOMDataGridDataSource.cpp: Removed.
        * html/DOMDataGridDataSource.h: Removed.
        * html/DataGridColumn.cpp: Removed.
        * html/DataGridColumn.h: Removed.
        * html/DataGridColumn.idl: Removed.
        * html/DataGridColumnList.cpp: Removed.
        * html/DataGridColumnList.h: Removed.
        * html/DataGridColumnList.idl: Removed.
        * html/DataGridDataSource.h: Removed.
        * html/HTMLDataGridCellElement.cpp: Removed.
        * html/HTMLDataGridCellElement.h: Removed.
        * html/HTMLDataGridCellElement.idl: Removed.
        * html/HTMLDataGridColElement.cpp: Removed.
        * html/HTMLDataGridColElement.h: Removed.
        * html/HTMLDataGridColElement.idl: Removed.
        * html/HTMLDataGridElement.cpp: Removed.
        * html/HTMLDataGridElement.h: Removed.
        * html/HTMLDataGridElement.idl: Removed.
        * html/HTMLDataGridRowElement.cpp: Removed.
        * html/HTMLDataGridRowElement.h: Removed.
        * html/HTMLDataGridRowElement.idl: Removed.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::ieForbidsInsertHTML):
        * html/HTMLElementsAllInOne.cpp:
        * html/HTMLTagNames.in:
        * page/DOMWindow.idl:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
        * rendering/RenderDataGrid.cpp: Removed.
        * rendering/RenderDataGrid.h: Removed.
        * rendering/RenderingAllInOne.cpp:

2011-04-26  Chun-Lung Huang  <alvincl.huang@gmail.com>

        Reviewed by Adele Peterson.

        On WebKit (Windows), glyphs in vertical text tests are rotated 90
        degrees clockwise.  https://bugs.webkit.org/show_bug.cgi?id=48459

        This platform dependent patch makes WebKit (Windows) show the
        vertical writing text correctly.  Job was done by adding a prefix '@'
        in front of the font family name (Windows Only). No new tests added.
        Some layout tests images:
        http://www.flickr.com/photos/burorly/sets/72157625585506341/

        * platform/graphics/FontPlatformData.h:
        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/win/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/win/FontPlatformDataCGWin.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        * platform/graphics/win/FontPlatformDataWin.cpp:
        (WebCore::FontPlatformData::FontPlatformData):

2011-04-26  Jer Noble  <jer.noble@apple.com>

        Reviewed by Brady Eidson.

        HTML5 video fullscreen transition causes an audio stutter
        https://bugs.webkit.org/show_bug.cgi?id=59544

        AVFoundation will momentarily stutter when you disconnect a AVPlayerLayer 
        from its AVPlayer.  Since you shouldn't necessarily have to destroy the
        layer to render it invisible, instead just set the layer as hidden.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::setVisible): Call through to platformSetVisible().
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformSetVisible): Added.

2011-04-26  Christian Dywan  <christian@lanedo.com>

        Reviewed by Eric Seidel.

        Extra separator after Select All in context menu
        https://bugs.webkit.org/show_bug.cgi?id=54092

        * page/ContextMenuController.cpp: Move separator to non-GTK+
            port guards since it is for the spelling options menu
            which the GTK+ port doesn't use.

2011-04-26  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Clear out LayerTilerChromium's tiles on lost context
        https://bugs.webkit.org/show_bug.cgi?id=59233

        Clears out the LayerTilerChromium's tile set when the LayerRendererChromium is reset.  In this case the tiles are
        no longer valid since they exist in the previous LayerRendererChromium.

        Will be tested by a chrome test since we don't have any way to exercise the context lost case in layout tests.

        * platform/graphics/chromium/LayerTilerChromium.h:
        (WebCore::LayerTilerChromium::setLayerRenderer):

2011-04-26  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Dirk Schulze.

        [GTK] Flash in divs with overflow: auto is not positioned and clipped properly
        https://bugs.webkit.org/show_bug.cgi?id=57644

        Manual test: plugins/windowed-in-iframe-2.html

        * manual-tests/plugins/windowed-in-iframe-2.html: Added.
        * platform/gtk/WidgetGtk.cpp:
        (WebCore::Widget::setFrameRect): Like the Qt port, we notify the widget via frameRectsChanged.
        * plugins/PluginView.h: Added helper method to set the allocation and clip.
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):Call the helper method instead of setting
        the allocation immediately. Bring this method into sync with the implementation in
        the Qt port.
        (WebCore::PluginView::updateWidgetAllocationAndClip): Added.
        (WebCore::PluginView::plugAddedCallback): Call the new helper method.

2011-04-26  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Eric Seidel.

        [GTK]  fast/block/float/overhanging-tall-block.html crashes in the bots
        https://bugs.webkit.org/show_bug.cgi?id=58818

        Prevent allocating scratch buffers larger than the target GdkDrawable
        when creating a WidgetRenderingContext. This prevents incredibly large
        widgets from crashing the X Server. This change also allowed greatly
        simplifying the way that the painting offset is calculated.

        * platform/gtk/WidgetRenderingContext.cpp:
        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Never allocate a pixmap
        larger than the target GdkDrawable.
        (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Calculate the offset of the
        blit by looking at the location of the target rect itself, rather than delaying the
        calculation up to this point.
        (WebCore::WidgetRenderingContext::calculateClipRect): Added.
        (WebCore::WidgetRenderingContext::gtkPaintBox): Use the new calculateClipRectHelper.
        (WebCore::WidgetRenderingContext::gtkPaintFlatBox): Ditto.
        (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
        (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
        (WebCore::WidgetRenderingContext::gtkPaintCheck): Ditto.
        (WebCore::WidgetRenderingContext::gtkPaintOption): Ditto.
        (WebCore::WidgetRenderingContext::gtkPaintShadow): Ditto.
        (WebCore::WidgetRenderingContext::gtkPaintArrow): Ditto.
        (WebCore::WidgetRenderingContext::gtkPaintVLine): Ditto.
        * platform/gtk/WidgetRenderingContext.h: Remove some now unused members. Add
        a member to store the IntSize mapping from the coordinates of the target to the coordinates
        of the scratch buffer.

2011-04-26  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Barth.

        Respect charset in handleDataURL
        https://bugs.webkit.org/show_bug.cgi?id=47746

        Original patch by Kwang Yul Seo <skyul@company100.net>

        We must use TextEncoding(charset) to encode data URL again. Otherwise TextEncoding::encode()
        returns an empty string because encoding name is not specified.

        Also use "US-ASCII" as fallback charset as extractCharsetFromMediaType can be empty.

        This change fixes over 130 layout tests when running GTK port with cURL network backend.

        * platform/network/DataURL.cpp:
        (WebCore::handleDataURL):

2011-04-26  Anders Carlsson  <andersca@apple.com>

        Fix clang++ build.

        You can never have too many casts!

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper position]):
        * editing/mac/SelectionControllerMac.mm:
        (WebCore::accessibilityConvertScreenRect):

2011-04-26  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Fix web audio build on mac port
        https://bugs.webkit.org/show_bug.cgi?id=59355

        No new tests since audio API is not yet implemented.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSAudioContextCustom.cpp:
        (WebCore::JSAudioContext::visitChildren):
        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
        (WebCore::JSJavaScriptAudioNode::visitChildren):
        * webaudio/AudioContext.idl:

2011-04-26  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add FFTFrame implementation for FFmpeg
        https://bugs.webkit.org/show_bug.cgi?id=59408

        No new tests since audio API is not yet implemented.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/audio/FFTFrame.h:
        * platform/audio/FFTFrameStub.cpp:
        * platform/audio/ffmpeg: Added.
        * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp: Added.
        (WebCore::FFTFrame::FFTFrame):
        (WebCore::FFTFrame::initialize):
        (WebCore::FFTFrame::cleanup):
        (WebCore::FFTFrame::~FFTFrame):
        (WebCore::FFTFrame::multiply):
        (WebCore::FFTFrame::doFFT):
        (WebCore::FFTFrame::doInverseFFT):
        (WebCore::FFTFrame::realData):
        (WebCore::FFTFrame::imagData):
        (WebCore::FFTFrame::getUpToDateComplexData):
        (WebCore::FFTFrame::contextForSize):
        * platform/audio/mac/FFTFrameMac.cpp:
        * webaudio/ConvolverNode.cpp:

2011-04-26  Jeff Miller  <jeffm@apple.com>

        Add a newline at the end of SVGFEDropShadowElement.idl.

        * svg/SVGFEDropShadowElement.idl:

2011-04-26  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Eric Seidel.

        InlineBox.h shouldn't include RenderBR.h
        https://bugs.webkit.org/show_bug.cgi?id=59480

        Per bug 59348 RenderBR.h is a "top header" by include * size, because
        InlineBox.h includes it. There's no reason why it has to.

        * rendering/InlineBox.h:
        * rendering/InlineTextBox.cpp:
        * rendering/RenderBlock.h:

2011-04-26  Sam Weinig  <sam@webkit.org>

        Nope, roll out r84950 and r84952. Working on a laptop is clearly not something
        I should do.

        * bindings/js/JSDOMBinding.h:
        (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
        (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext):
        (WebCore::JSDOMWrapperWithGlobalPointer::createStructure):
        (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
        (WebCore::DOMConstructorObject::DOMConstructorObject):
        * bindings/js/JSDOMWrapper.h:
        (WebCore::JSDOMWrapper::JSDOMWrapper):
        * bindings/scripts/CodeGeneratorJS.pm:

2011-04-26  Sam Weinig  <sam@webkit.org>

        Fix build.

        * bindings/js/JSDOMWrapper.h:
        (WebCore::JSDOMWrapper::globalObject):

2011-04-26  Sam Weinig  <sam@webkit.org>

        Roll r84945 back in with infinite recursion removed.

        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMConstructorObject::DOMConstructorObject):
        * bindings/js/JSDOMWrapper.h:
        (WebCore::JSDOMWrapper::globalObject):
        (WebCore::JSDOMWrapper::scriptExecutionContext):
        (WebCore::JSDOMWrapper::createStructure):
        (WebCore::JSDOMWrapper::JSDOMWrapper):
        * bindings/scripts/CodeGeneratorJS.pm:

2011-04-26  Sam Weinig  <sam@webkit.org>

        Rollout previous patch. It broke stuff.

        * bindings/js/JSDOMBinding.h:
        (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
        (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext):
        (WebCore::JSDOMWrapperWithGlobalPointer::createStructure):
        (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
        (WebCore::DOMConstructorObject::DOMConstructorObject):
        * bindings/js/JSDOMWrapper.h:
        (WebCore::JSDOMWrapper::JSDOMWrapper):
        * bindings/scripts/CodeGeneratorJS.pm:

2011-04-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Maciej Stachowiak.

        Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects
        https://bugs.webkit.org/show_bug.cgi?id=59310

        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMConstructorObject::DOMConstructorObject):
        * bindings/js/JSDOMWrapper.h:
        (WebCore::JSDOMWrapper::globalObject):
        (WebCore::JSDOMWrapper::scriptExecutionContext):
        (WebCore::JSDOMWrapper::createStructure):
        (WebCore::JSDOMWrapper::JSDOMWrapper):
        Merge JSDOMWrapperWithGlobalPointer with JSDOMWrapper.

        * bindings/scripts/CodeGeneratorJS.pm:
        Make JSDOMWrapper the base class.

2011-04-26  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        Choose the compiler based on the Xcode version for Snow Leopard debug builds.

        * Configurations/Base.xcconfig:
        * Configurations/CompilerVersion.xcconfig: Added.

2011-04-26  Adrienne Walker  <enne@google.com>

        Reviewed by Geoffrey Garen.

        Use OwnArrayPtr<T> instead of OwnPtr<T*> in ScopeTracer
        https://bugs.webkit.org/show_bug.cgi?id=59469

        * platform/chromium/TraceEvent.h:
        (WebCore::internal::ScopeTracer::ScopeTracer):

2011-04-25  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Nixed special finalizer handling for WebCore strings
        https://bugs.webkit.org/show_bug.cgi?id=59425

        Not needed anymore, since weak handles have finalizers.

        * WebCore.exp.in: Exports!

        * bindings/js/DOMWrapperWorld.cpp:
        (WebCore::JSStringOwner::finalize):
        (WebCore::DOMWrapperWorld::DOMWrapperWorld): Use a weak handle finalizer,
        so we don't need special treatment anymore.

        * bindings/js/DOMWrapperWorld.h:
        (WebCore::JSStringOwner::JSStringOwner):
        (WebCore::DOMWrapperWorld::stringWrapperOwner): Use a HashMap of Weak<T>
        instead of a WeakGCMap, so we can specify a custom finalizer.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::jsStringSlowCase):
        * bindings/js/JSDOMBinding.h:
        (WebCore::jsString): Updated for string map change.

2011-04-26  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/59372> Restore user default for enabling HTTP pipelining

        Reviewed by Antti Koivisto.

        To enable HTTP pipelining post-SnowLeopard, use this command:

            defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES

        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::readBooleanPreference): Re-added.  Originally added in
        r76756 and removed in r84120.
        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Enable
        HTTP pipelining if use default is set to true.  Added macro
        guards to match those in ResourceRequestMac.mm.

2011-04-26  Antti Koivisto  <antti@apple.com>

        Reviewed by Adele Peterson.

        Don't strip fragments from file: urls in memory cache
        https://bugs.webkit.org/show_bug.cgi?id=59463
        <rdar://problem/9231130>

        Some clients expect file: resources to be unique based on fragment identifier. 
        Limit the changes in http://trac.webkit.org/changeset/74107 to the HTTP protocol only

        Test: fast/loader/file-protocol-fragment.html

        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):

2011-04-26  David Levin  <levin@chromium.org>

        Reviewed by Darin Adler.

        Fix more strict OwnPtr in WebCore (round N).
        https://bugs.webkit.org/show_bug.cgi?id=59464

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::attach):
        * fileapi/FileReader.cpp:
        (WebCore::FileReader::terminate):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::preflightFailure):
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerConnectTask::create):
        (WebCore::SharedWorkerScriptLoader::load):

2011-04-26  Ruben  <chromium@hybridsource.org>

        Reviewed by Tony Chang.

        Change linux ifdefs for Chromium to Unix instead, allowing
        new Unix ports to be enabled by default
        https://bugs.webkit.org/show_bug.cgi?id=59297

        No new tests, just changing preprocessor defines.

        * bindings/js/JSInspectorFrontendHostCustom.cpp:
        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
        * dom/SelectElement.cpp:
        * loader/cache/CachedFont.cpp:
        * page/EventHandler.cpp:
        * page/chromium/EventHandlerChromium.cpp:
        * platform/Scrollbar.cpp:
        * platform/chromium/PlatformBridge.h:
        * platform/graphics/chromium/FontPlatformData.h:
        * platform/graphics/skia/FontCustomPlatformData.cpp:
        * platform/graphics/skia/FontCustomPlatformData.h:

2011-04-26  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Dan Bernstein.

        [RTL] Arabic/AB - after typing a date, cursors doesn't go back
        https://bugs.webkit.org/show_bug.cgi?id=49111

        Even when the offset corresponds to a position visually left of the box
        and there aren't any inline boxes on the left, the previous/next position
        may still correspond to some position in the same line.

        The bug was caused by our ignoring such cases. Fixed the bug by comparing
        previous/next position's inline box to the current box. If they match,
        then we stay on the same position because moving to the left visually at
        the left edge should not result in a position on the same line.

        Also fixed a bug that WebKit uses offsets that are not extrema when moved to
        the left edge or to the right edge, and a bug that WebKit could not move to
        the left from 12^3 CBA abc to 123 C^BA abc (there is no offset between 3 and C).

        Test cases are added to editing/selection/move-left-right.html

        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):

2011-04-26  Gabor Loki  <loki@webkit.org>

        Reviewed by Csaba Osztrogonác.

        Speeding up SVG filters with multicore (SMP) support
        https://bugs.webkit.org/show_bug.cgi?id=43903

        Some SVG filters execute a huge number of pixel manipulations, which
        cannot be sped up by graphics accelerators, since their algorithm is
        too complex. Using the power of Symmetric Multi Processing (SMP) we
        can split up a task to smaller (data independent) tasks, which can be
        executed independently.

        The ParallelJobs framework provides a simple way for distributed
        programming. The framework is based on WebKit's threading infrastructure,
        Open Multi-Processing's (OpenMP) API, and libdispatch API.

        * ForwardingHeaders/wtf/ParallelJobs.h: Added.
        * platform/graphics/filters/FETurbulence.cpp:
        (WebCore::FETurbulence::PaintingData::PaintingData):
        (WebCore::FETurbulence::noise2D):
        (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
        (WebCore::FETurbulence::fillRegion):
        (WebCore::FETurbulence::fillRegionWorker):
        (WebCore::FETurbulence::apply):
        * platform/graphics/filters/FETurbulence.h:

2011-04-26  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: close button is off in docked mode on a mac.
        https://bugs.webkit.org/show_bug.cgi?id=59453

        * inspector/front-end/inspector.css:
        (.toolbar-item.close-left):

2011-04-26  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: New Style is not working (UI glitch)
        https://bugs.webkit.org/show_bug.cgi?id=59451

        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::setFrontend):
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
        (WebInspector.CSSStyleModel.prototype.addRule):
        (WebInspector.CSSStyleModel.prototype.addRule.callback):
        (WebInspector.CSSStyleModel.prototype._documentElementId):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode.prototype._addAttribute):
        (WebInspector.DOMNode.prototype.documentElement):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.PageDispatcher.prototype.frameDetached):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._createNewRule):

2011-04-26  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: introduce DOMStorage::enable and disable.
        https://bugs.webkit.org/show_bug.cgi?id=59445

        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
        (WebCore::InspectorDOMStorageAgent::restore):
        (WebCore::InspectorDOMStorageAgent::enable):
        (WebCore::InspectorDOMStorageAgent::disable):
        * inspector/InspectorDOMStorageAgent.h:
        (WebCore::InspectorDOMStorageAgent::create):
        * inspector/front-end/DOMStorage.js:
        (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype._reset):
        * inspector/front-end/inspector.js:

2011-04-26  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: extract Page agent dispatcher into the ResourceTreeModel.
        https://bugs.webkit.org/show_bug.cgi?id=59440

        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::setFrontend):
        (WebCore::InspectorPageAgent::frameNavigated):
        * inspector/InspectorPageAgent.h:
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel):
        (WebInspector.AuditsPanel.prototype._onLoadEventFired):
        (WebInspector.AuditsPanel.prototype._domContentLoadedEventFired):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModelResourceBinding):
        (WebInspector.CSSStyleModelResourceBinding.prototype._inspectedURLChanged):
        * inspector/front-end/DOMBreakpointsSidebarPane.js:
        (WebInspector.DOMBreakpointsSidebarPane):
        (WebInspector.DOMBreakpointsSidebarPane.prototype._inspectedURLChanged):
        * inspector/front-end/DOMStorage.js:
        (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
        (WebInspector.ExtensionServer.prototype.initExtensions):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype._onLoadEventFired):
        (WebInspector.NetworkPanel.prototype._domContentLoadedEventFired):
        (WebInspector.NetworkPanel.prototype._frameNavigated):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
        (WebInspector.ResourceTreeModel.prototype._dispatchInspectedURLChanged):
        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
        (WebInspector.ResourceTreeModel.prototype._frameDetached):
        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
        (WebInspector.PageDispatcher):
        (WebInspector.PageDispatcher.prototype.domContentEventFired):
        (WebInspector.PageDispatcher.prototype.loadEventFired):
        (WebInspector.PageDispatcher.prototype.frameNavigated):
        (WebInspector.PageDispatcher.prototype.frameDetached):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype._onLoadEventFired):
        (WebInspector.ResourcesPanel.prototype._frameNavigated):
        * inspector/front-end/inspector.js:

2011-04-26  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed rollout r84877 and StyleRareInheritedData.cpp changes of r84892,
        because it broke transitions/multiple-text-shadow-transition.html

        Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=59377

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * page/animation/AnimationBase.cpp:
        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
        (WebCore::PropertyWrapperShadow::blend):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setTextShadow):
        (WebCore::RenderStyle::setBoxShadow):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::textShadow):
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
        * rendering/style/StyleRareInheritedData.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

2011-04-26  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Adam Barth.

        Turn off make built-in implicit rules for derived sources makefile
        https://bugs.webkit.org/show_bug.cgi?id=59418

        We don't use any of make's built-in implicit rules, turning them off
        speeds up parsing of the makefile.

        * WebCore.xcodeproj/project.pbxproj:
        * gyp/generate-derived-sources.sh:

2011-04-26  Leo Yang  <leo.yang@torchmobile.com.cn>

        Reviewed by Nikolas Zimmermann.

        ASSERT failure in SVGUseElement
        https://bugs.webkit.org/show_bug.cgi?id=59313

        In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
        was wrong because the document may not be well-formed.

        This patch asserts the element is not pending on resource or the
        document is not well-formed.

        Test: svg/custom/use-crash-in-non-wellformed-document.svg

        * svg/SVGUseElement.cpp:
        (WebCore::isWellFormedDocument):
        (WebCore::SVGUseElement::insertedIntoDocument):

2011-04-26  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Chromium] Fix columns resizing in the detailed heap snapshot grids.
        https://bugs.webkit.org/show_bug.cgi?id=59438

        * inspector/front-end/DetailedHeapshotView.js:
        (WebInspector.DetailedHeapshotView.prototype._changeView):

2011-04-26  David Levin  <levin@chromium.org>

        Reviewed by Adam Barth.

        Fix a few OwnPtr strict errors in WebCore headers.
        https://bugs.webkit.org/show_bug.cgi?id=59431

        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::create):
        * css/MediaQueryMatcher.cpp:
        (WebCore::MediaQueryMatcher::prepareEvaluator):
        * dom/NodeRareData.h:
        (WebCore::NodeListsNodeData::create):
        * dom/ScriptRunner.h:
        (WebCore::ScriptRunner::create):
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::connectFrontend):
        * loader/icon/IconDatabase.h:
        (WebCore::IconDatabase::create):
        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::verticalRightOrientationFontData):
        (WebCore::SimpleFontData::uprightOrientationFontData):
        (WebCore::SimpleFontData::brokenIdeographFontData):
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        * rendering/svg/SVGResources.h:
        (WebCore::SVGResources::ClipperFilterMaskerData::create):
        (WebCore::SVGResources::MarkerData::create):
        (WebCore::SVGResources::FillStrokeData::create):
        * storage/StorageSyncManager.cpp:
        (WebCore::StorageSyncManager::close):
        * workers/WorkerContext.cpp:
        (WebCore::CloseWorkerContextTask::create):
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::MessageWorkerContextTask::create):
        (WebCore::MessageWorkerTask::create):
        (WebCore::WorkerExceptionTask::create):
        (WebCore::WorkerContextDestroyedTask::create):
        (WebCore::WorkerTerminateTask::create):
        (WebCore::WorkerThreadActivityReportTask::create):
        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerRunLoop::Task::create):
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThreadStartupData::create):
        (WebCore::WorkerThreadShutdownFinishTask::create):
        (WebCore::WorkerThreadShutdownStartTask::create):

2011-04-26  Adam Klein  <adamk@chromium.org>

        Reviewed by Adam Barth.

        Fix last strict OwnPtr violation under svg/...
        https://bugs.webkit.org/show_bug.cgi?id=59429

        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::removePendingResource):

2011-04-26  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Fix more strict OwnPtr violations in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=59433

        These manifest in the Chromium build.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::ScriptController):
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::editScriptSource):
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::precompileScript):
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::WorkerScriptController):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::speechInput):
        * platform/PlatformGestureRecognizer.cpp:
        (WebCore::PlatformGestureRecognizer::create):
        * platform/PlatformGestureRecognizer.h:
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
        (WebCore::CCLayerImpl::CCLayerImpl):
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::Texture::create):
        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::decodeHelper):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::decode):
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::decodeAtIndex):
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageDecoder::decode):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::decode):
        * storage/chromium/DatabaseTrackerChromium.cpp:
        (WebCore::DatabaseTracker::addOpenDatabase):

2011-04-25  David Levin  <levin@chromium.org>

        Reviewed by Adam Barth.

        Fix OwnPtr strict errors in CrossThreadTask.h
        https://bugs.webkit.org/show_bug.cgi?id=59427

        * dom/CrossThreadTask.h:
        (WebCore::CrossThreadTask1::create):
        (WebCore::CrossThreadTask2::create):
        (WebCore::CrossThreadTask3::create):
        (WebCore::CrossThreadTask4::create):
        (WebCore::CrossThreadTask5::create):
        (WebCore::CrossThreadTask6::create):
        (WebCore::CrossThreadTask7::create):
        (WebCore::CrossThreadTask8::create):

2011-04-25  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/9330337> Leak of 'WebCore::ApplyPropertyFillLayer<WebCore::FillSize>'

        * css/CSSStyleApplyProperty.cpp:
        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Don't initialize CSSPropertyWebkitMaskSize twice.
        * css/CSSStyleApplyProperty.h:
        (WebCore::CSSStyleApplyProperty::setPropertyValue): Add some asserts to catch this class of leak.

2011-04-25  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Ryosuke Niwa.

        REGRESSION: a character appears after tab span when typing immediately before the tab span
        https://bugs.webkit.org/show_bug.cgi?id=58132

        Correcting the order of operations we use to avoid inserting into invalid positions in
        ReplaceSelectionCommand to avoid inserting into tab-spans.

        Test: editing/pasteboard/paste-before-tab-span.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Moving positionOutsideTabSpan to after
        positionAvoidingPrecedingNodes, since that function could once again put our position
        inside a tab span.

2011-04-25  David Levin  <levin@chromium.org>

        Reviewed by Adam Barth.

        Fix OwnPtr strict error in ImageBuffer.h
        https://bugs.webkit.org/show_bug.cgi?id=59422

        * platform/graphics/ImageBuffer.h:
        (WebCore::ImageBuffer::create):

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Fix strict OwnPtr violations and whitelist known-tricky files
        https://bugs.webkit.org/show_bug.cgi?id=59421

        With this patch, WebCore builds cleanly with strict OwnPtrs.

        * dom/MessagePort.cpp:
        (WebCore::MessagePort::MessagePort):
        * dom/XMLDocumentParserLibxml2.cpp:
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::ContextMenuController):
        (WebCore::ContextMenuController::clearContextMenu):
        * page/PluginHalter.cpp:
        * platform/graphics/MediaPlayer.cpp:
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::adopt):
        (WebCore::ResourceRequestBase::copyData):
        * svg/SVGDocumentExtensions.cpp:

2011-04-25  David Levin  <levin@chromium.org>

        Reviewed by Adam Barth.

        Fix OwnPtr strict errors in DatasetDOMStringMap.h.
        https://bugs.webkit.org/show_bug.cgi?id=59419

        * dom/DatasetDOMStringMap.h:
        (WebCore::DatasetDOMStringMap::create):

2011-04-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Eric Seidel.

        KeyboardEvent.cpp should work with strict OwnPtrs.
        https://bugs.webkit.org/show_bug.cgi?id=59403

        * dom/KeyboardEvent.cpp:
        (WebCore::KeyboardEvent::KeyboardEvent):

2011-04-25  James Robinson  <jamesr@chromium.org>

        Reviewed by Eric Seidel.

        Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=59377

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * page/animation/AnimationBase.cpp:
        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
        (WebCore::PropertyWrapperShadow::blend):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::setTextShadow):
        (WebCore::RenderStyle::setBoxShadow):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::textShadow):
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
        * rendering/style/StyleRareInheritedData.h:
        * rendering/style/StyleRareNonInheritedData.cpp:
        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

2011-04-25  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r84864.
        http://trac.webkit.org/changeset/84864
        https://bugs.webkit.org/show_bug.cgi?id=59413

        Expect result of use-crash-in-non-wellformed-document.svg is
        platform dependent (Requested by leoyang on #webkit).

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::insertedIntoDocument):

2011-04-25  Leo Yang  <leo.yang@torchmobile.com.cn>

        Reviewed by Nikolas Zimmermann.

        ASSERT failure in SVGUseElement
        https://bugs.webkit.org/show_bug.cgi?id=59313

        In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
        was wrong because the document may not be well-formed.

        This patch asserts the element is not pending on resource or the
        document is not well-formed.

        Test: svg/custom/use-crash-in-non-wellformed-document.svg

        * svg/SVGUseElement.cpp:
        (WebCore::isWellFormedDocument):
        (WebCore::SVGUseElement::insertedIntoDocument):

2011-04-25  Igor Oliveira  <igor.oliveira@openbossa.org>

        Reviewed by Tony Chang.

        Move complexity from DataTransferItemsChromium and DataTransferItemChromium for base class
        https://bugs.webkit.org/show_bug.cgi?id=59028

        The DataTransferItemsChromium and DataTransferItemChromium code can be reused by other platforms.
        Moving the code for base class we can reduce the efforts to support DataTransferItems
        element in different platforms.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DataTransferItem.cpp:
        (WebCore::DataTransferItem::DataTransferItem):
        (WebCore::DataTransferItem::owner):
        (WebCore::DataTransferItem::kind):
        (WebCore::DataTransferItem::type):
        * dom/DataTransferItem.h:
        * dom/DataTransferItems.cpp: Copied from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp.
        (WebCore::DataTransferItems::DataTransferItems):
        (WebCore::DataTransferItems::length):
        (WebCore::DataTransferItems::item):
        (WebCore::DataTransferItems::deleteItem):
        (WebCore::DataTransferItems::clear):
        (WebCore::DataTransferItems::add):
        * dom/DataTransferItems.h:
        * platform/chromium/DataTransferItemChromium.cpp:
        (WebCore::DataTransferItem::create):
        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
        (WebCore::DataTransferItemChromium::getAsString):
        (WebCore::DataTransferItemChromium::getAsFile):
        * platform/chromium/DataTransferItemChromium.h:
        * platform/chromium/DataTransferItemsChromium.cpp:
        (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
        * platform/chromium/DataTransferItemsChromium.h:

2011-04-25  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        REGRESSION(75137): directly composited images are double-drawn sometimes
        https://bugs.webkit.org/show_bug.cgi?id=58632

        Depending on the order of operations (layout, creating compositing 
        layers and creating simple image layers) a layer can have both image
        content and have m_drawsContent=true. In this case 2 copies of the image
        are drawn in the layer. If the image has alpha, it looks wrong.

        I added an updateDrawsContent() call after setting the image contents
        to make sure it's correct.

        I couldn't create a test case that shows the problem because layerTreeAsText()
        doesn't emit enough info to show this level of detail. I've opened
        https://bugs.webkit.org/show_bug.cgi?id=59352 to fix that.

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

2011-04-25  Kenneth Russell  <kbr@google.com>

        Reviewed by David Levin.

        Fix OwnPtr strict errors in InlineFlowBox.cpp
        https://bugs.webkit.org/show_bug.cgi?id=59392

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::setLayoutOverflow):
        (WebCore::InlineFlowBox::setVisualOverflow):

2011-04-25  Kenneth Russell  <kbr@google.com>

        Reviewed by David Levin.

        Fix OwnPtr strict errors in TransformState.cpp
        https://bugs.webkit.org/show_bug.cgi?id=59380

        * rendering/TransformState.cpp:
        (WebCore::TransformState::applyTransform):

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by James Robinson.

        DOMWindow.cpp should work with strict OwnPtrs
        https://bugs.webkit.org/show_bug.cgi?id=59356

        * page/DOMWindow.cpp:
        (WebCore::PostMessageTimer::fired):
        (WebCore::DOMWindow::postMessageTimerFired):
        * page/DOMWindow.h:

2011-04-25  Adam Klein  <adamk@chromium.org>

        Reviewed by James Robinson.

        Fix OwnPtr strict errors in some SVG classes.
        https://bugs.webkit.org/show_bug.cgi?id=59395

        * rendering/style/SVGRenderStyleDefs.cpp:
        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::supplementalTransform):
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::supplementalTransform):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2011-04-25  Adam Barth  <abarth@webkit.org>

        Re-land changes to ValidationMessage.

        * html/ValidationMessage.cpp:
        (WebCore::ValidationMessage::setMessage):
        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
        (WebCore::ValidationMessage::requestToHideMessage):

2011-04-25  Ojan Vafai  <ojan@chromium.org>

        Reviewed by James Robinson.

        fix OwnPtr strict error in FrameView.cpp
        https://bugs.webkit.org/show_bug.cgi?id=59402

        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::addWidgetToUpdate):

2011-04-25  Adam Klein  <adamk@chromium.org>

        Unreviewed, rolling out r84844.
        http://trac.webkit.org/changeset/84844
        https://bugs.webkit.org/show_bug.cgi?id=59395

        Checked in too much.

        * rendering/style/SVGRenderStyleDefs.cpp:
        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::removePendingResource):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::supplementalTransform):
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::supplementalTransform):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2011-04-25  Adrienne Walker  <enne@google.com>

        Reviewed by David Levin.

        Make ActiveDOMCallback play nice with OwnPtr strict mode
        https://bugs.webkit.org/show_bug.cgi?id=59398

        * bindings/generic/ActiveDOMCallback.cpp:
        (WebCore::ActiveDOMCallback::ActiveDOMCallback):

2011-04-25  Adam Klein  <adamk@chromium.org>

        Reviewed by James Robinson.

        Fix OwnPtr strict errors in some SVG classes.
        https://bugs.webkit.org/show_bug.cgi?id=59395

        * rendering/style/SVGRenderStyleDefs.cpp:
        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::supplementalTransform):
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::supplementalTransform):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2011-04-25  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r84835.
        http://trac.webkit.org/changeset/84835
        https://bugs.webkit.org/show_bug.cgi?id=59394

        Breaks compile because Deque<OwnPtr> doesn't work

        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::PendingCallbacks::~PendingCallbacks):
        (WebCore::PendingCallbacks::appendStartElementNSCallback):
        (WebCore::PendingCallbacks::appendEndElementNSCallback):
        (WebCore::PendingCallbacks::appendCharactersCallback):
        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
        (WebCore::PendingCallbacks::appendCDATABlockCallback):
        (WebCore::PendingCallbacks::appendCommentCallback):
        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
        (WebCore::PendingCallbacks::appendErrorCallback):
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        * html/ValidationMessage.cpp:
        (WebCore::ValidationMessage::setMessage):
        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
        (WebCore::ValidationMessage::requestToHideMessage):

2011-04-25  James Robinson  <jamesr@chromium.org>

        Reviewed by Sam Weinig.

        Fix OwnPtr strict mode violation in ImageBufferCG
        https://bugs.webkit.org/show_bug.cgi?id=59396

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):

2011-04-25  Huang Dongsung  <luxtella@company100.net>

        Reviewed by Dirk Schulze.

        [Skia] Remove an unused local variable in PlatformContextSkia::readbackHardwareToSoftware().
        https://bugs.webkit.org/show_bug.cgi?id=59308

        An unused local variable is created and even allocates heap memory.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):

2011-04-25  Geoffrey Garen  <ggaren@apple.com>

        Qt build fix: Updated files not used by other ports for rename.

        * bindings/js/JSTouchCustom.cpp:
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSTouchListCustom.cpp:
        (WebCore::toJSNewlyCreated):

2011-04-25  Adrienne Walker  <enne@google.com>

        Reviewed by David Levin.

        WebCore/css/CSS* files should play nice with strict OwnPtrs
        https://bugs.webkit.org/show_bug.cgi?id=59382

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::addProperty):
        (WebCore::CSSParser::parseValue):

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by James Robinson.

        ValidationMessage and XMLDocumentParserLibxml2 should play nice with strict OwnPtrs
        https://bugs.webkit.org/show_bug.cgi?id=59394

        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::PendingCallbacks::PendingCallbacks):
        (WebCore::PendingCallbacks::appendStartElementNSCallback):
        (WebCore::PendingCallbacks::appendEndElementNSCallback):
        (WebCore::PendingCallbacks::appendCharactersCallback):
        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
        (WebCore::PendingCallbacks::appendCDATABlockCallback):
        (WebCore::PendingCallbacks::appendCommentCallback):
        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
        (WebCore::PendingCallbacks::appendErrorCallback):
        (WebCore::XMLDocumentParser::XMLDocumentParser):
        * html/ValidationMessage.cpp:
        (WebCore::ValidationMessage::setMessage):
        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
        (WebCore::ValidationMessage::requestToHideMessage):

2011-04-25  James Robinson  <jamesr@chromium.org>

        Reviewed by Adam Barth.

        Fix OwnPtr strictness issues in WebCore/inspector/
        https://bugs.webkit.org/show_bug.cgi?id=59387

        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::ensureSourceData):

2011-04-25  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Beth Dakin.

        Removed XPathNamespace because it was unused
        https://bugs.webkit.org/show_bug.cgi?id=59381
        
        This allows us to make Node::ownerDocument() non-virtual, though it has
        the unhappy side-effect of rebuilding the world.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj: Bye bye dead code.

        * dom/Node.h: Hello fast code!

        * xml/XPathNamespace.cpp: Removed.
        * xml/XPathNamespace.h: Removed.

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        HistoryItemMac should play nice with OwnPtrs
        https://bugs.webkit.org/show_bug.cgi?id=59388

        * history/mac/HistoryItemMac.mm:
        (WebCore::HistoryItem::setTransientProperty):

2011-04-25  David Levin  <levin@chromium.org>

        Reviewed by Kenneth Russell.

        Fix strict OwnPtrs in ContextMenuController.cpp
        https://bugs.webkit.org/show_bug.cgi?id=59375

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::createContextMenu):
        (WebCore::separatorItem):

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        CheckedRadioButton should play nice with strict OwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=59386

        * dom/CheckedRadioButtons.cpp:
        (WebCore::CheckedRadioButtons::addButton):

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Resource*.cpp should play nice with strict OwnPtrs
        https://bugs.webkit.org/show_bug.cgi?id=59383

        * bridge/runtime_method.cpp:
        (JSC::RuntimeMethod::RuntimeMethod):
        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::ResourceHandle):
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::adopt):
        (WebCore::ResourceResponseBase::copyData):

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Page*.cpp and objc_runtime.mm should play nice with strict OwnPtrs
        https://bugs.webkit.org/show_bug.cgi?id=59374

        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::callObjCFallbackObject):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::initGroup):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::addUserScriptToWorld):
        (WebCore::PageGroup::addUserStyleSheetToWorld):
        * page/mac/PageMac.cpp:
        (WebCore::Page::addSchedulePair):

2011-04-25  Geoffrey Garen  <ggaren@apple.com>

        Build fix: This time for sure!
        
        * dom/make_names.pl:

2011-04-25  Geoffrey Garen  <ggaren@apple.com>

        Build fix: Let's edit the script instead of the autogenrated file. That
        way, our change will stand the test of time.

        * dom/make_names.pl:

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Fix strict OwnPtrs in HTMLMediaElement and HTTPHeaderMap
        https://bugs.webkit.org/show_bug.cgi?id=59368

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement):
        * platform/network/HTTPHeaderMap.cpp:
        (WebCore::HTTPHeaderMap::copyData):

2011-04-25  James Robinson  <jamesr@chromium.org>

        Reviewed by Adam Barth.

        Fix strict OwnPtr violations in Render*.cpp
        https://bugs.webkit.org/show_bug.cgi?id=59361

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::RenderBlock):
        (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::addLayoutOverflow):
        (WebCore::RenderBox::addVisualOverflow):
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::styleDidChange):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateTransform):
        (WebCore::RenderLayer::paintChildLayerIntoColumns):
        (WebCore::RenderLayer::hitTestChildLayerColumns):
        (WebCore::RenderLayer::ensureBacking):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::styleDidChange):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::compositor):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::addCachedPseudoStyle):
        (WebCore::RenderStyle::accessCounterDirectives):
        (WebCore::RenderStyle::accessAnimations):
        (WebCore::RenderStyle::accessTransitions):
        * rendering/svg/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::applyResource):
        * rendering/svg/SVGResources.cpp:
        (WebCore::SVGResources::SVGResources):

2011-04-25  Adam Barth  <abarth@webkit.org>

        Attempt to fix the compile.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::loadWithNextMediaEngine):

2011-04-25  Geoffrey Garen  <ggaren@apple.com>

        Rubber-stamped by Beth Dakin.

        Merged CREATE_DOM_NODE_WRAPPER and CREATE_DOM_OBJECT_WRAPPER into 
        CREATE_DOM_WRAPPER because there's no meaningful difference between
        them anymore.

        * bindings/js/JSCDATASectionCustom.cpp:
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSElementCustom.cpp:
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::createWrapperInline):
        * bindings/js/JSSVGPathSegCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSTextCustom.cpp:
        (WebCore::toJSNewlyCreated):
        * bindings/js/JSWebKitCSSMatrixCustom.cpp:
        (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
        * bindings/js/JSWebSocketCustom.cpp:
        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest):
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by James Robinson.

        HTMLDocumentParser should play nice with OwnPtrs
        https://bugs.webkit.org/show_bug.cgi?id=59363

        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::pumpTokenizer):

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by James Robinson.

        Frame.cpp should work with strict OwnPtrs
        https://bugs.webkit.org/show_bug.cgi?id=59360

        * page/Frame.cpp:
        (WebCore::createRegExpForLabels):

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Fix strict OwnPtr in Element.cpp
        https://bugs.webkit.org/show_bug.cgi?id=59357

        * dom/NodeRareData.h:
        (WebCore::NodeRareData::ensureEventTargetData):

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Fix strict OwnPtr issues in Media*.cpp
        https://bugs.webkit.org/show_bug.cgi?id=59354

        There's still a tricky case in MediaPlayer.cpp, but we'll worry about
        that later.

        * css/MediaQueryMatcher.cpp:
        (WebCore::MediaQueryMatcher::addListener):
        * dom/Document.cpp:
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::createNullMediaPlayer):

2011-04-25  James Robinson  <jamesr@chromium.org>

        Reviewed by David Levin.

        Fix strict OwnPtr violations in ListHashSet and RenderLayerCompositor
        https://bugs.webkit.org/show_bug.cgi?id=59353

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

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by James Robinson.

        Worker*.cpp should work with strict OwnPtrs
        https://bugs.webkit.org/show_bug.cgi?id=59346

        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::WorkerInspectorController):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::WorkerContext):
        * workers/WorkerRunLoop.cpp:
        (WebCore::WorkerRunLoop::WorkerRunLoop):
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::createResourceRequest):

2011-04-25  James Robinson  <jamesr@chromium.org>

        Reviewed by Adam Barth.

        Remove bad use of OwnPtr::set() in IconDatabase.cpp
        https://bugs.webkit.org/show_bug.cgi?id=59344

        Needed for strict OwnPtr compliance.

        * loader/icon/IconDatabase.cpp:
        (WebCore::readySQLiteStatement):

2011-04-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Maciej Stachowiak.

        ImageBuffer.h should work with strict OwnPtrs
        https://bugs.webkit.org/show_bug.cgi?id=59341

        This patch is to prepare for the strict OwnPtr hack-a-thon.

        * platform/graphics/ImageBuffer.h:
        (WebCore::ImageBuffer::create):

2011-04-25  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Brian Weinstein.

        WebCore build on Windows should include windows.h in its precompiled header to speed builds
        https://bugs.webkit.org/show_bug.cgi?id=59339

        windows.h is included by several of the underlying wtf headers, including Atomics.h and
        ThreadingPrimitives.h anyway, so include it in the WebCorePrefix.h to speed up compilation.
        
        On my 8 core Mac Pro, this reduces a clean rebuild of debug WebCore from 8 minutes to 7 minutes
        (a 12% speedup).

        * WebCorePrefix.h: Include windows.h

2011-04-25  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Crash in WebCore::FrameView::notifyPageThatContentAreaWillPaint()
        https://bugs.webkit.org/show_bug.cgi?id=59311

        * platform/gtk/MainFrameScrollbarGtk.cpp:
        (MainFrameScrollbarGtk::attachAdjustment): Before connecting an adjustment to a scrollbar
        disconnect any lingering signal handlers. This prevents an adjustment from controlling the
        active ScrollView and some zombie ScrollView.

2011-04-25  Geoffrey Garen  <ggaren@apple.com>

        Another shot at fixing the EFL build.

        * UseJSC.cmake:
        * bindings/js/JSDOMBinding.cpp:

2011-04-25  Geoffrey Garen  <ggaren@apple.com>

        Try to fix EFL build.

        * UseJSC.cmake: Added a missing file.

2011-04-25  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Removed a use of markDOMObjectWrapper: ActiveDOMObjects, Workers, and MessagePorts
        https://bugs.webkit.org/show_bug.cgi?id=59333

        * WebCore.xcodeproj/project.pbxproj: Added .idl files for easier editing.

        * bindings/js/JSDOMBinding.cpp:
        * bindings/js/JSDOMBinding.h:
        * bindings/js/JSDocumentCustom.cpp:
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::visitChildren): Removed now-unused functions.

        * bindings/scripts/CodeGeneratorJS.pm: Added support for ActiveDOMObject
        lifetime management.

        * dom/Document.idl: No need for a custom mark function anymore, since
        ActiveDOMObjets now manage their own lifetimes.

        * dom/MessagePort.cpp:
        (WebCore::MessagePort::hasPendingActivity): Correctly report that we
        have pending activity when we're remotely entangled, instead of relying
        on our clients to know this about us and do the check for us.

        * dom/MessagePort.h: FIXME!

        * dom/MessagePort.idl:
        * fileapi/DOMFileSystem.idl:
        * fileapi/FileReader.idl:
        * fileapi/FileWriter.idl:
        * notifications/Notification.idl:
        * notifications/NotificationCenter.idl:
        * page/EventSource.idl:
        * storage/IDBDatabase.idl:
        * storage/IDBRequest.idl:
        * storage/IDBTransaction.idl:
        * webaudio/AudioContext.idl:
        * websockets/WebSocket.idl:
        * workers/AbstractWorker.idl:
        * workers/SharedWorker.idl:
        * workers/Worker.idl: Opt in to ActiveDOMObject lifetime management.

        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::hasPendingActivity): No need to make up for
        MessagePort::hasPendingActivity being wrong anymore, since it's now right.

        * xml/XMLHttpRequest.idl: Opt in to ActiveDOMObject lifetime management.

2011-04-25  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: worker messages should be routed to corresponding worker front-end
        https://bugs.webkit.org/show_bug.cgi?id=59323

        Added WorkerManager which is responsible for routing messages between
        Page inspector front-end and Worker inspector front-ends.

        * WebCore.gypi:
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/WorkerManager.js: Added.
        (WebInspector.WorkerManager):
        (WebInspector.WorkerManager.loaded.InspectorFrontendHost.sendMessageToBackend):
        (WebInspector.WorkerManager.loaded.InspectorFrontendHost.loaded):
        (WebInspector.WorkerManager.loaded):
        (WebInspector.WorkerFrontendStub):
        (WebInspector.WorkerFrontendStub.prototype._receiveMessage):
        (WebInspector.WorkerDispatcher):
        (WebInspector.WorkerDispatcher.prototype._receiveMessage):
        (WebInspector.WorkerDispatcher.prototype.workerCreated):
        (WebInspector.WorkerDispatcher.prototype.dispatchMessageFromWorker):
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):

2011-04-25  Annie Sullivan  <sullivan@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Resources panel] Should be easy to copy data.
        https://bugs.webkit.org/show_bug.cgi?id=45662

        Adds context menu items to copy resource location, resource request headers, and resource response headers.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype._contextMenu): Add new items to context menu.
        (WebInspector.NetworkPanel.prototype._exportLocation): Copy resource location to clipboard.
        (WebInspector.NetworkPanel.prototype._exportRequestHeaders): Copy resource request headers to clipboard.
        (WebInspector.NetworkPanel.prototype._exportResponseHeaders): Copy resource response headers to clipboard.
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.get requestHeadersText): If _requestHeadersText is undefined, generate it from requestHeaders.
        (WebInspector.Resource.prototype.get responseHeadersText): If _responseHeadersText is undefined, generate it form responseHeaders.

2011-04-25  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: CSS is parsed improperly when saved in UTF-8 with a BOM
        https://bugs.webkit.org/show_bug.cgi?id=59322

        Use TextResourceDecoder to determine external stylesheet charsets correctly.

        Test: inspector/styles/parse-utf8-bom.html

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::originalStyleSheetText):

2011-04-25  Pavel Feldman  <pfeldman@google.com>

        Not reviewed: Inspector.json cleanup.

        * inspector/Inspector.json:

2011-04-25  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: introduce InspectorWorkerAgent
        https://bugs.webkit.org/show_bug.cgi?id=59320

        InspectorWorkerAgent is responsible for routing inspector messages
        between worker context inspector agents and corresponding worker
        inspector front-end.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        (WebCore::InspectorAgent::setFrontend):
        (WebCore::InspectorAgent::disconnectFrontend):
        * inspector/InspectorAgent.h:
        (WebCore::InspectorAgent::workerAgent):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::willStartWorkerContext):
        (WebCore::InspectorInstrumentation::didStartWorkerContext):
        * inspector/InspectorWorkerAgent.cpp: Added.
        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::id):
        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::inspectorProxy):
        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::sendMessageToFrontend):
        (WebCore::InspectorWorkerAgent::create):
        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
        (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
        (WebCore::InspectorWorkerAgent::setFrontend):
        (WebCore::InspectorWorkerAgent::clearFrontend):
        (WebCore::InspectorWorkerAgent::dispatchMessageOnWorkerInspector):
        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
        * inspector/InspectorWorkerAgent.h: Added.
        * inspector/InstrumentingAgents.h:
        (WebCore::InstrumentingAgents::InstrumentingAgents):
        (WebCore::InstrumentingAgents::inspectorWorkerAgent):
        (WebCore::InstrumentingAgents::setInspectorWorkerAgent):
        * inspector/WorkerInspectorController.cpp:
        (WebCore::WorkerInspectorController::connectFrontend):
        * inspector/generate-inspector-idl:
        * workers/Worker.cpp:
        (WebCore::Worker::notifyFinished):
        * workers/WorkerContextInspectorProxy.h: Added. Platform-specific transport for inspector
        messages sent from the inspected page worker agent to the worker context inspector agents.
        (WebCore::WorkerContextInspectorProxy::connectFrontend):
        (WebCore::WorkerContextInspectorProxy::disconnectFrontend):
        (WebCore::WorkerContextInspectorProxy::sendMessageToWorkerContextInspector):
        (WebCore::WorkerContextInspectorProxy::~WorkerContextInspectorProxy):
        * workers/WorkerContextProxy.h:
        (WebCore::WorkerContextProxy::inspectorProxy):

2011-04-25  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: move Frame and Resource Tree management into the Page agent.
        https://bugs.webkit.org/show_bug.cgi?id=59321

        Network agent should only handle network-related activities.
        Frame structure should be managed by the Page agent instead.

        * inspector/Inspector.json:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::InspectorAgent):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::setFrontend):
        (WebCore::InspectorDOMAgent::restore):
        (WebCore::InspectorDOMAgent::highlightFrame):
        * inspector/InspectorDOMAgent.h:
        (WebCore::InspectorDOMAgent::create):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
        (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::create):
        (WebCore::InspectorPageAgent::resourceContent):
        (WebCore::InspectorPageAgent::resourceContentBase64):
        (WebCore::InspectorPageAgent::resourceData):
        (WebCore::InspectorPageAgent::cachedResource):
        (WebCore::InspectorPageAgent::resourceTypeString):
        (WebCore::InspectorPageAgent::cachedResourceType):
        (WebCore::InspectorPageAgent::cachedResourceTypeString):
        (WebCore::InspectorPageAgent::InspectorPageAgent):
        (WebCore::InspectorPageAgent::setFrontend):
        (WebCore::InspectorPageAgent::reload):
        (WebCore::InspectorPageAgent::open):
        (WebCore::InspectorPageAgent::getCookies):
        (WebCore::InspectorPageAgent::deleteCookie):
        (WebCore::InspectorPageAgent::getResourceTree):
        (WebCore::InspectorPageAgent::getResourceContent):
        (WebCore::InspectorPageAgent::restore):
        (WebCore::InspectorPageAgent::domContentEventFired):
        (WebCore::InspectorPageAgent::loadEventFired):
        (WebCore::InspectorPageAgent::frameNavigated):
        (WebCore::InspectorPageAgent::frameDetached):
        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
        (WebCore::InspectorPageAgent::mainFrame):
        (WebCore::pointerAsId):
        (WebCore::InspectorPageAgent::frameForId):
        (WebCore::InspectorPageAgent::frameId):
        (WebCore::InspectorPageAgent::loaderId):
        (WebCore::InspectorPageAgent::buildObjectForFrame):
        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForCachedResource):
        (WebCore::InspectorResourceAgent::willSendRequest):
        (WebCore::InspectorResourceAgent::didReceiveResponse):
        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
        (WebCore::InspectorResourceAgent::setInitialScriptContent):
        (WebCore::InspectorResourceAgent::setInitialXHRContent):
        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
        * inspector/InspectorResourceAgent.h:
        (WebCore::InspectorResourceAgent::create):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.requestContent):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype.frameNavigated):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        (WebInspector.ResourceTreeModel.prototype.frontendReused):
        (WebInspector.ResourceTreeModel.prototype.frameNavigated):
        (WebInspector.ResourceTreeModel.prototype.frameDetached):
        * inspector/front-end/inspector.js:
        (WebInspector.domContentEventFired):
        (WebInspector.loadEventFired):
        (WebInspector.frameNavigated):
        (WebInspector.frameDetached):

2011-04-25  Pavel Feldman  <pfeldman@google.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: few protocol improvements.
        https://bugs.webkit.org/show_bug.cgi?id=59319

        - Page domain is documented
        - setUserAgentOverride is moved to the Network agent
        - setSearchingForNode -> setInspectModeEnabled
        - highlightDOMNode -> highlightNode
        - reloadPage -> reload
        - openInNewWindow -> open with optional parameter

        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setInspectModeEnabled):
        (WebCore::InspectorDOMAgent::highlightNode):
        * inspector/InspectorDOMAgent.h:
        (WebCore::InspectorDOMAgent::hideNodeHighlight):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::clearFrontend):
        (WebCore::InspectorPageAgent::reload):
        (WebCore::InspectorPageAgent::open):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::clearFrontend):
        (WebCore::InspectorResourceAgent::applyUserAgentOverride):
        (WebCore::InspectorResourceAgent::setUserAgentOverride):
        * inspector/InspectorResourceAgent.h:
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditsPanel.prototype._reloadResources):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onReload):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
        * inspector/front-end/inspector.js:
        (WebInspector.highlightDOMNode):
        (WebInspector.openResource):
        (WebInspector.documentKeyDown):

2011-04-25  Jon Lee  <jonlee@apple.com>

        Reviewed by Maciej Stachowiak.

        Overlay scroller hard to see on pages with dark background (59183)
        https://bugs.webkit.org/show_bug.cgi?id=59183
        <rdar://problem/8975367>

        Switch the scrollbar's overlay style depending on its frame's background color.
        This refactors the getDocumentBackgroundColor method needed for gestures. The style
        is determined and set on every paint() call to the Mac scrollbar theme.

        * WebCore.exp.in: adding method to allow changing style
        * page/Frame.cpp:
        (WebCore::Frame::getDocumentBackgroundColor): moving code from WebFrame for reuse by FrameView
        * page/Frame.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
        * page/FrameView.h:
        * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2011-04-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Maciej Stachowiak.

        <rdar://problem/9113516> REGRESSION (WK2): Holding down Option while dragging scrollbar thumb has no effect (should make scroll distance equal mouse translation)
        https://bugs.webkit.org/show_bug.cgi?id=59315

        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::Scrollbar): Initialize new member variables.
        (WebCore::Scrollbar::moveThumb): Added a boolean draggingDocument parameter. When true, the document
        is scrolled a distance equal to the change in the mouse position.
        (WebCore::Scrollbar::mouseMoved): Check with the theme whether the mouse move event should drag
        the document rather than the thumb, and pass the result to moveThumb.
        (WebCore::Scrollbar::mouseUp): Reset m_draggingDocument.
        * platform/Scrollbar.h:
        * platform/ScrollbarTheme.h:
        (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb): Added. The base class implementation
        returns false.
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb): Overridden to return true if the
        Option key is down.

2011-04-24  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Removed a use of markDOMObjectWrapper: WebGL, XHR, workers; plus, more autogeneration
        https://bugs.webkit.org/show_bug.cgi?id=59307

        * WebCore.xcodeproj/project.pbxproj: Added Blob.idl, so it's easier to edit.

        * bindings/js/JSCSSRuleCustom.cpp:
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        * bindings/js/JSCanvasRenderingContextCustom.cpp:
        * bindings/js/JSDOMApplicationCacheCustom.cpp: Autogenerate these instead
        of hand-coding them.

        * bindings/js/JSDOMBinding.h:
        (WebCore::root): Moved some GC helpers here from JSNodeCustom.h, because
        they're reasonably generic.

        * bindings/js/JSDOMImplementationCustom.cpp:
        * bindings/js/JSDOMStringMapCustom.cpp:
        * bindings/js/JSDOMTokenListCustom.cpp:
        * bindings/js/JSHTMLCollectionCustom.cpp:
        * bindings/js/JSMediaListCustom.cpp: Autogenerate these instead of
        hand-coding them.

        * bindings/js/JSMessageChannelCustom.cpp:
        (WebCore::JSMessageChannel::visitChildren):
        * bindings/js/JSMessagePortCustom.cpp:
        (WebCore::JSMessagePort::visitChildren): Use addOpaqueRoot instead of
        markDOMObjectWrapper. This is one of the few cases where a DOM object is
        considered a stand-alone root. It's not as efficient as the shared root
        case, but workers and message ports are very rare objects, so it's no
        big deal.

        * bindings/js/JSNamedNodeMapCustom.cpp: Autogenerate!

        * bindings/js/JSNodeCustom.h: Moved to JSDOMBinding.h.

        * bindings/js/JSSharedWorkerCustom.cpp:
        (WebCore::JSSharedWorker::visitChildren): Use addOpaqueRoot instead of
        markDOMObjectWrapper, as above. Once again, a stand-alone root.

        * bindings/js/JSStyleSheetCustom.cpp:
        * bindings/js/JSStyleSheetListCustom.cpp: Autogenerate!

        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::visitChildren): Use the opaque roots
        system for marking WebGL contexts and their associated satellite objects.

        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::visitChildren):
        * bindings/js/JSXMLHttpRequestCustom.cpp: Use addOpaqueRoot instead of
        markDOMObjectWrapper, as above. Once again, stand-alone roots.

        (WebCore::JSXMLHttpRequest::visitChildren):
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp: No need to mark our owner
        XHR because it is not reachable from us.

        * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration support for a
        bunch of repetitive cases of isReachableFromOpaqueRoots callbacks.

        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.idl:
        * css/MediaList.idl:
        * css/StyleMedia.idl:
        * css/StyleSheet.idl:
        * css/StyleSheetList.idl:
        * dom/DOMImplementation.idl:
        * dom/DOMStringMap.idl:
        * dom/MessagePort.idl:
        * dom/NamedNodeMap.idl:
        * fileapi/Blob.idl:
        * html/DOMTokenList.idl: Opt in to autogeneration.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext): Standardized on PassOwnPtr/OwnPtr
        usage, to reduce human error and make ownership rules more obvious.

        * html/HTMLCollection.idl:
        * html/canvas/ArrayBuffer.idl: Opt in to autogeneration.

        * html/canvas/CanvasRenderingContext.cpp:
        * html/canvas/CanvasRenderingContext.h:
        (WebCore::CanvasRenderingContext::ref):
        (WebCore::CanvasRenderingContext::deref):
        * html/canvas/CanvasRenderingContext2D.h:
        (WebCore::CanvasRenderingContext2D::create):
        (WebCore::CanvasRenderingContext2D::state): Standardized on PassOwnPtr/OwnPtr
        usage, to reduce human error and make ownership rules more obvious.
        
        Inlined some functions to match our standard idiom and to make the code
        in the header document itself.

        * html/canvas/CanvasRenderingContext.idl: Opt in to autogeneration.

        * html/canvas/OESStandardDerivatives.cpp:
        (WebCore::OESStandardDerivatives::OESStandardDerivatives):
        (WebCore::OESStandardDerivatives::create):
        * html/canvas/OESStandardDerivatives.h:
        * html/canvas/OESStandardDerivatives.idl:
        * html/canvas/OESTextureFloat.cpp:
        (WebCore::OESTextureFloat::OESTextureFloat):
        (WebCore::OESTextureFloat::create):
        * html/canvas/OESTextureFloat.h:
        * html/canvas/OESTextureFloat.idl:
        * html/canvas/OESVertexArrayObject.cpp:
        (WebCore::OESVertexArrayObject::OESVertexArrayObject):
        (WebCore::OESVertexArrayObject::create):
        * html/canvas/OESVertexArrayObject.h:
        * html/canvas/OESVertexArrayObject.idl:
        * html/canvas/WebGLExtension.cpp:
        (WebCore::WebGLExtension::WebGLExtension):
        * html/canvas/WebGLExtension.h:
        (WebCore::WebGLExtension::ref):
        (WebCore::WebGLExtension::deref):
        (WebCore::WebGLExtension::context):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::getExtension):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebKitLoseContext.cpp:
        (WebCore::WebKitLoseContext::WebKitLoseContext):
        (WebCore::WebKitLoseContext::create):
        (WebCore::WebKitLoseContext::loseContext):
        * html/canvas/WebKitLoseContext.h:
        * html/canvas/WebKitLoseContext.idl: Updated the ownership model for WebGL
        canavs rendering contexts to match the model for 2D canvas rendering
        contexts. This makes garbage collection a lot more straightforward, but
        it also makes the behavior of these objects more reliable. (Previously,
        satellite objects would magically stop working when the last reference
        to their owner object was dropped. Now, satellite objects keep their owner
        alive through reference counting.)

        * loader/appcache/DOMApplicationCache.idl:
        * page/BarInfo.idl:
        * page/Console.idl:
        * page/DOMSelection.idl:
        * page/Geolocation.idl:
        * page/History.idl:
        * page/Location.idl:
        * page/Navigator.idl:
        * page/Screen.idl:
        * page/WorkerNavigator.idl:
        * plugins/DOMMimeTypeArray.h:
        (WebCore::DOMMimeTypeArray::frame):
        * plugins/DOMMimeTypeArray.idl:
        * plugins/DOMPluginArray.h:
        (WebCore::DOMPluginArray::frame):
        * plugins/DOMPluginArray.idl:
        * storage/Storage.idl:
        * workers/WorkerLocation.idl: Opt in to autogeneration.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::~XMLHttpRequest):
        * xml/XMLHttpRequest.h:
        * xml/XMLHttpRequestUpload.cpp:
        (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
        * xml/XMLHttpRequestUpload.h:
        (WebCore::XMLHttpRequestUpload::create):
        (WebCore::XMLHttpRequestUpload::ref):
        (WebCore::XMLHttpRequestUpload::deref):
        (WebCore::XMLHttpRequestUpload::xmlHttpRequest):
        (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
        * xml/XMLHttpRequestUpload.idl: Updated the ownership model for XHR and
        its associated upload object to match the model for canvas. This makes
        garbage collection a lot more straightforward, but it also makes the
        behavior of these objects more reliable.

2011-04-24  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r84759.
        http://trac.webkit.org/changeset/84759
        https://bugs.webkit.org/show_bug.cgi?id=59306

        Caused gc-shadow.html to start crashing in V8. (Requested by
        dglazkov|away on #webkit).

        * dom/Node.cpp:
        (WebCore::NodeRendererFactory::createRendererAndStyle):
        (WebCore::Node::styleForRenderer):

2011-04-24  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by George Staikos.

        Handling of URLs like http:/example.com/ is incorrect
        https://bugs.webkit.org/show_bug.cgi?id=59300
        <rdar://problem/9231956>

        URLs like http:/example.com/ or http:example.com/ are now correctly
        canonicalized as http://example.com/
        
        The code still doesn't quite match other browsers - at least some
        other browsers seem to base parsing behavior on whether they
        recongize a scheme from a fixed list, and ignore whether // is
        present in the URL or not.
        
        * platform/KURL.cpp:
        (WebCore::isNonFileHierarchicalScheme): New helper function.
        (WebCore::KURL::parse): For a particular list of whitelisted schemes,
        assume they are hierarchical and need an authority even if there is no //
        after the :/

2011-04-24  Dan Bernstein  <mitz@apple.com>

        LLVM Compiler build fix.

        * page/ContentSecurityPolicy.cpp: Removed an unused function.

2011-04-24  Dominic Cooney  <dominicc@chromium.org>

        Reviewed by Dimitri Glazkov.

        Crash when adding a text node to a shadow root
        https://bugs.webkit.org/show_bug.cgi?id=59304

        Text nodes need to consult their host element for style.

        Test: fast/dom/shadow/append-child-text.html

        * dom/Node.cpp:
        (WebCore::NodeRendererFactory::styleForRenderer):
        (WebCore::NodeRendererFactory::createRendererAndStyle):
        (WebCore::Node::styleForRenderer): forward to NodeRendererFactory

2011-04-24  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Update Content-Security-Policy syntax to match new version of spec
        https://bugs.webkit.org/show_bug.cgi?id=59291

        Brandon removed disable-xss-protection in favor of unsafe-inline and
        allow-eval in favor of unsafe-eval.  This change in syntax also means
        the options directive no longer exists.

        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPSourceList::allowInline):
        (WebCore::CSPSourceList::allowEval):
        (WebCore::CSPSourceList::CSPSourceList):
        (WebCore::CSPSourceList::parseSource):
        (WebCore::CSPSourceList::addSourceUnsafeInline):
        (WebCore::CSPSourceList::addSourceUnsafeEval):
        (WebCore::CSPDirective::allowInline):
        (WebCore::CSPDirective::allowEval):
        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
        (WebCore::ContentSecurityPolicy::allowInlineScript):
        (WebCore::ContentSecurityPolicy::allowEval):
        (WebCore::ContentSecurityPolicy::addDirective):
        * page/ContentSecurityPolicy.h:

2011-04-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Maciej Stachowiak.

        Manual test for <rdar://problem/9329741> Reproducible crash in WebChromeClient::invalidateContentsAndWindow() on simonscat.com
        https://bugs.webkit.org/show_bug.cgi?id=59299

        * manual-tests/back-from-document-with-scrollbar.html: Added.

2011-04-24  Rik Cabanier  <cabanier@adobe.com>

        Reviewed by Simon Fraser.

        Tables are not rendered correctly
        https://bugs.webkit.org/show_bug.cgi?id=59138

        Test: fast/table/auto-100-percent-width.html

        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::computePreferredLogicalWidths):

2011-04-23  Simon Fraser  <simon.fraser@apple.com>

        Fix Windows build, which complains about unreachable code.

        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
        (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
        (WebCore::ScrollableArea::hasLayerForScrollCorner):

2011-04-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Area under composited scrollbars not repainted in WebKit2 on scrolling
        https://bugs.webkit.org/show_bug.cgi?id=59294
        <rdar://problem/9299062>
        
        When computing the rect that can be copied on scrolling, we normally
        exclude the areas occupied by overlay scrollbars to avoid smeared scrollbars;
        the assumption is that other code will repaint these areas. However, when
        scrollbars are in their own compositing layers, we can, and should
        copy the entire area.

        Not testable in DRT because it does not allow tests to use overlay scrollbars.

        * platform/ScrollView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::rectToCopyOnScroll):
        New method, with code moved from scrollContents and fixed to look
        for scrollbars in layers.
        (WebCore::ScrollView::scrollContents):
        Call rectToCopyOnScroll().
        
        * platform/ScrollableArea.h:
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
        (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
        (WebCore::ScrollableArea::hasLayerForScrollCorner):
        Methods we can call outside of the ACCELERATED_COMPOSITING #ifdef.

2011-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r84740.
        http://trac.webkit.org/changeset/84740
        https://bugs.webkit.org/show_bug.cgi?id=59290

        change breaks apple internal builds and is incorrect
        (Requested by smfr on #webkit).

        * WebCore.exp.in:
        * page/FrameView.cpp:
        * page/FrameView.h:
        * platform/ScrollTypes.h:
        * platform/ScrollableArea.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2011-04-23  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/8970549> WebFindOptionsAtWordStarts fails with Japanese words
        https://bugs.webkit.org/show_bug.cgi?id=59288

        * platform/text/mac/TextBoundaries.mm:
        (WebCore::wordStringTokenizer): Added this helper function.
        (WebCore::findNextWordFromIndex): Changed to use a CFStringTokenizer with kCFStringTokenizerUnitWord,
        whose behavior is not locale-dependent.

2011-04-23  Dominic Cooney  <dominicc@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Nodes in shadow DOM should not be GCed while their hosts are alive
        https://bugs.webkit.org/show_bug.cgi?id=59284

        Test: fast/dom/shadow/gc-shadow.html

        * bindings/v8/V8GCController.cpp:
        (WebCore::calculateGroupId): group shadow nodes with their hosts

2011-04-23  MORITA Hajime <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        [Refactoring] NodeRenderParentDetector should be NodeRenderFactory
        https://bugs.webkit.org/show_bug.cgi?id=59280
        
        - Rename NodeRenderParentDetector to NodeRendererFactory
        - move createRendererAndStyle() and createRendererIfNeeded to
          NodeRendererFactory

        No new test, no behavioral change.
        
        * dom/Node.cpp:
        (WebCore::NodeRendererFactory::NodeRendererFactory):
        (WebCore::NodeRendererFactory::document):
        (WebCore::NodeRendererFactory::nextRenderer):
        (WebCore::NodeRendererFactory::findVisualParent):
        (WebCore::NodeRendererFactory::shouldCreateRenderer):
        (WebCore::NodeRendererFactory::createRendererAndStyle):
        (WebCore::NodeRendererFactory::createRendererIfNeeded):
        (WebCore::Node::parentNodeForRenderingAndStyle):
        (WebCore::Node::createRendererIfNeeded):
        * dom/Node.h:
        * html/HTMLDetailsElement.cpp:
        (WebCore::DetailsSummaryElement::detailsElement): Added const_cast due to the chage on parentNodeForRenderingAndStyle() 

2011-04-23  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        REGRESSION: (non-Mac) <meter>'s bar part isn't rendered for with -webkit-writing-mode: vertical-lr from r82899
        https://bugs.webkit.org/show_bug.cgi?id=59281

        Styles for -webkit-meter-bar and -webkit-progress-bar missed width property, which caused unexpected layout results
        for vertical writing modes. This fix added a width property for each of them.
        
        Tests: fast/dom/HTMLMeterElement/meter-writing-mode.html
               fast/dom/HTMLProgressElement/progress-writing-mode.html

        * css/html.css:
        (meter::-webkit-meter-bar):
        (progress::-webkit-progress-bar):

2011-04-23  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Added missing header.
        
        * platform/graphics/filters/FEDropShadow.h:

2011-04-23  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Maciej Stachowiak.

        REGRESSION (r80812): window.print();window.close() doesn't work in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=59241
        <rdar://problem/9150861>

        Covered by manual-tests/print-after-window-close.html.

        Re-fixing <https://bugs.webkit.org/show_bug.cgi?id=51357> in a way that doesn't cause the
        regression.

        * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::didCancel): We shouldn't be
        doing complicated work while the loader is half-canceled.

        * manual-tests/print-after-window-close.html: Extended to actually print a non-empty page,
        thus being more practical.

        * page/Chrome.cpp: (WebCore::Chrome::print): Added a FIXME about a need for PageGroupLoadDeferrer.
        It's too scary for me to try now.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::DOMWindow):
        (WebCore::DOMWindow::finishedLoading):
        * page/DOMWindow.h:
        Reverted the previous fix for <https://bugs.webkit.org/show_bug.cgi?id=51357>.

2011-04-19  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Adam Barth.

        [V8] Use implicit references for V8 listeners on DOM nodes.
        https://bugs.webkit.org/show_bug.cgi?id=58953

        Instead of allocating an auxiliary V8 array referencing V8
        listener objects associated with a DOM node and using an extra
        pointer in every DOM node wrapper, we can register implicit
        references between nodes and their listeners during GC. This also
        makes V8 bindings more aligned with JSC bindings.

        No new tests because this is a refactoring.

        * bindings/scripts/CodeGeneratorV8.pm: Stopped generating the
        listener cache internal field for DOM nodes.
        * bindings/v8/V8AbstractEventListener.h: Exposed the lister handle
        to the GC.
        (WebCore::V8AbstractEventListener::existingListenerObjectPeristentHandle):
        * bindings/v8/V8GCController.cpp: Started using implicit references.
        (WebCore::GrouperVisitor::visitDOMWrapper):
        * dom/EventTarget.h: Implemented an iterator over all listeners.
        (WebCore::EventListenerIterator):

2011-04-22  Jon Lee  <jonlee@apple.com>

        Reviewed by Beth Dakin.

        Overlay scroller hard to see on pages with dark background (59183)
        https://bugs.webkit.org/show_bug.cgi?id=59183
        <rdar://problem/8975367>

        * WebCore.exp.in: adding method to allow changing style
        * page/FrameView.cpp:
        (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
        * page/FrameView.h:
        * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
        * platform/ScrollableArea.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2011-04-22  Chris Evans  <cevans@chromium.org>

        Reviewed by Adam Barth.

        Upgrade CSS loads from mixed content warning (displayed) to mixed
        content error (ran)
        https://bugs.webkit.org/show_bug.cgi?id=59056

        Test: http/tests/security/mixedContent/insecure-css-in-iframe.html
        Test: http/tests/security/mixedContent/insecure-css-in-main-frame.html

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::canRequest): CSS loads are running rather than displaying content.

2011-04-22  Geoffrey Garen  <ggaren@apple.com>

        Fixed an upside-down conditional in my last check-in.

        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::isObservable):

2011-04-22  Geoffrey Garen  <ggaren@apple.com>
        
        Rolled back in r84725 and r84728 with appcache crash fixed.

        Reviewed by Oliver Hunt.

        Removed a use of markDOMObjectWrapper: DOMWindow
        https://bugs.webkit.org/show_bug.cgi?id=59260

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since
        we use the opaque roots system now.

        * bindings/js/JSNavigatorCustom.cpp: Ditto.

        * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects
        whose opaque roots are frames.

        * css/StyleMedia.h:
        (WebCore::StyleMedia::frame): Added an accessor for the sake of GC.

        * css/StyleMedia.idl:
        * loader/appcache/DOMApplicationCache.idl:
        * page/BarInfo.idl:
        * page/Console.idl:
        * page/DOMSelection.idl:
        * page/Geolocation.idl:
        * page/History.idl:
        * page/Location.idl:
        * page/Navigator.idl:
        * page/Screen.idl:
        * storage/Storage.idl: Updated to use the opaque roots system.

2011-04-22  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Don't use XMLTreeViewer when script is disabled (it uses Javascript
        to build a prettified version of the xml document).
        https://bugs.webkit.org/show_bug.cgi?id=59113

        * xml/XMLTreeViewer.cpp:
        (WebCore::XMLTreeViewer::transformDocumentToTreeView):

2011-04-22  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r84725 and r84728.
        http://trac.webkit.org/changeset/84725
        http://trac.webkit.org/changeset/84728
        https://bugs.webkit.org/show_bug.cgi?id=59270

        It broke http/tests/appcache tests (Requested by Ossy on
        #webkit).

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::visitChildren):
        * bindings/js/JSNavigatorCustom.cpp:
        (WebCore::JSNavigator::visitChildren):
        * bindings/scripts/CodeGeneratorJS.pm:
        * css/StyleMedia.h:
        * css/StyleMedia.idl:
        * loader/appcache/DOMApplicationCache.idl:
        * page/BarInfo.idl:
        * page/Console.idl:
        * page/DOMSelection.idl:
        * page/DOMWindow.h:
        (WebCore::DOMWindow::optionalScreen):
        (WebCore::DOMWindow::optionalSelection):
        (WebCore::DOMWindow::optionalHistory):
        (WebCore::DOMWindow::optionalCrypto):
        (WebCore::DOMWindow::optionalLocationbar):
        (WebCore::DOMWindow::optionalMenubar):
        (WebCore::DOMWindow::optionalPersonalbar):
        (WebCore::DOMWindow::optionalScrollbars):
        (WebCore::DOMWindow::optionalStatusbar):
        (WebCore::DOMWindow::optionalToolbar):
        (WebCore::DOMWindow::optionalConsole):
        (WebCore::DOMWindow::optionalNavigator):
        (We