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.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86351 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-05-12  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Darin Adler.

        REGRESSION(79985): Changes in fill-opacity should trigger repaint but don't
        https://bugs.webkit.org/show_bug.cgi?id=59941

        Improve test to not need a click. Offer a stroke-opacity variant as well.

        * platform/mac/svg/custom/fill-opacity-update-expected.png:
        * platform/mac/svg/custom/fill-opacity-update-expected.txt:
        * platform/mac/svg/custom/stroke-opacity-update-expected.png: Added.
        * platform/mac/svg/custom/stroke-opacity-update-expected.txt: Added.
        * svg/custom/fill-opacity-update.svg:
        * svg/custom/stroke-opacity-update.svg: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86352 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit2: After relaunching an unresponsive web process, web page stops responding to mouse movement
https://bugs.webkit.org/show_bug.cgi?id=60669
<rdar://problem/9409934>

Reviewed by Anders Carlsson.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::processDidCrash): Set m_processingMouseMoveEvent to false when the WebProcess
    crashes.

Tools: After relaunching an unresponsive web process, web page stops responding to mouse movement
https://bugs.webkit.org/show_bug.cgi?id=60669
<rdar://problem/9409934>
        
Reviewed by Anders Carlsson.

This test follows the steps needed to reproduce this bug:
1) Hang the web process
2) While the web process is hung, move the mouse (so WebPageProxy thinks it is processing a mouse move event)
3) Kill and restart the WebProcess
4) Move the mouse
        
We are testing that we receive mouse move events after the WebProcess has restarted.

* TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp: Added.
(TestWebKitAPI::didFinishLoadForFrame): Set a flag that we finished loading.
(TestWebKitAPI::processDidBecomeUnresponsive): Kill the web process once we become unresponsive.
(TestWebKitAPI::processDidCrash): Reload the page when the process crashes, which restarts the web process.
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash_Bundle.cpp: Added.
(TestWebKitAPI::MouseMoveAfterCrashTest::MouseMoveAfterCrashTest):
(TestWebKitAPI::MouseMoveAfterCrashTest::didReceiveMessage):
* TestWebKitAPI/Tests/WebKit2/mouse-move-listener.html: Added.

* TestWebKitAPI/PlatformWebView.h:
* TestWebKitAPI/mac/PlatformWebViewMac.mm:
(TestWebKitAPI::PlatformWebView::simulateMouseMove): Sends the messages that simulate a mouse move.
* TestWebKitAPI/win/PlatformWebViewWin.cpp:
(TestWebKitAPI::PlatformWebView::simulateMouseMove): Ditto.

Add new files.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/win/TestWebKitAPI.vcproj:
* TestWebKitAPI/win/TestWebKitAPIInjectedBundle.vcproj:
* TestWebKitAPI/win/copy-resources.cmd:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-05-11  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by James Robinson.

        [chromium] Make openFileSystem check for permission first
        https://bugs.webkit.org/show_bug.cgi?id=60683

        * public/WebCommonWorkerClient.h:
        (WebKit::WebCommonWorkerClient::allowFileSystem):
        * public/WebPermissionClient.h:
        (WebKit::WebPermissionClient::allowFileSystem):
        * src/LocalFileSystemChromium.cpp:
        (WebCore::openFileSystemNotAllowed):
        (WebCore::openFileSystemHelper):
        * src/WebWorkerBase.cpp:
        (WebKit::WebWorkerBase::allowFileSystem):
        * src/WebWorkerBase.h:
        * src/WebWorkerClientImpl.h:
        (WebKit::WebWorkerClientImpl::allowFileSystem):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-05-12  Chang Shu  <cshu@webkit.org>

        Reviewed by Darin Adler.

        Rebaseline editing/inserting tests that work
        https://bugs.webkit.org/show_bug.cgi?id=60702

        * platform/qt/Skipped:
        * platform/qt/editing/inserting/4278698-expected.png: Added.
        * platform/qt/editing/inserting/4278698-expected.txt:
        * platform/qt/editing/inserting/editable-html-element-expected.png: Added.
        * platform/qt/editing/inserting/editable-html-element-expected.txt:
        * platform/qt/editing/inserting/editing-empty-divs-expected.png: Added.
        * platform/qt/editing/inserting/editing-empty-divs-expected.txt:
        * platform/qt/editing/inserting/insert-div-023-expected.png: Added.
        * platform/qt/editing/inserting/insert-div-023-expected.txt:
        * platform/qt/editing/inserting/multiple-lines-selected-expected.png: Added.
        * platform/qt/editing/inserting/multiple-lines-selected-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86357 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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-08 Abhishek Arya <inferno@chromium.org> and 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

        * fast/css/counters/element-removal-crash-expected.txt: Added.
        * fast/css/counters/element-removal-crash.xhtml: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86358 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86359 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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

        Added a test to ensure WebKit strips the said elements prior to inserting HTML.

        * editing/pasteboard/paste-head-contents-expected.txt: Added.
        * editing/pasteboard/paste-head-contents.html: Added.
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.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-05-12  Martin Robinson  <mrobinson@igalia.com>

        Attempt to fix the GTK+ unit test testwebview on the 32-bit Release
        bot which appears to be more sensitive to timing issues than the
        other bots.

        * tests/testwebview.c: Add another short pause waiting for adjustments to update.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix mismatched virtual function from previous checkin

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-05-12  David Grogan  <dgrogan@chromium.org>

        Reviewed by Nate Chapin.

        IndexedDB: fix up database-quota.html layout test
        https://bugs.webkit.org/show_bug.cgi?id=60519

        Remove commitAndContinue idiom; translate some missed instances of
        event.code to event.target.errorCode from bug 54331

        * storage/indexeddb/database-quota-expected.txt:
        * storage/indexeddb/database-quota.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86363 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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

        These test results match Firefox.

        * fast/parser/style-in-create-contextual-fragment-expected.txt: Added.
        * fast/parser/style-in-create-contextual-fragment-head-expected.txt: Added.
        * fast/parser/style-in-create-contextual-fragment-head.html: Added.
        * fast/parser/style-in-create-contextual-fragment.html: Added.
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):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86364 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86365 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Ignore Visual Studio *.user files.

* gtest/msvc: Added property svn:ignore.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed expectations update for chromium.

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed expectations update for Chromium.

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Windows WebKit2] Use cookies set in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=60274

Reviewed by Darin Adler.

Source/WebCore: 

Make sure any Private Browsing session is based off the default session.

* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createPrivateBrowsingStorageSession):

Source/WebKit2: 

Properly handle the case where there is no serialized default storage session by not trying
to encode or decode 0, while still making sure to decode any valid storage session.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
Only encode the storage session if there is one to encode.
(WebKit::WebProcessCreationParameters::decode):
Only decode the storage session there is one to decode.
* Shared/WebProcessCreationParameters.h:

WebKitLibraries: 

Update WKSI with the changes to wkCreatePrivateStorageSession.

* win/include/WebKitSystemInterface/WebKitSystemInterface.h:
* win/lib/WebKitSystemInterface.lib:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86369 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-05-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [CMAKE] Add option to unconditionally enable/disable a feature
        https://bugs.webkit.org/show_bug.cgi?id=60643

        Create an argument to be used in WEBKIT_FEATURE macro, allowing a port
        to enable a feature without showing to user that it can be disabled.
        This is useful if a port needs an option to be always ON/OFF and
        changing it will break the build.

        This way it's possible to add mandatory features to each port without
        touching the cmakeconfig.cmake file.

        * Source/cmake/WebKitFeatures.cmake:

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