Skip to content
  • barraclough@apple.com's avatar
    Disable private names by default in WebCore · 6e5e896c
    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