Add FrameLoaderClient::didAccessInitialDocument
https://bugs.webkit.org/show_bug.cgi?id=107963

Source/WebCore:

Notifies the FrameLoaderClient if another page accesses the
initial empty document of a main frame.  In this case, it is
no longer safe to display the provisional URL.

Only takes effect for PLATFORM(CHROMIUM), since no other platforms
listen to the notification.

Reviewed by Adam Barth.

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::setSecurityToken):
    Use default token for initial document.
* bindings/v8/custom/V8DOMWindowCustom.cpp:
    Notify loader if initial document is accessed.
(WebCore::V8DOMWindow::namedSecurityCheck):
(WebCore::V8DOMWindow::indexedSecurityCheck):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::didAccessInitialDocument):
(WebCore):
* loader/FrameLoader.h:
(FrameLoader):
* loader/FrameLoaderClient.h:
(FrameLoaderClient):
(WebCore::FrameLoaderClient::didAccessInitialDocument):

Source/WebKit/chromium:

Notifies WebFrameClient if another page accesses the initial
empty document of a main frame.  In this case, it is no longer
safe to display the provisional URL.

Reviewed by Adam Barth.

* public/WebFrameClient.h:
(WebFrameClient):
(WebKit::WebFrameClient::didAccessInitialDocument):
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::didAccessInitialDocument):
(WebKit):
* src/FrameLoaderClientImpl.h:
(FrameLoaderClientImpl):
* tests/WebFrameTest.cpp:


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

* platform/chromium/TestExpectations: expectations for transitions/transitions-parsing.html

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Multiple html5lib Layout Tests are slow since r144032
https://bugs.webkit.org/show_bug.cgi?id=110876

Reviewed by Tony Chang.

Skip the html5lib tests when in debug mode.  The -data variants
almost always timeout due to v8 boot-up time:
https://code.google.com/p/v8/issues/detail?id=2567

These timeouts sometimes manifest as failures, and we've even
seen crashes (with empty stacks!?) of these tests on Win and Mac in Debug, so
skipping them until they run in a reasonable time and can
be debugged further.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144807 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MediaStream API: Allow local and remote descriptions to be accessed after close
https://bugs.webkit.org/show_bug.cgi?id=111437

Reviewed by Adam Barth.

Source/WebCore:

It's quite clear in the standard that the getters should still return the old value.
Also overhauling the state setters a bit to check if the new state is different.

Existing tests expanded to cover patch.

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::changeSignalingState):
(WebCore::RTCPeerConnection::changeIceGatheringState):
(WebCore::RTCPeerConnection::changeIceConnectionState):

LayoutTests:

Expanding tests to check the new behaviour.

* fast/mediastream/RTCPeerConnection-localDescription-expected.txt:
* fast/mediastream/RTCPeerConnection-localDescription.html:
* fast/mediastream/RTCPeerConnection-remoteDescription-expected.txt:
* fast/mediastream/RTCPeerConnection-remoteDescription.html:


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

* platform/efl/TestExpectations: Unskipping the fast/workers/shared-worker-load-error.html layout test
and adding a flaky timeout expectation for it. Looking for testing data from the EFL port on this test.
* platform/gtk-wk1/TestExpectations: Removed an expectation for a test that was removed in r144624.
* platform/gtk/TestExpectations: Adding failure expectations for tests introduced in r144714 and r144747.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144809 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r144798.
http://trac.webkit.org/changeset/144798
https://bugs.webkit.org/show_bug.cgi?id=111478

"broke chromium windows build" (Requested by dpranke on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-05

Source/WebCore:

* GNUmakefile.list.am:
* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::IDBBackingStore::Cursor::continueFunction):
(WebCore::objectStoreCursorOptions):
(WebCore::indexCursorOptions):
(WebCore::IDBBackingStore::openObjectStoreCursor):
(WebCore::IDBBackingStore::openObjectStoreKeyCursor):
(WebCore::IDBBackingStore::openIndexKeyCursor):
(WebCore::IDBBackingStore::openIndexCursor):
* Modules/indexeddb/IDBBackingStore.h:
(IDBBackingStore):
* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::create):
(WebCore::IDBCursor::IDBCursor):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::stringToDirection):
(WebCore::IDBCursor::directionToString):
* Modules/indexeddb/IDBCursor.h:
(IDBCursor):
* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::deleteFunction):
(WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform):
* Modules/indexeddb/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::create):
(WebCore::IDBCursorBackendImpl::value):
(IDBCursorBackendImpl):
* Modules/indexeddb/IDBCursorBackendInterface.h:
(WebCore):
* Modules/indexeddb/IDBCursorWithValue.cpp:
(WebCore::IDBCursorWithValue::create):
(WebCore::IDBCursorWithValue::IDBCursorWithValue):
* Modules/indexeddb/IDBCursorWithValue.h:
(IDBCursorWithValue):
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::transaction):
* Modules/indexeddb/IDBDatabase.h:
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::GetOperation::create):
(WebCore::GetOperation::GetOperation):
(GetOperation):
(WebCore::OpenCursorOperation::create):
(WebCore::OpenCursorOperation::OpenCursorOperation):
(OpenCursorOperation):
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
(WebCore::IDBDatabaseBackendImpl::createIndex):
(WebCore::IDBDatabaseBackendImpl::deleteIndex):
(WebCore::IDBDatabaseBackendImpl::get):
(WebCore::GetOperation::perform):
(WebCore::IDBDatabaseBackendImpl::put):
(WebCore::PutOperation::perform):
(WebCore::IDBDatabaseBackendImpl::setIndexKeys):
(WebCore::IDBDatabaseBackendImpl::openCursor):
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::IDBDatabaseBackendImpl::deleteRange):
(WebCore::DeleteRangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::clear):
(WebCore::IDBDatabaseBackendImpl::transactionStarted):
(WebCore::IDBDatabaseBackendImpl::transactionFinished):
(WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
(WebCore::IDBDatabaseBackendImpl::transactionFinishedAndCompleteFired):
(WebCore::IDBDatabaseBackendImpl::createTransaction):
(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
* Modules/indexeddb/IDBFactory.h:
* Modules/indexeddb/IDBIndex.cpp:
(WebCore):
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore):
(WebCore::IDBObjectStore::openCursor):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::setCursorDetails):
(WebCore::IDBRequest::setResultCursor):
(WebCore::IDBRequest::onSuccess):
* Modules/indexeddb/IDBRequest.h:
(IDBRequest):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::stringToMode):
(WebCore::IDBTransaction::modeToString):
* Modules/indexeddb/IDBTransaction.h:
(WebCore::IDBTransaction::isReadOnly):
(WebCore::IDBTransaction::isVersionChange):
(IDBTransaction):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::create):
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
* Modules/indexeddb/IDBTransactionBackendImpl.h:
(IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::mode):
* Modules/indexeddb/IDBTransactionCoordinator.cpp:
(WebCore::IDBTransactionCoordinator::processStartedTransactions):
(WebCore::IDBTransactionCoordinator::canRunTransaction):
* Modules/indexeddb/IndexedDB.h: Removed.
* Target.pri:
* WebCore.gypi:

Source/WebKit/chromium:

* src/AssertMatchingEnums.cpp:
* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::openCursor):
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy):
* src/WebIDBCallbacksImpl.cpp:
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::openCursor):
* tests/IDBAbortOnCorruptTest.cpp:
* tests/IDBDatabaseBackendTest.cpp:
* tests/IDBFakeBackingStore.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix cast-align warning in ASCIIFastPath.h on ARM
https://bugs.webkit.org/show_bug.cgi?id=111436

Reviewed by Benjamin Poulain.

* wtf/text/ASCIIFastPath.h:
(WTF::charactersAreAllASCII):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144811 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Remove some unused binding code
https://bugs.webkit.org/show_bug.cgi?id=111463

Reviewed by Adam Barth.

IDBRequest got a custom V8 getter for |request| to help diagnose an issue, but the
root cause was found/fixed (http://wkbug.com/110916 and http://wkbug.com/110206) so
remove it. Also, IDBKey was marked ScriptWrappable but it is now explicitly converted
to a ScriptValue before it gets anywhere near the binding code, so remove that too.
Finally, createIDBKeyFromValue doesn't need to be exposed from IDBBindingUtilities.

No new tests - just removing dead code.

* Modules/indexeddb/IDBKey.h: No need for ScriptWrappable.
* Modules/indexeddb/IDBRequest.idl: Remove custom binding (root cause of bug found).
* WebCore.gypi: Ditto.
* bindings/js/IDBBindingUtilities.h: Don't expose internal createIDBKeyFromValue().
* bindings/v8/IDBBindingUtilities.h: Ditto.
* bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Cue line-height property shouldn't be inherited from the video element
https://bugs.webkit.org/show_bug.cgi?id=111262

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-cue-rendering-on-resize.html

* css/mediaControls.css:
(video::-webkit-media-text-track-container): Set the default font size
and family using the "font" property to also reset the line-height property.

LayoutTests:

* media/track/captions-webvtt/captions-snap-to-lines-set.vtt: Updated.
* media/track/track-cue-rendering-on-resize-expected.txt: Added.
* media/track/track-cue-rendering-on-resize.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
editing/pasteboard/paste-table-003.html should be a dump-as-text test
https://bugs.webkit.org/show_bug.cgi?id=111400

Reviewed by Levi Weintraub.

Convert the test to a dump-as-text test. The output is much easier to understand now.
Also moved the test description out of the root element so that it won't be repeated
multiple times in the output.

* editing/pasteboard/paste-table-003-expected.txt: Added.
* editing/pasteboard/paste-table-003.html:
* platform/chromium-linux/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/chromium-mac-lion/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/chromium-mac-snowleopard/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-table-003-expected.txt: Removed.
* platform/chromium/editing/pasteboard/paste-table-003-expected.txt: Removed.
* platform/gtk/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/gtk/editing/pasteboard/paste-table-003-expected.txt: Removed.
* platform/mac/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/mac/editing/pasteboard/paste-table-003-expected.txt: Removed.
* platform/qt/editing/pasteboard/paste-table-003-expected.png: Removed.
* platform/qt/editing/pasteboard/paste-table-003-expected.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144815 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Inline min/maxInstrinsicLogicalWidth functions
https://bugs.webkit.org/show_bug.cgi?id=111399

Reviewed by Tony Chang.

Turns out these functions don't need to be public and only
have one caller. This patch is in preparation for supporting
intrinsic widths on tables, which will need to pass in the
border and padding width as an argument.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::fillAvailableMeasure):
(WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
* rendering/RenderBox.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
editing/pasteboard/paste-text-005.html, paste-text-006.html, and paste-text-007.html should be dump-as-markup tests
https://bugs.webkit.org/show_bug.cgi?id=111466

Reviewed by Levi Weintraub.

* editing/pasteboard/paste-text-005-expected.txt: Added.
* editing/pasteboard/paste-text-005.html:
* editing/pasteboard/paste-text-006-expected.txt: Added.
* editing/pasteboard/paste-text-006.html:
* editing/pasteboard/paste-text-007-expected.txt: Added.
* editing/pasteboard/paste-text-007.html:
* platform/chromium-linux/editing/pasteboard/paste-text-005-expected.png: Removed.
* platform/chromium-linux/editing/pasteboard/paste-text-006-expected.png: Removed.
* platform/chromium-linux/editing/pasteboard/paste-text-007-expected.png: Removed.
* platform/chromium-mac-lion/editing/pasteboard/paste-text-005-expected.png: Removed.
* platform/chromium-mac-lion/editing/pasteboard/paste-text-006-expected.png: Removed.
* platform/chromium-mac-lion/editing/pasteboard/paste-text-007-expected.png: Removed.
* platform/chromium-mac-snowleopard/editing/pasteboard/paste-text-005-expected.txt: Removed.
* platform/chromium-mac/editing/pasteboard/paste-text-005-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/paste-text-006-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/paste-text-007-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-text-005-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-text-005-expected.txt: Removed.
* platform/chromium-win/editing/pasteboard/paste-text-006-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-text-006-expected.txt: Removed.
* platform/chromium-win/editing/pasteboard/paste-text-007-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-text-007-expected.txt: Removed.
* platform/chromium/editing/pasteboard/paste-text-005-expected.txt: Removed.
* platform/chromium/editing/pasteboard/paste-text-006-expected.txt: Removed.
* platform/chromium/editing/pasteboard/paste-text-007-expected.txt: Removed.
* platform/gtk/editing/pasteboard/paste-text-005-expected.txt: Removed.
* platform/gtk/editing/pasteboard/paste-text-006-expected.txt: Removed.
* platform/gtk/editing/pasteboard/paste-text-007-expected.txt: Removed.
* platform/mac/editing/pasteboard/paste-text-005-expected.png: Removed.
* platform/mac/editing/pasteboard/paste-text-005-expected.txt: Removed.
* platform/mac/editing/pasteboard/paste-text-006-expected.png: Removed.
* platform/mac/editing/pasteboard/paste-text-006-expected.txt: Removed.
* platform/mac/editing/pasteboard/paste-text-007-expected.png: Removed.
* platform/mac/editing/pasteboard/paste-text-007-expected.txt: Removed.
* platform/qt/editing/pasteboard/paste-text-005-expected.png: Removed.
* platform/qt/editing/pasteboard/paste-text-005-expected.txt: Removed.
* platform/qt/editing/pasteboard/paste-text-006-expected.png: Removed.
* platform/qt/editing/pasteboard/paste-text-006-expected.txt: Removed.
* platform/qt/editing/pasteboard/paste-text-007-expected.png: Removed.
* platform/qt/editing/pasteboard/paste-text-007-expected.txt: Removed.
* platform/win/editing/pasteboard/paste-text-005-expected.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144817 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline text output for opaque GraphicsLayers
https://bugs.webkit.org/show_bug.cgi?id=109507

Unreviewed rebaseline.

* compositing/contents-opaque/contents-opaque-background-color-expected.txt:
* compositing/contents-opaque/contents-opaque-layer-opacity-expected.txt:
* compositing/contents-opaque/contents-opaque-layer-transform-expected.txt:
* platform/chromium/TestExpectations:
* platform/chromium/compositing/contents-opaque/contents-opaque-background-color-expected.txt: Copied from LayoutTests/compositing/contents-opaque/contents-opaque-background-color-expected.txt.
* platform/chromium/compositing/contents-opaque/contents-opaque-layer-opacity-expected.txt: Copied from LayoutTests/compositing/contents-opaque/contents-opaque-layer-opacity-expected.txt.
* platform/chromium/compositing/contents-opaque/contents-opaque-layer-transform-expected.txt: Copied from LayoutTests/compositing/contents-opaque/contents-opaque-layer-transform-expected.txt.
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Renamed from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt.
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Renamed from LayoutTests/platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt.
* platform/efl/TestExpectations:
* platform/efl/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt:
* platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144818 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clear associated cache partitions when deleting origins' cache
https://bugs.webkit.org/show_bug.cgi?id=111383

Reviewed by Maciej Stachowiak.

Source/WebCore:

Clear the cache partitions associated with the origin being cleared.

Not possible to test with current automated test tools, must be tested manually.

* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::removeResourcesWithOrigin):

Source/WebKit2:

Clear the cache partitions associated with the origin being cleared.

* WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
(WebKit):
(WebKit::partitionName):
(WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames):

WebKitLibraries:

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceMountainLion.a:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144819 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Properly refactor frontend/backend code by #includes
https://bugs.webkit.org/show_bug.cgi?id=110653

Reviewed by Dimitri Glazkov.

Source/WebCore:

IndexedDB has a distinct backend and frontend, with well defined
*Interface / *Callbacks classes distinguishing them, respectively.

This makes sure that the frontend and backend do not include each
other and fixes build problems that occurred as a result.

Specifically this moves enums out of IDBCursor and IDBTransaction
into IndexedDB.h in a new WebCore::IndexedDB namespace.

No new tests, as this is just a refactor.

Source/WebKit/chromium:

Clean up the frontend/backend WebIDB* implementations to
match the changes to webkit.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
https://bugs.webkit.org/show_bug.cgi?id=85642

Source/WebCore:

Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.

Patch by James Weatherall <wez@chromium.org> on 2013-03-05
Reviewed by Ojan Vafai.

* platform/chromium/KeyCodeConversionGtk.cpp:
(WebCore::windowsKeyCodeForKeyEvent):

Source/WebKit/chromium:

Add tests to verify that the fixed keys generate the same keyCode values as their equivalents.

Patch by James Weatherall <wez@chromium.org> on 2013-03-05
Reviewed by Ojan Vafai.

* WebKit.gypi:
* tests/KeyCodeConversionTestGtk.cpp: Added.
(WebCore):
(WebCore::TEST):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Copy dictionary to the external storage before running layout test on android
https://bugs.webkit.org/show_bug.cgi?id=111480

Patch by Min Qin <qinmin@chromium.org> on 2013-03-05
Reviewed by Adam Barth.

TestWebKitPlatformSupport now needs to read an external dictionary file.
This file does not exist on the device. We need to copy it before running layout tests.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidDriver._setup_md5sum_and_push_data_if_needed):
(ChromiumAndroidDriver._push_platform_resources):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144822 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WinCairo] Compile fix after r144024.
https://bugs.webkit.org/show_bug.cgi?id=111306

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-03-05
Reviewed by James Robinson.

* page/scrolling/ScrollingCoordinator.cpp: Added guard for USE(ACCELERATED_COMPOSITING).
* page/scrolling/ScrollingCoordinator.h: Added guard for USE(ACCELERATED_COMPOSITING).

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144823 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: identify reflection layers in LayerTreeAgent
https://bugs.webkit.org/show_bug.cgi?id=111419

Source/WebCore:

We add a new property "isReflection" to the Layer objects returned
to the front-end to indicate whether the layer was created to host
the reflection for an element. When this new property is true, the
"nodeId" property is set to point to the reflected element's node
id, since there is no node per-se directly associated with this layer.
We also change the "bounds" property to return absolute page coordinates
such that the front-end can use this information to highlight that
region in the page since metrics would otherwise be unavailable.

Reviewed by Dean Jackson.

Test: inspector-protocol/layers/layers-reflected-content.html

* inspector/Inspector.json:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):

LayoutTests:

New test for reflection layers and an updated output for the
existing layersForNode() test since we changed the coordinates
for the "bounds" property to be absolute instead of local.

Reviewed by Dean Jackson.

* inspector-protocol/layers/layers-for-node-expected.txt:
* inspector-protocol/layers/layers-reflected-content-expected.txt: Added.
* inspector-protocol/layers/layers-reflected-content.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Crash when ImageLoader deletes Element inside SVGImageElement
https://bugs.webkit.org/show_bug.cgi?id=111085

Reviewed by Abhishek Arya.

Source/WebCore:

Elements with ImageLoader objects associated with them may have their
final reference held by the ImageLoader (to allow events to be sent
and handled). Any call on Element that causes the ImageLoader to
dispatch events might then result in the final deref of the Element
itself, thus leaving all the Element's "this" pointers up the stack
pointing to invalid memory.

This change puts the deref of the Element on a timer so that, if the
deref is called via a method on Element, the call stack will unwind
before the deref occurs.

Test: svg/custom/image-with-attr-change-after-delete-crash.html

* loader/ImageLoader.cpp:
(WebCore::ImageLoader::ImageLoader): Initialize a timer
(WebCore::ImageLoader::updatedHasPendingEvent): Put deref of the
  element on a oneShotTimer, with appropriate assertions and checks to
  ensure we only ref/deref once.
(WebCore::ImageLoader::timerFired): Deref the element when the timer fires.
* loader/ImageLoader.h:
(ImageLoader): Define a timer for controlling deref of the element.

LayoutTests:

* svg/custom/image-with-attr-change-after-delete-crash-expected.txt: Added.
* svg/custom/image-with-attr-change-after-delete-crash.html: Added.


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