From 8171d89bcc82e48acd65a36744cf70822d418cae Mon Sep 17 00:00:00 2001 From: "fpizlo@apple.com" Date: Thu, 8 Dec 2016 21:56:23 +0000 Subject: [PATCH] Enable SharedArrayBuffer, remove the flag https://bugs.webkit.org/show_bug.cgi?id=165614 Rubber stamped by Geoffrey Garen. Source/JavaScriptCore: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/RuntimeFlags.h: Source/WebKit/mac: * WebView/WebPreferencesPrivate.h: Source/WebKit/win: * Interfaces/IWebPreferencesPrivate.idl: Source/WebKit2: * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/API/Cocoa/WKPreferencesPrivate.h: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209568 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/JavaScriptCore/ChangeLog | 11 +++++++++++ Source/JavaScriptCore/runtime/JSGlobalObject.cpp | 15 +++++---------- Source/JavaScriptCore/runtime/RuntimeFlags.h | 3 +-- Source/WebKit/mac/ChangeLog | 9 +++++++++ Source/WebKit/mac/WebView/WebPreferencesPrivate.h | 3 +-- Source/WebKit/win/ChangeLog | 9 +++++++++ Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl | 3 +-- Source/WebKit2/ChangeLog | 10 ++++++++++ Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h | 3 +-- Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h | 3 +-- 10 files changed, 49 insertions(+), 20 deletions(-) diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog index 5297986..851615a 100644 --- a/Source/JavaScriptCore/ChangeLog +++ b/Source/JavaScriptCore/ChangeLog @@ -1,3 +1,14 @@ +2016-12-08 Filip Pizlo + + Enable SharedArrayBuffer, remove the flag + https://bugs.webkit.org/show_bug.cgi?id=165614 + + Rubber stamped by Geoffrey Garen. + + * runtime/JSGlobalObject.cpp: + (JSC::JSGlobalObject::init): + * runtime/RuntimeFlags.h: + 2016-12-08 JF Bastien WebAssembly JS API: wire up Instance imports diff --git a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp b/Source/JavaScriptCore/runtime/JSGlobalObject.cpp index 519d49b..72dbca0 100644 --- a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp +++ b/Source/JavaScriptCore/runtime/JSGlobalObject.cpp @@ -578,10 +578,8 @@ void JSGlobalObject::init(VM& vm) m_arrayBufferPrototype.set(vm, this, JSArrayBufferPrototype::create(vm, this, JSArrayBufferPrototype::createStructure(vm, this, m_objectPrototype.get()), ArrayBufferSharingMode::Default)); m_arrayBufferStructure.set(vm, this, JSArrayBuffer::createStructure(vm, this, m_arrayBufferPrototype.get())); - if (m_runtimeFlags.isSharedArrayBufferEnabled()) { - m_sharedArrayBufferPrototype.set(vm, this, JSArrayBufferPrototype::create(vm, this, JSArrayBufferPrototype::createStructure(vm, this, m_objectPrototype.get()), ArrayBufferSharingMode::Shared)); - m_sharedArrayBufferStructure.set(vm, this, JSArrayBuffer::createStructure(vm, this, m_sharedArrayBufferPrototype.get())); - } + m_sharedArrayBufferPrototype.set(vm, this, JSArrayBufferPrototype::create(vm, this, JSArrayBufferPrototype::createStructure(vm, this, m_objectPrototype.get()), ArrayBufferSharingMode::Shared)); + m_sharedArrayBufferStructure.set(vm, this, JSArrayBuffer::createStructure(vm, this, m_sharedArrayBufferPrototype.get())); #define CREATE_PROTOTYPE_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName, prototypeBase) \ m_ ## lowerName ## Prototype.set(vm, this, capitalName##Prototype::create(vm, this, capitalName##Prototype::createStructure(vm, this, m_ ## prototypeBase ## Prototype.get()))); \ @@ -636,10 +634,8 @@ m_ ## properName ## Structure.set(vm, this, instanceType::createStructure(vm, th JSArrayBufferConstructor* arrayBufferConstructor = JSArrayBufferConstructor::create(vm, JSArrayBufferConstructor::createStructure(vm, this, m_functionPrototype.get()), m_arrayBufferPrototype.get(), m_speciesGetterSetter.get(), ArrayBufferSharingMode::Default); m_arrayBufferPrototype->putDirectWithoutTransition(vm, vm.propertyNames->constructor, arrayBufferConstructor, DontEnum); JSArrayBufferConstructor* sharedArrayBufferConstructor = nullptr; - if (m_runtimeFlags.isSharedArrayBufferEnabled()) { - sharedArrayBufferConstructor = JSArrayBufferConstructor::create(vm, JSArrayBufferConstructor::createStructure(vm, this, m_functionPrototype.get()), m_sharedArrayBufferPrototype.get(), m_speciesGetterSetter.get(), ArrayBufferSharingMode::Shared); - m_sharedArrayBufferPrototype->putDirectWithoutTransition(vm, vm.propertyNames->constructor, sharedArrayBufferConstructor, DontEnum); - } + sharedArrayBufferConstructor = JSArrayBufferConstructor::create(vm, JSArrayBufferConstructor::createStructure(vm, this, m_functionPrototype.get()), m_sharedArrayBufferPrototype.get(), m_speciesGetterSetter.get(), ArrayBufferSharingMode::Shared); + m_sharedArrayBufferPrototype->putDirectWithoutTransition(vm, vm.propertyNames->constructor, sharedArrayBufferConstructor, DontEnum); #define CREATE_CONSTRUCTOR_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName, prototypeBase) \ capitalName ## Constructor* lowerName ## Constructor = capitalName ## Constructor::create(vm, capitalName ## Constructor::createStructure(vm, this, m_functionPrototype.get()), m_ ## lowerName ## Prototype.get(), m_speciesGetterSetter.get()); \ @@ -703,8 +699,7 @@ m_ ## lowerName ## Prototype->putDirectWithoutTransition(vm, vm.propertyNames->c putDirectWithoutTransition(vm, vm.propertyNames->builtinNames().ArrayPrivateName(), arrayConstructor, DontEnum | DontDelete | ReadOnly); putDirectWithoutTransition(vm, vm.propertyNames->ArrayBuffer, arrayBufferConstructor, DontEnum); - if (m_runtimeFlags.isSharedArrayBufferEnabled()) - putDirectWithoutTransition(vm, vm.propertyNames->SharedArrayBuffer, sharedArrayBufferConstructor, DontEnum); + putDirectWithoutTransition(vm, vm.propertyNames->SharedArrayBuffer, sharedArrayBufferConstructor, DontEnum); #define PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName, prototypeBase) \ putDirectWithoutTransition(vm, vm.propertyNames-> jsName, lowerName ## Constructor, DontEnum); \ diff --git a/Source/JavaScriptCore/runtime/RuntimeFlags.h b/Source/JavaScriptCore/runtime/RuntimeFlags.h index 3874bde..a423ea9 100644 --- a/Source/JavaScriptCore/runtime/RuntimeFlags.h +++ b/Source/JavaScriptCore/runtime/RuntimeFlags.h @@ -31,8 +31,7 @@ namespace JSC { // macro(name, isEnabledFlag) -#define JSC_RUNTIME_FLAG(macro) \ - macro(SharedArrayBufferEnabled, true) +#define JSC_RUNTIME_FLAG(macro) class RuntimeFlags { private: diff --git a/Source/WebKit/mac/ChangeLog b/Source/WebKit/mac/ChangeLog index 0a4a11b..dabd616 100644 --- a/Source/WebKit/mac/ChangeLog +++ b/Source/WebKit/mac/ChangeLog @@ -1,3 +1,12 @@ +2016-12-08 Filip Pizlo + + Enable SharedArrayBuffer, remove the flag + https://bugs.webkit.org/show_bug.cgi?id=165614 + + Rubber stamped by Geoffrey Garen. + + * WebView/WebPreferencesPrivate.h: + 2016-12-07 Dean Jackson Remove runtime toggle for pointer-lock diff --git a/Source/WebKit/mac/WebView/WebPreferencesPrivate.h b/Source/WebKit/mac/WebView/WebPreferencesPrivate.h index aab739e..461bdd9 100644 --- a/Source/WebKit/mac/WebView/WebPreferencesPrivate.h +++ b/Source/WebKit/mac/WebView/WebPreferencesPrivate.h @@ -53,8 +53,7 @@ typedef enum { } WebStorageBlockingPolicy; typedef enum { - WebKitJavaScriptRuntimeFlagsSharedArrayBufferEnabled = 1u << 0, - WebKitJavaScriptRuntimeFlagsAllEnabled = WebKitJavaScriptRuntimeFlagsSharedArrayBufferEnabled + WebKitJavaScriptRuntimeFlagsAllEnabled = 0 } WebKitJavaScriptRuntimeFlags; extern NSString *WebPreferencesChangedNotification; diff --git a/Source/WebKit/win/ChangeLog b/Source/WebKit/win/ChangeLog index 22fb9b4..20ede19 100644 --- a/Source/WebKit/win/ChangeLog +++ b/Source/WebKit/win/ChangeLog @@ -1,3 +1,12 @@ +2016-12-08 Filip Pizlo + + Enable SharedArrayBuffer, remove the flag + https://bugs.webkit.org/show_bug.cgi?id=165614 + + Rubber stamped by Geoffrey Garen. + + * Interfaces/IWebPreferencesPrivate.idl: + 2016-11-26 Yusuke Suzuki [WTF] Import std::optional reference implementation as WTF::Optional diff --git a/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl b/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl index 470027f..23877c4 100644 --- a/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl +++ b/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl @@ -32,8 +32,7 @@ import "ocidl.idl"; #endif typedef enum WebKitJavaScriptRuntimeFlags { - WebKitJavaScriptRuntimeFlagsSharedArrayBufferEnabled = 1, - WebKitJavaScriptRuntimeFlagsAllEnabled = 1 + WebKitJavaScriptRuntimeFlagsAllEnabled = 0 } WebKitJavaScriptRuntimeFlags; [ diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog index d3c9d7a..d311fef 100644 --- a/Source/WebKit2/ChangeLog +++ b/Source/WebKit2/ChangeLog @@ -1,3 +1,13 @@ +2016-12-08 Filip Pizlo + + Enable SharedArrayBuffer, remove the flag + https://bugs.webkit.org/show_bug.cgi?id=165614 + + Rubber stamped by Geoffrey Garen. + + * UIProcess/API/C/WKPreferencesRefPrivate.h: + * UIProcess/API/Cocoa/WKPreferencesPrivate.h: + 2016-12-08 Alex Christensen Add SPI for sending WebsiteSettings to WebProcess during navigation diff --git a/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h b/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h index 4940b20..0722a63 100644 --- a/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h +++ b/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h @@ -50,8 +50,7 @@ enum WKEditableLinkBehavior { typedef enum WKEditableLinkBehavior WKEditableLinkBehavior; enum WKJavaScriptRuntimeFlags { - kWKJavaScriptRuntimeFlagsSharedArrayBufferEnabled = 1 << 0, - kWKJavaScriptRuntimeFlagsAllEnabled = kWKJavaScriptRuntimeFlagsSharedArrayBufferEnabled + kWKJavaScriptRuntimeFlagsAllEnabled = 0 }; typedef unsigned WKJavaScriptRuntimeFlagSet; diff --git a/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h b/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h index ddabad1..f0c122a 100644 --- a/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h +++ b/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h @@ -43,8 +43,7 @@ typedef NS_OPTIONS(NSUInteger, _WKDebugOverlayRegions) { } WK_API_AVAILABLE(macosx(10.11), ios(9.0)); typedef NS_OPTIONS(NSUInteger, _WKJavaScriptRuntimeFlags) { - _WKJavaScriptRuntimeFlagsSharedArrayBufferEnabled = 1 << 0, - _WKJavaScriptRuntimeFlagsAllEnabled = _WKJavaScriptRuntimeFlagsSharedArrayBufferEnabled + _WKJavaScriptRuntimeFlagsAllEnabled = 0 } WK_API_AVAILABLE(macosx(10.11), ios(9.0)); @class _WKExperimentalFeature; -- 1.8.3.1