[Chromium] Updated results for fast/borders/border-shadow-large-radius.html.

Unreviewed gardening.

* platform/chromium-win/fast/borders/border-shadow-large-radius-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Upstream Android changes to WebFrameImpl::selectRange
https://bugs.webkit.org/show_bug.cgi?id=92513

Patch by Iain Merrick <husky@google.com> on 2012-08-10
Reviewed by Ryosuke Niwa.

Source/WebCore:

Make this function public we so can call it from the WebKit layer.

* page/EventHandler.h:
(EventHandler):

Source/WebKit/chromium:

This change is driven by the Chromium port on the Android platform,
but it should be suitable for other touch-based platforms. We reuse
selectionExtentRespectingEditingBoundary (extracted from EventHandler
into VisibleSelection).

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::selectRange):
(WebKit::WebFrameImpl::visiblePositionForWindowPoint):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Part 1 of: Extend -webkit-user-select with a new value "all"
<rdar://problem/10161404>
https://bugs.webkit.org/show_bug.cgi?id=93562

Patch by Alice Cheng <alice_cheng@apple.com> on 2012-08-10
Reviewed by Dan Bernstein.

Source/WebCore:

Parse the new "all" value for -webkit-user-select

Test: editing/selection/user-select-all-parsing.html

* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue): Add new value all
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add new value all
(WebCore::CSSPrimitiveValue::operator EUserSelect): Add one more bit to store the new property value
* rendering/style/RenderStyleConstants.h: Add new value all
* rendering/style/StyleRareInheritedData.h: Add new value all
(StyleRareInheritedData):

Source/WebKit/gtk:

Modify the enum to resolve ambiguous reference

* webkit/webkitwebview.cpp:
(webkit_web_view_class_init): Modify the ambiguous enum
(webkit_web_view_select_all): Modify the ambiguous enum

LayoutTests:

Add a test to verify that the new "all" value is parsed correctly.

* editing/selection/user-select-all-parsing-expected.txt: Added.
* editing/selection/user-select-all-parsing.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shaders] Add blend mode and composite op to compiled program cache key
https://bugs.webkit.org/show_bug.cgi?id=93623

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-08-10
Reviewed by Dirk Schulze.

Right now, only the vertex shader string and the fragment shader string are hashed
to create a key for the compiled program. However, in a future patch, WebKit will
rewrite the fragment shader based on the blend mode and composite op specified by
the author. This means that the unique key for a compiled program is (original
vertex shader string, original fragment shader string, blend mode, composite
operator). This patch adds blend mode and composite operator in the hash for the
key.

No new tests. The state of the compiled program cache is not exposed to a web
page. Existing tests should ensure this change doesn't break current
functionality. Additional tests will be added in a future patch that implements
shader rewriting based on blend mode and composite op.

* platform/graphics/filters/CustomFilterProgram.cpp:
(WebCore::CustomFilterProgram::programInfo):
* platform/graphics/filters/CustomFilterProgram.h:
(WebCore):
* platform/graphics/filters/CustomFilterProgramInfo.cpp:
(WebCore::CustomFilterProgramInfo::CustomFilterProgramInfo):
(WebCore::CustomFilterProgramInfo::hash):
(WebCore::CustomFilterProgramInfo::operator==):
* platform/graphics/filters/CustomFilterProgramInfo.h:
(WebCore::CustomFilterProgramMixSettings::CustomFilterProgramMixSettings):
(CustomFilterProgramMixSettings):
(WebCore::CustomFilterProgramMixSettings::operator==):
(WebCore):
(CustomFilterProgramInfo):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
run-perf-tests should upload memory statistics to perf-o-matic
https://bugs.webkit.org/show_bug.cgi?id=93690

Reviewed by Dirk Pranke.

Upload JS Heap and FastMalloc results for a test X/Y as: X/Y:JSHeap and X/Y:FastMalloc.
Note "JS Heap" is converted to the CamelCase JSHeap.

Also did some refactoring in PerfTest.parse_output and PerfTestRunnerTest and updated
some helps in PerfTest.parse_output per arv's comments.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest):
(PerfTest.parse_output): Include JSHeap and FastMalloc statistics in results as well as of Time.
Also refactored it to avoid hard-coding indices in _result_classes and moved complied regular
exressions out of the function to avoid re-compiling them every time the method runs.
(PerfTest.output_statistics): Convert ':' to ': ' as well as '/'.
(ChromiumStylePerfTest.parse_output): Removed an unused variable.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args): Uploaded some helps per arv's feedback.
(PerfTestsRunner._output_json_path): Extracted from _generate_and_show_results to be used in
PerfTestRunnerTest.create_runner.
(PerfTestsRunner._generate_and_show_results):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(create_runner): Extracted runner.load_output_json from various tests.
(test_run_memory_test): Added.
(PerfTestRunner): Extracted _event_target_wrapper_and_inspector_results from various tests.
(test_run_with_json_output):
(test_run_with_description):
(test_run_generates_json_by_default):
(test_run_generates_and_show_results_page):
(test_run_with_json_source):
(test_run_with_multiple_repositories):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Improved RuleData packing on some 32-bit platforms
https://bugs.webkit.org/show_bug.cgi?id=93737

Reviewed by Andreas Kling.

Certain 32-bit plarforms use an 8-byte alignment for uint64_t. We can save 4 bytes per
object on these platforms by using two naturally-aligning unsigned ints instead.

* css/StyleResolver.cpp:
(RuleData):
(SameSizeAsRuleData):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: REGRESSION(r125159): ASSERTION FAILED: m_listsInvalidatedAtDocument.contains(list) in Document::unregisterNodeListCache.
https://bugs.webkit.org/show_bug.cgi?id=93729

Reviewed by Ryosuke Niwa.

In Document::registerNodeListCache() it was not adding PropertyNodeList
cache to m_listsInvalidatedAtDocument the as node list currently not rooted
at the document. Where in Document::unregisterNodeListCache() it was trying
to remove PropertyNodeList cache from m_listsInvalidatedAtDocument. Hence it
caused the assertion failure.

We need to check if m_rootType is NodeListIsRootedAtDocumentIfOwnerHasItemrefAttr,
not that it's currently rooted at the document.

Test: fast/dom/MicroData/propertynodelist-crash.html

* dom/DynamicNodeList.h:
(WebCore::DynamicNodeListCacheBase::isRootedAtDocument):

LayoutTests: REGRESSION(r125159): ASSERTION FAILED: m_listsInvalidatedAtDocument.contains(list) in Document::unregisterNodeListCache.
https://bugs.webkit.org/show_bug.cgi?id=93729 

Reviewed by Ryosuke Niwa.

Added a test to ensure that it does not crash in Document::unregisterNodeListCache.

* fast/dom/MicroData/propertynodelist-crash-expected.txt: Added.
* fast/dom/MicroData/propertynodelist-crash.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Allow blocking of third-party localStorage and sessionStorage
https://bugs.webkit.org/show_bug.cgi?id=93390

Reviewed by Adam Barth.

Source/WebCore:

Add checks for if a page is third-party and third-party storage blocking is enabled while accessing storage.

Tests: http/tests/security/cross-origin-local-storage-allowed.html
       http/tests/security/cross-origin-local-storage.html
       http/tests/security/cross-origin-session-storage-allowed.html
       http/tests/security/cross-origin-session-storage.html
       http/tests/security/same-origin-document-domain-storage-allowed.html

* dom/Document.cpp:
(WebCore::Document::initSecurityContext): Initialize securityOrigin with knowledge of if we should block third-party storage.
* page/DOMWindow.cpp: Check if the origin trying to access storage is third-party relative to the top document.
(WebCore::DOMWindow::sessionStorage):
(WebCore::DOMWindow::localStorage):
* page/SecurityOrigin.cpp: Add a call in Security origin to see if another origin counts as a third-party.
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::canAccessLocalStorage):
(WebCore):
(WebCore::SecurityOrigin::isThirdParty):
* page/SecurityOrigin.h:
(WebCore::SecurityOrigin::blockThirdPartyStorage):
(SecurityOrigin):
* testing/InternalSettings.cpp: Add an internals.settings hook for setting third-party storage blocking enabled.
(WebCore::InternalSettings::setThirdPartyStorageBlockingEnabled):
(WebCore):
* testing/InternalSettings.h:
(InternalSettings):
* testing/InternalSettings.idl:

LayoutTests:

Created tests for testing accessing localStorage and selfStorage from a third party and first party when third-party blocking is on and off.

* http/tests/security/cross-origin-local-storage-allowed-expected.txt: Added.
* http/tests/security/cross-origin-local-storage-allowed.html: Added.
* http/tests/security/cross-origin-local-storage-expected.txt: Added.
* http/tests/security/cross-origin-local-storage.html: Added.
* http/tests/security/cross-origin-session-storage-allowed-expected.txt: Added.
* http/tests/security/cross-origin-session-storage-allowed.html: Added.
* http/tests/security/cross-origin-session-storage-expected.txt: Added.
* http/tests/security/cross-origin-session-storage.html: Added.
* http/tests/security/same-origin-document-domain-storage-allowed-expected.html: Added.
* http/tests/security/same-origin-document-domain-storage-allowed.html: Added.
* http/tests/security/resources/document-domain-iframe-for-local-storage.html: Added.
* http/tests/security/resources/cross-origin-iframe-for-local-storage.html: Added.
* http/tests/security/resources/cross-origin-iframe-for-session-storage.html: Added.

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

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-10

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
no timeupdate events emitted for media controller
https://bugs.webkit.org/show_bug.cgi?id=93745

Reviewed by Eric Carlson.

Source/WebCore:

Generate timeupdate events while the current position is changing.

Test: media/media-controller-timeupdate.html

Enforce the spec requirement that the timeupdate event is fired no more often
than every 250ms.
* html/MediaController.cpp:
(MediaController::scheduleTimeupdateEvent):

Add a periodic firing timer to generate timeupdate events during playback.
* html/MediaController.cpp:
(MediaController::startTimeupdateTimer):
(MediaController::timeupdateTimerFired):

* html/MediaController.cpp:
(MediaController::MediaController): Initialize m_previousTimeupdateTime.
(MediaController::setCurrentTime): Call scheduleTimeUpdateEvent.
(MediaController::updatePlaybackState): Start and stop the timeupdate timer.
* html/MediaController.h:

LayoutTests:

New test checking that the timeupdate event is emmitted correctly during playback.

* media/media-controller-timeupdate-expected.txt: Added.
* media/media-controller-timeupdate.html: Added.

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

r125337 added a call to WTF::currentTime() in MediaController.cpp, but that file didn't #include
<wtf/CurrentTime.h>. This file is indirectly picked up on the include paths for some ports, but not all.

* html/MediaController.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Remove forwarding headers for compositor-related WebKit API and update includes
https://bugs.webkit.org/show_bug.cgi?id=93669

Reviewed by Adam Barth.

Source/Platform:

Removes a no-longer-necessary transitional define.

* chromium/public/WebCompositor.h:

Source/WebCore:

Updates all includes for compositor-related headers to refer consistently to the Platform API location.

* platform/chromium/support/WebCompositorImpl.h:

Source/WebKit/chromium:

This updates all includes for compositor-related headers to refer consistently to the Platform API location and
removes the now-unneeded forwarding headers in the client API location. I also updated and resorted other
platform API includes in modified header blocks.

* WebKit.gyp:
* public/WebCompositor.h: Removed.
* public/platform/WebContentLayer.h: Removed.
* public/platform/WebContentLayerClient.h: Removed.
* public/platform/WebExternalTextureLayer.h: Removed.
* public/platform/WebLayer.h: Removed.
* public/platform/WebLayerTreeView.h: Removed.
* public/platform/WebLayerTreeViewClient.h: Removed.
* public/platform/WebSolidColorLayer.h: Removed.
* src/WebCompositorInputHandlerImpl.h:
* src/WebContentLayerImpl.cpp:
* src/WebLayer.cpp:
* src/WebLayerTreeView.cpp:
* src/WebLayerTreeViewImpl.cpp:
* src/WebLayerTreeViewImpl.h:
* src/WebSolidColorLayer.cpp:
* src/WebViewImpl.h:
* tests/Canvas2DLayerBridgeTest.cpp:
* tests/GraphicsLayerChromiumTest.cpp:
* tests/TextureLayerChromiumTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
(r125185) http/tests/images/jpg-img-partial-load.html timeout on Lion
https://bugs.webkit.org/show_bug.cgi?id=93636

Unreviewed test expectation update for Mac.

* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening. Missing platform expectations for this test. Results
are identical to chromium-mac at present.

* platform/mac/svg/repaint/text-mask-update-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125341 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r124416): fast/forms/basic-selects.html failing on Lion Debug Tests
https://bugs.webkit.org/show_bug.cgi?id=93538

Unreviewed gardening. Rebaseline of this test for Mac ports, and
remove expected failure.

* platform/mac/TestExpectations:
* platform/mac/fast/forms/basic-selects-expected.png:
* platform/mac/fast/forms/basic-selects-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RenderQuote corrupts doubly linked list on insertion before head of list
https://bugs.webkit.org/show_bug.cgi?id=93750

Patch by Elliott Sprehn <esprehn@gmail.com> on 2012-08-10
Reviewed by Abhishek Arya.

Source/WebCore:

Fix bug where moving a RenderQuote instance before the first one in
the document would not update the m_previous pointer of the original
first RenderQuote to point back at the new one.

Test: fast/css-generated-content/quote-crash-93750.html

* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::attachQuote):

LayoutTests:

Test for moving around RenderQuote nodes before each other in an
existing document to catch corruption in the linked list of RenderQuote.

* fast/css-generated-content/quote-crash-93750-expected.txt: Added.
* fast/css-generated-content/quote-crash-93750.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTest: fast/forms/basic-selects.html rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=93751

Patch by Roger Fong <roger_fong@apple.com> on 2012-08-10
Reviewed by Tim Horton.

As per https://bugs.webkit.org/show_bug.cgi?id=92833,
this test needs to be rebaselined for other platforms.
Rebaselining for Windows.

* platform/win/fast/forms/basic-selects-expected.txt:
Rebaselining.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry][EFL][GTK][WIN][WX] Remove ScriptControllerXXX.cpp to reduce duplication
https://bugs.webkit.org/show_bug.cgi?id=61424

Reviewed by Rob Buis.

ScriptControllerBlackBerry, ScriptControllerEfl, ScriptControllerGtk,
ScriptControllerWin and ScriptControllerWx are almost same.
In order to reduce duplication, this patch moves codes to ScriptController
and removes them.

No behavior change. Just a refactoring.

* GNUmakefile.list.am:
* PlatformBlackBerry.cmake:
* PlatformEfl.cmake:
* PlatformWinCE.cmake:
* WebCore.gypi:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/ScriptController.cpp:
(WebCore):
(WebCore::ScriptController::createScriptInstanceForWidget):
Moved from ScriptControllerXXX.cpp
* bindings/js/ScriptControllerBlackBerry.cpp: Removed.
* bindings/js/ScriptControllerEfl.cpp: Removed.
* bindings/js/ScriptControllerGtk.cpp: Removed.
* bindings/js/ScriptControllerWin.cpp: Removed.
* bindings/js/ScriptControllerWx.cpp: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test: plugins/nested-plugin-objects.html passes but causes subsequent test to fail on Windows.
https://bugs.webkit.org/show_bug.cgi?id=93741

Patch by Roger Fong <roger_fong@apple.com> on 2012-08-10
Reviewed by Tim Horton.

plugins/nested-plugin-objects.html passes but causes subsequent test to fail on Windows.
plugins/netscape-dom-access-and-reload.html fails as a result.
Or if I skip that test, then plugins/netscape-dom-access.html fails (the next test in the list).

* platform/win/Skipped:
Added plugins/nested-plugin-objects.html to skip list.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Microdata: item with itemprop attribute should not include the item itself in the HTMLPropertiesCollection.
https://bugs.webkit.org/show_bug.cgi?id=93717

Reviewed by Ryosuke Niwa.

Source/WebCore:

Tests: fast/dom/MicroData/item-with-itemprop-attr.html
       fast/dom/MicroData/item-with-itemref-pointing-to-itself.html

* dom/PropertyNodeList.cpp:
(WebCore::PropertyNodeList::nodeMatches): Do not process the testElement if it is the owner node.
* html/HTMLPropertiesCollection.cpp:
(WebCore::nextNodeWithProperty): Traverse the next node only if previous node is microdata item
i.e, ownerNode or previous element does not have itemscope attribute specified.
(WebCore::HTMLPropertiesCollection::virtualItemAfter): Try to find the next property if current
is ownerNode.

LayoutTests:

Added test to ensure that item with itemprop attribute should not include
itself in its HTMLPropetiesCollection.

* fast/dom/MicroData/item-with-itemprop-attr-expected.txt: Added.
* fast/dom/MicroData/item-with-itemprop-attr.html: Added.
* fast/dom/MicroData/item-with-itemref-pointing-to-itself-expected.txt: Added.
* fast/dom/MicroData/item-with-itemref-pointing-to-itself.html: Added.


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