2011-01-05  Helder Correia  <helder@sencha.com>

        Reviewed by Simon Fraser.

        Shadows are not drawn when filling a rect with a gradient fillStyle on Mac and Chromium-Mac
        https://bugs.webkit.org/show_bug.cgi?id=51869

        GraphicsContext::fillRect(const FloatRect&) is clipping to the rect.
        The shadow is being drawn, but getting clipped to the rect being filled.
        The solution is to draw the gradient into a CGLayer (when a shadow is
        required), then render the layer to the GraphicsContext.

        This patch also fixes:
        canvas/philip/tests/2d.shadow.gradient.alpha.html
        canvas/philip/tests/2d.shadow.gradient.basic.html
        canvas/philip/tests/2d.shadow.gradient.transparent.2.html

        New test to ensure that shadows are drawn when fillStyle is a gradient,
        possibly with some transparency and blur, and specifically using
        fillRect.

        * fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Added.
        * fast/canvas/canvas-fillRect-gradient-shadow.html: Added.
        * fast/canvas/script-tests/canvas-fillRect-gradient-shadow.js: Added.
2011-01-05  Helder Correia  <helder@sencha.com>

        Reviewed by Simon Fraser.

        Shadows are not drawn when filling a rect with a gradient fillStyle on Mac and Chromium-Mac
        https://bugs.webkit.org/show_bug.cgi?id=51869

        GraphicsContext::fillRect(const FloatRect&) is clipping to the rect.
        The shadow is being drawn, but getting clipped to the rect being filled.
        The solution is to draw the gradient into a CGLayer (when a shadow is
        required), then render the layer to the GraphicsContext.

        This patch also fixes:
        canvas/philip/tests/2d.shadow.gradient.alpha.html
        canvas/philip/tests/2d.shadow.gradient.basic.html
        canvas/philip/tests/2d.shadow.gradient.transparent.2.html

        Test: fast/canvas/canvas-fillRect-gradient-shadow.html

        * platform/graphics/Gradient.h:
        * platform/graphics/cg/GradientCG.cpp:
        (WebCore::Gradient::paint):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillRect):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75139 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-01-05  Xianzhu Wang  <wangxianzhu@google.com>

        Reviewed by David Levin.

        Implement RemoteFontStream's skip behavior (in FontCustomPlatformData.cpp)
        https://bugs.webkit.org/show_bug.cgi?id=51736

        No new tests. This change has potential effect on @font-face CSS feature
        on ports using Skia. Tested on Chromium that this change won't break
        fast/css/font-face-remote.html. This change can make the test pass on
        other ports using Skia.

        * platform/graphics/skia/FontCustomPlatformData.cpp:
        (WebCore::RemoteFontStream::read):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75140 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Windows build fix.

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: Revert change to additional library search path needed to find ICU.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75141 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Windows build fix.
Include configuration name when unpacking a build archive.

Needed, since we split Windows build results into configuration-specific directories
under WebKitOutputDir.

* BuildSlaveSupport/built-product-archive:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Windows build fix.
Back out attempted change to built-product-archive.

* BuildSlaveSupport/built-product-archive:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-01-05  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        Back/Forward entries in WebKit2 leak
        https://bugs.webkit.org/show_bug.cgi?id=51983

        Besides fixing the leak, this also fixes a problem where
        all history items were sent over to the UI process, but
        we wanted to send only back/forward items.

        * UIProcess/WebBackForwardList.cpp:
        (WebKit::WebBackForwardList::pageClosed): Added.
        Tells the web process about all the back/forward
        items being removed.
        (WebKit::WebBackForwardList::addItem): Ditto.
        Also removed a redundant call to didChangeBackForwardList.
        (WebKit::WebBackForwardList::clear): Ditto.

        * UIProcess/WebBackForwardList.h: Added pageClosed.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::close): Added a call to pageClosed.
        (WebKit::WebPageProxy::backForwardRemovedItem): Added.
        Sends a message to the web page in the web process.

        * UIProcess/WebPageProxy.h: Added backForwardRemovedItem.

        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
        (WebKit::updateBackForwardItem): Added an itemID argument,
        since callers will now be getting it and we don't want to
        get it twice. Removed the code to generate an ID. Also
        removed some local variables to make the code a little
        tighter and clearer.
        (WebKit::WK2NotifyHistoryItemChanged): Only call
        updateBackForwardItem for items that already have IDs.
        We don't want to send cross-process messages for every
        history item; just the ones that are top level back/forward
        items.
        (WebKit::WebBackForwardListProxy::removeItem):
        Added. For use when the UI process tells us to remove it.
        (WebKit::WebBackForwardListProxy::addItem): Added code to
        assign an ID and put this item into the maps. This is called
        exactly once on each back/forward item.

        * WebProcess/WebPage/WebBackForwardListProxy.h: Added
        removeItem.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::didRemoveBackForwardItem): Added.

        * WebProcess/WebPage/WebPage.h: Added didRemoveBackForwardItem.

        * WebProcess/WebPage/WebPage.messages.in: Added
        DidRemoveBackForwardItem message.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75144 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix Chromium Mac build.

* platform/graphics/Gradient.h: Forward-declare CGContextRef.
This might even make it possible to remove the include of
<CoreGraphics/CoreGraphics.h> for PLATFORM(WIN), but I did not
do that at this time because I don't want to break the Windows
build when fixing the Chromium build.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75145 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-29  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Add a WebAutoFillClient interface that moves some functions from WebViewClient
        https://bugs.webkit.org/show_bug.cgi?id=51710

        * WebKit.gyp:
        * public/WebAutoFillClient.h: Added.
        (WebKit::WebAutoFillClient::didAcceptAutoFillSuggestion):
        (WebKit::WebAutoFillClient::didSelectAutoFillSuggestion):
        (WebKit::WebAutoFillClient::didClearAutoFillSelection):
        (WebKit::WebAutoFillClient::removeAutocompleteSugestion):
        (WebKit::WebAutoFillClient::didAcceptAutocompleteSuggestion):
        (WebKit::WebAutoFillClient::textFieldDidBeginEditing):
        (WebKit::WebAutoFillClient::textFieldDidEndEditing):
        (WebKit::WebAutoFillClient::textFieldDidChange):
        (WebKit::WebAutoFillClient::textFieldDidReceiveKeyDown):
        (WebKit::WebAutoFillClient::~WebAutoFillClient):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75146 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix build for Darin's previous change w/ the obvious renaming.

Rubber stamped by Dan Bernstein.

* WebProcess/WebPage/WebBackForwardListProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didRemoveBackForwardItem):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-01-06  Helder Correia  <helder@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt][GTK] Use GraphicsContext::hasShadow() in port-specific code
        https://bugs.webkit.org/show_bug.cgi?id=51985

        r75139 introduced GraphicsContext::hasShadow(). This can now simplify
        and unify some code in the Qt and GTK ports.

        No new tests necessary for this refactoring.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75148 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-01-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        The EWS should log outside of the working directory
        https://bugs.webkit.org/show_bug.cgi?id=51986

        This patch prepare us for using git clean -x -d -f in the EWS wrapper
        script, which will actually clean the working copy back to a pristine
        state instead of leaving untracked directories and ignored files.

        * Scripts/webkitpy/tool/commands/queues.py:
        * Scripts/webkitpy/tool/commands/queues_unittest.py:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75149 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.

[Qt] Web Timing related bugs
https://bugs.webkit.org/show_bug.cgi?id=51245

* platform/qt/Skipped: Add new tests.
 - http/tests/misc/webtiming-origins.html
 - http/tests/misc/webtiming-slow-load.php



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-01-06  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt][V8] Fix the build when DEVICE_ORIENTATION is enabled.

        No new tests needed.

        * WebCore.pro: remove duplications and globally add RuntimeEnabledFeatures.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75151 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-01-06  Andrei Popescu  <andreip@google.com>

        Unreviewed, build fix.

        [Chromium] fast/gradients/css3-radial-gradients3.html needs Chromium-specific results
        https://bugs.webkit.org/show_bug.cgi?id=51988

        * platform/chromium-mac/fast/gradients/css3-radial-gradients3-expected.checksum: Added.
        * platform/chromium-mac/fast/gradients/css3-radial-gradients3-expected.png: Added.
        * platform/chromium-win/fast/gradients/css3-radial-gradients3-expected.checksum: Added.
        * platform/chromium-win/fast/gradients/css3-radial-gradients3-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-01-06  Andrei Popescu  <andreip@google.com>

        Unreviewed, build fix.

        [Chromium] canvas/canvas-fillRect-gradient-shadow.html fails on Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=51989

        Updating Chromium expectations until we find a fix.

        * platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-01-06  Andrei Popescu  <andreip@google.com>

        Unreviewed, build fix.

        [Chromium] canvas/canvas-fillRect-gradient-shadow.html fails on Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=51989

        Added suppressions for
        svg/batik/text/textEffect.svg
        svg/batik/text/textEffect3.svg
        svg/css/composite-shadow-text.svg
        svg/custom/js-late-gradient-and-object-creation.svg
        svg/custom/js-late-gradient-creation.svg
        svg/text/selection-background-color.xhtml
        svg/text/selection-styles.xhtml
        svg/text/text-gradient-positioning.svg

        These tests are all failing as a result of the same change: r75153.

        * platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75154 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-01-06  Andrei Popescu  <andreip@google.com>

        Unreviewed, build fix.

        [Chromium] canvas/canvas-fillRect-gradient-shadow.html fails on Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=51989

        Updating the test expectations for the chromium-gpu platform.

        * platform/chromium-gpu/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75155 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Redo the half-done rename from the last check-in.
Sorry for the broken build last night.

* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::removeItem): Renamed.
* WebProcess/WebPage/WebBackForwardListProxy.h: Updated
for new name.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didRemoveBackForwardItem): Updated to
use the new name.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-01-06  Jan Erik Hanssen  <jhanssen@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] crash in QNetworkReplyHandler::sendResponseIfNeeded()
        https://bugs.webkit.org/show_bug.cgi?id=51453

        Check if m_reply is NULL before accessing.

        * manual-tests/load-deferrer-resume-crash.html: Added.
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::setLoadMode):
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75157 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore: document.querySelector(':nth-child(foo)') should throw a syntax error
https://bugs.webkit.org/show_bug.cgi?id=51231

Reviewed by Darin Adler.

Also fixes 
CSSNthSelector parsing code is illegible and buggy (allows "n3" as a valid selector)
https://bugs.webkit.org/show_bug.cgi?id=21815

Add a check in the parser that other than an+b, only "odd" or "even" would be allowed
as parameters to nth selector.

Tests: fast/css/css3-nth-tokens-script.html
       fast/css/css3-nth-tokens-style.html

* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::isValidNthToken):
* css/CSSParser.h:

LayoutTests: document.querySelector(':nth-child(foo)') should throw a syntax error
https://bugs.webkit.org/show_bug.cgi?id=51231
CSSNthSelector parsing code is illegible and buggy (allows "n3" as a valid selector)
https://bugs.webkit.org/show_bug.cgi?id=21815

Reviewed by Darin Adler.

* fast/css/css3-nth-tokens-script-expected.txt: Added.
* fast/css/css3-nth-tokens-script.html: Added.
* fast/css/css3-nth-tokens-style-expected.txt: Added.
* fast/css/css3-nth-tokens-style.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75158 268f45cc-cd09-0410-ab3c-d52691b4dbfc