-
barraclough@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=87088 Reviewed by Geoff Garen. r117859 introduced a preliminary implementation of ES6-like private name objects to JSC. These are probably not yet ready to be web-facing, so disabling by default in WebCore. Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test. Source/JavaScriptCore: * jsc.cpp: (GlobalObject): (GlobalObject::javaScriptExperimentsEnabled): - Implemented new trap to opt-in to private names support. * runtime/JSGlobalObject.cpp: (JSC): (JSC::JSGlobalObject::reset): - Only add the Name property to the global object if experiments are enabled. * runtime/JSGlobalObject.h: (GlobalObjectMethodTable): - Added new trap to enabled experiments. (JSGlobalObject): (JSC::JSGlobalObject::finishCreation): - Set the global object's m_experimentsEnabled state on construction. (JSC::JSGlobalObject::javaScriptExperimentsEnabled): - Defaults to off. Source/WebCore: * WebCore.exp.in: - Added export. * bindings/js/JSDOMWindowBase.cpp: (WebCore): (WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled): - Override default from JSC, enable based on corresponding Setting. * bindings/js/JSDOMWindowBase.h: (JSDOMWindowBase): - Added declaration for javaScriptExperimentsEnabled. * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setJavaScriptExperimentsEnabled): (WebCore): * page/Settings.h: (Settings): (WebCore::Settings::javaScriptExperimentsEnabled): - Added Setting, reflecting WebPreference. Source/WebKit/mac: * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences setJavaScriptExperimentsEnabled:]): (-[WebPreferences javaScriptExperimentsEnabled]): * WebView/WebPreferencesPrivate.h: * WebView/WebView.mm: (-[WebView _preferencesChanged:]): - Added JavaScriptExperimentsEnabled to WebPreferences. Source/WebKit2: * Shared/WebPreferencesStore.h: (WebKit): * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetJavaScriptExperimentsEnabled): (WKPreferencesGetJavaScriptExperimentsEnabled): * UIProcess/API/C/WKPreferences.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): - Added JavaScriptExperimentsEnabled to WebPreferences. Tools: * DumpRenderTree/mac/DumpRenderTree.mm: (resetDefaultsToConsistentValues): - Enable private name support in DRT. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): - Enable private name support in WKTR. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
6e5e896c