Completely remove all IDB properties/constructors when it is disabled at runtime.
authorbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 8 Jun 2015 16:49:57 +0000 (16:49 +0000)
committerbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 8 Jun 2015 16:49:57 +0000 (16:49 +0000)
commit97eec9b7be959f1c3de7694f2105ab7a44fb4bce
treedc1e524060eeba1cc71e5e9eb4df118b78ab2e93
parent1f4ba307e90b57c26a54128020038d9fe11ae111
Completely remove all IDB properties/constructors when it is disabled at runtime.
rdar://problem/18429374 and https://bugs.webkit.org/show_bug.cgi?id=137034

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* runtime/CommonIdentifiers.h:

Source/WebCore:

Test: storage/indexeddb/properties-disabled-at-runtime.html

- Make constructors all runtime enabled.
- Remove autogeneration of the window.(webkit)indexedDB accessors.
- Add manual overrides for the (webkit)indexedDB accessors at runtime.

* Modules/indexeddb/DOMWindowIndexedDatabase.idl:
* Modules/indexeddb/IDBAny.idl:
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBCursorWithValue.idl:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBFactory.idl:
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBKeyRange.idl:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/indexeddb/IDBOpenDBRequest.idl:
* Modules/indexeddb/IDBRequest.idl:
* Modules/indexeddb/IDBTransaction.idl:
* Modules/indexeddb/IDBVersionChangeEvent.idl:
* page/DOMWindow.idl:

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowIndexedDB):
(WebCore::JSDOMWindow::getOwnPropertySlot):

Source/WebKit2:

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess): Enable IDB at runtime if it's enabled at compile time.

LayoutTests:

* platform/mac-mavericks/TestExpectations: Disable global-constructors-attributes on Mavericks as
  there is no way to have different WK1 and WK2 results.
* platform/mac-wk1/TestExpectations: Enable the new "properties are missing" test for Mac WK1.
* platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt: Added.
* platform/win/TestExpectations: Enable the new "properties are missing" test for Win WK1
* platform/wk2/TestExpectations: Disable the new "properties are missing" test for all WK2.
* storage/indexeddb/properties-disabled-at-runtime-expected.txt: Added.
* storage/indexeddb/properties-disabled-at-runtime.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
28 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/mac-mavericks/TestExpectations
LayoutTests/platform/mac-wk1/TestExpectations
LayoutTests/platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt [new file with mode: 0644]
LayoutTests/platform/win/TestExpectations
LayoutTests/platform/wk2/TestExpectations
LayoutTests/storage/indexeddb/properties-disabled-at-runtime-expected.txt [new file with mode: 0644]
LayoutTests/storage/indexeddb/properties-disabled-at-runtime.html [new file with mode: 0644]
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/CommonIdentifiers.h
Source/WebCore/ChangeLog
Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.idl
Source/WebCore/Modules/indexeddb/IDBAny.idl
Source/WebCore/Modules/indexeddb/IDBCursor.idl
Source/WebCore/Modules/indexeddb/IDBCursorWithValue.idl
Source/WebCore/Modules/indexeddb/IDBDatabase.idl
Source/WebCore/Modules/indexeddb/IDBFactory.idl
Source/WebCore/Modules/indexeddb/IDBIndex.idl
Source/WebCore/Modules/indexeddb/IDBKeyRange.idl
Source/WebCore/Modules/indexeddb/IDBObjectStore.idl
Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.idl
Source/WebCore/Modules/indexeddb/IDBRequest.idl
Source/WebCore/Modules/indexeddb/IDBTransaction.idl
Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.idl
Source/WebCore/bindings/js/JSDOMWindowCustom.cpp
Source/WebCore/page/DOMWindow.idl
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebProcess.cpp