Title: [254856] trunk
Revision
254856
Author
[email protected]
Date
2020-01-21 09:51:45 -0800 (Tue, 21 Jan 2020)

Log Message

Disable WebSQL everywhere by default except in tests
https://bugs.webkit.org/show_bug.cgi?id=204907

Reviewed by Ryosuke Niwa.

Source/WebCore:

No new tests. All WebSQL tests are enabled for now.

* page/RuntimeEnabledFeatures.h:

Source/WebKitLegacy/mac:

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences webSQLEnabled]):
(-[WebPreferences setWebSQLEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKitLegacy/win:

* Interfaces/IWebPreferencesPrivate.idl:
* WebPreferenceKeysPrivate.h:
* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::webSQLEnabled):
(WebPreferences::setWebSQLEnabled):
* WebPreferences.h:
* WebView.cpp:
(WebView::notifyPreferencesChanged):

Tools:

* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(setWebPreferencesForTestOptions):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (254855 => 254856)


--- trunk/Source/WebCore/ChangeLog	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Source/WebCore/ChangeLog	2020-01-21 17:51:45 UTC (rev 254856)
@@ -1,3 +1,14 @@
+2020-01-21  Sihui Liu  <[email protected]>
+
+        Disable WebSQL everywhere by default except in tests
+        https://bugs.webkit.org/show_bug.cgi?id=204907
+
+        Reviewed by Ryosuke Niwa.
+
+        No new tests. All WebSQL tests are enabled for now.
+
+        * page/RuntimeEnabledFeatures.h:
+
 2020-01-21  Antti Koivisto  <[email protected]>
 
         [LFC][Integration] Use InlineFormattingContext directly

Modified: trunk/Source/WebCore/page/RuntimeEnabledFeatures.h (254855 => 254856)


--- trunk/Source/WebCore/page/RuntimeEnabledFeatures.h	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Source/WebCore/page/RuntimeEnabledFeatures.h	2020-01-21 17:51:45 UTC (rev 254856)
@@ -447,7 +447,7 @@
     bool m_pointerEventsEnabled { true };
     bool m_syntheticEditingCommandsEnabled { true };
     bool m_dialogElementEnabled { false };
-    bool m_webSQLEnabled { true };
+    bool m_webSQLEnabled { false };
     bool m_keygenElementEnabled { false };
     bool m_pageAtRuleSupportEnabled { false };
     bool m_highlightAPIEnabled { false };

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (254855 => 254856)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2020-01-21 17:51:45 UTC (rev 254856)
@@ -1,3 +1,19 @@
+2020-01-21  Sihui Liu  <[email protected]>
+
+        Disable WebSQL everywhere by default except in tests
+        https://bugs.webkit.org/show_bug.cgi?id=204907
+
+        Reviewed by Ryosuke Niwa.
+
+        * WebView/WebPreferenceKeysPrivate.h:
+        * WebView/WebPreferences.mm:
+        (+[WebPreferences initialize]):
+        (-[WebPreferences webSQLEnabled]):
+        (-[WebPreferences setWebSQLEnabled:]):
+        * WebView/WebPreferencesPrivate.h:
+        * WebView/WebView.mm:
+        (-[WebView _preferencesChanged:]):
+
 2020-01-20  David Kilzer  <[email protected]>
 
         Fix missing header guards and clean up empty files in WebCore, WebKitLegacy, WebKit, Tools

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h (254855 => 254856)


--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h	2020-01-21 17:51:45 UTC (rev 254856)
@@ -207,6 +207,7 @@
 #define WebKitWebAnimationsCSSIntegrationEnabledPreferenceKey @"WebKitWebAnimationsCSSIntegrationEnabled"
 #define WebKitCSSShadowPartsEnabledPreferenceKey @"WebKitCSSShadowPartsEnabled"
 #define WebKitLayoutFormattingContextIntegrationEnabledPreferenceKey @"WebKitLayoutFormattingContextIntegrationEnabled"
+#define WebKitWebSQLEnabledPreferenceKey @"WebKitWebSQLEnabled"
 
 #if !TARGET_OS_IPHONE
 // These are private both because callers should be using the cover methods and because the

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm (254855 => 254856)


--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm	2020-01-21 17:51:45 UTC (rev 254856)
@@ -710,6 +710,7 @@
         @YES, WebKitCSSShadowPartsEnabledPreferenceKey,
         @NO, WebKitInAppBrowserPrivacyEnabledPreferenceKey,
         @NO, WebKitAspectRatioOfImgFromWidthAndHeightEnabledPreferenceKey,
+        @NO, WebKitWebSQLEnabledPreferenceKey,
         nil];
 
 #if !PLATFORM(IOS_FAMILY)
@@ -3646,6 +3647,16 @@
     [self _setBoolValue:flag forKey:WebKitAspectRatioOfImgFromWidthAndHeightEnabledPreferenceKey];
 }
 
+- (BOOL)webSQLEnabled
+{
+    return [self _boolValueForKey:WebKitWebSQLEnabledPreferenceKey];
+}
+
+- (void)setWebSQLEnabled:(BOOL)webSQLEnabled
+{
+    [self _setBoolValue:webSQLEnabled forKey:WebKitWebSQLEnabledPreferenceKey];
+}
+
 @end
 
 @implementation WebPreferences (WebInternal)

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h (254855 => 254856)


--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h	2020-01-21 17:51:45 UTC (rev 254856)
@@ -636,6 +636,9 @@
 - (BOOL)isInAppBrowserPrivacyEnabled;
 - (void)setInAppBrowserPrivacyEnabled:(BOOL)flag;
 
+- (void)setWebSQLEnabled:(BOOL)flag;
+- (BOOL)webSQLEnabled;
+
 @property (nonatomic) BOOL visualViewportAPIEnabled;
 @property (nonatomic) BOOL CSSOMViewScrollingAPIEnabled;
 @property (nonatomic) BOOL CSSOMViewSmoothScrollingEnabled;

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (254855 => 254856)


--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2020-01-21 17:51:45 UTC (rev 254856)
@@ -3208,6 +3208,7 @@
     RuntimeEnabledFeatures::sharedFeatures().setCSSShadowPartsEnabled([preferences cssShadowPartsEnabled]);
     RuntimeEnabledFeatures::sharedFeatures().setLayoutFormattingContextIntegrationEnabled([preferences layoutFormattingContextIntegrationEnabled]);
     RuntimeEnabledFeatures::sharedFeatures().setIsInAppBrowserPrivacyEnabled([preferences isInAppBrowserPrivacyEnabled]);
+    RuntimeEnabledFeatures::sharedFeatures().setWebSQLDisabled(![preferences webSQLEnabled]);
 
 #if ENABLE(LEGACY_ENCRYPTED_MEDIA)
     RuntimeEnabledFeatures::sharedFeatures().setLegacyEncryptedMediaAPIEnabled(preferences.legacyEncryptedMediaAPIEnabled);

Modified: trunk/Source/WebKitLegacy/win/ChangeLog (254855 => 254856)


--- trunk/Source/WebKitLegacy/win/ChangeLog	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Source/WebKitLegacy/win/ChangeLog	2020-01-21 17:51:45 UTC (rev 254856)
@@ -1,3 +1,20 @@
+2020-01-21  Sihui Liu  <[email protected]>
+
+        Disable WebSQL everywhere by default except in tests
+        https://bugs.webkit.org/show_bug.cgi?id=204907
+
+        Reviewed by Ryosuke Niwa.
+
+        * Interfaces/IWebPreferencesPrivate.idl:
+        * WebPreferenceKeysPrivate.h:
+        * WebPreferences.cpp:
+        (WebPreferences::initializeDefaultSettings):
+        (WebPreferences::webSQLEnabled):
+        (WebPreferences::setWebSQLEnabled):
+        * WebPreferences.h:
+        * WebView.cpp:
+        (WebView::notifyPreferencesChanged):
+
 2020-01-20  David Kilzer  <[email protected]>
 
         Fix missing header guards and clean up empty files in WebCore, WebKitLegacy, WebKit, Tools

Modified: trunk/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl (254855 => 254856)


--- trunk/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl	2020-01-21 17:51:45 UTC (rev 254856)
@@ -254,4 +254,6 @@
     HRESULT setWebAnimationsCompositeOperationsEnabled([in] BOOL enabled);
     HRESULT aspectRatioOfImgFromWidthAndHeightEnabled([out, retval] BOOL*);
     HRESULT setAspectRatioOfImgFromWidthAndHeightEnabled([in] BOOL enabled);
+    HRESULT setWebSQLEnabled([in] BOOL enabled);
+    HRESULT webSQLEnabled([out, retval] BOOL* enabled);
 }

Modified: trunk/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h (254855 => 254856)


--- trunk/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h	2020-01-21 17:51:45 UTC (rev 254856)
@@ -222,3 +222,5 @@
 #define WebKitAsyncClipboardAPIEnabledPreferenceKey "WebKitAsyncClipboardAPIEnabled"
 
 #define WebKitAspectRatioOfImgFromWidthAndHeightEnabledPreferenceKey "WebKitAspectRatioOfImgFromWidthAndHeightEnabled"
+
+#define WebKitWebSQLEnabledPreferenceKey "WebKitWebSQLEnabled"

Modified: trunk/Source/WebKitLegacy/win/WebPreferences.cpp (254855 => 254856)


--- trunk/Source/WebKitLegacy/win/WebPreferences.cpp	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Source/WebKitLegacy/win/WebPreferences.cpp	2020-01-21 17:51:45 UTC (rev 254856)
@@ -349,6 +349,8 @@
 
     CFDictionaryAddValue(defaults, CFSTR(WebKitAspectRatioOfImgFromWidthAndHeightEnabledPreferenceKey), kCFBooleanFalse);
 
+    CFDictionaryAddValue(defaults, CFSTR(WebKitWebSQLEnabledPreferenceKey), kCFBooleanFalse);
+
     defaultSettings = defaults;
 #endif
 }
@@ -2434,3 +2436,17 @@
     setBoolValue(WebKitAspectRatioOfImgFromWidthAndHeightEnabledPreferenceKey, enabled);
     return S_OK;
 }
+
+HRESULT WebPreferences::webSQLEnabled(_Out_ BOOL* enabled)
+{
+    if (!enabled)
+        return E_POINTER;
+    *enabled = boolValueForKey(WebKitWebSQLEnabledPreferenceKey);
+    return S_OK;
+}
+
+HRESULT WebPreferences::setWebSQLEnabled(BOOL enabled)
+{
+    setBoolValue(WebKitWebSQLEnabledPreferenceKey, enabled);
+    return S_OK;
+}

Modified: trunk/Source/WebKitLegacy/win/WebPreferences.h (254855 => 254856)


--- trunk/Source/WebKitLegacy/win/WebPreferences.h	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Source/WebKitLegacy/win/WebPreferences.h	2020-01-21 17:51:45 UTC (rev 254856)
@@ -299,6 +299,8 @@
     virtual HRESULT STDMETHODCALLTYPE setWebAnimationsCompositeOperationsEnabled(BOOL);
     virtual HRESULT STDMETHODCALLTYPE aspectRatioOfImgFromWidthAndHeightEnabled(_Out_ BOOL*);
     virtual HRESULT STDMETHODCALLTYPE setAspectRatioOfImgFromWidthAndHeightEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE webSQLEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setWebSQLEnabled(BOOL);
 
     // WebPreferences
 

Modified: trunk/Source/WebKitLegacy/win/WebView.cpp (254855 => 254856)


--- trunk/Source/WebKitLegacy/win/WebView.cpp	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Source/WebKitLegacy/win/WebView.cpp	2020-01-21 17:51:45 UTC (rev 254856)
@@ -5310,6 +5310,11 @@
         return hr;
     RuntimeEnabledFeatures::sharedFeatures().setInspectorAdditionsEnabled(!!enabled);
 
+    hr = prefsPrivate->webSQLEnabled(&enabled);
+    if (FAILED(hr))
+        return hr;
+    RuntimeEnabledFeatures::sharedFeatures().setWebSQLDisabled(!enabled);
+
     hr = prefsPrivate->visualViewportAPIEnabled(&enabled);
     if (FAILED(hr))
         return hr;

Modified: trunk/Tools/ChangeLog (254855 => 254856)


--- trunk/Tools/ChangeLog	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Tools/ChangeLog	2020-01-21 17:51:45 UTC (rev 254856)
@@ -1,3 +1,16 @@
+2020-01-21  Sihui Liu  <[email protected]>
+
+        Disable WebSQL everywhere by default except in tests
+        https://bugs.webkit.org/show_bug.cgi?id=204907
+
+        Reviewed by Ryosuke Niwa.
+
+        * DumpRenderTree/TestOptions.h:
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (resetWebPreferencesToConsistentValues):
+        * DumpRenderTree/win/DumpRenderTree.cpp:
+        (setWebPreferencesForTestOptions):
+
 2020-01-20  Aakash Jain  <[email protected]>
 
         [ews] Add build and layout-test steps for commit-queue in new ews

Modified: trunk/Tools/DumpRenderTree/TestOptions.h (254855 => 254856)


--- trunk/Tools/DumpRenderTree/TestOptions.h	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Tools/DumpRenderTree/TestOptions.h	2020-01-21 17:51:45 UTC (rev 254856)
@@ -56,6 +56,7 @@
     bool enableAsyncClipboardAPI { false };
     bool layoutFormattingContextIntegrationEnabled { true };
     bool enableAspectRatioOfImgFromWidthAndHeight { false };
+    bool enableWebSQL { false };
     std::string jscOptions;
     std::string additionalSupportedImageTypes;
 

Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (254855 => 254856)


--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2020-01-21 17:51:45 UTC (rev 254856)
@@ -1009,6 +1009,8 @@
 
     preferences.selectionAcrossShadowBoundariesEnabled = YES;
 
+    [preferences setWebSQLEnabled:YES];
+
     [WebPreferences _clearNetworkLoaderSession];
     [WebPreferences _setCurrentNetworkLoaderSessionCookieAcceptPolicy:NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain];
 }

Modified: trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp (254855 => 254856)


--- trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp	2020-01-21 17:05:03 UTC (rev 254855)
+++ trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp	2020-01-21 17:51:45 UTC (rev 254856)
@@ -915,6 +915,7 @@
     prefsPrivate->setInspectorAdditionsEnabled(options.enableInspectorAdditions);
     prefsPrivate->setRequestIdleCallbackEnabled(options.enableRequestIdleCallback);
     prefsPrivate->setAsyncClipboardAPIEnabled(options.enableAsyncClipboardAPI);
+    prefsPrivate->setWebSQLEnabled(options.enableWebSQL);
     preferences->setPrivateBrowsingEnabled(options.useEphemeralSession);
     preferences->setUsesPageCache(options.enableBackForwardCache);
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to