Diff
Modified: trunk/Source/WebCore/ChangeLog (209229 => 209230)
--- trunk/Source/WebCore/ChangeLog 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebCore/ChangeLog 2016-12-02 03:30:37 UTC (rev 209230)
@@ -1,3 +1,15 @@
+2016-12-01 Jiewen Tan <jiewen_...@apple.com>
+
+ Add a runtime flag for SubtleCrypto
+ https://bugs.webkit.org/show_bug.cgi?id=164982
+
+ Reviewed by Brent Fulgham.
+
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::setSubtleCryptoEnabled):
+ (WebCore::RuntimeEnabledFeatures::subtleCryptoEnabled):
+ * page/Crypto.idl:
+
2016-12-01 Saam Barati <sbar...@apple.com>
Rename CallFrame::callee() to CallFrame::jsCallee()
Modified: trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h (209229 => 209230)
--- trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h 2016-12-02 03:30:37 UTC (rev 209230)
@@ -240,6 +240,11 @@
bool encryptedMediaAPIEnabled() const { return m_encryptedMediaAPIEnabled; }
#endif
+#if ENABLE(SUBTLE_CRYPTO)
+ void setSubtleCryptoEnabled(bool isEnabled) { m_isSubtleCryptoEnabled = isEnabled; }
+ bool subtleCryptoEnabled() const { return m_isSubtleCryptoEnabled; }
+#endif
+
WEBCORE_EXPORT static RuntimeEnabledFeatures& sharedFeatures();
WEBCORE_EXPORT void reset();
@@ -362,6 +367,10 @@
bool m_intersectionObserverEnabled { false };
#endif
+#if ENABLE(SUBTLE_CRYPTO)
+ bool m_isSubtleCryptoEnabled;
+#endif
+
friend class WTF::NeverDestroyed<RuntimeEnabledFeatures>;
};
Modified: trunk/Source/WebCore/page/Crypto.idl (209229 => 209230)
--- trunk/Source/WebCore/page/Crypto.idl 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebCore/page/Crypto.idl 2016-12-02 03:30:37 UTC (rev 209230)
@@ -31,7 +31,7 @@
Exposed=(Window,Worker),
GenerateIsReachable=ImplScriptExecutionContext,
] interface Crypto {
- [Conditional=SUBTLE_CRYPTO] readonly attribute SubtleCrypto subtle;
+ [Conditional=SUBTLE_CRYPTO, EnabledAtRuntime=SubtleCrypto] readonly attribute SubtleCrypto subtle;
[Custom, MayThrowException] ArrayBufferView getRandomValues(ArrayBufferView array);
// Will be deprecated.
Modified: trunk/Source/WebKit/mac/ChangeLog (209229 => 209230)
--- trunk/Source/WebKit/mac/ChangeLog 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebKit/mac/ChangeLog 2016-12-02 03:30:37 UTC (rev 209230)
@@ -1,3 +1,19 @@
+2016-12-01 Jiewen Tan <jiewen_...@apple.com>
+
+ Add a runtime flag for SubtleCrypto
+ https://bugs.webkit.org/show_bug.cgi?id=164982
+
+ Reviewed by Brent Fulgham.
+
+ * WebView/WebPreferenceKeysPrivate.h:
+ * WebView/WebPreferences.mm:
+ (+[WebPreferences initialize]):
+ (-[WebPreferences subtleCryptoEnabled]):
+ (-[WebPreferences setSubtleCryptoEnabled:]):
+ * WebView/WebPreferencesPrivate.h:
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChanged:]):
+
2016-11-30 Said Abou-Hallawa <sabouhall...@apple.com>
Add separate settings and preferences to enable/disable async decoding for large images and animated images
Modified: trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h (209229 => 209230)
--- trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h 2016-12-02 03:30:37 UTC (rev 209230)
@@ -173,6 +173,7 @@
#define WebKitVisualViewportEnabledPreferenceKey @"WebKitVisualViewportEnabled"
#define WebKitModernMediaControlsEnabledPreferenceKey @"WebKitModernMediaControlsEnabled"
#define WebKitPointerLockEnabledPreferenceKey @"WebKitPointerLockEnabled"
+#define WebKitSubtleCryptoEnabledPreferenceKey @"WebKitSubtleCryptoEnabled"
#if !TARGET_OS_IPHONE
// These are private both because callers should be using the cover methods and because the
Modified: trunk/Source/WebKit/mac/WebView/WebPreferences.mm (209229 => 209230)
--- trunk/Source/WebKit/mac/WebView/WebPreferences.mm 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebKit/mac/WebView/WebPreferences.mm 2016-12-02 03:30:37 UTC (rev 209230)
@@ -630,6 +630,9 @@
#endif
[NSNumber numberWithBool:NO], WebKitVisualViewportEnabledPreferenceKey,
[NSNumber numberWithBool:YES], WebKitNeedsStorageAccessFromFileURLsQuirkKey,
+#if ENABLE(SUBTLE_CRYPTO)
+ [NSNumber numberWithBool:YES], WebKitSubtleCryptoEnabledPreferenceKey,
+#endif
nil];
#if !PLATFORM(IOS)
@@ -2680,6 +2683,17 @@
[self _setStringValue:directory forKey:WebKitMediaKeysStorageDirectoryKey];
}
+- (BOOL)subtleCryptoEnabled
+{
+ return [self _boolValueForKey:WebKitSubtleCryptoEnabledPreferenceKey];
+}
+
+- (void)setSubtleCryptoEnabled:(BOOL)flag
+{
+ [self _setBoolValue:flag forKey:WebKitSubtleCryptoEnabledPreferenceKey];
+}
+
+
- (void)setMetaRefreshEnabled:(BOOL)enabled
{
[self setHTTPEquivEnabled:enabled];
Modified: trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h (209229 => 209230)
--- trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h 2016-12-02 03:30:37 UTC (rev 209230)
@@ -160,6 +160,9 @@
- (BOOL)isSpatialNavigationEnabled;
- (void)setSpatialNavigationEnabled:(BOOL)flag;
+- (void)setSubtleCryptoEnabled:(BOOL)flag;
+- (BOOL)subtleCryptoEnabled;
+
#if !TARGET_OS_IPHONE
// zero means do AutoScale
- (float)PDFScaleFactor;
Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (209229 => 209230)
--- trunk/Source/WebKit/mac/WebView/WebView.mm 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm 2016-12-02 03:30:37 UTC (rev 209230)
@@ -2866,6 +2866,10 @@
RuntimeEnabledFeatures::sharedFeatures().setIntersectionObserverEnabled(preferences.intersectionObserverEnabled);
#endif
+#if ENABLE(SUBTLE_CRYPTO)
+ RuntimeEnabledFeatures::sharedFeatures().setSubtleCryptoEnabled([preferences subtleCryptoEnabled]);
+#endif
+
NSTimeInterval timeout = [preferences incrementalRenderingSuppressionTimeoutInSeconds];
if (timeout > 0)
settings.setIncrementalRenderingSuppressionTimeoutInSeconds(timeout);
Modified: trunk/Source/WebKit2/ChangeLog (209229 => 209230)
--- trunk/Source/WebKit2/ChangeLog 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebKit2/ChangeLog 2016-12-02 03:30:37 UTC (rev 209230)
@@ -1,3 +1,20 @@
+2016-12-01 Jiewen Tan <jiewen_...@apple.com>
+
+ Add a runtime flag for SubtleCrypto
+ https://bugs.webkit.org/show_bug.cgi?id=164982
+
+ Reviewed by Brent Fulgham.
+
+ * Shared/WebPreferencesDefinitions.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetSubtleCryptoEnabled):
+ (WKPreferencesGetSubtleCryptoEnabled):
+ * UIProcess/API/C/WKPreferencesRefPrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
2016-12-01 Saam Barati <sbar...@apple.com>
Rename CallFrame::callee() to CallFrame::jsCallee()
Modified: trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h (209229 => 209230)
--- trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h 2016-12-02 03:30:37 UTC (rev 209230)
@@ -317,6 +317,7 @@
macro(ModernMediaControlsEnabled, modernMediaControlsEnabled, Bool, bool, false, "Modern Media Controls", "Use modern media controls look") \
macro(VariationFontsEnabled, variationFontsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Variation Fonts", "Enable variation fonts") \
macro(InputEventsEnabled, inputEventsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Input Events", "Enable InputEvents support") \
+ macro(SubtleCryptoEnabled, subtleCryptoEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "SubtleCrypto", "Enable SubtleCrypto support") \
macro(WebGL2Enabled, webGL2Enabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "WebGL 2.0", "WebGL 2 prototype") \
macro(ES6ModulesEnabled, es6ModulesEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "ES6 Modules", "Enable ES6 Modules support") \
macro(PointerLockEnabled, pointerLockEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "PointerLock", "Pointer Lock API support") \
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp (209229 => 209230)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp 2016-12-02 03:30:37 UTC (rev 209230)
@@ -1611,3 +1611,12 @@
WebKit::toImpl(preferencesRef)->setApplePayCapabilityDisclosureAllowed(allowed);
}
+void WKPreferencesSetSubtleCryptoEnabled(WKPreferencesRef preferencesRef, bool flag)
+{
+ toImpl(preferencesRef)->setSubtleCryptoEnabled(flag);
+}
+
+bool WKPreferencesGetSubtleCryptoEnabled(WKPreferencesRef preferencesRef)
+{
+ return toImpl(preferencesRef)->subtleCryptoEnabled();
+}
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h (209229 => 209230)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h 2016-12-02 03:30:37 UTC (rev 209230)
@@ -450,6 +450,10 @@
WK_EXPORT void WKPreferencesSetIntersectionObserverEnabled(WKPreferencesRef, bool flag);
WK_EXPORT bool WKPreferencesGetIntersectionObserverEnabled(WKPreferencesRef);
+// Defaults to true
+WK_EXPORT void WKPreferencesSetSubtleCryptoEnabled(WKPreferencesRef, bool flag);
+WK_EXPORT bool WKPreferencesGetSubtleCryptoEnabled(WKPreferencesRef);
+
#ifdef __cplusplus
}
#endif
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp (209229 => 209230)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp 2016-12-02 03:30:37 UTC (rev 209230)
@@ -221,6 +221,11 @@
RuntimeEnabledFeatures::sharedFeatures().setEncryptedMediaAPIEnabled(enabled);
#endif
+#if ENABLE(SUBTLE_CRYPTO)
+ if (preference == "WebKitSubtleCryptoEnabled")
+ RuntimeEnabledFeatures::sharedFeatures().setSubtleCryptoEnabled(enabled);
+#endif
+
// Map the names used in LayoutTests with the names used in WebCore::Settings and WebPreferencesStore.
#define FOR_EACH_OVERRIDE_BOOL_PREFERENCE(macro) \
macro(WebKitAcceleratedCompositingEnabled, AcceleratedCompositingEnabled, acceleratedCompositingEnabled) \
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (209229 => 209230)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2016-12-02 03:30:37 UTC (rev 209230)
@@ -3209,6 +3209,10 @@
updateThrottleState();
}
+#if ENABLE(SUBTLE_CRYPTO)
+ RuntimeEnabledFeatures::sharedFeatures().setSubtleCryptoEnabled(store.getBoolValueForKey(WebPreferencesKey::subtleCryptoEnabledKey()));
+#endif
+
platformPreferencesDidChange(store);
if (m_drawingArea)
Modified: trunk/Tools/ChangeLog (209229 => 209230)
--- trunk/Tools/ChangeLog 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Tools/ChangeLog 2016-12-02 03:30:37 UTC (rev 209230)
@@ -1,3 +1,18 @@
+2016-12-01 Jiewen Tan <jiewen_...@apple.com>
+
+ Add a runtime flag for SubtleCrypto
+ https://bugs.webkit.org/show_bug.cgi?id=164982
+
+ Reviewed by Brent Fulgham.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetWebPreferencesToConsistentValues):
+ * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
+ (WTR::InjectedBundle::beginTesting):
+ * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
+ (WTR::TestRunner::setSubtleCryptoEnabled):
+ * WebKitTestRunner/InjectedBundle/TestRunner.h:
+
2016-12-01 Alexey Proskuryakov <a...@apple.com>
Remove webkitpy dependency on Eliza
Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (209229 => 209230)
--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2016-12-02 03:30:37 UTC (rev 209230)
@@ -1001,6 +1001,8 @@
preferences.intersectionObserverEnabled = options.enableIntersectionObserver;
preferences.modernMediaControlsEnabled = options.enableModernMediaControls;
+ [preferences setSubtleCryptoEnabled:YES];
+
[WebPreferences _clearNetworkLoaderSession];
[WebPreferences _setCurrentNetworkLoaderSessionCookieAcceptPolicy:NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain];
}
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp (209229 => 209230)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp 2016-12-02 03:30:37 UTC (rev 209230)
@@ -335,6 +335,8 @@
m_testRunner->setTabKeyCyclesThroughElements(true);
m_testRunner->clearTestRunnerCallbacks();
+ m_testRunner->setSubtleCryptoEnabled(true);
+
if (m_timeout > 0)
m_testRunner->setCustomTimeout(m_timeout);
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp (209229 => 209230)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp 2016-12-02 03:30:37 UTC (rev 209230)
@@ -354,6 +354,13 @@
WKBundleOverrideBoolPreferenceForTestRunner(injectedBundle.bundle(), injectedBundle.pageGroup(), key.get(), enabled);
}
+void TestRunner::setSubtleCryptoEnabled(bool enabled)
+{
+ WKRetainPtr<WKStringRef> key(AdoptWK, WKStringCreateWithUTF8CString("WebKitSubtleCryptoEnabled"));
+ auto& injectedBundle = InjectedBundle::singleton();
+ WKBundleOverrideBoolPreferenceForTestRunner(injectedBundle.bundle(), injectedBundle.pageGroup(), key.get(), enabled);
+}
+
void TestRunner::setDOMIteratorEnabled(bool enabled)
{
WKRetainPtr<WKStringRef> key(AdoptWK, WKStringCreateWithUTF8CString("WebKitDOMIteratorEnabled"));
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h (209229 => 209230)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h 2016-12-02 02:38:23 UTC (rev 209229)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h 2016-12-02 03:30:37 UTC (rev 209230)
@@ -129,6 +129,7 @@
void setAllowsAnySSLCertificate(bool);
void setES6ModulesEnabled(bool);
void setEncryptedMediaAPIEnabled(bool);
+ void setSubtleCryptoEnabled(bool);
// Special DOM functions.
void clearBackForwardList();