Changeset 180547 in webkit


Ignore:
Timestamp:
Feb 23, 2015 7:47:29 PM (9 years ago)
Author:
Yusuke Suzuki
Message:

REGRESSION(r179429): Can't type comments in Facebook
https://bugs.webkit.org/show_bug.cgi?id=141859

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

When window.Symbol is exposed to user-space pages,
Facebook's JavaScript use it (maybe, for immutable-js and React.js's unique key).
However, to work with Symbols completely, it also requires
1) Object.getOwnPropertySymbols (for mixin including Symbols)
2) the latest ES6 Iterator interface that uses Iterator.next and it returns { done: boolean, value: value }.
Since they are not landed yet, comments in Facebook don't work.

This patch introduces RuntimeFlags for JavaScriptCore.
Specifying SymbolEnabled flag under test runner and inspector to continue to work with Symbol.
And drop JavaScriptExperimentsEnabled flag
because it is no longer used and use case of this is duplicated to runtime flags.

(GlobalObject::javaScriptRuntimeFlags):
(GlobalObject::javaScriptExperimentsEnabled): Deleted.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::finishCreation):
(JSC::JSGlobalObject::javaScriptRuntimeFlags):
(JSC::JSGlobalObject::javaScriptExperimentsEnabled): Deleted.

  • runtime/RuntimeFlags.h: Added.

(JSC::RuntimeFlags::RuntimeFlags):
(JSC::RuntimeFlags::createAllEnabled):

Source/WebCore:

Enable SymbolEnabled runtime flag in inspector context.

  • ForwardingHeaders/runtime/RuntimeFlags.h: Added.
  • WebCore.order:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
(WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled): Deleted.

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
(WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled): Deleted.

  • bindings/js/JSWorkerGlobalScopeBase.h:
  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):

  • page/Settings.h:
  • page/Settings.in:

Source/WebKit/mac:

Introduce SymbolEnabled and drop javaScriptExperimentsEnabled.
Private API, javaScriptExperimentsEnabled is dropped.

  • Misc/WebNSDictionaryExtras.h:
  • Misc/WebNSDictionaryExtras.m:

(-[NSMutableDictionary _webkit_setUnsignedInt:forKey:]):

  • WebKit.order:
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences _setUnsignedIntValue:forKey:]):
(-[WebPreferences javaScriptRuntimeFlags]):
(-[WebPreferences setJavaScriptRuntimeFlags:]):
(-[WebPreferences setJavaScriptExperimentsEnabled:]): Deleted.
(-[WebPreferences javaScriptExperimentsEnabled]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

Enable SymbolEnabled in inspector context.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetJavaScriptRuntimeFlags):
(WKPreferencesGetJavaScriptRuntimeFlags):
(WKPreferencesSetJavaScriptExperimentsEnabled): Deleted.
(WKPreferencesGetJavaScriptExperimentsEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRef.h:
  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _javaScriptRuntimeFlags]):
(-[WKPreferences _setJavaScriptRuntimeFlags:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • mac/WebKit2.order:

Tools:

Drop javaScriptExperimentsEnabled and specify JavaScriptRuntimeFlagsAllEnabled as KJavaScriptRuntimeFlags.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

Location:
trunk
Files:
2 added
42 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r180546 r180547  
     12015-02-23  Yusuke Suzuki  <utatane.tea@gmail.com>
     2
     3        REGRESSION(r179429): Can't type comments in Facebook
     4        https://bugs.webkit.org/show_bug.cgi?id=141859
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        When window.Symbol is exposed to user-space pages,
     9        Facebook's JavaScript use it (maybe, for immutable-js and React.js's unique key).
     10        However, to work with Symbols completely, it also requires
     11        1) Object.getOwnPropertySymbols (for mixin including Symbols)
     12        2) the latest ES6 Iterator interface that uses Iterator.next and it returns { done: boolean, value: value }.
     13        Since they are not landed yet, comments in Facebook don't work.
     14
     15        This patch introduces RuntimeFlags for JavaScriptCore.
     16        Specifying SymbolEnabled flag under test runner and inspector to continue to work with Symbol.
     17        And drop JavaScriptExperimentsEnabled flag
     18        because it is no longer used and use case of this is duplicated to runtime flags.
     19
     20        * JavaScriptCore.order:
     21        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
     22        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
     23        * JavaScriptCore.xcodeproj/project.pbxproj:
     24        * jsc.cpp:
     25        (GlobalObject::javaScriptRuntimeFlags):
     26        (GlobalObject::javaScriptExperimentsEnabled): Deleted.
     27        * runtime/JSGlobalObject.cpp:
     28        (JSC::JSGlobalObject::JSGlobalObject):
     29        (JSC::JSGlobalObject::init):
     30        * runtime/JSGlobalObject.h:
     31        (JSC::JSGlobalObject::finishCreation):
     32        (JSC::JSGlobalObject::javaScriptRuntimeFlags):
     33        (JSC::JSGlobalObject::javaScriptExperimentsEnabled): Deleted.
     34        * runtime/RuntimeFlags.h: Added.
     35        (JSC::RuntimeFlags::RuntimeFlags):
     36        (JSC::RuntimeFlags::createAllEnabled):
     37
    1382015-02-23  Benjamin Poulain  <bpoulain@apple.com>
    239
  • trunk/Source/JavaScriptCore/JavaScriptCore.order

    r179429 r180547  
    638638_JSGlobalContextCreateInGroup
    639639__ZN3JSC14JSGlobalObjectC1ERNS_2VMEPNS_9StructureEPKNS_23GlobalObjectMethodTableE
    640 __ZN3JSC14JSGlobalObject28javaScriptExperimentsEnabledEPKS0_
    641640_JSGlobalContextRetain
    642641_JSStringCreateWithCFString
  • trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj

    r180460 r180547  
    16121612    <ClInclude Include="..\runtime\RegExpPrototype.h" />
    16131613    <ClInclude Include="..\runtime\Reject.h" />
     1614    <ClInclude Include="..\runtime\RuntimeFlags.h" />
    16141615    <ClInclude Include="..\runtime\SamplingCounter.h" />
    16151616    <ClInclude Include="..\runtime\SetConstructor.h" />
  • trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters

    r180258 r180547  
    28632863      <Filter>runtime</Filter>
    28642864    </ClInclude>
     2865    <ClInclude Include="..\runtime\RuntimeFlags.h">
     2866      <Filter>runtime</Filter>
     2867    </ClInclude>
    28652868    <ClInclude Include="..\runtime\SamplingCounter.h">
    28662869      <Filter>runtime</Filter>
  • trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r180460 r180547  
    950950                705B41B11A6E501E00716757 /* SymbolPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 705B41A91A6E501E00716757 /* SymbolPrototype.cpp */; };
    951951                705B41B21A6E501E00716757 /* SymbolPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = 705B41AA1A6E501E00716757 /* SymbolPrototype.h */; settings = {ATTRIBUTES = (Private, ); }; };
     952                70B0A9D11A9B66460001306A /* RuntimeFlags.h in Headers */ = {isa = PBXBuildFile; fileRef = 70B0A9D01A9B66200001306A /* RuntimeFlags.h */; settings = {ATTRIBUTES = (Private, ); }; };
    952953                7C008CD2186F8A9300955C24 /* JSPromiseFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C008CD0186F8A9300955C24 /* JSPromiseFunctions.cpp */; };
    953954                7C008CD3186F8A9300955C24 /* JSPromiseFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C008CD1186F8A9300955C24 /* JSPromiseFunctions.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    26292630                705B41A91A6E501E00716757 /* SymbolPrototype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolPrototype.cpp; sourceTree = "<group>"; };
    26302631                705B41AA1A6E501E00716757 /* SymbolPrototype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolPrototype.h; sourceTree = "<group>"; };
     2632                70B0A9D01A9B66200001306A /* RuntimeFlags.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RuntimeFlags.h; sourceTree = "<group>"; };
    26312633                7C008CD0186F8A9300955C24 /* JSPromiseFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = JSPromiseFunctions.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
    26322634                7C008CD1186F8A9300955C24 /* JSPromiseFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPromiseFunctions.h; sourceTree = "<group>"; };
     
    45374539                                0F6B1CB81861244C00845D97 /* RegisterPreservationMode.h */,
    45384540                                0FB7F39115ED8E3800F167B2 /* Reject.h */,
     4541                                70B0A9D01A9B66200001306A /* RuntimeFlags.h */,
    45394542                                0F7700911402FF280078EB39 /* SamplingCounter.cpp */,
    45404543                                0F77008E1402FDD60078EB39 /* SamplingCounter.h */,
     
    62766279                                0FF42748158EBE91004CB9FF /* udis86_syn.h in Headers */,
    62776280                                0FF42749158EBE91004CB9FF /* udis86_types.h in Headers */,
     6281                                70B0A9D11A9B66460001306A /* RuntimeFlags.h in Headers */,
    62786282                                A7E5AB391799E4B200D2833D /* UDis86Disassembler.h in Headers */,
    62796283                                A7A8AF4117ADB5F3005AB174 /* Uint16Array.h in Headers */,
  • trunk/Source/JavaScriptCore/jsc.cpp

    r180518 r180547  
    576576    }
    577577
    578     static bool javaScriptExperimentsEnabled(const JSGlobalObject*) { return true; }
     578    static RuntimeFlags javaScriptRuntimeFlags(const JSGlobalObject*) { return RuntimeFlags::createAllEnabled(); }
    579579
    580580protected:
     
    664664
    665665const ClassInfo GlobalObject::s_info = { "global", &JSGlobalObject::s_info, &globalObjectTable, CREATE_METHOD_TABLE(GlobalObject) };
    666 const GlobalObjectMethodTable GlobalObject::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptExperimentsEnabled, 0, &shouldInterruptScriptBeforeTimeout };
     666const GlobalObjectMethodTable GlobalObject::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptRuntimeFlags, 0, &shouldInterruptScriptBeforeTimeout };
    667667
    668668
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp

    r180460 r180547  
    146146const ClassInfo JSGlobalObject::s_info = { "GlobalObject", &Base::s_info, &globalObjectTable, CREATE_METHOD_TABLE(JSGlobalObject) };
    147147
    148 const GlobalObjectMethodTable JSGlobalObject::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptExperimentsEnabled, 0, &shouldInterruptScriptBeforeTimeout };
     148const GlobalObjectMethodTable JSGlobalObject::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptRuntimeFlags, 0, &shouldInterruptScriptBeforeTimeout };
    149149
    150150/* Source for JSGlobalObject.lut.h
     
    174174    , m_weakRandom(Options::forceWeakRandomSeed() ? Options::forcedWeakRandomSeed() : static_cast<unsigned>(randomNumber() * (std::numeric_limits<unsigned>::max() + 1.0)))
    175175    , m_evalEnabled(true)
    176     , m_experimentsEnabled(false)
     176    , m_runtimeFlags()
    177177    , m_consoleClient(nullptr)
    178178    , m_globalObjectMethodTable(globalObjectMethodTable ? globalObjectMethodTable : &s_globalObjectMethodTable)
     
    374374
    375375    FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE)
    376    
     376
     377    if (m_runtimeFlags.isSymbolEnabled())
     378        putDirectWithoutTransition(vm, vm.propertyNames->Symbol, symbolConstructor, DontEnum);
     379
    377380#undef PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE
    378381    PrototypeMap& prototypeMap = vm.prototypeMap;
     
    437440    JSConsole* consoleObject = JSConsole::create(vm, m_consoleStructure.get());
    438441    putDirectWithoutTransition(vm, Identifier(exec, "console"), consoleObject, DontEnum);
    439    
     442
    440443    resetPrototype(vm, prototype());
    441444}
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h

    r180460 r180547  
    3232#include "JSWeakObjectMapRefInternal.h"
    3333#include "NumberPrototype.h"
     34#include "RuntimeFlags.h"
    3435#include "SpecialPointer.h"
    3536#include "StringPrototype.h"
     
    8788
    8889#define DEFINE_STANDARD_BUILTIN(macro, upperName, lowerName) macro(upperName, lowerName, lowerName, JS ## upperName, upperName)
    89    
     90
     91#define FOR_EACH_EXPERIMENTAL_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \
     92    macro(Symbol, symbol, symbolObject, SymbolObject, Symbol) \
     93
    9094#define FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \
    9195    macro(Set, set, set, JSSet, Set) \
     
    9397    macro(Date, date, date, DateInstance, Date) \
    9498    macro(String, string, stringObject, StringObject, String) \
    95     macro(Symbol, symbol, symbolObject, SymbolObject, Symbol) \
    9699    macro(Boolean, boolean, booleanObject, BooleanObject, Boolean) \
    97100    macro(Number, number, numberObject, NumberObject, Number) \
     
    102105#define FOR_EACH_SIMPLE_BUILTIN_TYPE(macro) \
    103106    FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \
     107    FOR_EACH_EXPERIMENTAL_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \
    104108    DEFINE_STANDARD_BUILTIN(macro, ArrayIterator, arrayIterator) \
    105109    DEFINE_STANDARD_BUILTIN(macro, ArgumentsIterator, argumentsIterator) \
     
    132136    ShouldInterruptScriptFunctionPtr shouldInterruptScript;
    133137
    134     typedef bool (*JavaScriptExperimentsEnabledFunctionPtr)(const JSGlobalObject*);
    135     JavaScriptExperimentsEnabledFunctionPtr javaScriptExperimentsEnabled;
     138    typedef RuntimeFlags (*JavaScriptRuntimeFlagsFunctionPtr)(const JSGlobalObject*);
     139    JavaScriptRuntimeFlagsFunctionPtr javaScriptRuntimeFlags;
    136140
    137141    typedef void (*QueueTaskToEventLoopFunctionPtr)(const JSGlobalObject*, PassRefPtr<Microtask>);
     
    274278    bool m_evalEnabled;
    275279    String m_evalDisabledErrorMessage;
    276     bool m_experimentsEnabled;
     280    RuntimeFlags m_runtimeFlags;
    277281    ConsoleClient* m_consoleClient;
    278282
     
    310314        Base::finishCreation(vm);
    311315        structure()->setGlobalObject(vm, this);
    312         m_experimentsEnabled = m_globalObjectMethodTable->javaScriptExperimentsEnabled(this);
     316        m_runtimeFlags = m_globalObjectMethodTable->javaScriptRuntimeFlags(this);
    313317        init(vm);
    314318        setGlobalThis(vm, JSProxy::create(vm, JSProxy::createStructure(vm, this, prototype(), PureForwardingProxyType), this));
     
    319323        Base::finishCreation(vm);
    320324        structure()->setGlobalObject(vm, this);
    321         m_experimentsEnabled = m_globalObjectMethodTable->javaScriptExperimentsEnabled(this);
     325        m_runtimeFlags = m_globalObjectMethodTable->javaScriptRuntimeFlags(this);
    322326        init(vm);
    323327        setGlobalThis(vm, thisValue);
     
    547551    static bool shouldInterruptScript(const JSGlobalObject*) { return true; }
    548552    static bool shouldInterruptScriptBeforeTimeout(const JSGlobalObject*) { return false; }
    549     static bool javaScriptExperimentsEnabled(const JSGlobalObject*) { return false; }
     553    static RuntimeFlags javaScriptRuntimeFlags(const JSGlobalObject*) { return RuntimeFlags(); }
    550554
    551555    void queueMicrotask(PassRefPtr<Microtask>);
  • trunk/Source/WebCore/ChangeLog

    r180544 r180547  
     12015-02-23  Yusuke Suzuki  <utatane.tea@gmail.com>
     2
     3        REGRESSION(r179429): Can't type comments in Facebook
     4        https://bugs.webkit.org/show_bug.cgi?id=141859
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Enable SymbolEnabled runtime flag in inspector context.
     9
     10        * ForwardingHeaders/runtime/RuntimeFlags.h: Added.
     11        * WebCore.order:
     12        * WebCore.vcxproj/WebCore.vcxproj:
     13        * WebCore.vcxproj/WebCore.vcxproj.filters:
     14        * bindings/js/JSDOMWindowBase.cpp:
     15        (WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
     16        (WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled): Deleted.
     17        * bindings/js/JSDOMWindowBase.h:
     18        * bindings/js/JSWorkerGlobalScopeBase.cpp:
     19        (WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
     20        (WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled): Deleted.
     21        * bindings/js/JSWorkerGlobalScopeBase.h:
     22        * inspector/InspectorFrontendClientLocal.cpp:
     23        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
     24        * page/Settings.h:
     25        * page/Settings.in:
     26
    1272015-02-23  Benjamin Poulain  <benjamin@webkit.org>
    228
  • trunk/Source/WebCore/WebCore.order

    r180447 r180547  
    33363336__ZN7WebCore15JSDOMWindowBase14finishCreationERN3JSC2VMEPNS_16JSDOMWindowShellE
    33373337__ZN7WebCore17JSDOMGlobalObject14finishCreationERN3JSC2VMEPNS1_8JSObjectE
    3338 __ZN7WebCore15JSDOMWindowBase28javaScriptExperimentsEnabledEPKN3JSC14JSGlobalObjectE
    33393338__ZN7WebCore12gcControllerEv
    33403339__ZN7WebCore12GCController18garbageCollectSoonEv
  • trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj

    r180533 r180547  
    1913919139    <ClInclude Include="..\ForwardingHeaders\runtime\RegExp.h" />
    1914019140    <ClInclude Include="..\ForwardingHeaders\runtime\RegExpObject.h" />
     19141    <ClInclude Include="..\ForwardingHeaders\runtime\RuntimeFlags.h" />
    1914119142    <ClInclude Include="..\ForwardingHeaders\runtime\StorageBarrier.h" />
    1914219143    <ClInclude Include="..\ForwardingHeaders\runtime\StringPrototype.h" />
  • trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters

    r180533 r180547  
    1163211632      <Filter>ForwardingHeaders\runtime</Filter>
    1163311633    </ClInclude>
     11634    <ClInclude Include="..\ForwardingHeaders\runtime\RuntimeFlags.h">
     11635      <Filter>ForwardingHeaders\runtime</Filter>
     11636    </ClInclude>
    1163411637    <ClInclude Include="..\ForwardingHeaders\runtime\StringObject.h">
    1163511638      <Filter>ForwardingHeaders\runtime</Filter>
  • trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp

    r179609 r180547  
    5757const ClassInfo JSDOMWindowBase::s_info = { "Window", &JSDOMGlobalObject::s_info, 0, CREATE_METHOD_TABLE(JSDOMWindowBase) };
    5858
    59 const GlobalObjectMethodTable JSDOMWindowBase::s_globalObjectMethodTable = { &shouldAllowAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptExperimentsEnabled, &queueTaskToEventLoop, &shouldInterruptScriptBeforeTimeout };
     59const GlobalObjectMethodTable JSDOMWindowBase::s_globalObjectMethodTable = { &shouldAllowAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptRuntimeFlags, &queueTaskToEventLoop, &shouldInterruptScriptBeforeTimeout };
    6060
    6161JSDOMWindowBase::JSDOMWindowBase(VM& vm, Structure* structure, PassRefPtr<DOMWindow> window, JSDOMWindowShell* shell)
     
    170170}
    171171
    172 bool JSDOMWindowBase::javaScriptExperimentsEnabled(const JSGlobalObject* object)
     172RuntimeFlags JSDOMWindowBase::javaScriptRuntimeFlags(const JSGlobalObject* object)
    173173{
    174174    const JSDOMWindowBase* thisObject = static_cast<const JSDOMWindowBase*>(object);
    175175    Frame* frame = thisObject->impl().frame();
    176176    if (!frame)
    177         return false;
    178     return frame->settings().javaScriptExperimentsEnabled();
     177        return RuntimeFlags();
     178    return frame->settings().javaScriptRuntimeFlags();
    179179}
    180180
  • trunk/Source/WebCore/bindings/js/JSDOMWindowBase.h

    r173176 r180547  
    6565        static bool shouldInterruptScript(const JSC::JSGlobalObject*);
    6666        static bool shouldInterruptScriptBeforeTimeout(const JSC::JSGlobalObject*);
    67         static bool javaScriptExperimentsEnabled(const JSC::JSGlobalObject*);
     67        static JSC::RuntimeFlags javaScriptRuntimeFlags(const JSC::JSGlobalObject*);
    6868        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, PassRefPtr<JSC::Microtask>);
    6969       
  • trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp

    r178310 r180547  
    4444const ClassInfo JSWorkerGlobalScopeBase::s_info = { "WorkerGlobalScope", &JSDOMGlobalObject::s_info, 0, CREATE_METHOD_TABLE(JSWorkerGlobalScopeBase) };
    4545
    46 const GlobalObjectMethodTable JSWorkerGlobalScopeBase::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptExperimentsEnabled, &queueTaskToEventLoop, &shouldInterruptScriptBeforeTimeout };
     46const GlobalObjectMethodTable JSWorkerGlobalScopeBase::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptRuntimeFlags, &queueTaskToEventLoop, &shouldInterruptScriptBeforeTimeout };
    4747
    4848JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase(JSC::VM& vm, JSC::Structure* structure, PassRefPtr<WorkerGlobalScope> impl)
     
    9393}
    9494
    95 bool JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled(const JSGlobalObject* object)
     95RuntimeFlags JSWorkerGlobalScopeBase::javaScriptRuntimeFlags(const JSGlobalObject* object)
    9696{
    97     return JSGlobalObject::javaScriptExperimentsEnabled(object);
     97    return JSGlobalObject::javaScriptRuntimeFlags(object);
    9898}
    9999
  • trunk/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h

    r178310 r180547  
    5858        static bool shouldInterruptScript(const JSC::JSGlobalObject*);
    5959        static bool shouldInterruptScriptBeforeTimeout(const JSC::JSGlobalObject*);
    60         static bool javaScriptExperimentsEnabled(const JSC::JSGlobalObject*);
     60        static JSC::RuntimeFlags javaScriptRuntimeFlags(const JSC::JSGlobalObject*);
    6161        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, PassRefPtr<JSC::Microtask>);
    6262
  • trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp

    r178820 r180547  
    121121{
    122122    m_frontendPage->settings().setAllowFileAccessFromFileURLs(true);
     123    m_frontendPage->settings().setJavaScriptRuntimeFlags({
     124        JSC::RuntimeFlags::SymbolEnabled
     125    });
    123126    m_dispatchTask = std::make_unique<InspectorBackendDispatchTask>(inspectorController);
    124127}
  • trunk/Source/WebCore/page/Settings.h

    r179974 r180547  
    3636#include "Timer.h"
    3737#include <chrono>
     38#include <runtime/RuntimeFlags.h>
    3839#include <unicode/uscript.h>
    3940#include <wtf/HashMap.h>
  • trunk/Source/WebCore/page/Settings.in

    r180416 r180547  
    7474forceFTPDirectoryListings initial=false
    7575developerExtrasEnabled initial=false
    76 javaScriptExperimentsEnabled initial=false
    7776scriptMarkupEnabled initial=true
    7877needsSiteSpecificQuirks initial=false
     
    8887acceleratedFiltersEnabled initial=false
    8988useLegacyTextAlignPositionedElementBehavior initial=false
     89javaScriptRuntimeFlags type=JSC::RuntimeFlags
    9090
    9191# FIXME: This should really be disabled by default as it makes platforms that don't support the feature download files
  • trunk/Source/WebKit/mac/ChangeLog

    r180416 r180547  
     12015-02-23  Yusuke Suzuki  <utatane.tea@gmail.com>
     2
     3        REGRESSION(r179429): Can't type comments in Facebook
     4        https://bugs.webkit.org/show_bug.cgi?id=141859
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Introduce SymbolEnabled and drop javaScriptExperimentsEnabled.
     9        Private API, javaScriptExperimentsEnabled is dropped.
     10
     11        * Misc/WebNSDictionaryExtras.h:
     12        * Misc/WebNSDictionaryExtras.m:
     13        (-[NSMutableDictionary _webkit_setUnsignedInt:forKey:]):
     14        * WebKit.order:
     15        * WebView/WebPreferenceKeysPrivate.h:
     16        * WebView/WebPreferences.mm:
     17        (+[WebPreferences initialize]):
     18        (-[WebPreferences _setUnsignedIntValue:forKey:]):
     19        (-[WebPreferences javaScriptRuntimeFlags]):
     20        (-[WebPreferences setJavaScriptRuntimeFlags:]):
     21        (-[WebPreferences setJavaScriptExperimentsEnabled:]): Deleted.
     22        (-[WebPreferences javaScriptExperimentsEnabled]): Deleted.
     23        * WebView/WebPreferencesPrivate.h:
     24        * WebView/WebView.mm:
     25        (-[WebView _preferencesChanged:]):
     26
    1272015-02-20  Eric Carlson  <eric.carlson@apple.com>
    228
  • trunk/Source/WebKit/mac/Misc/WebNSDictionaryExtras.h

    r165676 r180547  
    4545- (void)_webkit_setLongLong:(long long)value forKey:(id)key;
    4646- (void)_webkit_setUnsignedLongLong:(unsigned long long)value forKey:(id)key;
    47 #if PLATFORM(IOS)
    4847- (void)_webkit_setUnsignedInt:(unsigned)value forKey:(id)key;
    49 #endif
    5048@end
  • trunk/Source/WebKit/mac/Misc/WebNSDictionaryExtras.m

    r168047 r180547  
    119119}
    120120
    121 #if PLATFORM(IOS)
    122121- (void)_webkit_setUnsignedInt:(unsigned)value forKey:(id)key
    123122{
     
    126125    [object release];
    127126}
    128 #endif
    129127
    130128@end
  • trunk/Source/WebKit/mac/WebKit.order

    r176112 r180547  
    288288-[WebPreferences(WebPrivate) showsToolTipOverTruncatedText]
    289289-[WebPreferences(WebPrivate) developerExtrasEnabled]
    290 -[WebPreferences(WebPrivate) javaScriptExperimentsEnabled]
    291290-[WebPreferences(WebPrivate) authorAndUserStylesEnabled]
    292291-[WebPreferences(WebPrivate) applicationChromeModeEnabled]
     
    12471246-[WebPreferences(WebPrivate) setJavaScriptCanAccessClipboard:]
    12481247-[WebPreferences(WebPrivate) setOfflineWebApplicationCacheEnabled:]
    1249 -[WebPreferences(WebPrivate) setJavaScriptExperimentsEnabled:]
    12501248-[WebPreferences(WebPrivate) setLoadsSiteIconsIgnoringImageLoadingPreference:]
    12511249-[WebPreferences(WebPrivate) setFrameFlatteningEnabled:]
  • trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h

    r179368 r180547  
    8585#define WebKitForceFTPDirectoryListings @"WebKitForceFTPDirectoryListings"
    8686#define WebKitDeveloperExtrasEnabledPreferenceKey @"WebKitDeveloperExtrasEnabledPreferenceKey"
    87 #define WebKitJavaScriptExperimentsEnabledPreferenceKey @"WebKitJavaScriptExperimentsEnabledPreferenceKey"
     87#define WebKitJavaScriptRuntimeFlagsPreferenceKey @"WebKitJavaScriptRuntimeFlagsPreferenceKey"
    8888#define WebKitAuthorAndUserStylesEnabledPreferenceKey @"WebKitAuthorAndUserStylesEnabledPreferenceKey"
    8989#define WebKitDOMTimersThrottlingEnabledPreferenceKey @"WebKitDOMTimersThrottlingEnabledPreferenceKey"
  • trunk/Source/WebKit/mac/WebView/WebPreferences.mm

    r179368 r180547  
    474474        [NSNumber numberWithBool:YES],  WebKitPageCacheSupportsPluginsPreferenceKey,
    475475        [NSNumber numberWithBool:NO],   WebKitDeveloperExtrasEnabledPreferenceKey,
    476         [NSNumber numberWithBool:NO],   WebKitJavaScriptExperimentsEnabledPreferenceKey,
     476        [NSNumber numberWithUnsignedInt:0], WebKitJavaScriptRuntimeFlagsPreferenceKey,
    477477        [NSNumber numberWithBool:YES],  WebKitAuthorAndUserStylesEnabledPreferenceKey,
    478478        [NSNumber numberWithBool:YES],  WebKitDOMTimersThrottlingEnabledPreferenceKey,
     
    668668}
    669669
    670 #if PLATFORM(IOS)
    671670- (unsigned int)_unsignedIntValueForKey:(NSString *)key
    672671{
     
    679678        return;
    680679    NSString *_key = KEY(key);
     680#if PLATFORM(IOS)
    681681    dispatch_barrier_sync(_private->readWriteQueue, ^{
     682#endif
    682683    [_private->values.get() _webkit_setUnsignedInt:value forKey:_key];
     684#if PLATFORM(IOS)
    683685    });
     686#endif
    684687    if (_private->autosaves)
    685688        [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithUnsignedInt:value] forKey:_key];
    686689    [self _postPreferencesChangedNotification];
    687690}
    688 #endif
    689691
    690692- (float)_floatValueForKey:(NSString *)key
     
    11851187}
    11861188
    1187 - (void)setJavaScriptExperimentsEnabled:(BOOL)flag
    1188 {
    1189     [self _setBoolValue:flag forKey:WebKitJavaScriptExperimentsEnabledPreferenceKey];
    1190 }
    1191 
    1192 - (BOOL)javaScriptExperimentsEnabled
    1193 {
    1194     return [self _boolValueForKey:WebKitJavaScriptExperimentsEnabledPreferenceKey];
     1189- (WebKitJavaScriptRuntimeFlags)javaScriptRuntimeFlags
     1190{
     1191    return static_cast<WebKitJavaScriptRuntimeFlags>([self _unsignedIntValueForKey:WebKitJavaScriptRuntimeFlagsPreferenceKey]);
     1192}
     1193
     1194- (void)setJavaScriptRuntimeFlags:(WebKitJavaScriptRuntimeFlags)flags
     1195{
     1196    [self _setUnsignedIntValue:flags forKey:WebKitJavaScriptRuntimeFlagsPreferenceKey];
    11951197}
    11961198
  • trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h

    r179368 r180547  
    5353} WebStorageBlockingPolicy;
    5454
     55typedef enum {
     56    WebKitJavaScriptRuntimeFlagsSymbolEnabled = 1u << 0,
     57    WebKitJavaScriptRuntimeFlagsAllEnabled = WebKitJavaScriptRuntimeFlagsSymbolEnabled
     58} WebKitJavaScriptRuntimeFlags;
     59
    5560extern NSString *WebPreferencesChangedNotification;
    5661extern NSString *WebPreferencesRemovedNotification;
     
    6873- (void)setDeveloperExtrasEnabled:(BOOL)flag;
    6974
    70 - (BOOL)javaScriptExperimentsEnabled;
    71 - (void)setJavaScriptExperimentsEnabled:(BOOL)flag;
     75- (WebKitJavaScriptRuntimeFlags)javaScriptRuntimeFlags;
     76- (void)setJavaScriptRuntimeFlags:(WebKitJavaScriptRuntimeFlags)flags;
    7277
    7378- (BOOL)authorAndUserStylesEnabled;
  • trunk/Source/WebKit/mac/WebView/WebView.mm

    r180291 r180547  
    22352235
    22362236    settings.setDeveloperExtrasEnabled([preferences developerExtrasEnabled]);
    2237     settings.setJavaScriptExperimentsEnabled([preferences javaScriptExperimentsEnabled]);
     2237    settings.setJavaScriptRuntimeFlags(JSC::RuntimeFlags([preferences javaScriptRuntimeFlags]));
    22382238    settings.setAuthorAndUserStylesEnabled([preferences authorAndUserStylesEnabled]);
    22392239
  • trunk/Source/WebKit2/ChangeLog

    r180539 r180547  
     12015-02-23  Yusuke Suzuki  <utatane.tea@gmail.com>
     2
     3        REGRESSION(r179429): Can't type comments in Facebook
     4        https://bugs.webkit.org/show_bug.cgi?id=141859
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Enable SymbolEnabled in inspector context.
     9
     10        * Shared/WebPreferencesDefinitions.h:
     11        * UIProcess/API/C/WKPreferences.cpp:
     12        (WKPreferencesSetJavaScriptRuntimeFlags):
     13        (WKPreferencesGetJavaScriptRuntimeFlags):
     14        (WKPreferencesSetJavaScriptExperimentsEnabled): Deleted.
     15        (WKPreferencesGetJavaScriptExperimentsEnabled): Deleted.
     16        * UIProcess/API/C/WKPreferencesRef.h:
     17        * UIProcess/API/C/WKPreferencesRefPrivate.h:
     18        * UIProcess/API/Cocoa/WKPreferences.mm:
     19        (-[WKPreferences _javaScriptRuntimeFlags]):
     20        (-[WKPreferences _setJavaScriptRuntimeFlags:]):
     21        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
     22        * UIProcess/efl/WebInspectorProxyEfl.cpp:
     23        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
     24        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
     25        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
     26        * UIProcess/mac/WebInspectorProxyMac.mm:
     27        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
     28        * WebProcess/WebPage/WebPage.cpp:
     29        (WebKit::WebPage::updatePreferences):
     30        * mac/WebKit2.order:
     31
    1322015-02-23  Benjamin Poulain  <bpoulain@apple.com>
    233
  • trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h

    r179828 r180547  
    9696    macro(XSSAuditorEnabled, xssAuditorEnabled, Bool, bool, true) \
    9797    macro(FrameFlatteningEnabled, frameFlatteningEnabled, Bool, bool, DEFAULT_FRAME_FLATTENING_ENABLED) \
    98     macro(JavaScriptExperimentsEnabled, javaScriptExperimentsEnabled, Bool, bool, false) \
    9998    macro(PrivateBrowsingEnabled, privateBrowsingEnabled, Bool, bool, false) \
    10099    macro(TextAreasAreResizable, textAreasAreResizable, Bool, bool, DEFAULT_TEXT_AREAS_ARE_RESIZABLE) \
     
    218217    macro(InspectorAttachmentSide, inspectorAttachmentSide, UInt32, uint32_t, 0) \
    219218    macro(StorageBlockingPolicy, storageBlockingPolicy, UInt32, uint32_t, WebCore::SecurityOrigin::BlockThirdPartyStorage) \
     219    macro(JavaScriptRuntimeFlags, javaScriptRuntimeFlags, UInt32, uint32_t, 0) \
    220220    \
    221221
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp

    r179368 r180547  
    350350}
    351351
    352 void WKPreferencesSetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef, bool enabled)
    353 {
    354     toImpl(preferencesRef)->setJavaScriptExperimentsEnabled(enabled);
    355 }
    356 
    357 bool WKPreferencesGetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef)
    358 {
    359     return toImpl(preferencesRef)->javaScriptExperimentsEnabled();
     352void WKPreferencesSetJavaScriptRuntimeFlags(WKPreferencesRef preferencesRef, WKJavaScriptRuntimeFlagSet javaScriptRuntimeFlagSet)
     353{
     354    toImpl(preferencesRef)->setJavaScriptRuntimeFlags(javaScriptRuntimeFlagSet);
     355}
     356
     357WKJavaScriptRuntimeFlagSet WKPreferencesGetJavaScriptRuntimeFlags(WKPreferencesRef preferencesRef)
     358{
     359    return toImpl(preferencesRef)->javaScriptRuntimeFlags();
    360360}
    361361
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRef.h

    r177110 r180547  
    151151WK_EXPORT bool WKPreferencesGetDeveloperExtrasEnabled(WKPreferencesRef preferencesRef);
    152152
    153 // Defaults to false.
    154 WK_EXPORT void WKPreferencesSetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef, bool enabled);
    155 WK_EXPORT bool WKPreferencesGetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef);
    156 
    157153// Defaults to true.
    158154WK_EXPORT void WKPreferencesSetTextAreasAreResizable(WKPreferencesRef preferencesRef, bool resizable);
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h

    r179404 r180547  
    5050typedef enum WKEditableLinkBehavior WKEditableLinkBehavior;
    5151
     52enum WKJavaScriptRuntimeFlags {
     53    kWKJavaScriptRuntimeFlagsSymbolEnabled = 1 << 0,
     54    kWKJavaScriptRuntimeFlagsAllEnabled = kWKJavaScriptRuntimeFlagsSymbolEnabled
     55};
     56typedef unsigned WKJavaScriptRuntimeFlagSet;
     57
    5258// Creates a copy with no identifier.
    5359WK_EXPORT WKPreferencesRef WKPreferencesCreateCopy(WKPreferencesRef);
     
    347353WK_EXPORT bool WKPreferencesGetScreenFontSubstitutionEnabled(WKPreferencesRef preferences);
    348354
     355// Defaults to 0.
     356WK_EXPORT void WKPreferencesSetJavaScriptRuntimeFlags(WKPreferencesRef preferences, WKJavaScriptRuntimeFlagSet javascriptRuntimeFlagSet);
     357WK_EXPORT WKJavaScriptRuntimeFlagSet WKPreferencesGetJavaScriptRuntimeFlags(WKPreferencesRef preferences);
     358
    349359#ifdef __cplusplus
    350360}
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm

    r179573 r180547  
    268268}
    269269
     270- (_WKJavaScriptRuntimeFlags)_javaScriptRuntimeFlags
     271{
     272    return _preferences->javaScriptRuntimeFlags();
     273}
     274
     275- (void)_setJavaScriptRuntimeFlags:(_WKJavaScriptRuntimeFlags)javaScriptRuntimeFlags
     276{
     277    _preferences->setJavaScriptRuntimeFlags(javaScriptRuntimeFlags);
     278}
     279
    270280- (BOOL)_isStandalone
    271281{
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h

    r179573 r180547  
    4343} WK_ENUM_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
    4444
     45typedef NS_OPTIONS(NSUInteger, _WKJavaScriptRuntimeFlags) {
     46    _WKJavaScriptRuntimeFlagsSymbolEnabled = 1 << 0,
     47    _WKJavaScriptRuntimeFlagsAllEnabled = _WKJavaScriptRuntimeFlagsSymbolEnabled
     48} WK_ENUM_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
     49
    4550@interface WKPreferences (WKPrivate)
    4651
     
    6065
    6166@property (nonatomic, setter=_setAllowFileAccessFromFileURLs:) BOOL _allowFileAccessFromFileURLs WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
     67@property (nonatomic, setter=_setJavaScriptRuntimeFlags:) _WKJavaScriptRuntimeFlags _javaScriptRuntimeFlags WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
    6268
    6369@property (nonatomic, setter=_setStandalone:, getter=_isStandalone) BOOL _standalone WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
  • trunk/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp

    r179705 r180547  
    115115    WKPreferencesRef wkPreferences = WKPageGroupGetPreferences(wkPageGroup);
    116116    WKPreferencesSetFileAccessFromFileURLsAllowed(wkPreferences, true);
     117    WKPreferencesSetJavaScriptRuntimeFlags(wkPreferences, kWKJavaScriptRuntimeFlagsSymbolEnabled);
    117118
    118119    return toImpl(WKViewGetPage(wkView));
  • trunk/Source/WebKit2/UIProcess/gtk/WebInspectorProxyGtk.cpp

    r179821 r180547  
    7070#endif
    7171    preferences->setAllowFileAccessFromFileURLs(true);
     72    preferences->setJavaScriptRuntimeFlags({
     73        JSC::RuntimeFlags::SymbolEnabled
     74    });
    7275    RefPtr<WebPageGroup> pageGroup = WebPageGroup::create(inspectorPageGroupIdentifier(), false, false);
    7376    m_inspectorView = GTK_WIDGET(webkitWebViewBaseCreate(&inspectorProcessPool(), preferences.get(), pageGroup.get(), nullptr, nullptr));
  • trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm

    r180112 r180547  
    489489#endif
    490490    preferences._allowFileAccessFromFileURLs = YES;
     491    preferences._javaScriptRuntimeFlags = _WKJavaScriptRuntimeFlagsSymbolEnabled;
    491492    [configuration setProcessPool: ::WebKit::wrapper(inspectorProcessPool())];
    492493    [configuration _setGroupIdentifier:inspectorPageGroupIdentifier()];
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r180465 r180547  
    26542654        setSessionID(SessionID::defaultSessionID());
    26552655    settings.setDeveloperExtrasEnabled(store.getBoolValueForKey(WebPreferencesKey::developerExtrasEnabledKey()));
    2656     settings.setJavaScriptExperimentsEnabled(store.getBoolValueForKey(WebPreferencesKey::javaScriptExperimentsEnabledKey()));
     2656    settings.setJavaScriptRuntimeFlags(RuntimeFlags(store.getUInt32ValueForKey(WebPreferencesKey::javaScriptRuntimeFlagsKey())));
    26572657    settings.setTextAreasAreResizable(store.getBoolValueForKey(WebPreferencesKey::textAreasAreResizableKey()));
    26582658    settings.setNeedsSiteSpecificQuirks(store.getBoolValueForKey(WebPreferencesKey::needsSiteSpecificQuirksKey()));
  • trunk/Source/WebKit2/mac/WebKit2.order

    r176112 r180547  
    177177__ZN6WebKit17WebPreferencesKey25frameFlatteningEnabledKeyEv
    178178__ZN6WebKit17WebPreferencesKey25developerExtrasEnabledKeyEv
    179 __ZN6WebKit17WebPreferencesKey31javaScriptExperimentsEnabledKeyEv
    180179__ZN6WebKit17WebPreferencesKey25privateBrowsingEnabledKeyEv
    181180__ZN6WebKit17WebPreferencesKey24textAreasAreResizableKeyEv
     
    81308129_WKPreferencesSetWebAudioEnabled
    81318130__ZN6WebKit14WebPreferences18setWebAudioEnabledERKb
    8132 _WKPreferencesSetJavaScriptExperimentsEnabled
    8133 __ZN6WebKit14WebPreferences31setJavaScriptExperimentsEnabledERKb
    81348131_WKPreferencesSetJavaScriptCanAccessClipboard
    81358132__ZN6WebKit14WebPreferences31setJavaScriptCanAccessClipboardERKb
  • trunk/Tools/ChangeLog

    r180542 r180547  
     12015-02-23  Yusuke Suzuki  <utatane.tea@gmail.com>
     2
     3        REGRESSION(r179429): Can't type comments in Facebook
     4        https://bugs.webkit.org/show_bug.cgi?id=141859
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Drop javaScriptExperimentsEnabled and specify JavaScriptRuntimeFlagsAllEnabled as KJavaScriptRuntimeFlags.
     9
     10        * DumpRenderTree/mac/DumpRenderTree.mm:
     11        (resetWebPreferencesToConsistentValues):
     12        * WebKitTestRunner/TestController.cpp:
     13        (WTR::TestController::resetPreferencesToConsistentValues):
     14
    1152015-02-23  KwangHyuk Kim  <hyuki.kim@samsung.com>
    216
  • trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm

    r179639 r180547  
    840840    [preferences setOfflineWebApplicationCacheEnabled:YES];
    841841    [preferences setDeveloperExtrasEnabled:NO];
    842     [preferences setJavaScriptExperimentsEnabled:YES];
     842    [preferences setJavaScriptRuntimeFlags:WebKitJavaScriptRuntimeFlagsAllEnabled];
    843843    [preferences setLoadsImagesAutomatically:YES];
    844844    [preferences setLoadsSiteIconsIgnoringImageLoadingPreference:NO];
  • trunk/Tools/WebKitTestRunner/TestController.cpp

    r179754 r180547  
    550550    WKPreferencesSetMediaStreamEnabled(preferences, true);
    551551    WKPreferencesSetDeveloperExtrasEnabled(preferences, true);
    552     WKPreferencesSetJavaScriptExperimentsEnabled(preferences, true);
     552    WKPreferencesSetJavaScriptRuntimeFlags(preferences, kWKJavaScriptRuntimeFlagsAllEnabled);
    553553    WKPreferencesSetJavaScriptCanOpenWindowsAutomatically(preferences, true);
    554554    WKPreferencesSetJavaScriptCanAccessClipboard(preferences, true);
Note: See TracChangeset for help on using the changeset viewer.