[Chromium-Android] DumpRenderTree timeouts before NRWT timeouts
https://bugs.webkit.org/show_bug.cgi?id=94155

Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.create_driver): Force no_timeout=True


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
A 'load' event should be fired on the shadow host directly, not on an inner image element of shadow dom subtree.
https://bugs.webkit.org/show_bug.cgi?id=93920

Reviewed by Dimitri Glazkov.

Source/WebCore:

A 'load' event is a must-stoppable event at shadow boundary. So we
should fire a 'load' event on a shadow host directly, not on an
inner image element.

Test: fast/dom/shadow/shadowdom-for-image-event.html

* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::dispatchLoadEvent):
* loader/ImageLoaderClient.h:
(WebCore::ImageLoaderClient::eventTarget):

LayoutTests:

* fast/dom/shadow/shadowdom-for-image-event-expected.txt: Added.
* fast/dom/shadow/shadowdom-for-image-event.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: generate index keys for existing data in createIndex in front end
https://bugs.webkit.org/show_bug.cgi?id=91125

Patch by Alec Flett <alecflett@chromium.org> on 2012-08-15
Reviewed by Tony Chang.

Source/WebCore:

Make createIndex() do index key generation in the frontend, rather
than the backend. When an index is created, the frontend uses the
cursor API to iterate through the values in the backend to
generate keys, sending them back to the backend using
IDBObjectStore::setIndexKeys()

This confines all key injection/extraction to the frontend.

The new test verifies the implemented behavior with respect to
error handling in degenerate uses of put(), though that behavior
is still in discussion as the spec is vague on the proper error
behavior.

Test: storage/indexeddb/lazy-index-population.html

* Modules/indexeddb/IDBCursorBackendImpl.cpp: Make sure that the
TaskType propagates throught the cursor and all subsequent
continue() calls.
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::continueFunction):
(WebCore::IDBCursorBackendImpl::prefetchContinue):
* Modules/indexeddb/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::create):
(IDBCursorBackendImpl):
* Modules/indexeddb/IDBObjectStore.cpp: Add an IndexPopulator
class to run a cursor from the frontend.
(WebCore):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::openCursor):
* Modules/indexeddb/IDBObjectStore.h:
(WebCore::IDBObjectStore::openCursor):
(IDBObjectStore):
(WebCore::IDBObjectStore::createIndex):
* Modules/indexeddb/IDBObjectStore.idl: Pass along ScriptContext
so that openCursor can be called from createIndex.
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore):
(WebCore::makeIndexWriters):
(WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReadyInternal):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
(WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
* Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::iterIndexesBegin):
(WebCore::IDBObjectStoreBackendImpl::iterIndexesEnd):
(WebCore::IDBObjectStoreBackendImpl::backingStore):
(WebCore::IDBObjectStoreBackendImpl::databaseId):
* Modules/indexeddb/IDBObjectStoreBackendInterface.h:
* Modules/indexeddb/IDBRequest.cpp:
Allow requests to keep their own TaskType, to give certain
requests priority over others.
(WebCore::IDBRequest::create):
(WebCore):
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::abort):
* Modules/indexeddb/IDBRequest.h:
(IDBRequest):
(WebCore::IDBRequest::taskType):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
Introduce a second, higher priority event queue, m_preemptiveTaskQueue,
which takes priority over the regular task queue.
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::scheduleTask):
(WebCore::IDBTransactionBackendImpl::isTaskQueueEmpty):
(WebCore):
(WebCore::IDBTransactionBackendImpl::commit):
(WebCore::IDBTransactionBackendImpl::taskTimerFired):
(WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
* Modules/indexeddb/IDBTransactionBackendImpl.h:
(WebCore::IDBTransactionBackendImpl::scheduleTask):
(IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::addEarlyEvent):
(WebCore::IDBTransactionBackendImpl::didCompleteEarlyEvent):
* Modules/indexeddb/IDBVersionChangeRequest.cpp:
(WebCore::IDBVersionChangeRequest::IDBVersionChangeRequest):

Source/WebKit/chromium:

Add Chromium API methods to let the renderer process tell the
browser process about indexing progress.

* public/WebIDBObjectStore.h:
(WebKit::WebIDBObjectStore::openCursor):
* src/IDBObjectStoreBackendProxy.cpp:
(WebKit::IDBObjectStoreBackendProxy::setIndexKeys):
(WebKit):
(WebKit::IDBObjectStoreBackendProxy::setIndexesReady):
(WebKit::IDBObjectStoreBackendProxy::openCursor):
* src/IDBObjectStoreBackendProxy.h:
(IDBObjectStoreBackendProxy):
* src/WebIDBObjectStoreImpl.cpp:
(WebKit::WebIDBObjectStoreImpl::setIndexKeys):
(WebKit):
(WebKit::WebIDBObjectStoreImpl::setIndexesReady):
(WebKit::WebIDBObjectStoreImpl::openCursor):
* src/WebIDBObjectStoreImpl.h:
(WebIDBObjectStoreImpl):

LayoutTests:

The transaction should be aborted when existing data in an
objectStore causes uniqueness errors during index creation.

* storage/indexeddb/lazy-index-population-expected.txt: Added.
* storage/indexeddb/lazy-index-population.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
EFL build fix attempt after r125711. Touch an IDL file to regenerate derived sources.

* html/HTMLAllCollection.idl:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125729 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: IDB*::keyPath should return IDBKeyPath, not IDBAny
https://bugs.webkit.org/show_bug.cgi?id=92434

Patch by Alec Flett <alecflett@chromium.org> on 2012-08-15
Reviewed by Tony Chang.

Clean up IDBKeyPath conversion to IDBAny objects. This gets rid of
some implicit conversion from IDBKeyPath to IDBAny.

No new tests, just changing method signatures.

* Modules/indexeddb/IDBAny.cpp:
(WebCore::IDBAny::set):
(WebCore):
* Modules/indexeddb/IDBAny.h:
(WebCore):
(WebCore::IDBAny::create):
(IDBAny):
* Modules/indexeddb/IDBIndex.h:
(WebCore::IDBIndex::keyPathAny):
(WebCore::IDBIndex::keyPath):
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBKeyPath.cpp:
* Modules/indexeddb/IDBKeyPath.h:
* Modules/indexeddb/IDBObjectStore.h:
(WebCore::IDBObjectStore::keyPathAny):
(WebCore::IDBObjectStore::keyPath):
* Modules/indexeddb/IDBObjectStore.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125730 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update test expectations for css3/filters/custom/invalid-custom-filter-shader.html failing on Apple Lion Debug WK1 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=94067

Patch by Kiran Muppala <cmuppala@apple.com> on 2012-08-15
Reviewed by Brady Eidson.

Add to the list of tests needing rebaselining after https://bugs.webkit.org/show_bug.cgi?id=6033

* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125731 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rename LayoutTestController to TestRunner in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=93942

Reviewed by Simon Fraser.

Renamed the class and relevant files.

* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/DerivedSources.make:
* WebKitTestRunner/GNUmakefile.am:
* WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Removed.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Copied from Tools/WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl.
* WebKitTestRunner/InjectedBundle/DerivedSources.pri:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessage):
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(WTR::InjectedBundle::testRunner):
(InjectedBundle):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: Removed.
* WebKitTestRunner/InjectedBundle/LayoutTestController.h: Removed.
* WebKitTestRunner/InjectedBundle/Target.pri:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp.
* WebKitTestRunner/InjectedBundle/TestRunner.h: Copied from Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.h.
(TestRunner):
* WebKitTestRunner/InjectedBundle/efl/LayoutTestControllerEfl.cpp: Removed.
* WebKitTestRunner/InjectedBundle/efl/TestRunnerEfl.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/efl/LayoutTestControllerEfl.cpp.
(WTR::waitToDumpWatchdogTimerCallback):
(WTR::TestRunner::platformInitialize):
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
(WTR::TestRunner::pathToLocalResource):
(WTR::TestRunner::platformName):
* WebKitTestRunner/InjectedBundle/gtk/LayoutTestControllerGtk.cpp: Removed.
* WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/gtk/LayoutTestControllerGtk.cpp.
(WTR::waitToDumpWatchdogTimerCallback):
(WTR::TestRunner::platformInitialize):
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
(WTR::TestRunner::pathToLocalResource):
(WTR::TestRunner::platformName):
* WebKitTestRunner/InjectedBundle/mac/LayoutTestControllerMac.mm: Removed.
* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm: Copied from Tools/WebKitTestRunner/InjectedBundle/mac/LayoutTestControllerMac.mm.
(WTR::TestRunner::platformInitialize):
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::waitUntilDoneWatchdogTimerFired):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
(WTR::TestRunner::pathToLocalResource):
(WTR::TestRunner::platformName):
* WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp: Removed.
* WebKitTestRunner/InjectedBundle/qt/TestRunnerQt.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp.
(WTR::WatchdogTimerHelper::timerFired):
(WTR::TestRunner::platformInitialize):
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
(WTR::TestRunner::pathToLocalResource):
(WTR::TestRunner::platformName):
* WebKitTestRunner/InjectedBundle/win/LayoutTestControllerWin.cpp: Removed.
* WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/win/LayoutTestControllerWin.cpp.
(WTR::TestRunner::platformInitialize):
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::waitToDumpWatchdogTimerFired):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
(WTR::TestRunner::pathToLocalResource):
(WTR::TestRunner::platformName):
* WebKitTestRunner/PlatformEfl.cmake:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/win/InjectedBundle.vcproj:


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