Web Inspector: expose Inspector.detached event factory to the embedder.
https://bugs.webkit.org/show_bug.cgi?id=100967

Reviewed by Vsevolod Vlasov.

That way embedder will be able to send messages on behalf of the backend being destructed.

* public/WebDevToolsAgent.h:
(WebDevToolsAgent):
* src/WebDevToolsAgentImpl.cpp:
(SerializingFrontendChannel):
(WebKit::SerializingFrontendChannel::sendMessageToFrontend):
(WebKit::WebDevToolsAgent::inspectorDetachedEvent):
(WebKit):
(WebKit::WebDevToolsAgent::workerDisconnectedFromWorkerEvent):
(WebKit::WebDevToolsAgent::disconnectEventAsText):


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

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

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSP 1.0: Warn when old-style directives encountered.
https://bugs.webkit.org/show_bug.cgi?id=100883

Reviewed by Adam Barth.

Source/WebCore:

In Mozilla's pre-W3C-spec implementation, a few directives are
implemented that were either renamed, reworked, or removed from CSP 1.0.
This patch adds special warning messages for three of those directives
to set developer expectations correctly.

Test: http/tests/security/contentSecurityPolicy/source-list-parsing-deprecated.html

* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::parseDirective):
(WebCore::CSPDirectiveList::addDirective):
(WebCore::ContentSecurityPolicy::reportUnsupportedDirective):
* page/ContentSecurityPolicy.h:
    Rename 'reportUnrecognizedDirectives' to
    'reportUnsupportedDirectives', and teach it to give more descriptive
    error messages when encountering 'allow', 'options', and
    'policy-uri'.

LayoutTests:

* http/tests/security/contentSecurityPolicy/directive-parsing-01-expected.txt:
* http/tests/security/contentSecurityPolicy/directive-parsing-multiple-headers-expected.txt:
* http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy-expected.txt:
* http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url-expected.txt:
* http/tests/security/contentSecurityPolicy/javascript-url-allowed-expected.txt:
* http/tests/security/contentSecurityPolicy/javascript-url-blocked-expected.txt:
* http/tests/security/contentSecurityPolicy/script-src-in-iframe-expected.txt:
* http/tests/security/contentSecurityPolicy/script-src-none-expected.txt:
* http/tests/security/contentSecurityPolicy/source-list-parsing-deprecated-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/source-list-parsing-deprecated.html: Added.
* platform/chromium/http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url-expected.txt:
* platform/chromium/http/tests/security/contentSecurityPolicy/javascript-url-blocked-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133193 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] The DOMWrapperVisitor abstraction is no longer needed
https://bugs.webkit.org/show_bug.cgi?id=100965

Reviewed by Kentaro Hara.

This patch removes the DOMWrapperVisitor interface because it is no
longer needed. As a consequence, DOMWrapperMaps no longer need to
support enumeration, and we can move more DOM objects to use the faster
intrusive wrappers.

There was one remaining user of DOMWrapperVisitor in the
ScriptProfiler, which I've moved over to enumerating objects directly
from V8, similar to a function above it in the same file.

* bindings/v8/DOMWrapperMap.h:
(WebCore):
(DOMWrapperMap):
* bindings/v8/IntrusiveDOMWrapperMap.h:
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::visitNodeWrappers):
(WebCore::ScriptProfiler::visitExternalArrays):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: add methods to support id-based backend APIs
https://bugs.webkit.org/show_bug.cgi?id=100425

Reviewed by Tony Chang.

Source/WebCore:

First half of refactor involves adding a number of methods that
are int64_t-based rather than String-based. As a part of this, the
IDB*Metadata structs and the backend objectStore/index maps all
use int64_t as keys, rather than String.

In addition, there were a number of cleanups that came out of the
refactor:

- The list of object stores active in a transaction is now
  maintained by the frontend IDBTransaction rather than the backend
  IDBTransactionBackendImpl. This also had a simplifying rippling
  effect through other call signatures.

- I was able to remove an apparently old FIXME from
  IDBTransactionBackendImpl::objectStore and replace it with an ASSERT.

- IDBObjectStoreBackendImpl's IndexWriter class got a little
  simpler since the id is now easily available in the
  IDBIndexMetadata.

- A number of methods got simpler in their int64_t versions,
  specifically dropping a number of ExceptionCodes.

There is also some glue code
(getIndexId/getIndexIds/getObjectStoreId) that will go away with
the 2nd half of this: https://bugs.webkit.org/show_bug.cgi?id=100425

No new tests, no new functionality as this is just a refactor.

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::objectStoreNames):
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::deleteObjectStore):
(WebCore::IDBDatabase::transaction):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::metadata):
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::objectStore):
(WebCore::IDBDatabaseBackendImpl::getObjectStoreId):
(WebCore):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
(WebCore::IDBDatabaseBackendImpl::transaction):
(WebCore::IDBDatabaseBackendImpl::loadObjectStores):
(WebCore::IDBDatabaseBackendImpl::removeObjectStoreFromMap):
(WebCore::IDBDatabaseBackendImpl::addObjectStoreToMap):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
(IDBDatabaseBackendInterface):
* Modules/indexeddb/IDBIndex.h:
(WebCore::IDBIndex::id):
(WebCore::IDBIndex::openKeyCursor):
* Modules/indexeddb/IDBIndexBackendInterface.h:
* Modules/indexeddb/IDBMetadata.h:
(WebCore::IDBIndexMetadata::IDBIndexMetadata):
(IDBIndexMetadata):
(IDBObjectStoreMetadata):
(WebCore::IDBObjectStoreMetadata::containsIndex):
(IDBDatabaseMetadata):
(WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
(WebCore::IDBDatabaseMetadata::containsObjectStore):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::indexNames):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::deleteIndex):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::putWithIndexKeys):
(WebCore):
(WebCore::makeIndexWriters):
(WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReadyInternal):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::index):
(WebCore::IDBObjectStoreBackendImpl::getIndexId):
(WebCore::IDBObjectStoreBackendImpl::getIndexIds):
(WebCore::IDBObjectStoreBackendImpl::deleteIndex):
(WebCore::IDBObjectStoreBackendImpl::loadIndexes):
(WebCore::IDBObjectStoreBackendImpl::removeIndexFromMap):
(WebCore::IDBObjectStoreBackendImpl::addIndexToMap):
* Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(IDBObjectStoreBackendImpl):
* Modules/indexeddb/IDBObjectStoreBackendInterface.h:
* Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onUpgradeNeeded):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::uncaughtExceptionInEventHandler):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::objectStore):
* Modules/indexeddb/IDBTransaction.h:
(IDBTransaction):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::create):
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::objectStore):
(WebCore):
(WebCore::IDBTransactionBackendImpl::scheduleTask):
* Modules/indexeddb/IDBTransactionBackendImpl.h:
(IDBTransactionBackendImpl):
* Modules/indexeddb/IDBTransactionBackendInterface.h:

Source/WebKit/chromium:

Chromium Proxy and WebIDB* support for new int64_t-based methods.

* public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::deleteObjectStore):
(WebKit::WebIDBDatabase::transaction):
* public/WebIDBObjectStore.h:
(WebKit::WebIDBObjectStore::put):
(WebKit::WebIDBObjectStore::setIndexKeys):
(WebKit::WebIDBObjectStore::setIndexesReady):
(WebKit::WebIDBObjectStore::index):
(WebKit::WebIDBObjectStore::deleteIndex):
* public/WebIDBTransaction.h:
(WebKit::WebIDBTransaction::objectStore):
* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::deleteObjectStore):
(WebKit):
(WebKit::IDBDatabaseBackendProxy::transaction):
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy):
* src/IDBObjectStoreBackendProxy.cpp:
(WebKit::IDBObjectStoreBackendProxy::put):
(WebKit):
(WebKit::IDBObjectStoreBackendProxy::setIndexKeys):
(WebKit::IDBObjectStoreBackendProxy::setIndexesReady):
(WebKit::IDBObjectStoreBackendProxy::index):
(WebKit::IDBObjectStoreBackendProxy::deleteIndex):
* src/IDBObjectStoreBackendProxy.h:
(IDBObjectStoreBackendProxy):
* src/IDBTransactionBackendProxy.cpp:
(WebKit::IDBTransactionBackendProxy::objectStore):
* src/IDBTransactionBackendProxy.h:
(IDBTransactionBackendProxy):
* src/WebIDBMetadata.cpp:
(WebKit::WebIDBMetadata::WebIDBMetadata):
(WebKit::WebIDBMetadata::operator IDBDatabaseMetadata):
* src/WebIDBTransactionImpl.cpp:
(WebKit::WebIDBTransactionImpl::objectStore):
(WebKit):
* src/WebIDBTransactionImpl.h:
* tests/IDBDatabaseBackendTest.cpp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Skip fast/workers/worker-domurl.html on Windows. ENABLE_BLOB not enabled.

* platform/win/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133196 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Unreviewed gardening.  Mark a test as flaky.

* platform/chromium/TestExpectations:

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