Diff
Modified: trunk/Source/WebCore/ChangeLog (227078 => 227079)
--- trunk/Source/WebCore/ChangeLog 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebCore/ChangeLog 2018-01-17 21:06:48 UTC (rev 227079)
@@ -1,3 +1,17 @@
+2018-01-17 Youenn Fablet <[email protected]>
+
+ Put fetch request keepAlive behind a runtime flag
+ https://bugs.webkit.org/show_bug.cgi?id=181592
+
+ Reviewed by Chris Dumez.
+
+ No change of behavior.
+
+ * Modules/fetch/FetchRequest.idl:
+ * page/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::fetchAPIKeepAliveEnabled const):
+ (WebCore::RuntimeEnabledFeatures::setFetchAPIKeepAliveEnabled):
+
2018-01-17 Per Arne Vollan <[email protected]>
[Win] Use switch when converting from ResourceRequestCachePolicy to platform cache policy.
Modified: trunk/Source/WebCore/Modules/fetch/FetchRequest.idl (227078 => 227079)
--- trunk/Source/WebCore/Modules/fetch/FetchRequest.idl 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebCore/Modules/fetch/FetchRequest.idl 2018-01-17 21:06:48 UTC (rev 227079)
@@ -54,7 +54,7 @@
readonly attribute FetchRequestCache cache;
readonly attribute FetchRequestRedirect redirect;
readonly attribute DOMString integrity;
- readonly attribute boolean keepalive;
+ [EnabledAtRuntime=FetchAPIKeepAlive] readonly attribute boolean keepalive;
[CallWith=ScriptExecutionContext, MayThrowException, NewObject] FetchRequest clone();
};
Modified: trunk/Source/WebCore/page/RuntimeEnabledFeatures.h (227078 => 227079)
--- trunk/Source/WebCore/page/RuntimeEnabledFeatures.h 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebCore/page/RuntimeEnabledFeatures.h 2018-01-17 21:06:48 UTC (rev 227079)
@@ -220,6 +220,9 @@
void setServiceWorkerEnabled(bool isEnabled) { m_serviceWorkerEnabled = isEnabled; }
#endif
+ bool fetchAPIKeepAliveEnabled() const { return m_fetchAPIKeepAliveEnabled; }
+ void setFetchAPIKeepAliveEnabled(bool isEnabled) { m_fetchAPIKeepAliveEnabled = isEnabled; }
+
bool spectreGadgetsEnabled() const;
#if ENABLE(VIDEO)
@@ -357,6 +360,7 @@
#if ENABLE(SERVICE_WORKER)
bool m_serviceWorkerEnabled { false };
#endif
+ bool m_fetchAPIKeepAliveEnabled { false };
bool m_inspectorAdditionsEnabled { false };
bool m_webVREnabled { false };
Modified: trunk/Source/WebKit/ChangeLog (227078 => 227079)
--- trunk/Source/WebKit/ChangeLog 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKit/ChangeLog 2018-01-17 21:06:48 UTC (rev 227079)
@@ -1,3 +1,16 @@
+2018-01-17 Youenn Fablet <[email protected]>
+
+ Put fetch request keepAlive behind a runtime flag
+ https://bugs.webkit.org/show_bug.cgi?id=181592
+
+ Reviewed by Chris Dumez.
+
+ * Shared/WebPreferences.yaml:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetFetchAPIKeepAliveEnabled):
+ (WKPreferencesGetFetchAPIKeepAliveEnabled):
+ * UIProcess/API/C/WKPreferencesRefPrivate.h:
+
2018-01-17 John Wilander <[email protected]>
Resource Load Statistics: Block cookies for prevalent resources without user interaction
Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (227078 => 227079)
--- trunk/Source/WebKit/Shared/WebPreferences.yaml 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml 2018-01-17 21:06:48 UTC (rev 227079)
@@ -1123,6 +1123,15 @@
category: experimental
webcoreBinding: RuntimeEnabledFeatures
+FetchAPIKeepAliveEnabled:
+ type: bool
+ defaultValue: false
+ humanReadableName: "Fetch API Request KeepAlive"
+ humanReadableDescription: "Enable Fetch API Request KeepAlive"
+ category: experimental
+ webcoreBinding: RuntimeEnabledFeatures
+ webcoreName: fetchAPIKeepAliveEnabled
+
ServiceWorkersEnabled:
type: bool
defaultValue: DEFAULT_SERVICE_WORKERS_ENABLED
Modified: trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp (227078 => 227079)
--- trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp 2018-01-17 21:06:48 UTC (rev 227079)
@@ -1754,6 +1754,16 @@
return toImpl(preferencesRef)->resourceTimingEnabled();
}
+void WKPreferencesSetFetchAPIKeepAliveEnabled(WKPreferencesRef preferencesRef, bool flag)
+{
+ toImpl(preferencesRef)->setFetchAPIKeepAliveEnabled(flag);
+}
+
+bool WKPreferencesGetFetchAPIKeepAliveEnabled(WKPreferencesRef preferencesRef)
+{
+ return toImpl(preferencesRef)->fetchAPIKeepAliveEnabled();
+}
+
void WKPreferencesSetSelectionPaintingWithoutSelectionGapsEnabled(WKPreferencesRef preferencesRef, bool flag)
{
toImpl(preferencesRef)->setSelectionPaintingWithoutSelectionGapsEnabled(flag);
Modified: trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h (227078 => 227079)
--- trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h 2018-01-17 21:06:48 UTC (rev 227079)
@@ -493,6 +493,10 @@
WK_EXPORT void WKPreferencesSetResourceTimingEnabled(WKPreferencesRef, bool flag);
WK_EXPORT bool WKPreferencesGetResourceTimingEnabled(WKPreferencesRef);
+// Defaults to false
+WK_EXPORT void WKPreferencesSetFetchAPIKeepAliveEnabled(WKPreferencesRef, bool flag);
+WK_EXPORT bool WKPreferencesGetFetchAPIKeepAliveEnabled(WKPreferencesRef);
+
// Defaults to true.
WK_EXPORT void WKPreferencesSetLargeImageAsyncDecodingEnabled(WKPreferencesRef preferencesRef, bool flag);
WK_EXPORT bool WKPreferencesGetLargeImageAsyncDecodingEnabled(WKPreferencesRef preferencesRef);
Modified: trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp (227078 => 227079)
--- trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp 2018-01-17 21:06:48 UTC (rev 227079)
@@ -114,6 +114,7 @@
RuntimeEnabledFeatures::sharedFeatures().setFetchAPIEnabled(store.getBoolValueForKey(WebPreferencesKey::fetchAPIEnabledKey()));
RuntimeEnabledFeatures::sharedFeatures().setUserTimingEnabled(store.getBoolValueForKey(WebPreferencesKey::userTimingEnabledKey()));
RuntimeEnabledFeatures::sharedFeatures().setResourceTimingEnabled(store.getBoolValueForKey(WebPreferencesKey::resourceTimingEnabledKey()));
+ RuntimeEnabledFeatures::sharedFeatures().setFetchAPIKeepAliveEnabled(store.getBoolValueForKey(WebPreferencesKey::fetchAPIKeepAliveEnabledKey()));
m_storageBlockingPolicy = static_cast<SecurityOrigin::StorageBlockingPolicy>(store.getUInt32ValueForKey(WebPreferencesKey::storageBlockingPolicyKey()));
}
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (227078 => 227079)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2018-01-17 21:06:48 UTC (rev 227079)
@@ -1,3 +1,19 @@
+2018-01-17 Youenn Fablet <[email protected]>
+
+ Put fetch Request.keepalive behind a runtime flag
+ https://bugs.webkit.org/show_bug.cgi?id=181592
+
+ Reviewed by Chris Dumez.
+
+ * WebView/WebPreferenceKeysPrivate.h:
+ * WebView/WebPreferences.mm:
+ (+[WebPreferences initialize]):
+ (-[WebPreferences fetchAPIKeepAliveEnabled]):
+ (-[WebPreferences setFetchAPIKeepAliveEnabled:]):
+ * WebView/WebPreferencesPrivate.h:
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChanged:]):
+
2018-01-17 Wenson Hsieh <[email protected]>
Add injected bundle SPI to replace subresource URLs when dropping or pasting rich content
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h (227078 => 227079)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h 2018-01-17 21:06:48 UTC (rev 227079)
@@ -194,6 +194,7 @@
#define WebKitIsSecureContextAttributeEnabledPreferenceKey @"WebKitIsSecureContextAttributeEnabled"
#define WebKitViewportFitEnabledPreferenceKey @"WebKitViewportFitEnabled"
#define WebKitConstantPropertiesEnabledPreferenceKey @"WebKitConstantPropertiesEnabled"
+#define WebKitFetchAPIKeepAliveEnabledPreferenceKey @"WebKitFetchAPIKeepAliveEnabled"
#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 (227078 => 227079)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm 2018-01-17 21:06:48 UTC (rev 227079)
@@ -682,6 +682,7 @@
(NSString *)Settings::defaultMediaContentTypesRequiringHardwareSupport(), WebKitMediaContentTypesRequiringHardwareSupportPreferenceKey,
@NO, WebKitAccessibilityObjectModelEnabledPreferenceKey,
@NO, WebKitMediaCapabilitiesEnabledPreferenceKey,
+ @NO, WebKitFetchAPIKeepAliveEnabledPreferenceKey,
nil];
#if !PLATFORM(IOS)
@@ -3095,6 +3096,16 @@
[self _setBoolValue:flag forKey:WebKitWebAnimationsEnabledPreferenceKey];
}
+- (BOOL)fetchAPIKeepAliveEnabled
+{
+ return [self _boolValueForKey:WebKitFetchAPIEnabledPreferenceKey];
+}
+
+- (void)setFetchAPIKeepAliveEnabled:(BOOL)flag
+{
+ [self _setBoolValue:flag forKey:WebKitFetchAPIEnabledPreferenceKey];
+}
+
- (BOOL)modernMediaControlsEnabled
{
return [self _boolValueForKey:WebKitModernMediaControlsEnabledPreferenceKey];
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h (227078 => 227079)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h 2018-01-17 21:06:48 UTC (rev 227079)
@@ -564,6 +564,9 @@
- (void)setWebAnimationsEnabled:(BOOL)flag;
- (BOOL)webAnimationsEnabled;
+- (void)setFetchAPIKeepAliveEnabled:(BOOL)flag;
+- (BOOL)fetchAPIKeepAliveEnabled;
+
- (void)setModernMediaControlsEnabled:(BOOL)flag;
- (BOOL)modernMediaControlsEnabled;
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (227078 => 227079)
--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2018-01-17 21:06:48 UTC (rev 227079)
@@ -3047,7 +3047,8 @@
RuntimeEnabledFeatures::sharedFeatures().setMenuItemElementEnabled([preferences menuItemElementEnabled]);
RuntimeEnabledFeatures::sharedFeatures().setAccessibilityObjectModelEnabled([preferences accessibilityObjectModelEnabled]);
RuntimeEnabledFeatures::sharedFeatures().setMediaCapabilitiesEnabled([preferences mediaCapabilitiesEnabled]);
-
+ RuntimeEnabledFeatures::sharedFeatures().setFetchAPIKeepAliveEnabled([preferences fetchAPIKeepAliveEnabled]);
+
#if ENABLE(LEGACY_ENCRYPTED_MEDIA)
RuntimeEnabledFeatures::sharedFeatures().setLegacyEncryptedMediaAPIEnabled(preferences.legacyEncryptedMediaAPIEnabled);
#endif
Modified: trunk/Source/WebKitLegacy/win/ChangeLog (227078 => 227079)
--- trunk/Source/WebKitLegacy/win/ChangeLog 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKitLegacy/win/ChangeLog 2018-01-17 21:06:48 UTC (rev 227079)
@@ -1,3 +1,17 @@
+2018-01-17 Youenn Fablet <[email protected]>
+
+ Put fetch Request.keepalive behind a runtime flag
+ https://bugs.webkit.org/show_bug.cgi?id=181592
+
+ Reviewed by Chris Dumez.
+
+ * WebPreferences.cpp:
+ (WebPreferences::fetchAPIKeepAliveEnabled):
+ (WebPreferences::setFetchAPIKeepAliveEnabled):
+ * WebPreferences.h:
+ * WebView.cpp:
+ (WebView::notifyPreferencesChanged):
+
2018-01-17 Wenson Hsieh <[email protected]>
Add injected bundle SPI to replace subresource URLs when dropping or pasting rich content
Modified: trunk/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl (227078 => 227079)
--- trunk/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl 2018-01-17 21:06:48 UTC (rev 227079)
@@ -219,4 +219,6 @@
HRESULT setInspectorAdditionsEnabled([in] BOOL enabled);
HRESULT visualViewportAPIEnabled([out, retval] BOOL*);
HRESULT setVisualViewportAPIEnabled([in] BOOL enabled);
+ HRESULT fetchAPIKeepAliveEnabled([out, retval] BOOL* enabled);
+ HRESULT setFetchAPIKeepAliveEnabled([in] BOOL enabled);
}
Modified: trunk/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h (227078 => 227079)
--- trunk/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h 2018-01-17 21:06:48 UTC (rev 227079)
@@ -170,6 +170,8 @@
#define WebKitFetchAPIEnabledPreferenceKey "WebKitFetchAPIEnabled"
+#define WebKitFetchAPIKeepAliveEnabledPreferenceKey "WebKitFetchAPIKeepAlivEnabled"
+
#define WebKitShadowDOMEnabledPreferenceKey "WebKitShadowDOMEnabled"
#define WebKitCustomElementsEnabledPreferenceKey "WebKitCustomElementsEnabled"
Modified: trunk/Source/WebKitLegacy/win/WebPreferences.cpp (227078 => 227079)
--- trunk/Source/WebKitLegacy/win/WebPreferences.cpp 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKitLegacy/win/WebPreferences.cpp 2018-01-17 21:06:48 UTC (rev 227079)
@@ -2013,6 +2013,20 @@
return S_OK;
}
+HRESULT WebPreferences::fetchAPIKeepAliveEnabled(_Out_ BOOL* enabled)
+{
+ if (!enabled)
+ return E_POINTER;
+ *enabled = boolValueForKey(WebKitFetchAPIKeepAliveEnabledPreferenceKey);
+ return S_OK;
+}
+
+HRESULT WebPreferences::setFetchAPIKeepAliveEnabled(BOOL enabled)
+{
+ setBoolValue(WebKitFetchAPIKeepAliveEnabledPreferenceKey, enabled);
+ return S_OK;
+}
+
HRESULT WebPreferences::setLinkPreloadEnabled(BOOL enabled)
{
setBoolValue(WebKitLinkPreloadEnabledPreferenceKey, enabled);
Modified: trunk/Source/WebKitLegacy/win/WebPreferences.h (227078 => 227079)
--- trunk/Source/WebKitLegacy/win/WebPreferences.h 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKitLegacy/win/WebPreferences.h 2018-01-17 21:06:48 UTC (rev 227079)
@@ -267,6 +267,8 @@
virtual HRESULT STDMETHODCALLTYPE setInspectorAdditionsEnabled(BOOL);
virtual HRESULT STDMETHODCALLTYPE visualViewportAPIEnabled(_Out_ BOOL*);
virtual HRESULT STDMETHODCALLTYPE setVisualViewportAPIEnabled(BOOL);
+ virtual HRESULT STDMETHODCALLTYPE fetchAPIKeepAliveEnabled(_Out_ BOOL*);
+ virtual HRESULT STDMETHODCALLTYPE setFetchAPIKeepAliveEnabled(BOOL);
// WebPreferences
Modified: trunk/Source/WebKitLegacy/win/WebView.cpp (227078 => 227079)
--- trunk/Source/WebKitLegacy/win/WebView.cpp 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Source/WebKitLegacy/win/WebView.cpp 2018-01-17 21:06:48 UTC (rev 227079)
@@ -5233,6 +5233,11 @@
return hr;
RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(!!enabled);
+ hr = prefsPrivate->fetchAPIKeepAliveEnabled(&enabled);
+ if (FAILED(hr))
+ return hr;
+ RuntimeEnabledFeatures::sharedFeatures().setFetchAPIKeepAliveEnabled(!!enabled);
+
hr = prefsPrivate->mediaPreloadingEnabled(&enabled);
if (FAILED(hr))
return hr;
Modified: trunk/Tools/ChangeLog (227078 => 227079)
--- trunk/Tools/ChangeLog 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Tools/ChangeLog 2018-01-17 21:06:48 UTC (rev 227079)
@@ -1,3 +1,17 @@
+2018-01-17 Youenn Fablet <[email protected]>
+
+ Put fetch Request.keepalive behind a runtime flag
+ https://bugs.webkit.org/show_bug.cgi?id=181592
+
+ Reviewed by Chris Dumez.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (enableExperimentalFeatures):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (enableExperimentalFeatures):
+ * WebKitTestRunner/TestController.cpp:
+ (WTR::TestController::resetPreferencesToConsistentValues):
+
2018-01-17 Wenson Hsieh <[email protected]>
Add injected bundle SPI to replace subresource URLs when dropping or pasting rich content
Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (227078 => 227079)
--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2018-01-17 21:06:48 UTC (rev 227079)
@@ -846,6 +846,7 @@
[preferences setLinkPreloadEnabled:YES];
[preferences setMediaPreloadingEnabled:YES];
// FIXME: InputEvents
+ [preferences setFetchAPIKeepAliveEnabled:YES];
[preferences setWebAnimationsEnabled:YES];
[preferences setWebGL2Enabled:YES];
[preferences setWebGPUEnabled:YES];
Modified: trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp (227078 => 227079)
--- trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp 2018-01-17 21:06:48 UTC (rev 227079)
@@ -774,6 +774,7 @@
{
COMPtr<IWebPreferencesPrivate6> prefsPrivate { Query, preferences };
+ prefsPrivate->setFetchAPIKeepAliveEnabled(TRUE);
// FIXME: CSSGridLayout
// FIXME: SpringTimingFunction
// FIXME: Gamepads
Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (227078 => 227079)
--- trunk/Tools/WebKitTestRunner/TestController.cpp 2018-01-17 20:25:02 UTC (rev 227078)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp 2018-01-17 21:06:48 UTC (rev 227079)
@@ -725,6 +725,7 @@
// FIXME: We should be testing the default.
WKPreferencesSetStorageBlockingPolicy(preferences, kWKAllowAllStorage);
+ WKPreferencesSetFetchAPIKeepAliveEnabled(preferences, true);
WKPreferencesSetResourceTimingEnabled(preferences, true);
WKPreferencesSetUserTimingEnabled(preferences, true);
WKPreferencesSetMediaPreloadingEnabled(preferences, true);