committer

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebPageProxy should be a MessageSender
https://bugs.webkit.org/show_bug.cgi?id=125654

Reviewed by Sam Weinig.

* Platform/CoreIPC/MessageSender.cpp:
(CoreIPC::MessageSender::sendMessage):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
* Shared/ChildProcessProxy.h:
* Shared/WebConnection.cpp:
(WebKit::WebConnection::postMessage):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::sendMessage):
(WebKit::WebPageProxy::messageSenderConnection):
(WebKit::WebPageProxy::messageSenderDestinationID):
* UIProcess/WebPageProxy.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160508 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move MessageSender to Platform/IPC.

Rubber-stamped by Andreas Kling.

* Platform/IPC/MessageSender.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageSender.cpp.
* Platform/IPC/MessageSender.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageSender.h.
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unused Apple Bots.
        
Unreviewed.

* BuildSlaveSupport/build.webkit.org-config/config.json:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160510 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update hardware for Apple bots.
        
Unreviewed.

* BuildSlaveSupport/build.webkit.org-config/config.json:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160511 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Cocoa] Let the load delegate know when the Web process crashes
https://bugs.webkit.org/show_bug.cgi?id=125660

Reviewed by Sam Weinig.

* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(processDidCrash):  Implemented this WKPageLoaderClient callback by calling the load
delegate.
(setUpPageLoaderClient): Set the above callback in the client structure
* UIProcess/API/Cocoa/WKBrowsingContextLoadDelegatePrivate.h: Declare new delegate method.



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

* CMakeLists.txt: Apply MessageSender's changes

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: HANG: virginamerica.com: Pressing the print button on the boarding pass page locks up VoiceOver and Safari.
https://bugs.webkit.org/show_bug.cgi?id=125603

Reviewed by Anders Carlsson.

Allow the print dialog to spin its run loop while accessibility is enabled so that VoiceOver does not hang on the WebProcess.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::print):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DatabaseProcess IndexedDB: Establish a metadata backing store on disk
https://bugs.webkit.org/show_bug.cgi?id=125258

Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.

Source/WebCore:

Teach CrossThreadCopier how to handle IDBDatabaseMetadata.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBDatabaseMetadata.cpp: Added.
(WebCore::IDBDatabaseMetadata::isolatedCopy):
(WebCore::IDBObjectStoreMetadata::isolatedCopy):
(WebCore::IDBIndexMetadata::isolatedCopy):
* Modules/indexeddb/IDBDatabaseMetadata.h:

* Modules/indexeddb/IDBKeyPath.cpp:
(WebCore::IDBKeyPath::isolatedCopy):
* Modules/indexeddb/IDBKeyPath.h:

* platform/CrossThreadCopier.cpp:
(WebCore::::copy): Add an IDBDatabaseMetadata specialization.
* platform/CrossThreadCopier.h:

Source/WebKit2:

The DatabaseProcess already has an "Indexed Database path".
Each SecurityOrigin with indexed databases will have a subdirectory under the path.
Each indexed database will have a subdirectory under its SecurityOrigin's path.
Inside that directory will exist (1) metadata database, and 0-N ObjectStore databases.

This patch establishes the directory structure and the (1) metadata database.

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::initializeDatabaseProcess): Asynchronously ensure the indexed database directory exists.
(WebKit::DatabaseProcess::ensureIndexedDatabaseRelativePathExists): Allow anyone to make necessary directories relative to
  the indexed database directory.
(WebKit::DatabaseProcess::ensurePathExists):
(WebKit::DatabaseProcess::absoluteIndexedDatabasePathFromDatabaseRelativePath): Instead of exposing the indexed database directory,
  give DatabaseProcess a method to allow others to compute a path relative to the indexed database directory.
(WebKit::DatabaseProcess::postDatabaseTask):
(WebKit::DatabaseProcess::performNextDatabaseTask):
* DatabaseProcess/DatabaseProcess.h:
(WebKit::DatabaseProcess::queue):

* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
(WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):

* DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
(WebKit::UniqueIDBDatabase::UniqueIDBDatabase):
(WebKit::UniqueIDBDatabase::filenameForDatabaseName):
(WebKit::UniqueIDBDatabase::databaseFilenameIdentifier):
(WebKit::UniqueIDBDatabase::canShareDatabases):
(WebKit::UniqueIDBDatabase::shutdown): Method to cleanly shutdown a database, emptying its task and request queues.
(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
(WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata): To be run on the database work queue, establishes a backing store
  and extracts metadata from it.
(WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata): Callback once metadata from the backing store is ready for use.
(WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory):
(WebKit::UniqueIDBDatabase::postMainThreadTask): Add a main thread task for this database.
(WebKit::UniqueIDBDatabase::performNextMainThreadTask):
(WebKit::UniqueIDBDatabase::postDatabaseTask): Add a database queue task for this database.
(WebKit::UniqueIDBDatabase::performNextDatabaseTask):
* DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

Add a virtual backing store interface:
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
(WebKit::UniqueIDBDatabaseBackingStore::~UniqueIDBDatabaseBackingStore):

Add a SQLite implementation of that interface:
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: Added.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

Add a general purpose asynchronous task that does cross thread copying:
* Shared/AsyncTask.h: Added.
(WebKit::AsyncTask::~AsyncTask):
(WebKit::AsyncTask::AsyncTask):
(WebKit::createAsyncTask):

Add more isolated copiers and introduce WebKit CrossThreadCopier specializations:
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp:
(WebKit::UniqueIDBDatabaseIdentifier::isolatedCopy):
* DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h:

* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::isolatedCopy):
* Shared/SecurityOriginData.h:

* Shared/WebCrossThreadCopier.cpp:
(WebCore::::copy):
* Shared/WebCrossThreadCopier.h:

* WebKit2.xcodeproj/project.pbxproj:

Source/WTF:

* wtf/text/WTFString.h: Export toUInt64Strict().

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