Changeset 118018 in webkit


Ignore:
Timestamp:
May 22, 2012 12:10:43 PM (12 years ago)
Author:
barraclough@apple.com
Message:

Disable private names by default in WebCore
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.
Location:
trunk
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r117993 r118018  
     12012-05-21  Gavin Barraclough  <barraclough@apple.com>
     2
     3        Disable private names by default in WebCore
     4        https://bugs.webkit.org/show_bug.cgi?id=87088
     5
     6        Reviewed by Geoff Garen.
     7
     8        r117859 introduced a preliminary implementation of ES6-like private name objects to JSC.
     9        These are probably not yet ready to be web-facing, so disabling by default in WebCore.
     10        Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test.
     11
     12        * jsc.cpp:
     13        (GlobalObject):
     14        (GlobalObject::javaScriptExperimentsEnabled):
     15            - Implemented new trap to opt-in to private names support.
     16        * runtime/JSGlobalObject.cpp:
     17        (JSC):
     18        (JSC::JSGlobalObject::reset):
     19            - Only add the Name property to the global object if experiments are enabled.
     20        * runtime/JSGlobalObject.h:
     21        (GlobalObjectMethodTable):
     22            - Added new trap to enabled experiments.
     23        (JSGlobalObject):
     24        (JSC::JSGlobalObject::finishCreation):
     25            - Set the global object's m_experimentsEnabled state on construction.
     26        (JSC::JSGlobalObject::javaScriptExperimentsEnabled):
     27            - Defaults to off.
     28
    1292012-05-06  Filip Pizlo  <fpizlo@apple.com>
    230
  • trunk/Source/JavaScriptCore/jsc.cpp

    r116828 r118018  
    170170
    171171    static const ClassInfo s_info;
     172    static const GlobalObjectMethodTable s_globalObjectMethodTable;
    172173
    173174    static Structure* createStructure(JSGlobalData& globalData, JSValue prototype)
     
    175176        return Structure::create(globalData, 0, prototype, TypeInfo(GlobalObjectType, StructureFlags), &s_info);
    176177    }
     178
     179    static bool javaScriptExperimentsEnabled(const JSGlobalObject*) { return true; }
    177180
    178181protected:
     
    232235
    233236const ClassInfo GlobalObject::s_info = { "global", &JSGlobalObject::s_info, 0, ExecState::globalObjectTable, CREATE_METHOD_TABLE(GlobalObject) };
     237const GlobalObjectMethodTable GlobalObject::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptExperimentsEnabled };
     238
    234239
    235240GlobalObject::GlobalObject(JSGlobalData& globalData, Structure* structure)
    236     : JSGlobalObject(globalData, structure)
     241    : JSGlobalObject(globalData, structure, &s_globalObjectMethodTable)
    237242{
    238243}
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp

    r117859 r118018  
    8282const ClassInfo JSGlobalObject::s_info = { "GlobalObject", &JSVariableObject::s_info, 0, ExecState::globalObjectTable, CREATE_METHOD_TABLE(JSGlobalObject) };
    8383
    84 const GlobalObjectMethodTable JSGlobalObject::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript };
     84const GlobalObjectMethodTable JSGlobalObject::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptExperimentsEnabled };
    8585
    8686/* Source for JSGlobalObject.lut.h
     
    248248    m_errorStructure.set(exec->globalData(), this, ErrorInstance::createStructure(exec->globalData(), this, errorPrototype));
    249249
    250     NamePrototype* privateNamePrototype = NamePrototype::create(exec, NamePrototype::createStructure(exec->globalData(), this, m_objectPrototype.get()));
    251     m_privateNameStructure.set(exec->globalData(), this, NameInstance::createStructure(exec->globalData(), this, privateNamePrototype));
    252 
    253250    // Constructors
    254251
     
    264261
    265262    m_errorConstructor.set(exec->globalData(), this, ErrorConstructor::create(exec, this, ErrorConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get()), errorPrototype));
    266     JSCell* privateNameConstructor = NameConstructor::create(exec, this, NameConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get()), privateNamePrototype);
    267263
    268264    Structure* nativeErrorPrototypeStructure = NativeErrorPrototype::createStructure(exec->globalData(), this, errorPrototype);
     
    284280    m_regExpPrototype->putDirectWithoutTransition(exec->globalData(), exec->propertyNames().constructor, m_regExpConstructor.get(), DontEnum);
    285281    errorPrototype->putDirectWithoutTransition(exec->globalData(), exec->propertyNames().constructor, m_errorConstructor.get(), DontEnum);
    286     privateNamePrototype->putDirectWithoutTransition(exec->globalData(), exec->propertyNames().constructor, privateNameConstructor, DontEnum);
    287282
    288283    putDirectWithoutTransition(exec->globalData(), Identifier(exec, "Object"), objectConstructor, DontEnum);
     
    301296    putDirectWithoutTransition(exec->globalData(), Identifier(exec, "TypeError"), m_typeErrorConstructor.get(), DontEnum);
    302297    putDirectWithoutTransition(exec->globalData(), Identifier(exec, "URIError"), m_URIErrorConstructor.get(), DontEnum);
    303     putDirectWithoutTransition(exec->globalData(), Identifier(exec, "Name"), privateNameConstructor, DontEnum);
    304298
    305299    m_evalFunction.set(exec->globalData(), this, JSFunction::create(exec, this, 1, exec->propertyNames().eval.ustring(), globalFuncEval));
     
    315309    };
    316310    addStaticGlobals(staticGlobals, WTF_ARRAY_LENGTH(staticGlobals));
     311
     312    if (m_experimentsEnabled) {
     313        NamePrototype* privateNamePrototype = NamePrototype::create(exec, NamePrototype::createStructure(exec->globalData(), this, m_objectPrototype.get()));
     314        m_privateNameStructure.set(exec->globalData(), this, NameInstance::createStructure(exec->globalData(), this, privateNamePrototype));
     315
     316        JSCell* privateNameConstructor = NameConstructor::create(exec, this, NameConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get()), privateNamePrototype);
     317        privateNamePrototype->putDirectWithoutTransition(exec->globalData(), exec->propertyNames().constructor, privateNameConstructor, DontEnum);
     318        putDirectWithoutTransition(exec->globalData(), Identifier(exec, "Name"), privateNameConstructor, DontEnum);
     319    }
    317320
    318321    resetPrototype(exec->globalData(), prototype);
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h

    r117859 r118018  
    6969        typedef bool (*ShouldInterruptScriptFunctionPtr)(const JSGlobalObject*);
    7070        ShouldInterruptScriptFunctionPtr shouldInterruptScript;
     71
     72        typedef bool (*JavaScriptExperimentsEnabledFunctionPtr)(const JSGlobalObject*);
     73        JavaScriptExperimentsEnabledFunctionPtr javaScriptExperimentsEnabled;
    7174    };
    7275
     
    146149
    147150        bool m_evalEnabled;
     151        bool m_experimentsEnabled;
    148152
    149153        static JS_EXPORTDATA const GlobalObjectMethodTable s_globalObjectMethodTable;
     
    185189            Base::finishCreation(globalData);
    186190            structure()->setGlobalObject(globalData, this);
     191            m_experimentsEnabled = m_globalObjectMethodTable->javaScriptExperimentsEnabled(this);
    187192            init(this);
    188193        }
     
    192197            Base::finishCreation(globalData);
    193198            structure()->setGlobalObject(globalData, this);
     199            m_experimentsEnabled = m_globalObjectMethodTable->javaScriptExperimentsEnabled(this);
    194200            init(thisValue);
    195201        }
     
    293299
    294300        static bool shouldInterruptScript(const JSGlobalObject*) { return true; }
     301        static bool javaScriptExperimentsEnabled(const JSGlobalObject*) { return false; }
    295302
    296303        bool isDynamicScope(bool& requiresDynamicChecks) const;
  • trunk/Source/WebCore/ChangeLog

    r118012 r118018  
     12012-05-21  Gavin Barraclough  <barraclough@apple.com>
     2
     3        Disable private names by default in WebCore
     4        https://bugs.webkit.org/show_bug.cgi?id=87088
     5
     6        Reviewed by Geoff Garen.
     7
     8        r117859 introduced a preliminary implementation of ES6-like private name objects to JSC.
     9        These are probably not yet ready to be web-facing, so disabling by default in WebCore.
     10        Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test.
     11
     12        * WebCore.exp.in:
     13            - Added export.
     14        * bindings/js/JSDOMWindowBase.cpp:
     15        (WebCore):
     16        (WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled):
     17            - Override default from JSC, enable based on corresponding Setting.
     18        * bindings/js/JSDOMWindowBase.h:
     19        (JSDOMWindowBase):
     20            - Added declaration for javaScriptExperimentsEnabled.
     21        * page/Settings.cpp:
     22        (WebCore::Settings::Settings):
     23        (WebCore::Settings::setJavaScriptExperimentsEnabled):
     24        (WebCore):
     25        * page/Settings.h:
     26        (Settings):
     27        (WebCore::Settings::javaScriptExperimentsEnabled):
     28            - Added Setting, reflecting WebPreference.
     29
    1302012-05-22  Adam Barth  <abarth@webkit.org>
    231
  • trunk/Source/WebCore/WebCore.exp.in

    r117610 r118018  
    10431043__ZN7WebCore8Settings31setCanvasUsesAcceleratedDrawingEb
    10441044__ZN7WebCore8Settings31setJavaScriptCanAccessClipboardEb
     1045__ZN7WebCore8Settings31setJavaScriptExperimentsEnabledEb
    10451046__ZN7WebCore8Settings31setShrinksStandaloneImagesToFitEb
    10461047__ZN7WebCore8Settings32setAcceleratedCompositingEnabledEb
  • trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp

    r113387 r118018  
    4444const ClassInfo JSDOMWindowBase::s_info = { "Window", &JSDOMGlobalObject::s_info, 0, 0, CREATE_METHOD_TABLE(JSDOMWindowBase) };
    4545
    46 const GlobalObjectMethodTable JSDOMWindowBase::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript };
     46const GlobalObjectMethodTable JSDOMWindowBase::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptExperimentsEnabled };
    4747
    4848JSDOMWindowBase::JSDOMWindowBase(JSGlobalData& globalData, Structure* structure, PassRefPtr<DOMWindow> window, JSDOMWindowShell* shell)
     
    176176}
    177177
     178bool JSDOMWindowBase::javaScriptExperimentsEnabled(const JSGlobalObject* object)
     179{
     180    const JSDOMWindowBase* thisObject = static_cast<const JSDOMWindowBase*>(object);
     181    Frame* frame = thisObject->impl()->frame();
     182    if (!frame)
     183        return false;
     184    Settings* settings = frame->settings();
     185    if (!settings)
     186        return false;
     187    return settings->javaScriptExperimentsEnabled();
     188}
     189
    178190void JSDOMWindowBase::willRemoveFromWindowShell()
    179191{
  • trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h

    r108259 r118018  
    6464        static bool supportsRichSourceInfo(const JSC::JSGlobalObject*);
    6565        static bool shouldInterruptScript(const JSC::JSGlobalObject*);
     66        static bool javaScriptExperimentsEnabled(const JSC::JSGlobalObject*);
    6667        static bool allowsAccessFrom(const JSC::JSGlobalObject*, JSC::ExecState*);
    6768       
  • trunk/Source/WebCore/page/Settings.cpp

    r117613 r118018  
    175175    , m_forceFTPDirectoryListings(false)
    176176    , m_developerExtrasEnabled(false)
     177    , m_javaScriptExperimentsEnabled(false)
    177178    , m_authorAndUserStylesEnabled(true)
    178179    , m_needsSiteSpecificQuirks(false)
     
    666667}
    667668
     669void Settings::setJavaScriptExperimentsEnabled(bool javaScriptExperimentsEnabled)
     670{
     671    m_javaScriptExperimentsEnabled = javaScriptExperimentsEnabled;
     672}
     673
    668674void Settings::setAuthorAndUserStylesEnabled(bool authorAndUserStylesEnabled)
    669675{
  • trunk/Source/WebCore/page/Settings.h

    r117613 r118018  
    261261        void setDeveloperExtrasEnabled(bool);
    262262        bool developerExtrasEnabled() const { return m_developerExtrasEnabled; }
     263       
     264        void setJavaScriptExperimentsEnabled(bool);
     265        bool javaScriptExperimentsEnabled() const { return m_javaScriptExperimentsEnabled; }
    263266
    264267        void setFrameFlatteningEnabled(bool);
     
    640643        bool m_forceFTPDirectoryListings : 1;
    641644        bool m_developerExtrasEnabled : 1;
     645        bool m_javaScriptExperimentsEnabled : 1;
    642646        bool m_authorAndUserStylesEnabled : 1;
    643647        bool m_needsSiteSpecificQuirks : 1;
  • trunk/Source/WebKit/mac/ChangeLog

    r117859 r118018  
     12012-05-21  Gavin Barraclough  <barraclough@apple.com>
     2
     3        Disable private names by default in WebCore
     4        https://bugs.webkit.org/show_bug.cgi?id=87088
     5
     6        Reviewed by Geoff Garen.
     7
     8        r117859 introduced a preliminary implementation of ES6-like private name objects to JSC.
     9        These are probably not yet ready to be web-facing, so disabling by default in WebCore.
     10        Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test.
     11
     12        * WebView/WebPreferenceKeysPrivate.h:
     13        * WebView/WebPreferences.mm:
     14        (+[WebPreferences initialize]):
     15        (-[WebPreferences setJavaScriptExperimentsEnabled:]):
     16        (-[WebPreferences javaScriptExperimentsEnabled]):
     17        * WebView/WebPreferencesPrivate.h:
     18        * WebView/WebView.mm:
     19        (-[WebView _preferencesChanged:]):
     20            - Added JavaScriptExperimentsEnabled to WebPreferences.
     21
    1222012-05-15  Gavin Barraclough  <barraclough@apple.com>
    223
  • trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h

    r117771 r118018  
    8080#define WebKitForceFTPDirectoryListings @"WebKitForceFTPDirectoryListings"
    8181#define WebKitDeveloperExtrasEnabledPreferenceKey @"WebKitDeveloperExtrasEnabledPreferenceKey"
     82#define WebKitJavaScriptExperimentsEnabledPreferenceKey @"WebKitJavaScriptExperimentsEnabledPreferenceKey"
    8283#define WebKitAuthorAndUserStylesEnabledPreferenceKey @"WebKitAuthorAndUserStylesEnabledPreferenceKey"
    8384#define WebKitApplicationChromeModeEnabledPreferenceKey @"WebKitApplicationChromeModeEnabledPreferenceKey"
  • trunk/Source/WebKit/mac/WebView/WebPreferences.mm

    r117771 r118018  
    358358        [NSNumber numberWithBool:YES],  WebKitPageCacheSupportsPluginsPreferenceKey,
    359359        [NSNumber numberWithBool:NO],   WebKitDeveloperExtrasEnabledPreferenceKey,
     360        [NSNumber numberWithBool:NO],   WebKitJavaScriptExperimentsEnabledPreferenceKey,
    360361        [NSNumber numberWithBool:YES],  WebKitAuthorAndUserStylesEnabledPreferenceKey,
    361362        [NSNumber numberWithBool:NO],   WebKitApplicationChromeModeEnabledPreferenceKey,
     
    853854}
    854855
     856- (void)setJavaScriptExperimentsEnabled:(BOOL)flag
     857{
     858    [self _setBoolValue:flag forKey:WebKitJavaScriptExperimentsEnabledPreferenceKey];
     859}
     860
     861- (BOOL)javaScriptExperimentsEnabled
     862{
     863    return [self _boolValueForKey:WebKitJavaScriptExperimentsEnabledPreferenceKey];
     864}
     865
    855866- (void)setDeveloperExtrasEnabled:(BOOL)flag
    856867{
  • trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h

    r117771 r118018  
    5858- (void)setDeveloperExtrasEnabled:(BOOL)flag;
    5959
     60- (BOOL)javaScriptExperimentsEnabled;
     61- (void)setJavaScriptExperimentsEnabled:(BOOL)flag;
     62
    6063- (BOOL)authorAndUserStylesEnabled;
    6164- (void)setAuthorAndUserStylesEnabled:(BOOL)flag;
  • trunk/Source/WebKit/mac/WebView/WebView.mm

    r117771 r118018  
    14541454    settings->setShowsToolTipOverTruncatedText([preferences showsToolTipOverTruncatedText]);
    14551455    settings->setDeveloperExtrasEnabled([preferences developerExtrasEnabled]);
     1456    settings->setJavaScriptExperimentsEnabled([preferences javaScriptExperimentsEnabled]);
    14561457    settings->setAuthorAndUserStylesEnabled([preferences authorAndUserStylesEnabled]);
    14571458    settings->setApplicationChromeMode([preferences applicationChromeModeEnabled]);
  • trunk/Source/WebKit2/ChangeLog

    r117968 r118018  
     12012-05-21  Gavin Barraclough  <barraclough@apple.com>
     2
     3        Disable private names by default in WebCore
     4        https://bugs.webkit.org/show_bug.cgi?id=87088
     5
     6        Reviewed by Geoff Garen.
     7
     8        r117859 introduced a preliminary implementation of ES6-like private name objects to JSC.
     9        These are probably not yet ready to be web-facing, so disabling by default in WebCore.
     10        Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test.
     11
     12        * Shared/WebPreferencesStore.h:
     13        (WebKit):
     14        * UIProcess/API/C/WKPreferences.cpp:
     15        (WKPreferencesSetJavaScriptExperimentsEnabled):
     16        (WKPreferencesGetJavaScriptExperimentsEnabled):
     17        * UIProcess/API/C/WKPreferences.h:
     18        * WebProcess/WebPage/WebPage.cpp:
     19        (WebKit::WebPage::updatePreferences):
     20            - Added JavaScriptExperimentsEnabled to WebPreferences.
     21
    1222012-05-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
    223
  • trunk/Source/WebKit2/Shared/WebPreferencesStore.h

    r117613 r118018  
    6262    macro(FrameFlatteningEnabled, frameFlatteningEnabled, Bool, bool, false) \
    6363    macro(DeveloperExtrasEnabled, developerExtrasEnabled, Bool, bool, false) \
     64    macro(JavaScriptExperimentsEnabled, javaScriptExperimentsEnabled, Bool, bool, false) \
    6465    macro(PrivateBrowsingEnabled, privateBrowsingEnabled, Bool, bool, false) \
    6566    macro(TextAreasAreResizable, textAreasAreResizable, Bool, bool, true) \
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp

    r117613 r118018  
    329329}
    330330
     331void WKPreferencesSetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef, bool enabled)
     332{
     333    toImpl(preferencesRef)->setJavaScriptExperimentsEnabled(enabled);
     334}
     335
     336bool WKPreferencesGetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef)
     337{
     338    return toImpl(preferencesRef)->javaScriptExperimentsEnabled();
     339}
     340
    331341void WKPreferencesSetTextAreasAreResizable(WKPreferencesRef preferencesRef, bool resizable)
    332342{
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.h

    r113486 r118018  
    134134WK_EXPORT bool WKPreferencesGetDeveloperExtrasEnabled(WKPreferencesRef preferencesRef);
    135135
     136// Defaults to false.
     137WK_EXPORT void WKPreferencesSetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef, bool enabled);
     138WK_EXPORT bool WKPreferencesGetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef);
     139
    136140// Defaults to true.
    137141WK_EXPORT void WKPreferencesSetTextAreasAreResizable(WKPreferencesRef preferencesRef, bool resizable);
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r117869 r118018  
    19451945    settings->setPrivateBrowsingEnabled(store.getBoolValueForKey(WebPreferencesKey::privateBrowsingEnabledKey()));
    19461946    settings->setDeveloperExtrasEnabled(store.getBoolValueForKey(WebPreferencesKey::developerExtrasEnabledKey()));
     1947    settings->setJavaScriptExperimentsEnabled(store.getBoolValueForKey(WebPreferencesKey::javaScriptExperimentsEnabledKey()));
    19471948    settings->setTextAreasAreResizable(store.getBoolValueForKey(WebPreferencesKey::textAreasAreResizableKey()));
    19481949    settings->setNeedsSiteSpecificQuirks(store.getBoolValueForKey(WebPreferencesKey::needsSiteSpecificQuirksKey()));
  • trunk/Tools/ChangeLog

    r118009 r118018  
     12012-05-21  Gavin Barraclough  <barraclough@apple.com>
     2
     3        Disable private names by default in WebCore
     4        https://bugs.webkit.org/show_bug.cgi?id=87088
     5
     6        Reviewed by Geoff Garen.
     7
     8        r117859 introduced a preliminary implementation of ES6-like private name objects to JSC.
     9        These are probably not yet ready to be web-facing, so disabling by default in WebCore.
     10        Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test.
     11
     12        * DumpRenderTree/mac/DumpRenderTree.mm:
     13        (resetDefaultsToConsistentValues):
     14            - Enable private name support in DRT.
     15        * WebKitTestRunner/TestController.cpp:
     16        (WTR::TestController::resetStateToConsistentValues):
     17            - Enable private name support in WKTR.
     18
    1192012-05-22  Martin Robinson  <mrobinson@igalia.com>
    220
  • trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm

    r117771 r118018  
    640640    [preferences setOfflineWebApplicationCacheEnabled:YES];
    641641    [preferences setDeveloperExtrasEnabled:NO];
     642    [preferences setJavaScriptExperimentsEnabled:YES];
    642643    [preferences setLoadsImagesAutomatically:YES];
    643644    [preferences setLoadsSiteIconsIgnoringImageLoadingPreference:NO];
  • trunk/Tools/WebKitTestRunner/TestController.cpp

    r117827 r118018  
    443443    WKPreferencesSetWebAudioEnabled(preferences, true);
    444444    WKPreferencesSetDeveloperExtrasEnabled(preferences, true);
     445    WKPreferencesSetJavaScriptExperimentsEnabled(preferences, true);
    445446    WKPreferencesSetJavaScriptCanOpenWindowsAutomatically(preferences, true);
    446447    WKPreferencesSetJavaScriptCanAccessClipboard(preferences, true);
Note: See TracChangeset for help on using the changeset viewer.