| Differences between
and this patch
- a/Source/JavaScriptCore/ChangeLog +37 lines
Lines 1-3 a/Source/JavaScriptCore/ChangeLog_sec1
1
2015-02-24  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 NOBODY (OOPS!).
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
1
2015-02-23  Commit Queue  <commit-queue@webkit.org>
38
2015-02-23  Commit Queue  <commit-queue@webkit.org>
2
39
3
        Unreviewed, rolling out r180547 and r180550.
40
        Unreviewed, rolling out r180547 and r180550.
- a/Source/WebCore/ChangeLog +26 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2015-02-24  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 NOBODY (OOPS!).
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
1
2015-02-23  Commit Queue  <commit-queue@webkit.org>
27
2015-02-23  Commit Queue  <commit-queue@webkit.org>
2
28
3
        Unreviewed, rolling out r180547 and r180550.
29
        Unreviewed, rolling out r180547 and r180550.
- a/Source/WebKit/mac/ChangeLog +26 lines
Lines 1-3 a/Source/WebKit/mac/ChangeLog_sec1
1
2015-02-24  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 NOBODY (OOPS!).
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
1
2015-02-23  Commit Queue  <commit-queue@webkit.org>
27
2015-02-23  Commit Queue  <commit-queue@webkit.org>
2
28
3
        Unreviewed, rolling out r180547 and r180550.
29
        Unreviewed, rolling out r180547 and r180550.
- a/Source/WebKit/win/ChangeLog +21 lines
Lines 1-3 a/Source/WebKit/win/ChangeLog_sec1
1
2015-02-24  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 NOBODY (OOPS!).
7
8
        Added Windows support.
9
10
        * Interfaces/IWebPreferences.idl:
11
        * Interfaces/IWebPreferencesPrivate.idl:
12
        * WebPreferenceKeysPrivate.h:
13
        * WebPreferences.cpp:
14
        (WebPreferences::initializeDefaultSettings):
15
        (WebPreferences::javaScriptRuntimeFlags):
16
        (WebPreferences::setJavaScriptRuntimeFlags):
17
        (WebPreferences::isWebSecurityEnabled):
18
        * WebPreferences.h:
19
        * WebView.cpp:
20
        (WebView::notifyPreferencesChanged):
21
1
2015-02-18  Chris Dumez  <cdumez@apple.com>
22
2015-02-18  Chris Dumez  <cdumez@apple.com>
2
23
3
        Access FontCache global instance via singleton() static member function
24
        Access FontCache global instance via singleton() static member function
- a/Source/WebKit2/ChangeLog +31 lines
Lines 1-3 a/Source/WebKit2/ChangeLog_sec1
1
2015-02-24  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 NOBODY (OOPS!).
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
1
2015-02-23  Commit Queue  <commit-queue@webkit.org>
32
2015-02-23  Commit Queue  <commit-queue@webkit.org>
2
33
3
        Unreviewed, rolling out r180547 and r180550.
34
        Unreviewed, rolling out r180547 and r180550.
- a/Source/JavaScriptCore/JavaScriptCore.order -1 lines
Lines 637-643 __ZN3JSC14MachineThreads29makeUsableFromMultipleThreadsEv a/Source/JavaScriptCore/JavaScriptCore.order_sec1
637
__ZN3JSC12GlobalJSLockD1Ev
637
__ZN3JSC12GlobalJSLockD1Ev
638
_JSGlobalContextCreateInGroup
638
_JSGlobalContextCreateInGroup
639
__ZN3JSC14JSGlobalObjectC1ERNS_2VMEPNS_9StructureEPKNS_23GlobalObjectMethodTableE
639
__ZN3JSC14JSGlobalObjectC1ERNS_2VMEPNS_9StructureEPKNS_23GlobalObjectMethodTableE
640
__ZN3JSC14JSGlobalObject28javaScriptExperimentsEnabledEPKS0_
641
_JSGlobalContextRetain
640
_JSGlobalContextRetain
642
_JSStringCreateWithCFString
641
_JSStringCreateWithCFString
643
_JSEvaluateScript
642
_JSEvaluateScript
- a/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj +1 lines
Lines 1611-1616 a/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj_sec1
1611
    <ClInclude Include="..\runtime\RegExpObject.h" />
1611
    <ClInclude Include="..\runtime\RegExpObject.h" />
1612
    <ClInclude Include="..\runtime\RegExpPrototype.h" />
1612
    <ClInclude Include="..\runtime\RegExpPrototype.h" />
1613
    <ClInclude Include="..\runtime\Reject.h" />
1613
    <ClInclude Include="..\runtime\Reject.h" />
1614
    <ClInclude Include="..\runtime\RuntimeFlags.h" />
1614
    <ClInclude Include="..\runtime\SamplingCounter.h" />
1615
    <ClInclude Include="..\runtime\SamplingCounter.h" />
1615
    <ClInclude Include="..\runtime\SetConstructor.h" />
1616
    <ClInclude Include="..\runtime\SetConstructor.h" />
1616
    <ClInclude Include="..\runtime\SetIteratorConstructor.h" />
1617
    <ClInclude Include="..\runtime\SetIteratorConstructor.h" />
- a/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters +3 lines
Lines 2862-2867 a/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters_sec1
2862
    <ClInclude Include="..\runtime\Reject.h">
2862
    <ClInclude Include="..\runtime\Reject.h">
2863
      <Filter>runtime</Filter>
2863
      <Filter>runtime</Filter>
2864
    </ClInclude>
2864
    </ClInclude>
2865
    <ClInclude Include="..\runtime\RuntimeFlags.h">
2866
      <Filter>runtime</Filter>
2867
    </ClInclude>
2865
    <ClInclude Include="..\runtime\SamplingCounter.h">
2868
    <ClInclude Include="..\runtime\SamplingCounter.h">
2866
      <Filter>runtime</Filter>
2869
      <Filter>runtime</Filter>
2867
    </ClInclude>
2870
    </ClInclude>
- a/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj +4 lines
Lines 949-954 a/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj_sec1
949
		705B41B01A6E501E00716757 /* SymbolObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 705B41A81A6E501E00716757 /* SymbolObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
949
		705B41B01A6E501E00716757 /* SymbolObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 705B41A81A6E501E00716757 /* SymbolObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
950
		705B41B11A6E501E00716757 /* SymbolPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 705B41A91A6E501E00716757 /* SymbolPrototype.cpp */; };
950
		705B41B11A6E501E00716757 /* SymbolPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 705B41A91A6E501E00716757 /* SymbolPrototype.cpp */; };
951
		705B41B21A6E501E00716757 /* SymbolPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = 705B41AA1A6E501E00716757 /* SymbolPrototype.h */; settings = {ATTRIBUTES = (Private, ); }; };
951
		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, ); }; };
952
		7C008CD2186F8A9300955C24 /* JSPromiseFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C008CD0186F8A9300955C24 /* JSPromiseFunctions.cpp */; };
953
		7C008CD2186F8A9300955C24 /* JSPromiseFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C008CD0186F8A9300955C24 /* JSPromiseFunctions.cpp */; };
953
		7C008CD3186F8A9300955C24 /* JSPromiseFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C008CD1186F8A9300955C24 /* JSPromiseFunctions.h */; settings = {ATTRIBUTES = (Private, ); }; };
954
		7C008CD3186F8A9300955C24 /* JSPromiseFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C008CD1186F8A9300955C24 /* JSPromiseFunctions.h */; settings = {ATTRIBUTES = (Private, ); }; };
954
		7C008CDA187124BB00955C24 /* JSPromiseDeferred.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C008CD8187124BB00955C24 /* JSPromiseDeferred.cpp */; };
955
		7C008CDA187124BB00955C24 /* JSPromiseDeferred.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C008CD8187124BB00955C24 /* JSPromiseDeferred.cpp */; };
Lines 2628-2633 a/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj_sec2
2628
		705B41A81A6E501E00716757 /* SymbolObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolObject.h; sourceTree = "<group>"; };
2629
		705B41A81A6E501E00716757 /* SymbolObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolObject.h; sourceTree = "<group>"; };
2629
		705B41A91A6E501E00716757 /* SymbolPrototype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolPrototype.cpp; sourceTree = "<group>"; };
2630
		705B41A91A6E501E00716757 /* SymbolPrototype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolPrototype.cpp; sourceTree = "<group>"; };
2630
		705B41AA1A6E501E00716757 /* SymbolPrototype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolPrototype.h; sourceTree = "<group>"; };
2631
		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>"; };
2631
		7C008CD0186F8A9300955C24 /* JSPromiseFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = JSPromiseFunctions.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
2633
		7C008CD0186F8A9300955C24 /* JSPromiseFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = JSPromiseFunctions.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
2632
		7C008CD1186F8A9300955C24 /* JSPromiseFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPromiseFunctions.h; sourceTree = "<group>"; };
2634
		7C008CD1186F8A9300955C24 /* JSPromiseFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPromiseFunctions.h; sourceTree = "<group>"; };
2633
		7C008CD8187124BB00955C24 /* JSPromiseDeferred.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPromiseDeferred.cpp; sourceTree = "<group>"; };
2635
		7C008CD8187124BB00955C24 /* JSPromiseDeferred.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPromiseDeferred.cpp; sourceTree = "<group>"; };
Lines 4536-4541 a/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj_sec3
4536
				BCD202C00E1706A7002C7E82 /* RegExpPrototype.h */,
4538
				BCD202C00E1706A7002C7E82 /* RegExpPrototype.h */,
4537
				0F6B1CB81861244C00845D97 /* RegisterPreservationMode.h */,
4539
				0F6B1CB81861244C00845D97 /* RegisterPreservationMode.h */,
4538
				0FB7F39115ED8E3800F167B2 /* Reject.h */,
4540
				0FB7F39115ED8E3800F167B2 /* Reject.h */,
4541
				70B0A9D01A9B66200001306A /* RuntimeFlags.h */,
4539
				0F7700911402FF280078EB39 /* SamplingCounter.cpp */,
4542
				0F7700911402FF280078EB39 /* SamplingCounter.cpp */,
4540
				0F77008E1402FDD60078EB39 /* SamplingCounter.h */,
4543
				0F77008E1402FDD60078EB39 /* SamplingCounter.h */,
4541
				A7299DA317D12858005F5FF9 /* SetConstructor.cpp */,
4544
				A7299DA317D12858005F5FF9 /* SetConstructor.cpp */,
Lines 6275-6280 a/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj_sec4
6275
				0FF42744158EBE91004CB9FF /* udis86_input.h in Headers */,
6278
				0FF42744158EBE91004CB9FF /* udis86_input.h in Headers */,
6276
				0FF42748158EBE91004CB9FF /* udis86_syn.h in Headers */,
6279
				0FF42748158EBE91004CB9FF /* udis86_syn.h in Headers */,
6277
				0FF42749158EBE91004CB9FF /* udis86_types.h in Headers */,
6280
				0FF42749158EBE91004CB9FF /* udis86_types.h in Headers */,
6281
				70B0A9D11A9B66460001306A /* RuntimeFlags.h in Headers */,
6278
				A7E5AB391799E4B200D2833D /* UDis86Disassembler.h in Headers */,
6282
				A7E5AB391799E4B200D2833D /* UDis86Disassembler.h in Headers */,
6279
				A7A8AF4117ADB5F3005AB174 /* Uint16Array.h in Headers */,
6283
				A7A8AF4117ADB5F3005AB174 /* Uint16Array.h in Headers */,
6280
				0FE834181A6EF97B00D04847 /* PolymorphicCallStubRoutine.h in Headers */,
6284
				0FE834181A6EF97B00D04847 /* PolymorphicCallStubRoutine.h in Headers */,
- a/Source/JavaScriptCore/jsc.cpp -2 / +2 lines
Lines 575-581 class GlobalObject : public JSGlobalObject { a/Source/JavaScriptCore/jsc.cpp_sec1
575
        return Structure::create(vm, 0, prototype, TypeInfo(GlobalObjectType, StructureFlags), info());
575
        return Structure::create(vm, 0, prototype, TypeInfo(GlobalObjectType, StructureFlags), info());
576
    }
576
    }
577
577
578
    static bool javaScriptExperimentsEnabled(const JSGlobalObject*) { return true; }
578
    static RuntimeFlags javaScriptRuntimeFlags(const JSGlobalObject*) { return RuntimeFlags::createAllEnabled(); }
579
579
580
protected:
580
protected:
581
    void finishCreation(VM& vm, const Vector<String>& arguments)
581
    void finishCreation(VM& vm, const Vector<String>& arguments)
Lines 663-669 class GlobalObject : public JSGlobalObject { a/Source/JavaScriptCore/jsc.cpp_sec2
663
};
663
};
664
664
665
const ClassInfo GlobalObject::s_info = { "global", &JSGlobalObject::s_info, &globalObjectTable, CREATE_METHOD_TABLE(GlobalObject) };
665
const 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 };
666
const GlobalObjectMethodTable GlobalObject::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptRuntimeFlags, 0, &shouldInterruptScriptBeforeTimeout };
667
667
668
668
669
GlobalObject::GlobalObject(VM& vm, Structure* structure)
669
GlobalObject::GlobalObject(VM& vm, Structure* structure)
- a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp -4 / +7 lines
Lines 145-151 a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp_sec1
145
145
146
const ClassInfo JSGlobalObject::s_info = { "GlobalObject", &Base::s_info, &globalObjectTable, CREATE_METHOD_TABLE(JSGlobalObject) };
146
const ClassInfo JSGlobalObject::s_info = { "GlobalObject", &Base::s_info, &globalObjectTable, CREATE_METHOD_TABLE(JSGlobalObject) };
147
147
148
const GlobalObjectMethodTable JSGlobalObject::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptExperimentsEnabled, 0, &shouldInterruptScriptBeforeTimeout };
148
const GlobalObjectMethodTable JSGlobalObject::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptRuntimeFlags, 0, &shouldInterruptScriptBeforeTimeout };
149
149
150
/* Source for JSGlobalObject.lut.h
150
/* Source for JSGlobalObject.lut.h
151
@begin globalObjectTable
151
@begin globalObjectTable
Lines 173-179 a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp_sec2
173
    , m_varInjectionWatchpoint(adoptRef(new WatchpointSet(IsWatched)))
173
    , m_varInjectionWatchpoint(adoptRef(new WatchpointSet(IsWatched)))
174
    , m_weakRandom(Options::forceWeakRandomSeed() ? Options::forcedWeakRandomSeed() : static_cast<unsigned>(randomNumber() * (std::numeric_limits<unsigned>::max() + 1.0)))
174
    , m_weakRandom(Options::forceWeakRandomSeed() ? Options::forcedWeakRandomSeed() : static_cast<unsigned>(randomNumber() * (std::numeric_limits<unsigned>::max() + 1.0)))
175
    , m_evalEnabled(true)
175
    , m_evalEnabled(true)
176
    , m_experimentsEnabled(false)
176
    , m_runtimeFlags()
177
    , m_consoleClient(nullptr)
177
    , m_consoleClient(nullptr)
178
    , m_globalObjectMethodTable(globalObjectMethodTable ? globalObjectMethodTable : &s_globalObjectMethodTable)
178
    , m_globalObjectMethodTable(globalObjectMethodTable ? globalObjectMethodTable : &s_globalObjectMethodTable)
179
{
179
{
Lines 373-379 void JSGlobalObject::init(VM& vm) a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp_sec3
373
putDirectWithoutTransition(vm, vm.propertyNames-> jsName, lowerName ## Constructor, DontEnum); \
373
putDirectWithoutTransition(vm, vm.propertyNames-> jsName, lowerName ## Constructor, DontEnum); \
374
374
375
    FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE)
375
    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
377
#undef PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE
380
#undef PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE
378
    PrototypeMap& prototypeMap = vm.prototypeMap;
381
    PrototypeMap& prototypeMap = vm.prototypeMap;
379
    Structure* iteratorResultStructure = prototypeMap.emptyObjectStructureForPrototype(m_objectPrototype.get(), JSFinalObject::defaultInlineCapacity());
382
    Structure* iteratorResultStructure = prototypeMap.emptyObjectStructureForPrototype(m_objectPrototype.get(), JSFinalObject::defaultInlineCapacity());
Lines 436-442 void JSGlobalObject::init(VM& vm) a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp_sec4
436
    m_consoleStructure.set(vm, this, JSConsole::createStructure(vm, this, consolePrototype));
439
    m_consoleStructure.set(vm, this, JSConsole::createStructure(vm, this, consolePrototype));
437
    JSConsole* consoleObject = JSConsole::create(vm, m_consoleStructure.get());
440
    JSConsole* consoleObject = JSConsole::create(vm, m_consoleStructure.get());
438
    putDirectWithoutTransition(vm, Identifier(exec, "console"), consoleObject, DontEnum);
441
    putDirectWithoutTransition(vm, Identifier(exec, "console"), consoleObject, DontEnum);
439
    
442
440
    resetPrototype(vm, prototype());
443
    resetPrototype(vm, prototype());
441
}
444
}
442
445
- a/Source/JavaScriptCore/runtime/JSGlobalObject.h -8 / +12 lines
Lines 31-36 a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec1
31
#include "JSSegmentedVariableObject.h"
31
#include "JSSegmentedVariableObject.h"
32
#include "JSWeakObjectMapRefInternal.h"
32
#include "JSWeakObjectMapRefInternal.h"
33
#include "NumberPrototype.h"
33
#include "NumberPrototype.h"
34
#include "RuntimeFlags.h"
34
#include "SpecialPointer.h"
35
#include "SpecialPointer.h"
35
#include "StringPrototype.h"
36
#include "StringPrototype.h"
36
#include "StructureChain.h"
37
#include "StructureChain.h"
Lines 86-98 a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec2
86
struct HashTable;
87
struct HashTable;
87
88
88
#define DEFINE_STANDARD_BUILTIN(macro, upperName, lowerName) macro(upperName, lowerName, lowerName, JS ## upperName, upperName)
89
#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
90
#define FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \
94
#define FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \
91
    macro(Set, set, set, JSSet, Set) \
95
    macro(Set, set, set, JSSet, Set) \
92
    macro(Map, map, map, JSMap, Map) \
96
    macro(Map, map, map, JSMap, Map) \
93
    macro(Date, date, date, DateInstance, Date) \
97
    macro(Date, date, date, DateInstance, Date) \
94
    macro(String, string, stringObject, StringObject, String) \
98
    macro(String, string, stringObject, StringObject, String) \
95
    macro(Symbol, symbol, symbolObject, SymbolObject, Symbol) \
96
    macro(Boolean, boolean, booleanObject, BooleanObject, Boolean) \
99
    macro(Boolean, boolean, booleanObject, BooleanObject, Boolean) \
97
    macro(Number, number, numberObject, NumberObject, Number) \
100
    macro(Number, number, numberObject, NumberObject, Number) \
98
    macro(Error, error, error, ErrorInstance, Error) \
101
    macro(Error, error, error, ErrorInstance, Error) \
Lines 101-106 a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec3
101
104
102
#define FOR_EACH_SIMPLE_BUILTIN_TYPE(macro) \
105
#define FOR_EACH_SIMPLE_BUILTIN_TYPE(macro) \
103
    FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \
106
    FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \
107
    FOR_EACH_EXPERIMENTAL_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \
104
    DEFINE_STANDARD_BUILTIN(macro, ArrayIterator, arrayIterator) \
108
    DEFINE_STANDARD_BUILTIN(macro, ArrayIterator, arrayIterator) \
105
    DEFINE_STANDARD_BUILTIN(macro, ArgumentsIterator, argumentsIterator) \
109
    DEFINE_STANDARD_BUILTIN(macro, ArgumentsIterator, argumentsIterator) \
106
    DEFINE_STANDARD_BUILTIN(macro, MapIterator, mapIterator) \
110
    DEFINE_STANDARD_BUILTIN(macro, MapIterator, mapIterator) \
Lines 131-138 struct GlobalObjectMethodTable { a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec4
131
    typedef bool (*ShouldInterruptScriptFunctionPtr)(const JSGlobalObject*);
135
    typedef bool (*ShouldInterruptScriptFunctionPtr)(const JSGlobalObject*);
132
    ShouldInterruptScriptFunctionPtr shouldInterruptScript;
136
    ShouldInterruptScriptFunctionPtr shouldInterruptScript;
133
137
134
    typedef bool (*JavaScriptExperimentsEnabledFunctionPtr)(const JSGlobalObject*);
138
    typedef RuntimeFlags (*JavaScriptRuntimeFlagsFunctionPtr)(const JSGlobalObject*);
135
    JavaScriptExperimentsEnabledFunctionPtr javaScriptExperimentsEnabled;
139
    JavaScriptRuntimeFlagsFunctionPtr javaScriptRuntimeFlags;
136
140
137
    typedef void (*QueueTaskToEventLoopFunctionPtr)(const JSGlobalObject*, PassRefPtr<Microtask>);
141
    typedef void (*QueueTaskToEventLoopFunctionPtr)(const JSGlobalObject*, PassRefPtr<Microtask>);
138
    QueueTaskToEventLoopFunctionPtr queueTaskToEventLoop;
142
    QueueTaskToEventLoopFunctionPtr queueTaskToEventLoop;
Lines 273-279 class JSGlobalObject : public JSSegmentedVariableObject { a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec5
273
277
274
    bool m_evalEnabled;
278
    bool m_evalEnabled;
275
    String m_evalDisabledErrorMessage;
279
    String m_evalDisabledErrorMessage;
276
    bool m_experimentsEnabled;
280
    RuntimeFlags m_runtimeFlags;
277
    ConsoleClient* m_consoleClient;
281
    ConsoleClient* m_consoleClient;
278
282
279
    static JS_EXPORTDATA const GlobalObjectMethodTable s_globalObjectMethodTable;
283
    static JS_EXPORTDATA const GlobalObjectMethodTable s_globalObjectMethodTable;
Lines 309-315 class JSGlobalObject : public JSSegmentedVariableObject { a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec6
309
    {
313
    {
310
        Base::finishCreation(vm);
314
        Base::finishCreation(vm);
311
        structure()->setGlobalObject(vm, this);
315
        structure()->setGlobalObject(vm, this);
312
        m_experimentsEnabled = m_globalObjectMethodTable->javaScriptExperimentsEnabled(this);
316
        m_runtimeFlags = m_globalObjectMethodTable->javaScriptRuntimeFlags(this);
313
        init(vm);
317
        init(vm);
314
        setGlobalThis(vm, JSProxy::create(vm, JSProxy::createStructure(vm, this, prototype(), PureForwardingProxyType), this));
318
        setGlobalThis(vm, JSProxy::create(vm, JSProxy::createStructure(vm, this, prototype(), PureForwardingProxyType), this));
315
    }
319
    }
Lines 318-324 class JSGlobalObject : public JSSegmentedVariableObject { a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec7
318
    {
322
    {
319
        Base::finishCreation(vm);
323
        Base::finishCreation(vm);
320
        structure()->setGlobalObject(vm, this);
324
        structure()->setGlobalObject(vm, this);
321
        m_experimentsEnabled = m_globalObjectMethodTable->javaScriptExperimentsEnabled(this);
325
        m_runtimeFlags = m_globalObjectMethodTable->javaScriptRuntimeFlags(this);
322
        init(vm);
326
        init(vm);
323
        setGlobalThis(vm, thisValue);
327
        setGlobalThis(vm, thisValue);
324
    }
328
    }
Lines 546-552 class JSGlobalObject : public JSSegmentedVariableObject { a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec8
546
550
547
    static bool shouldInterruptScript(const JSGlobalObject*) { return true; }
551
    static bool shouldInterruptScript(const JSGlobalObject*) { return true; }
548
    static bool shouldInterruptScriptBeforeTimeout(const JSGlobalObject*) { return false; }
552
    static bool shouldInterruptScriptBeforeTimeout(const JSGlobalObject*) { return false; }
549
    static bool javaScriptExperimentsEnabled(const JSGlobalObject*) { return false; }
553
    static RuntimeFlags javaScriptRuntimeFlags(const JSGlobalObject*) { return RuntimeFlags(); }
550
554
551
    void queueMicrotask(PassRefPtr<Microtask>);
555
    void queueMicrotask(PassRefPtr<Microtask>);
552
556
- a/Source/JavaScriptCore/runtime/RuntimeFlags.h +99 lines
Line 0 a/Source/JavaScriptCore/runtime/RuntimeFlags.h_sec1
1
/*
2
 * Copyright (C) 2015 Yusuke Suzuki <utatane.tea@gmail.com>.
3
 *
4
 * Redistribution and use in source and binary forms, with or without
5
 * modification, are permitted provided that the following conditions
6
 * are met:
7
 * 1. Redistributions of source code must retain the above copyright
8
 *    notice, this list of conditions and the following disclaimer.
9
 * 2. Redistributions in binary form must reproduce the above copyright
10
 *    notice, this list of conditions and the following disclaimer in the
11
 *    documentation and/or other materials provided with the distribution.
12
 *
13
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23
 * THE POSSIBILITY OF SUCH DAMAGE.
24
 */
25
26
#ifndef RuntimeFlags_h
27
#define RuntimeFlags_h
28
29
#include <initializer_list>
30
31
namespace JSC {
32
33
#define JSC_RUNTIME_FLAG(macro) \
34
    macro(SymbolEnabled)
35
36
37
class RuntimeFlags {
38
private:
39
    enum RuntimeFlagShiftValue : unsigned {
40
#define JSC_DECLARE_RUNTIME_FLAG_SHIFT_VALUE(name) shiftValueFor##name,
41
        JSC_RUNTIME_FLAG(JSC_DECLARE_RUNTIME_FLAG_SHIFT_VALUE)
42
#undef JSC_DECLARE_RUNTIME_FLAG_SHIFT_VALUE
43
    };
44
45
public:
46
    enum RuntimeFlag : unsigned {
47
#define JSC_DECLARE_RUNTIME_FLAG(name) name = 1u << (shiftValueFor##name),
48
        JSC_RUNTIME_FLAG(JSC_DECLARE_RUNTIME_FLAG)
49
#undef JSC_DECLARE_RUNTIME_FLAG
50
    };
51
52
#define JSC_DECLARE_RUNTIME_FLAG_ACCESSOR(name) \
53
    void set##name(bool value)\
54
    {\
55
        if (value)\
56
            m_flags |= name;\
57
        else\
58
            m_flags &= (~name);\
59
    }\
60
    bool is##name() const\
61
    {\
62
        return m_flags & name;\
63
    }
64
    JSC_RUNTIME_FLAG(JSC_DECLARE_RUNTIME_FLAG_ACCESSOR)
65
#undef JSC_DECLARE_RUNTIME_FLAG_ACCESSOR
66
67
    RuntimeFlags()
68
        : RuntimeFlags(0u)
69
    {
70
    }
71
72
    RuntimeFlags(std::initializer_list<RuntimeFlag> initializerList)
73
        : RuntimeFlags()
74
    {
75
        for (RuntimeFlag flag : initializerList)
76
            m_flags |= flag;
77
    }
78
79
    explicit RuntimeFlags(unsigned flags)
80
        : m_flags(flags)
81
    {
82
    }
83
84
    static RuntimeFlags createAllEnabled()
85
    {
86
        return {
87
#define JSC_USE_RUNTIME_FLAG(name) name,
88
            JSC_RUNTIME_FLAG(JSC_USE_RUNTIME_FLAG)
89
#undef JSC_USE_RUNTIME_FLAG
90
        };
91
    }
92
93
private:
94
    unsigned m_flags;
95
};
96
97
} // namespace JSC
98
99
#endif // RuntimeFlags_h
- a/Source/WebCore/ForwardingHeaders/runtime/RuntimeFlags.h +4 lines
Line 0 a/Source/WebCore/ForwardingHeaders/runtime/RuntimeFlags.h_sec1
1
#ifndef WebCore_FWD_RuntimeFlags_h
2
#define WebCore_FWD_RuntimeFlags_h
3
#include <JavaScriptCore/RuntimeFlags.h>
4
#endif
- a/Source/WebCore/WebCore.order -1 lines
Lines 3335-3341 __ZN7WebCore15JSDOMWindowBaseC2ERN3JSC2VMEPNS1_9StructureEN3WTF10PassRefPtrINS_9 a/Source/WebCore/WebCore.order_sec1
3335
__ZN7WebCore17JSDOMGlobalObjectC2ERN3JSC2VMEPNS1_9StructureEN3WTF10PassRefPtrINS_15DOMWrapperWorldEEEPKNS1_23GlobalObjectMethodTableE
3335
__ZN7WebCore17JSDOMGlobalObjectC2ERN3JSC2VMEPNS1_9StructureEN3WTF10PassRefPtrINS_15DOMWrapperWorldEEEPKNS1_23GlobalObjectMethodTableE
3336
__ZN7WebCore15JSDOMWindowBase14finishCreationERN3JSC2VMEPNS_16JSDOMWindowShellE
3336
__ZN7WebCore15JSDOMWindowBase14finishCreationERN3JSC2VMEPNS_16JSDOMWindowShellE
3337
__ZN7WebCore17JSDOMGlobalObject14finishCreationERN3JSC2VMEPNS1_8JSObjectE
3337
__ZN7WebCore17JSDOMGlobalObject14finishCreationERN3JSC2VMEPNS1_8JSObjectE
3338
__ZN7WebCore15JSDOMWindowBase28javaScriptExperimentsEnabledEPKN3JSC14JSGlobalObjectE
3339
__ZN7WebCore12gcControllerEv
3338
__ZN7WebCore12gcControllerEv
3340
__ZN7WebCore12GCController18garbageCollectSoonEv
3339
__ZN7WebCore12GCController18garbageCollectSoonEv
3341
__ZN3JSC6StrongIN7WebCore16JSDOMWindowShellEEC2ERNS_2VMEPS2_
3340
__ZN3JSC6StrongIN7WebCore16JSDOMWindowShellEEC2ERNS_2VMEPS2_
- a/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj +1 lines
Lines 19138-19143 a/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj_sec1
19138
    <ClInclude Include="..\ForwardingHeaders\runtime\PrototypeFunction.h" />
19138
    <ClInclude Include="..\ForwardingHeaders\runtime\PrototypeFunction.h" />
19139
    <ClInclude Include="..\ForwardingHeaders\runtime\RegExp.h" />
19139
    <ClInclude Include="..\ForwardingHeaders\runtime\RegExp.h" />
19140
    <ClInclude Include="..\ForwardingHeaders\runtime\RegExpObject.h" />
19140
    <ClInclude Include="..\ForwardingHeaders\runtime\RegExpObject.h" />
19141
    <ClInclude Include="..\ForwardingHeaders\runtime\RuntimeFlags.h" />
19141
    <ClInclude Include="..\ForwardingHeaders\runtime\StorageBarrier.h" />
19142
    <ClInclude Include="..\ForwardingHeaders\runtime\StorageBarrier.h" />
19142
    <ClInclude Include="..\ForwardingHeaders\runtime\StringPrototype.h" />
19143
    <ClInclude Include="..\ForwardingHeaders\runtime\StringPrototype.h" />
19143
    <ClInclude Include="..\ForwardingHeaders\runtime\Structure.h" />
19144
    <ClInclude Include="..\ForwardingHeaders\runtime\Structure.h" />
- a/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters +3 lines
Lines 11631-11636 a/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters_sec1
11631
    <ClInclude Include="..\ForwardingHeaders\runtime\Protect.h">
11631
    <ClInclude Include="..\ForwardingHeaders\runtime\Protect.h">
11632
      <Filter>ForwardingHeaders\runtime</Filter>
11632
      <Filter>ForwardingHeaders\runtime</Filter>
11633
    </ClInclude>
11633
    </ClInclude>
11634
    <ClInclude Include="..\ForwardingHeaders\runtime\RuntimeFlags.h">
11635
      <Filter>ForwardingHeaders\runtime</Filter>
11636
    </ClInclude>
11634
    <ClInclude Include="..\ForwardingHeaders\runtime\StringObject.h">
11637
    <ClInclude Include="..\ForwardingHeaders\runtime\StringObject.h">
11635
      <Filter>ForwardingHeaders\runtime</Filter>
11638
      <Filter>ForwardingHeaders\runtime</Filter>
11636
    </ClInclude>
11639
    </ClInclude>
- a/Source/WebCore/bindings/js/JSDOMWindowBase.cpp -4 / +4 lines
Lines 56-62 static bool shouldAllowAccessFrom(const JSGlobalObject* thisObject, ExecState* e a/Source/WebCore/bindings/js/JSDOMWindowBase.cpp_sec1
56
56
57
const ClassInfo JSDOMWindowBase::s_info = { "Window", &JSDOMGlobalObject::s_info, 0, CREATE_METHOD_TABLE(JSDOMWindowBase) };
57
const ClassInfo JSDOMWindowBase::s_info = { "Window", &JSDOMGlobalObject::s_info, 0, CREATE_METHOD_TABLE(JSDOMWindowBase) };
58
58
59
const GlobalObjectMethodTable JSDOMWindowBase::s_globalObjectMethodTable = { &shouldAllowAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptExperimentsEnabled, &queueTaskToEventLoop, &shouldInterruptScriptBeforeTimeout };
59
const GlobalObjectMethodTable JSDOMWindowBase::s_globalObjectMethodTable = { &shouldAllowAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptRuntimeFlags, &queueTaskToEventLoop, &shouldInterruptScriptBeforeTimeout };
60
60
61
JSDOMWindowBase::JSDOMWindowBase(VM& vm, Structure* structure, PassRefPtr<DOMWindow> window, JSDOMWindowShell* shell)
61
JSDOMWindowBase::JSDOMWindowBase(VM& vm, Structure* structure, PassRefPtr<DOMWindow> window, JSDOMWindowShell* shell)
62
    : JSDOMGlobalObject(vm, structure, &shell->world(), &s_globalObjectMethodTable)
62
    : JSDOMGlobalObject(vm, structure, &shell->world(), &s_globalObjectMethodTable)
Lines 169-181 bool JSDOMWindowBase::shouldInterruptScriptBeforeTimeout(const JSGlobalObject* o a/Source/WebCore/bindings/js/JSDOMWindowBase.cpp_sec2
169
    return JSGlobalObject::shouldInterruptScriptBeforeTimeout(object);
169
    return JSGlobalObject::shouldInterruptScriptBeforeTimeout(object);
170
}
170
}
171
171
172
bool JSDOMWindowBase::javaScriptExperimentsEnabled(const JSGlobalObject* object)
172
RuntimeFlags JSDOMWindowBase::javaScriptRuntimeFlags(const JSGlobalObject* object)
173
{
173
{
174
    const JSDOMWindowBase* thisObject = static_cast<const JSDOMWindowBase*>(object);
174
    const JSDOMWindowBase* thisObject = static_cast<const JSDOMWindowBase*>(object);
175
    Frame* frame = thisObject->impl().frame();
175
    Frame* frame = thisObject->impl().frame();
176
    if (!frame)
176
    if (!frame)
177
        return false;
177
        return RuntimeFlags();
178
    return frame->settings().javaScriptExperimentsEnabled();
178
    return frame->settings().javaScriptRuntimeFlags();
179
}
179
}
180
180
181
void JSDOMWindowBase::queueTaskToEventLoop(const JSGlobalObject* object, PassRefPtr<Microtask> task)
181
void JSDOMWindowBase::queueTaskToEventLoop(const JSGlobalObject* object, PassRefPtr<Microtask> task)
- a/Source/WebCore/bindings/js/JSDOMWindowBase.h -1 / +1 lines
Lines 64-70 a/Source/WebCore/bindings/js/JSDOMWindowBase.h_sec1
64
        static bool supportsRichSourceInfo(const JSC::JSGlobalObject*);
64
        static bool supportsRichSourceInfo(const JSC::JSGlobalObject*);
65
        static bool shouldInterruptScript(const JSC::JSGlobalObject*);
65
        static bool shouldInterruptScript(const JSC::JSGlobalObject*);
66
        static bool shouldInterruptScriptBeforeTimeout(const JSC::JSGlobalObject*);
66
        static bool shouldInterruptScriptBeforeTimeout(const JSC::JSGlobalObject*);
67
        static bool javaScriptExperimentsEnabled(const JSC::JSGlobalObject*);
67
        static JSC::RuntimeFlags javaScriptRuntimeFlags(const JSC::JSGlobalObject*);
68
        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, PassRefPtr<JSC::Microtask>);
68
        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, PassRefPtr<JSC::Microtask>);
69
        
69
        
70
        void printErrorMessage(const String&) const;
70
        void printErrorMessage(const String&) const;
- a/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp -3 / +3 lines
Lines 43-49 a/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp_sec1
43
43
44
const ClassInfo JSWorkerGlobalScopeBase::s_info = { "WorkerGlobalScope", &JSDOMGlobalObject::s_info, 0, CREATE_METHOD_TABLE(JSWorkerGlobalScopeBase) };
44
const ClassInfo JSWorkerGlobalScopeBase::s_info = { "WorkerGlobalScope", &JSDOMGlobalObject::s_info, 0, CREATE_METHOD_TABLE(JSWorkerGlobalScopeBase) };
45
45
46
const GlobalObjectMethodTable JSWorkerGlobalScopeBase::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptExperimentsEnabled, &queueTaskToEventLoop, &shouldInterruptScriptBeforeTimeout };
46
const GlobalObjectMethodTable JSWorkerGlobalScopeBase::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptRuntimeFlags, &queueTaskToEventLoop, &shouldInterruptScriptBeforeTimeout };
47
47
48
JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase(JSC::VM& vm, JSC::Structure* structure, PassRefPtr<WorkerGlobalScope> impl)
48
JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase(JSC::VM& vm, JSC::Structure* structure, PassRefPtr<WorkerGlobalScope> impl)
49
    : JSDOMGlobalObject(vm, structure, &normalWorld(vm), &s_globalObjectMethodTable)
49
    : JSDOMGlobalObject(vm, structure, &normalWorld(vm), &s_globalObjectMethodTable)
Lines 92-100 bool JSWorkerGlobalScopeBase::shouldInterruptScriptBeforeTimeout(const JSGlobalO a/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp_sec2
92
    return JSGlobalObject::shouldInterruptScriptBeforeTimeout(object);
92
    return JSGlobalObject::shouldInterruptScriptBeforeTimeout(object);
93
}
93
}
94
94
95
bool JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled(const JSGlobalObject* object)
95
RuntimeFlags JSWorkerGlobalScopeBase::javaScriptRuntimeFlags(const JSGlobalObject* object)
96
{
96
{
97
    return JSGlobalObject::javaScriptExperimentsEnabled(object);
97
    return JSGlobalObject::javaScriptRuntimeFlags(object);
98
}
98
}
99
99
100
void JSWorkerGlobalScopeBase::queueTaskToEventLoop(const JSGlobalObject* object, PassRefPtr<Microtask> task)
100
void JSWorkerGlobalScopeBase::queueTaskToEventLoop(const JSGlobalObject* object, PassRefPtr<Microtask> task)
- a/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h -1 / +1 lines
Lines 57-63 a/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h_sec1
57
        static bool supportsRichSourceInfo(const JSC::JSGlobalObject*);
57
        static bool supportsRichSourceInfo(const JSC::JSGlobalObject*);
58
        static bool shouldInterruptScript(const JSC::JSGlobalObject*);
58
        static bool shouldInterruptScript(const JSC::JSGlobalObject*);
59
        static bool shouldInterruptScriptBeforeTimeout(const JSC::JSGlobalObject*);
59
        static bool shouldInterruptScriptBeforeTimeout(const JSC::JSGlobalObject*);
60
        static bool javaScriptExperimentsEnabled(const JSC::JSGlobalObject*);
60
        static JSC::RuntimeFlags javaScriptRuntimeFlags(const JSC::JSGlobalObject*);
61
        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, PassRefPtr<JSC::Microtask>);
61
        static void queueTaskToEventLoop(const JSC::JSGlobalObject*, PassRefPtr<JSC::Microtask>);
62
62
63
    protected:
63
    protected:
- a/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp +3 lines
Lines 120-125 void InspectorFrontendClientLocal::Settings::setProperty(const String&, const St a/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp_sec1
120
    , m_dockSide(DockSide::Undocked)
120
    , m_dockSide(DockSide::Undocked)
121
{
121
{
122
    m_frontendPage->settings().setAllowFileAccessFromFileURLs(true);
122
    m_frontendPage->settings().setAllowFileAccessFromFileURLs(true);
123
    m_frontendPage->settings().setJavaScriptRuntimeFlags({
124
        JSC::RuntimeFlags::SymbolEnabled
125
    });
123
    m_dispatchTask = std::make_unique<InspectorBackendDispatchTask>(inspectorController);
126
    m_dispatchTask = std::make_unique<InspectorBackendDispatchTask>(inspectorController);
124
}
127
}
125
128
- a/Source/WebCore/page/Settings.h +1 lines
Lines 35-40 a/Source/WebCore/page/Settings.h_sec1
35
#include "SettingsMacros.h"
35
#include "SettingsMacros.h"
36
#include "Timer.h"
36
#include "Timer.h"
37
#include <chrono>
37
#include <chrono>
38
#include <runtime/RuntimeFlags.h>
38
#include <unicode/uscript.h>
39
#include <unicode/uscript.h>
39
#include <wtf/HashMap.h>
40
#include <wtf/HashMap.h>
40
#include <wtf/RefCounted.h>
41
#include <wtf/RefCounted.h>
- a/Source/WebCore/page/Settings.in -1 / +1 lines
Lines 73-79 showsURLsInToolTips initial=false a/Source/WebCore/page/Settings.in_sec1
73
showsToolTipOverTruncatedText initial=false
73
showsToolTipOverTruncatedText initial=false
74
forceFTPDirectoryListings initial=false
74
forceFTPDirectoryListings initial=false
75
developerExtrasEnabled initial=false
75
developerExtrasEnabled initial=false
76
javaScriptExperimentsEnabled initial=false
77
scriptMarkupEnabled initial=true
76
scriptMarkupEnabled initial=true
78
needsSiteSpecificQuirks initial=false
77
needsSiteSpecificQuirks initial=false
79
domTimersThrottlingEnabled initial=true
78
domTimersThrottlingEnabled initial=true
Lines 87-92 canvasUsesAcceleratedDrawing initial=false a/Source/WebCore/page/Settings.in_sec2
87
acceleratedDrawingEnabled initial=false
86
acceleratedDrawingEnabled initial=false
88
acceleratedFiltersEnabled initial=false
87
acceleratedFiltersEnabled initial=false
89
useLegacyTextAlignPositionedElementBehavior initial=false
88
useLegacyTextAlignPositionedElementBehavior initial=false
89
javaScriptRuntimeFlags type=JSC::RuntimeFlags
90
90
91
# FIXME: This should really be disabled by default as it makes platforms that don't support the feature download files
91
# FIXME: This should really be disabled by default as it makes platforms that don't support the feature download files
92
# they can't use by. Leaving enabled for now to not change existing behavior.
92
# they can't use by. Leaving enabled for now to not change existing behavior.
- a/Source/WebKit/mac/Misc/WebNSDictionaryExtras.h -2 lines
Lines 44-50 a/Source/WebKit/mac/Misc/WebNSDictionaryExtras.h_sec1
44
- (void)_webkit_setBool:(BOOL)value forKey:(id)key;
44
- (void)_webkit_setBool:(BOOL)value forKey:(id)key;
45
- (void)_webkit_setLongLong:(long long)value forKey:(id)key;
45
- (void)_webkit_setLongLong:(long long)value forKey:(id)key;
46
- (void)_webkit_setUnsignedLongLong:(unsigned long long)value forKey:(id)key;
46
- (void)_webkit_setUnsignedLongLong:(unsigned long long)value forKey:(id)key;
47
#if PLATFORM(IOS)
48
- (void)_webkit_setUnsignedInt:(unsigned)value forKey:(id)key;
47
- (void)_webkit_setUnsignedInt:(unsigned)value forKey:(id)key;
49
#endif
50
@end
48
@end
- a/Source/WebKit/mac/Misc/WebNSDictionaryExtras.m -2 lines
Lines 118-131 - (void)_webkit_setUnsignedLongLong:(unsigned long long)value forKey:(id)key a/Source/WebKit/mac/Misc/WebNSDictionaryExtras.m_sec1
118
    [object release];
118
    [object release];
119
}
119
}
120
120
121
#if PLATFORM(IOS)
122
- (void)_webkit_setUnsignedInt:(unsigned)value forKey:(id)key
121
- (void)_webkit_setUnsignedInt:(unsigned)value forKey:(id)key
123
{
122
{
124
    NSNumber *object = [[NSNumber alloc] initWithUnsignedInt:value];
123
    NSNumber *object = [[NSNumber alloc] initWithUnsignedInt:value];
125
    [self setObject:object forKey:key];
124
    [self setObject:object forKey:key];
126
    [object release];
125
    [object release];
127
}
126
}
128
#endif
129
127
130
@end
128
@end
131
129
- a/Source/WebKit/mac/WebKit.order -2 lines
Lines 287-293 __Z4core40WebTextDirectionSubmenuInclusionBehavior a/Source/WebKit/mac/WebKit.order_sec1
287
-[WebPreferences(WebPrivate) showsURLsInToolTips]
287
-[WebPreferences(WebPrivate) showsURLsInToolTips]
288
-[WebPreferences(WebPrivate) showsToolTipOverTruncatedText]
288
-[WebPreferences(WebPrivate) showsToolTipOverTruncatedText]
289
-[WebPreferences(WebPrivate) developerExtrasEnabled]
289
-[WebPreferences(WebPrivate) developerExtrasEnabled]
290
-[WebPreferences(WebPrivate) javaScriptExperimentsEnabled]
291
-[WebPreferences(WebPrivate) authorAndUserStylesEnabled]
290
-[WebPreferences(WebPrivate) authorAndUserStylesEnabled]
292
-[WebPreferences(WebPrivate) applicationChromeModeEnabled]
291
-[WebPreferences(WebPrivate) applicationChromeModeEnabled]
293
-[WebPreferences userStyleSheetEnabled]
292
-[WebPreferences userStyleSheetEnabled]
Lines 1246-1252 _WKCreatePrivateStorageSession a/Source/WebKit/mac/WebKit.order_sec2
1246
-[WebPreferences(WebPrivate) setTextAreasAreResizable:]
1245
-[WebPreferences(WebPrivate) setTextAreasAreResizable:]
1247
-[WebPreferences(WebPrivate) setJavaScriptCanAccessClipboard:]
1246
-[WebPreferences(WebPrivate) setJavaScriptCanAccessClipboard:]
1248
-[WebPreferences(WebPrivate) setOfflineWebApplicationCacheEnabled:]
1247
-[WebPreferences(WebPrivate) setOfflineWebApplicationCacheEnabled:]
1249
-[WebPreferences(WebPrivate) setJavaScriptExperimentsEnabled:]
1250
-[WebPreferences(WebPrivate) setLoadsSiteIconsIgnoringImageLoadingPreference:]
1248
-[WebPreferences(WebPrivate) setLoadsSiteIconsIgnoringImageLoadingPreference:]
1251
-[WebPreferences(WebPrivate) setFrameFlatteningEnabled:]
1249
-[WebPreferences(WebPrivate) setFrameFlatteningEnabled:]
1252
-[WebPreferences(WebPrivate) setSpatialNavigationEnabled:]
1250
-[WebPreferences(WebPrivate) setSpatialNavigationEnabled:]
- a/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h -1 / +1 lines
Lines 84-90 a/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h_sec1
84
#define WebKitFTPDirectoryTemplatePath @"WebKitFTPDirectoryTemplatePath"
84
#define WebKitFTPDirectoryTemplatePath @"WebKitFTPDirectoryTemplatePath"
85
#define WebKitForceFTPDirectoryListings @"WebKitForceFTPDirectoryListings"
85
#define WebKitForceFTPDirectoryListings @"WebKitForceFTPDirectoryListings"
86
#define WebKitDeveloperExtrasEnabledPreferenceKey @"WebKitDeveloperExtrasEnabledPreferenceKey"
86
#define WebKitDeveloperExtrasEnabledPreferenceKey @"WebKitDeveloperExtrasEnabledPreferenceKey"
87
#define WebKitJavaScriptExperimentsEnabledPreferenceKey @"WebKitJavaScriptExperimentsEnabledPreferenceKey"
87
#define WebKitJavaScriptRuntimeFlagsPreferenceKey @"WebKitJavaScriptRuntimeFlagsPreferenceKey"
88
#define WebKitAuthorAndUserStylesEnabledPreferenceKey @"WebKitAuthorAndUserStylesEnabledPreferenceKey"
88
#define WebKitAuthorAndUserStylesEnabledPreferenceKey @"WebKitAuthorAndUserStylesEnabledPreferenceKey"
89
#define WebKitDOMTimersThrottlingEnabledPreferenceKey @"WebKitDOMTimersThrottlingEnabledPreferenceKey"
89
#define WebKitDOMTimersThrottlingEnabledPreferenceKey @"WebKitDOMTimersThrottlingEnabledPreferenceKey"
90
#define WebKitWebArchiveDebugModeEnabledPreferenceKey @"WebKitWebArchiveDebugModeEnabledPreferenceKey"
90
#define WebKitWebArchiveDebugModeEnabledPreferenceKey @"WebKitWebArchiveDebugModeEnabledPreferenceKey"
- a/Source/WebKit/mac/WebView/WebPreferences.mm -7 / +9 lines
Lines 473-479 + (void)initialize a/Source/WebKit/mac/WebView/WebPreferences.mm_sec1
473
        [NSNumber numberWithInt:cacheModelForMainBundle()], WebKitCacheModelPreferenceKey,
473
        [NSNumber numberWithInt:cacheModelForMainBundle()], WebKitCacheModelPreferenceKey,
474
        [NSNumber numberWithBool:YES],  WebKitPageCacheSupportsPluginsPreferenceKey,
474
        [NSNumber numberWithBool:YES],  WebKitPageCacheSupportsPluginsPreferenceKey,
475
        [NSNumber numberWithBool:NO],   WebKitDeveloperExtrasEnabledPreferenceKey,
475
        [NSNumber numberWithBool:NO],   WebKitDeveloperExtrasEnabledPreferenceKey,
476
        [NSNumber numberWithBool:NO],   WebKitJavaScriptExperimentsEnabledPreferenceKey,
476
        [NSNumber numberWithUnsignedInt:0], WebKitJavaScriptRuntimeFlagsPreferenceKey,
477
        [NSNumber numberWithBool:YES],  WebKitAuthorAndUserStylesEnabledPreferenceKey,
477
        [NSNumber numberWithBool:YES],  WebKitAuthorAndUserStylesEnabledPreferenceKey,
478
        [NSNumber numberWithBool:YES],  WebKitDOMTimersThrottlingEnabledPreferenceKey,
478
        [NSNumber numberWithBool:YES],  WebKitDOMTimersThrottlingEnabledPreferenceKey,
479
        [NSNumber numberWithBool:NO],   WebKitWebArchiveDebugModeEnabledPreferenceKey,
479
        [NSNumber numberWithBool:NO],   WebKitWebArchiveDebugModeEnabledPreferenceKey,
Lines 667-673 - (void)_setIntegerValue:(int)value forKey:(NSString *)key a/Source/WebKit/mac/WebView/WebPreferences.mm_sec2
667
    [self _postPreferencesChangedNotification];
667
    [self _postPreferencesChangedNotification];
668
}
668
}
669
669
670
#if PLATFORM(IOS)
671
- (unsigned int)_unsignedIntValueForKey:(NSString *)key
670
- (unsigned int)_unsignedIntValueForKey:(NSString *)key
672
{
671
{
673
    id o = [self _valueForKey:key];
672
    id o = [self _valueForKey:key];
Lines 678-691 - (void)_setUnsignedIntValue:(unsigned int)value forKey:(NSString *)key a/Source/WebKit/mac/WebView/WebPreferences.mm_sec3
678
{    if ([self _unsignedIntValueForKey:key] == value)
677
{    if ([self _unsignedIntValueForKey:key] == value)
679
        return;
678
        return;
680
    NSString *_key = KEY(key);
679
    NSString *_key = KEY(key);
680
#if PLATFORM(IOS)
681
    dispatch_barrier_sync(_private->readWriteQueue, ^{
681
    dispatch_barrier_sync(_private->readWriteQueue, ^{
682
#endif
682
    [_private->values.get() _webkit_setUnsignedInt:value forKey:_key];
683
    [_private->values.get() _webkit_setUnsignedInt:value forKey:_key];
684
#if PLATFORM(IOS)
683
    });
685
    });
686
#endif
684
    if (_private->autosaves)
687
    if (_private->autosaves)
685
        [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithUnsignedInt:value] forKey:_key];
688
        [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithUnsignedInt:value] forKey:_key];
686
    [self _postPreferencesChangedNotification];
689
    [self _postPreferencesChangedNotification];
687
}
690
}
688
#endif
689
691
690
- (float)_floatValueForKey:(NSString *)key
692
- (float)_floatValueForKey:(NSString *)key
691
{
693
{
Lines 1184-1197 - (BOOL)developerExtrasEnabled a/Source/WebKit/mac/WebView/WebPreferences.mm_sec4
1184
#endif
1186
#endif
1185
}
1187
}
1186
1188
1187
- (void)setJavaScriptExperimentsEnabled:(BOOL)flag
1189
- (WebKitJavaScriptRuntimeFlags)javaScriptRuntimeFlags
1188
{
1190
{
1189
    [self _setBoolValue:flag forKey:WebKitJavaScriptExperimentsEnabledPreferenceKey];
1191
    return static_cast<WebKitJavaScriptRuntimeFlags>([self _unsignedIntValueForKey:WebKitJavaScriptRuntimeFlagsPreferenceKey]);
1190
}
1192
}
1191
1193
1192
- (BOOL)javaScriptExperimentsEnabled
1194
- (void)setJavaScriptRuntimeFlags:(WebKitJavaScriptRuntimeFlags)flags
1193
{
1195
{
1194
    return [self _boolValueForKey:WebKitJavaScriptExperimentsEnabledPreferenceKey];
1196
    [self _setUnsignedIntValue:flags forKey:WebKitJavaScriptRuntimeFlagsPreferenceKey];
1195
}
1197
}
1196
1198
1197
- (void)setDeveloperExtrasEnabled:(BOOL)flag
1199
- (void)setDeveloperExtrasEnabled:(BOOL)flag
- a/Source/WebKit/mac/WebView/WebPreferencesPrivate.h -2 / +7 lines
Lines 52-57 a/Source/WebKit/mac/WebView/WebPreferencesPrivate.h_sec1
52
    WebBlockAllStorage
52
    WebBlockAllStorage
53
} WebStorageBlockingPolicy;
53
} WebStorageBlockingPolicy;
54
54
55
typedef enum {
56
    WebKitJavaScriptRuntimeFlagsSymbolEnabled = 1u << 0,
57
    WebKitJavaScriptRuntimeFlagsAllEnabled = WebKitJavaScriptRuntimeFlagsSymbolEnabled
58
} WebKitJavaScriptRuntimeFlags;
59
55
extern NSString *WebPreferencesChangedNotification;
60
extern NSString *WebPreferencesChangedNotification;
56
extern NSString *WebPreferencesRemovedNotification;
61
extern NSString *WebPreferencesRemovedNotification;
57
extern NSString *WebPreferencesChangedInternalNotification;
62
extern NSString *WebPreferencesChangedInternalNotification;
Lines 67-74 a/Source/WebKit/mac/WebView/WebPreferencesPrivate.h_sec2
67
- (BOOL)developerExtrasEnabled;
72
- (BOOL)developerExtrasEnabled;
68
- (void)setDeveloperExtrasEnabled:(BOOL)flag;
73
- (void)setDeveloperExtrasEnabled:(BOOL)flag;
69
74
70
- (BOOL)javaScriptExperimentsEnabled;
75
- (WebKitJavaScriptRuntimeFlags)javaScriptRuntimeFlags;
71
- (void)setJavaScriptExperimentsEnabled:(BOOL)flag;
76
- (void)setJavaScriptRuntimeFlags:(WebKitJavaScriptRuntimeFlags)flags;
72
77
73
- (BOOL)authorAndUserStylesEnabled;
78
- (BOOL)authorAndUserStylesEnabled;
74
- (void)setAuthorAndUserStylesEnabled:(BOOL)flag;
79
- (void)setAuthorAndUserStylesEnabled:(BOOL)flag;
- a/Source/WebKit/mac/WebView/WebView.mm -1 / +1 lines
Lines 2234-2240 - (void)_preferencesChanged:(WebPreferences *)preferences a/Source/WebKit/mac/WebView/WebView.mm_sec1
2234
    settings.setBackForwardCacheExpirationInterval([preferences _backForwardCacheExpirationInterval]);
2234
    settings.setBackForwardCacheExpirationInterval([preferences _backForwardCacheExpirationInterval]);
2235
2235
2236
    settings.setDeveloperExtrasEnabled([preferences developerExtrasEnabled]);
2236
    settings.setDeveloperExtrasEnabled([preferences developerExtrasEnabled]);
2237
    settings.setJavaScriptExperimentsEnabled([preferences javaScriptExperimentsEnabled]);
2237
    settings.setJavaScriptRuntimeFlags(JSC::RuntimeFlags([preferences javaScriptRuntimeFlags]));
2238
    settings.setAuthorAndUserStylesEnabled([preferences authorAndUserStylesEnabled]);
2238
    settings.setAuthorAndUserStylesEnabled([preferences authorAndUserStylesEnabled]);
2239
2239
2240
    settings.setNeedsSiteSpecificQuirks(_private->useSiteSpecificSpoofing);
2240
    settings.setNeedsSiteSpecificQuirks(_private->useSiteSpecificSpoofing);
- a/Source/WebKit/win/Interfaces/IWebPreferences.idl +5 lines
Lines 59-64 typedef enum WebCacheModel { a/Source/WebKit/win/Interfaces/IWebPreferences.idl_sec1
59
    WebCacheModelPrimaryWebBrowser = 2
59
    WebCacheModelPrimaryWebBrowser = 2
60
} WebCacheModel;
60
} WebCacheModel;
61
61
62
typedef enum WebKitJavaScriptRuntimeFlags {
63
    WebKitJavaScriptRuntimeFlagsSymbolEnabled = 1,  // 1u << 0
64
    WebKitJavaScriptRuntimeFlagsAllEnabled = WebKitJavaScriptRuntimeFlagsSymbolEnabled
65
} WebKitJavaScriptRuntimeFlags;
66
62
[
67
[
63
    object,
68
    object,
64
    oleautomation,
69
    oleautomation,
- a/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl +3 lines
Lines 113-118 interface IWebPreferencesPrivate : IUnknown a/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl_sec1
113
    HRESULT javaScriptCanAccessClipboard([out, retval] BOOL *enabled);
113
    HRESULT javaScriptCanAccessClipboard([out, retval] BOOL *enabled);
114
    HRESULT setJavaScriptCanAccessClipboard([in] BOOL enabled);
114
    HRESULT setJavaScriptCanAccessClipboard([in] BOOL enabled);
115
115
116
    HRESULT javaScriptRuntimeFlags([out, retval] unsigned* flags);
117
    HRESULT setJavaScriptRuntimeFlags([in] unsigned flags);
118
116
    HRESULT isDNSPrefetchingEnabled([out, retval] BOOL *enabled);
119
    HRESULT isDNSPrefetchingEnabled([out, retval] BOOL *enabled);
117
    HRESULT setDNSPrefetchingEnabled([in] BOOL enabled);
120
    HRESULT setDNSPrefetchingEnabled([in] BOOL enabled);
118
121
- a/Source/WebKit/win/WebPreferenceKeysPrivate.h +1 lines
Lines 48-53 a/Source/WebKit/win/WebPreferenceKeysPrivate.h_sec1
48
#define WebKitTextAreasAreResizablePreferenceKey "WebKitTextAreasAreResizable"
48
#define WebKitTextAreasAreResizablePreferenceKey "WebKitTextAreasAreResizable"
49
#define WebKitJavaEnabledPreferenceKey "WebKitJavaEnabled"
49
#define WebKitJavaEnabledPreferenceKey "WebKitJavaEnabled"
50
#define WebKitJavaScriptEnabledPreferenceKey "WebKitJavaScriptEnabled"
50
#define WebKitJavaScriptEnabledPreferenceKey "WebKitJavaScriptEnabled"
51
#define WebKitJavaScriptRuntimeFlagsPreferenceKey "WebKitJavaScriptRuntimeFlags"
51
#define WebKitWebSecurityEnabledPreferenceKey "WebKitWebSecurityEnabled"
52
#define WebKitWebSecurityEnabledPreferenceKey "WebKitWebSecurityEnabled"
52
#define WebKitAllowUniversalAccessFromFileURLsPreferenceKey "WebKitAllowUniversalAccessFromFileURLs"
53
#define WebKitAllowUniversalAccessFromFileURLsPreferenceKey "WebKitAllowUniversalAccessFromFileURLs"
53
#define WebKitAllowFileAccessFromFileURLsPreferenceKey "WebKitAllowFileAccessFromFileURLs"
54
#define WebKitAllowFileAccessFromFileURLsPreferenceKey "WebKitAllowFileAccessFromFileURLs"
- a/Source/WebKit/win/WebPreferences.cpp -1 / +16 lines
Lines 215-220 void WebPreferences::initializeDefaultSettings() a/Source/WebKit/win/WebPreferences.cpp_sec1
215
    CFDictionaryAddValue(defaults, CFSTR(WebKitTextAreasAreResizablePreferenceKey), kCFBooleanFalse);
215
    CFDictionaryAddValue(defaults, CFSTR(WebKitTextAreasAreResizablePreferenceKey), kCFBooleanFalse);
216
    CFDictionaryAddValue(defaults, CFSTR(WebKitJavaEnabledPreferenceKey), kCFBooleanTrue);
216
    CFDictionaryAddValue(defaults, CFSTR(WebKitJavaEnabledPreferenceKey), kCFBooleanTrue);
217
    CFDictionaryAddValue(defaults, CFSTR(WebKitJavaScriptEnabledPreferenceKey), kCFBooleanTrue);
217
    CFDictionaryAddValue(defaults, CFSTR(WebKitJavaScriptEnabledPreferenceKey), kCFBooleanTrue);
218
    CFDictionaryAddValue(defaults, CFSTR(WebKitJavaScriptRuntimeFlagsPreferenceKey), CFSTR("0"));
218
    CFDictionaryAddValue(defaults, CFSTR(WebKitWebSecurityEnabledPreferenceKey), kCFBooleanTrue);
219
    CFDictionaryAddValue(defaults, CFSTR(WebKitWebSecurityEnabledPreferenceKey), kCFBooleanTrue);
219
    CFDictionaryAddValue(defaults, CFSTR(WebKitAllowUniversalAccessFromFileURLsPreferenceKey), kCFBooleanFalse);
220
    CFDictionaryAddValue(defaults, CFSTR(WebKitAllowUniversalAccessFromFileURLsPreferenceKey), kCFBooleanFalse);
220
    CFDictionaryAddValue(defaults, CFSTR(WebKitAllowFileAccessFromFileURLsPreferenceKey), kCFBooleanTrue);
221
    CFDictionaryAddValue(defaults, CFSTR(WebKitAllowFileAccessFromFileURLsPreferenceKey), kCFBooleanTrue);
Lines 823-829 HRESULT STDMETHODCALLTYPE WebPreferences::setJavaScriptEnabled( a/Source/WebKit/win/WebPreferences.cpp_sec2
823
    return S_OK;
824
    return S_OK;
824
}
825
}
825
826
826
HRESULT STDMETHODCALLTYPE WebPreferences::isWebSecurityEnabled( 
827
HRESULT STDMETHODCALLTYPE WebPreferences::javaScriptRuntimeFlags(
828
    /* [retval][out] */ unsigned* flags)
829
{
830
    *flags = static_cast<unsigned>(longlongValueForKey(WebKitJavaScriptRuntimeFlagsPreferenceKey));
831
    return S_OK;
832
}
833
834
HRESULT STDMETHODCALLTYPE WebPreferences::setJavaScriptRuntimeFlags(
835
    /* [in] */ unsigned flags)
836
{
837
    setLongLongValue(WebKitJavaScriptRuntimeFlagsPreferenceKey, flags);
838
    return S_OK;
839
}
840
841
HRESULT STDMETHODCALLTYPE WebPreferences::isWebSecurityEnabled(
827
    /* [retval][out] */ BOOL* enabled)
842
    /* [retval][out] */ BOOL* enabled)
828
{
843
{
829
    *enabled = boolValueForKey(WebKitWebSecurityEnabledPreferenceKey);
844
    *enabled = boolValueForKey(WebKitWebSecurityEnabledPreferenceKey);
- a/Source/WebKit/win/WebPreferences.h -1 / +7 lines
Lines 150-156 class WebPreferences : public IWebPreferences, public IWebPreferencesPrivate { a/Source/WebKit/win/WebPreferences.h_sec1
150
    
150
    
151
    virtual HRESULT STDMETHODCALLTYPE setJavaScriptEnabled( 
151
    virtual HRESULT STDMETHODCALLTYPE setJavaScriptEnabled( 
152
        /* [in] */ BOOL enabled);
152
        /* [in] */ BOOL enabled);
153
    
153
154
    virtual HRESULT STDMETHODCALLTYPE javaScriptRuntimeFlags(
155
        /* [retval][out] */ unsigned*);
156
157
    virtual HRESULT STDMETHODCALLTYPE setJavaScriptRuntimeFlags(
158
        /* [in] */ unsigned);
159
154
    virtual HRESULT STDMETHODCALLTYPE javaScriptCanOpenWindowsAutomatically( 
160
    virtual HRESULT STDMETHODCALLTYPE javaScriptCanOpenWindowsAutomatically( 
155
        /* [retval][out] */ BOOL* enabled);
161
        /* [retval][out] */ BOOL* enabled);
156
    
162
    
- a/Source/WebKit/win/WebView.cpp +6 lines
Lines 4759-4764 HRESULT WebView::notifyPreferencesChanged(IWebNotification* notification) a/Source/WebKit/win/WebView.cpp_sec1
4759
4759
4760
    BString str;
4760
    BString str;
4761
    int size;
4761
    int size;
4762
    unsigned javaScriptRuntimeFlags;
4762
    BOOL enabled;
4763
    BOOL enabled;
4763
4764
4764
    Settings& settings = m_page->settings();
4765
    Settings& settings = m_page->settings();
Lines 4839-4844 HRESULT WebView::notifyPreferencesChanged(IWebNotification* notification) a/Source/WebKit/win/WebView.cpp_sec2
4839
        return hr;
4840
        return hr;
4840
    settings.setScriptEnabled(!!enabled);
4841
    settings.setScriptEnabled(!!enabled);
4841
4842
4843
    hr = preferences->javaScriptRuntimeFlags(&javaScriptRuntimeFlags);
4844
    if (FAILED(hr))
4845
        return hr;
4846
    settings.setJavaScriptRuntimeFlags(JSC::RuntimeFlags(javaScriptRuntimeFlags));
4847
4842
    hr = preferences->javaScriptCanOpenWindowsAutomatically(&enabled);
4848
    hr = preferences->javaScriptCanOpenWindowsAutomatically(&enabled);
4843
    if (FAILED(hr))
4849
    if (FAILED(hr))
4844
        return hr;
4850
        return hr;
- a/Source/WebKit2/Shared/WebPreferencesDefinitions.h -1 / +1 lines
Lines 95-101 a/Source/WebKit2/Shared/WebPreferencesDefinitions.h_sec1
95
    macro(DatabasesEnabled, databasesEnabled, Bool, bool, true) \
95
    macro(DatabasesEnabled, databasesEnabled, Bool, bool, true) \
96
    macro(XSSAuditorEnabled, xssAuditorEnabled, Bool, bool, true) \
96
    macro(XSSAuditorEnabled, xssAuditorEnabled, Bool, bool, true) \
97
    macro(FrameFlatteningEnabled, frameFlatteningEnabled, Bool, bool, DEFAULT_FRAME_FLATTENING_ENABLED) \
97
    macro(FrameFlatteningEnabled, frameFlatteningEnabled, Bool, bool, DEFAULT_FRAME_FLATTENING_ENABLED) \
98
    macro(JavaScriptExperimentsEnabled, javaScriptExperimentsEnabled, Bool, bool, false) \
99
    macro(PrivateBrowsingEnabled, privateBrowsingEnabled, Bool, bool, false) \
98
    macro(PrivateBrowsingEnabled, privateBrowsingEnabled, Bool, bool, false) \
100
    macro(TextAreasAreResizable, textAreasAreResizable, Bool, bool, DEFAULT_TEXT_AREAS_ARE_RESIZABLE) \
99
    macro(TextAreasAreResizable, textAreasAreResizable, Bool, bool, DEFAULT_TEXT_AREAS_ARE_RESIZABLE) \
101
    macro(JavaScriptCanOpenWindowsAutomatically, javaScriptCanOpenWindowsAutomatically, Bool, bool, DEFAULT_JAVASCRIPT_CAN_OPEN_WINDOWS_AUTOMATICALLY) \
100
    macro(JavaScriptCanOpenWindowsAutomatically, javaScriptCanOpenWindowsAutomatically, Bool, bool, DEFAULT_JAVASCRIPT_CAN_OPEN_WINDOWS_AUTOMATICALLY) \
Lines 217-222 a/Source/WebKit2/Shared/WebPreferencesDefinitions.h_sec2
217
    macro(InspectorAttachedWidth, inspectorAttachedWidth, UInt32, uint32_t, 750) \
216
    macro(InspectorAttachedWidth, inspectorAttachedWidth, UInt32, uint32_t, 750) \
218
    macro(InspectorAttachmentSide, inspectorAttachmentSide, UInt32, uint32_t, 0) \
217
    macro(InspectorAttachmentSide, inspectorAttachmentSide, UInt32, uint32_t, 0) \
219
    macro(StorageBlockingPolicy, storageBlockingPolicy, UInt32, uint32_t, WebCore::SecurityOrigin::BlockThirdPartyStorage) \
218
    macro(StorageBlockingPolicy, storageBlockingPolicy, UInt32, uint32_t, WebCore::SecurityOrigin::BlockThirdPartyStorage) \
219
    macro(JavaScriptRuntimeFlags, javaScriptRuntimeFlags, UInt32, uint32_t, 0) \
220
    \
220
    \
221
221
222
#define FOR_EACH_WEBKIT_DEBUG_BOOL_PREFERENCE(macro) \
222
#define FOR_EACH_WEBKIT_DEBUG_BOOL_PREFERENCE(macro) \
- a/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp -4 / +4 lines
Lines 349-362 bool WKPreferencesGetDeveloperExtrasEnabled(WKPreferencesRef preferencesRef) a/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp_sec1
349
    return toImpl(preferencesRef)->developerExtrasEnabled();
349
    return toImpl(preferencesRef)->developerExtrasEnabled();
350
}
350
}
351
351
352
void WKPreferencesSetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef, bool enabled)
352
void WKPreferencesSetJavaScriptRuntimeFlags(WKPreferencesRef preferencesRef, WKJavaScriptRuntimeFlagSet javaScriptRuntimeFlagSet)
353
{
353
{
354
    toImpl(preferencesRef)->setJavaScriptExperimentsEnabled(enabled);
354
    toImpl(preferencesRef)->setJavaScriptRuntimeFlags(javaScriptRuntimeFlagSet);
355
}
355
}
356
356
357
bool WKPreferencesGetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef)
357
WKJavaScriptRuntimeFlagSet WKPreferencesGetJavaScriptRuntimeFlags(WKPreferencesRef preferencesRef)
358
{
358
{
359
    return toImpl(preferencesRef)->javaScriptExperimentsEnabled();
359
    return toImpl(preferencesRef)->javaScriptRuntimeFlags();
360
}
360
}
361
361
362
void WKPreferencesSetTextAreasAreResizable(WKPreferencesRef preferencesRef, bool resizable)
362
void WKPreferencesSetTextAreasAreResizable(WKPreferencesRef preferencesRef, bool resizable)
- a/Source/WebKit2/UIProcess/API/C/WKPreferencesRef.h -4 lines
Lines 150-159 enum WKDebugOverlayRegionFlags { a/Source/WebKit2/UIProcess/API/C/WKPreferencesRef.h_sec1
150
WK_EXPORT void WKPreferencesSetDeveloperExtrasEnabled(WKPreferencesRef preferencesRef, bool enabled);
150
WK_EXPORT void WKPreferencesSetDeveloperExtrasEnabled(WKPreferencesRef preferencesRef, bool enabled);
151
WK_EXPORT bool WKPreferencesGetDeveloperExtrasEnabled(WKPreferencesRef preferencesRef);
151
WK_EXPORT bool WKPreferencesGetDeveloperExtrasEnabled(WKPreferencesRef preferencesRef);
152
152
153
// Defaults to false.
154
WK_EXPORT void WKPreferencesSetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef, bool enabled);
155
WK_EXPORT bool WKPreferencesGetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef);
156
157
// Defaults to true.
153
// Defaults to true.
158
WK_EXPORT void WKPreferencesSetTextAreasAreResizable(WKPreferencesRef preferencesRef, bool resizable);
154
WK_EXPORT void WKPreferencesSetTextAreasAreResizable(WKPreferencesRef preferencesRef, bool resizable);
159
WK_EXPORT bool WKPreferencesGetTextAreasAreResizable(WKPreferencesRef preferencesRef);
155
WK_EXPORT bool WKPreferencesGetTextAreasAreResizable(WKPreferencesRef preferencesRef);
- a/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h +10 lines
Lines 49-54 enum WKEditableLinkBehavior { a/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h_sec1
49
};
49
};
50
typedef enum WKEditableLinkBehavior WKEditableLinkBehavior;
50
typedef enum WKEditableLinkBehavior WKEditableLinkBehavior;
51
51
52
enum WKJavaScriptRuntimeFlags {
53
    kWKJavaScriptRuntimeFlagsSymbolEnabled = 1 << 0,
54
    kWKJavaScriptRuntimeFlagsAllEnabled = kWKJavaScriptRuntimeFlagsSymbolEnabled
55
};
56
typedef unsigned WKJavaScriptRuntimeFlagSet;
57
52
// Creates a copy with no identifier.
58
// Creates a copy with no identifier.
53
WK_EXPORT WKPreferencesRef WKPreferencesCreateCopy(WKPreferencesRef);
59
WK_EXPORT WKPreferencesRef WKPreferencesCreateCopy(WKPreferencesRef);
54
60
Lines 346-351 enum WKEditableLinkBehavior { a/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h_sec2
346
WK_EXPORT void WKPreferencesSetScreenFontSubstitutionEnabled(WKPreferencesRef preferences, bool enabled);
352
WK_EXPORT void WKPreferencesSetScreenFontSubstitutionEnabled(WKPreferencesRef preferences, bool enabled);
347
WK_EXPORT bool WKPreferencesGetScreenFontSubstitutionEnabled(WKPreferencesRef preferences);
353
WK_EXPORT bool WKPreferencesGetScreenFontSubstitutionEnabled(WKPreferencesRef preferences);
348
354
355
// Defaults to 0.
356
WK_EXPORT void WKPreferencesSetJavaScriptRuntimeFlags(WKPreferencesRef preferences, WKJavaScriptRuntimeFlagSet javascriptRuntimeFlagSet);
357
WK_EXPORT WKJavaScriptRuntimeFlagSet WKPreferencesGetJavaScriptRuntimeFlags(WKPreferencesRef preferences);
358
349
#ifdef __cplusplus
359
#ifdef __cplusplus
350
}
360
}
351
#endif
361
#endif
- a/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm +10 lines
Lines 267-272 - (void)_setAllowFileAccessFromFileURLs:(BOOL)allowFileAccessFromFileURLs a/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm_sec1
267
    _preferences->setAllowFileAccessFromFileURLs(allowFileAccessFromFileURLs);
267
    _preferences->setAllowFileAccessFromFileURLs(allowFileAccessFromFileURLs);
268
}
268
}
269
269
270
- (_WKJavaScriptRuntimeFlags)_javaScriptRuntimeFlags
271
{
272
    return _preferences->javaScriptRuntimeFlags();
273
}
274
275
- (void)_setJavaScriptRuntimeFlags:(_WKJavaScriptRuntimeFlags)javaScriptRuntimeFlags
276
{
277
    _preferences->setJavaScriptRuntimeFlags(javaScriptRuntimeFlags);
278
}
279
270
- (BOOL)_isStandalone
280
- (BOOL)_isStandalone
271
{
281
{
272
    return _preferences->standalone();
282
    return _preferences->standalone();
- a/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h +6 lines
Lines 42-47 typedef NS_OPTIONS(NSUInteger, _WKDebugOverlayRegions) { a/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h_sec1
42
    _WKWheelEventHandlerRegion = 1 << 1
42
    _WKWheelEventHandlerRegion = 1 << 1
43
} WK_ENUM_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
43
} WK_ENUM_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
44
44
45
typedef NS_OPTIONS(NSUInteger, _WKJavaScriptRuntimeFlags) {
46
    _WKJavaScriptRuntimeFlagsSymbolEnabled = 1 << 0,
47
    _WKJavaScriptRuntimeFlagsAllEnabled = _WKJavaScriptRuntimeFlagsSymbolEnabled
48
} WK_ENUM_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
49
45
@interface WKPreferences (WKPrivate)
50
@interface WKPreferences (WKPrivate)
46
51
47
// FIXME: This property should not have the verb "is" in it.
52
// FIXME: This property should not have the verb "is" in it.
Lines 59-64 typedef NS_OPTIONS(NSUInteger, _WKDebugOverlayRegions) { a/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h_sec2
59
@property (nonatomic, setter=_setLogsPageMessagesToSystemConsoleEnabled:) BOOL _logsPageMessagesToSystemConsoleEnabled WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
64
@property (nonatomic, setter=_setLogsPageMessagesToSystemConsoleEnabled:) BOOL _logsPageMessagesToSystemConsoleEnabled WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
60
65
61
@property (nonatomic, setter=_setAllowFileAccessFromFileURLs:) BOOL _allowFileAccessFromFileURLs WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
66
@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);
62
68
63
@property (nonatomic, setter=_setStandalone:, getter=_isStandalone) BOOL _standalone WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
69
@property (nonatomic, setter=_setStandalone:, getter=_isStandalone) BOOL _standalone WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
64
70
- a/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp +1 lines
Lines 114-119 WebPageProxy* WebInspectorProxy::platformCreateInspectorPage() a/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp_sec1
114
114
115
    WKPreferencesRef wkPreferences = WKPageGroupGetPreferences(wkPageGroup);
115
    WKPreferencesRef wkPreferences = WKPageGroupGetPreferences(wkPageGroup);
116
    WKPreferencesSetFileAccessFromFileURLsAllowed(wkPreferences, true);
116
    WKPreferencesSetFileAccessFromFileURLsAllowed(wkPreferences, true);
117
    WKPreferencesSetJavaScriptRuntimeFlags(wkPreferences, kWKJavaScriptRuntimeFlagsSymbolEnabled);
117
118
118
    return toImpl(WKViewGetPage(wkView));
119
    return toImpl(WKViewGetPage(wkView));
119
}
120
}
- a/Source/WebKit2/UIProcess/gtk/WebInspectorProxyGtk.cpp +3 lines
Lines 69-74 WebPageProxy* WebInspectorProxy::platformCreateInspectorPage() a/Source/WebKit2/UIProcess/gtk/WebInspectorProxyGtk.cpp_sec1
69
    preferences->setLogsPageMessagesToSystemConsoleEnabled(true);
69
    preferences->setLogsPageMessagesToSystemConsoleEnabled(true);
70
#endif
70
#endif
71
    preferences->setAllowFileAccessFromFileURLs(true);
71
    preferences->setAllowFileAccessFromFileURLs(true);
72
    preferences->setJavaScriptRuntimeFlags({
73
        JSC::RuntimeFlags::SymbolEnabled
74
    });
72
    RefPtr<WebPageGroup> pageGroup = WebPageGroup::create(inspectorPageGroupIdentifier(), false, false);
75
    RefPtr<WebPageGroup> pageGroup = WebPageGroup::create(inspectorPageGroupIdentifier(), false, false);
73
    m_inspectorView = GTK_WIDGET(webkitWebViewBaseCreate(&inspectorProcessPool(), preferences.get(), pageGroup.get(), nullptr, nullptr));
76
    m_inspectorView = GTK_WIDGET(webkitWebViewBaseCreate(&inspectorProcessPool(), preferences.get(), pageGroup.get(), nullptr, nullptr));
74
    g_object_add_weak_pointer(G_OBJECT(m_inspectorView), reinterpret_cast<void**>(&m_inspectorView));
77
    g_object_add_weak_pointer(G_OBJECT(m_inspectorView), reinterpret_cast<void**>(&m_inspectorView));
- a/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm +1 lines
Lines 488-493 WebPageProxy* WebInspectorProxy::platformCreateInspectorPage() a/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm_sec1
488
    preferences._logsPageMessagesToSystemConsoleEnabled = YES;
488
    preferences._logsPageMessagesToSystemConsoleEnabled = YES;
489
#endif
489
#endif
490
    preferences._allowFileAccessFromFileURLs = YES;
490
    preferences._allowFileAccessFromFileURLs = YES;
491
    preferences._javaScriptRuntimeFlags = _WKJavaScriptRuntimeFlagsSymbolEnabled;
491
    [configuration setProcessPool: ::WebKit::wrapper(inspectorProcessPool())];
492
    [configuration setProcessPool: ::WebKit::wrapper(inspectorProcessPool())];
492
    [configuration _setGroupIdentifier:inspectorPageGroupIdentifier()];
493
    [configuration _setGroupIdentifier:inspectorPageGroupIdentifier()];
493
494
- a/Source/WebKit2/WebProcess/WebPage/WebPage.cpp -1 / +1 lines
Lines 2653-2659 void WebPage::updatePreferences(const WebPreferencesStore& store) a/Source/WebKit2/WebProcess/WebPage/WebPage.cpp_sec1
2653
    else if (!store.getBoolValueForKey(WebPreferencesKey::privateBrowsingEnabledKey()) && sessionID() == SessionID::legacyPrivateSessionID())
2653
    else if (!store.getBoolValueForKey(WebPreferencesKey::privateBrowsingEnabledKey()) && sessionID() == SessionID::legacyPrivateSessionID())
2654
        setSessionID(SessionID::defaultSessionID());
2654
        setSessionID(SessionID::defaultSessionID());
2655
    settings.setDeveloperExtrasEnabled(store.getBoolValueForKey(WebPreferencesKey::developerExtrasEnabledKey()));
2655
    settings.setDeveloperExtrasEnabled(store.getBoolValueForKey(WebPreferencesKey::developerExtrasEnabledKey()));
2656
    settings.setJavaScriptExperimentsEnabled(store.getBoolValueForKey(WebPreferencesKey::javaScriptExperimentsEnabledKey()));
2656
    settings.setJavaScriptRuntimeFlags(RuntimeFlags(store.getUInt32ValueForKey(WebPreferencesKey::javaScriptRuntimeFlagsKey())));
2657
    settings.setTextAreasAreResizable(store.getBoolValueForKey(WebPreferencesKey::textAreasAreResizableKey()));
2657
    settings.setTextAreasAreResizable(store.getBoolValueForKey(WebPreferencesKey::textAreasAreResizableKey()));
2658
    settings.setNeedsSiteSpecificQuirks(store.getBoolValueForKey(WebPreferencesKey::needsSiteSpecificQuirksKey()));
2658
    settings.setNeedsSiteSpecificQuirks(store.getBoolValueForKey(WebPreferencesKey::needsSiteSpecificQuirksKey()));
2659
    settings.setJavaScriptCanOpenWindowsAutomatically(store.getBoolValueForKey(WebPreferencesKey::javaScriptCanOpenWindowsAutomaticallyKey()));
2659
    settings.setJavaScriptCanOpenWindowsAutomatically(store.getBoolValueForKey(WebPreferencesKey::javaScriptCanOpenWindowsAutomaticallyKey()));
- a/Source/WebKit2/mac/WebKit2.order -3 lines
Lines 176-182 __ZN6WebKit17WebPreferencesKey19databasesEnabledKeyEv a/Source/WebKit2/mac/WebKit2.order_sec1
176
__ZN6WebKit17WebPreferencesKey20xssAuditorEnabledKeyEv
176
__ZN6WebKit17WebPreferencesKey20xssAuditorEnabledKeyEv
177
__ZN6WebKit17WebPreferencesKey25frameFlatteningEnabledKeyEv
177
__ZN6WebKit17WebPreferencesKey25frameFlatteningEnabledKeyEv
178
__ZN6WebKit17WebPreferencesKey25developerExtrasEnabledKeyEv
178
__ZN6WebKit17WebPreferencesKey25developerExtrasEnabledKeyEv
179
__ZN6WebKit17WebPreferencesKey31javaScriptExperimentsEnabledKeyEv
180
__ZN6WebKit17WebPreferencesKey25privateBrowsingEnabledKeyEv
179
__ZN6WebKit17WebPreferencesKey25privateBrowsingEnabledKeyEv
181
__ZN6WebKit17WebPreferencesKey24textAreasAreResizableKeyEv
180
__ZN6WebKit17WebPreferencesKey24textAreasAreResizableKeyEv
182
__ZN6WebKit17WebPreferencesKey40javaScriptCanOpenWindowsAutomaticallyKeyEv
181
__ZN6WebKit17WebPreferencesKey40javaScriptCanOpenWindowsAutomaticallyKeyEv
Lines 8129-8136 _WKPreferencesSetXSSAuditorEnabled a/Source/WebKit2/mac/WebKit2.order_sec2
8129
__ZN6WebKit14WebPreferences20setXSSAuditorEnabledERKb
8128
__ZN6WebKit14WebPreferences20setXSSAuditorEnabledERKb
8130
_WKPreferencesSetWebAudioEnabled
8129
_WKPreferencesSetWebAudioEnabled
8131
__ZN6WebKit14WebPreferences18setWebAudioEnabledERKb
8130
__ZN6WebKit14WebPreferences18setWebAudioEnabledERKb
8132
_WKPreferencesSetJavaScriptExperimentsEnabled
8133
__ZN6WebKit14WebPreferences31setJavaScriptExperimentsEnabledERKb
8134
_WKPreferencesSetJavaScriptCanAccessClipboard
8131
_WKPreferencesSetJavaScriptCanAccessClipboard
8135
__ZN6WebKit14WebPreferences31setJavaScriptCanAccessClipboardERKb
8132
__ZN6WebKit14WebPreferences31setJavaScriptCanAccessClipboardERKb
8136
_WKPreferencesSetDOMPasteAllowed
8133
_WKPreferencesSetDOMPasteAllowed
- a/Tools/ChangeLog +16 lines
Lines 1-3 a/Tools/ChangeLog_sec1
1
2015-02-24  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 NOBODY (OOPS!).
7
8
        Drop javaScriptExperimentsEnabled and specify JavaScriptRuntimeFlagsAllEnabled as KJavaScriptRuntimeFlags.
9
10
        * DumpRenderTree/mac/DumpRenderTree.mm:
11
        (resetWebPreferencesToConsistentValues):
12
        * DumpRenderTree/win/DumpRenderTree.cpp:
13
        (resetWebPreferencesToConsistentValues):
14
        * WebKitTestRunner/TestController.cpp:
15
        (WTR::TestController::resetPreferencesToConsistentValues):
16
1
2015-02-23  Commit Queue  <commit-queue@webkit.org>
17
2015-02-23  Commit Queue  <commit-queue@webkit.org>
2
18
3
        Unreviewed, rolling out r180547 and r180550.
19
        Unreviewed, rolling out r180547 and r180550.
- a/Tools/DumpRenderTree/mac/DumpRenderTree.mm -1 / +1 lines
Lines 839-845 static void resetWebPreferencesToConsistentValues() a/Tools/DumpRenderTree/mac/DumpRenderTree.mm_sec1
839
    [preferences setJavaScriptCanAccessClipboard:YES];
839
    [preferences setJavaScriptCanAccessClipboard:YES];
840
    [preferences setOfflineWebApplicationCacheEnabled:YES];
840
    [preferences setOfflineWebApplicationCacheEnabled:YES];
841
    [preferences setDeveloperExtrasEnabled:NO];
841
    [preferences setDeveloperExtrasEnabled:NO];
842
    [preferences setJavaScriptExperimentsEnabled:YES];
842
    [preferences setJavaScriptRuntimeFlags:WebKitJavaScriptRuntimeFlagsAllEnabled];
843
    [preferences setLoadsImagesAutomatically:YES];
843
    [preferences setLoadsImagesAutomatically:YES];
844
    [preferences setLoadsSiteIconsIgnoringImageLoadingPreference:NO];
844
    [preferences setLoadsSiteIconsIgnoringImageLoadingPreference:NO];
845
    [preferences setFrameFlatteningEnabled:NO];
845
    [preferences setFrameFlatteningEnabled:NO];
- a/Tools/DumpRenderTree/win/DumpRenderTree.cpp +1 lines
Lines 816-821 static void resetWebPreferencesToConsistentValues(IWebPreferences* preferences) a/Tools/DumpRenderTree/win/DumpRenderTree.cpp_sec1
816
    prefsPrivate->setJavaScriptCanAccessClipboard(TRUE);
816
    prefsPrivate->setJavaScriptCanAccessClipboard(TRUE);
817
    prefsPrivate->setOfflineWebApplicationCacheEnabled(TRUE);
817
    prefsPrivate->setOfflineWebApplicationCacheEnabled(TRUE);
818
    prefsPrivate->setDeveloperExtrasEnabled(FALSE);
818
    prefsPrivate->setDeveloperExtrasEnabled(FALSE);
819
    prefsPrivate->setJavaScriptRuntimeFlags(WebKitJavaScriptRuntimeFlagsAllEnabled);
819
    // Set JS experiments enabled: YES
820
    // Set JS experiments enabled: YES
820
    preferences->setLoadsImagesAutomatically(TRUE);
821
    preferences->setLoadsImagesAutomatically(TRUE);
821
    prefsPrivate->setLoadsSiteIconsIgnoringImageLoadingPreference(FALSE);
822
    prefsPrivate->setLoadsSiteIconsIgnoringImageLoadingPreference(FALSE);
- a/Tools/WebKitTestRunner/TestController.cpp -1 / +1 lines
Lines 549-555 void TestController::resetPreferencesToConsistentValues() a/Tools/WebKitTestRunner/TestController.cpp_sec1
549
    WKPreferencesSetWebAudioEnabled(preferences, true);
549
    WKPreferencesSetWebAudioEnabled(preferences, true);
550
    WKPreferencesSetMediaStreamEnabled(preferences, true);
550
    WKPreferencesSetMediaStreamEnabled(preferences, true);
551
    WKPreferencesSetDeveloperExtrasEnabled(preferences, true);
551
    WKPreferencesSetDeveloperExtrasEnabled(preferences, true);
552
    WKPreferencesSetJavaScriptExperimentsEnabled(preferences, true);
552
    WKPreferencesSetJavaScriptRuntimeFlags(preferences, kWKJavaScriptRuntimeFlagsAllEnabled);
553
    WKPreferencesSetJavaScriptCanOpenWindowsAutomatically(preferences, true);
553
    WKPreferencesSetJavaScriptCanOpenWindowsAutomatically(preferences, true);
554
    WKPreferencesSetJavaScriptCanAccessClipboard(preferences, true);
554
    WKPreferencesSetJavaScriptCanAccessClipboard(preferences, true);
555
    WKPreferencesSetDOMPasteAllowed(preferences, true);
555
    WKPreferencesSetDOMPasteAllowed(preferences, true);

Return to Bug 141859