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