Source/WebKitLegacy/win:
requestIdleCallback is not enabled in DumpRenderTree on Windows
https://bugs.webkit.org/show_bug.cgi?id=202876
Reviewed by Wenson Hsieh.
Added the missing plumbing to enable requestIdleCallback.
* Interfaces/IWebPreferencesPrivate.idl:
* WebPreferenceKeysPrivate.h:
* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::requestIdleCallbackEnabled):
(WebPreferences::setRequestIdleCallbackEnabled):
* WebPreferences.h:
* WebView.cpp:
(WebView::notifyPreferencesChanged):
Tools:
requestIdleCallback cannot be enabled in DumpRenderTree on Windows
https://bugs.webkit.org/show_bug.cgi?id=202876
Reviewed by Wenson Hsieh.
Added the missing plumbing for Windows port.
* DumpRenderTree/win/DumpRenderTree.cpp:
(setWebPreferencesForTestOptions):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@251046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebKitLegacy/win/ChangeLog b/Source/WebKitLegacy/win/ChangeLog
index f9710bc..fe4b224 100644
--- a/Source/WebKitLegacy/win/ChangeLog
+++ b/Source/WebKitLegacy/win/ChangeLog
@@ -1,3 +1,22 @@
+2019-10-12 Ryosuke Niwa <rniwa@webkit.org>
+
+ requestIdleCallback is not enabled in DumpRenderTree on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=202876
+
+ Reviewed by Wenson Hsieh.
+
+ Added the missing plumbing to enable requestIdleCallback.
+
+ * Interfaces/IWebPreferencesPrivate.idl:
+ * WebPreferenceKeysPrivate.h:
+ * WebPreferences.cpp:
+ (WebPreferences::initializeDefaultSettings):
+ (WebPreferences::requestIdleCallbackEnabled):
+ (WebPreferences::setRequestIdleCallbackEnabled):
+ * WebPreferences.h:
+ * WebView.cpp:
+ (WebView::notifyPreferencesChanged):
+
2019-10-04 Alex Christensen <achristensen@webkit.org>
Rename SchemeRegistry to LegacySchemeRegistry
diff --git a/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl b/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl
index 7bbdc37..fffde8a 100644
--- a/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl
+++ b/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl
@@ -244,4 +244,6 @@
HRESULT setResizeObserverEnabled([in] BOOL enabled);
HRESULT coreMathMLEnabled([out, retval] BOOL* enabled);
HRESULT setCoreMathMLEnabled([in] BOOL enabled);
+ HRESULT requestIdleCallbackEnabled([out, retval] BOOL* enabled);
+ HRESULT setRequestIdleCallbackEnabled([in] BOOL enabled);
}
diff --git a/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h b/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h
index edf86a6..5bcc6d3 100644
--- a/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h
+++ b/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h
@@ -211,3 +211,5 @@
#define WebKitResizeObserverEnabledPreferenceKey "WebKitResizeObserverEnabled"
#define WebKitCoreMathMLEnabledPreferenceKey "WebKitCoreMathMLEnabled"
+
+#define WebKitRequestIdleCallbackEnabledPreferenceKey "RequestIdleCallbackEnabled"
diff --git a/Source/WebKitLegacy/win/WebPreferences.cpp b/Source/WebKitLegacy/win/WebPreferences.cpp
index 349672e..3be14de 100644
--- a/Source/WebKitLegacy/win/WebPreferences.cpp
+++ b/Source/WebKitLegacy/win/WebPreferences.cpp
@@ -339,6 +339,8 @@
CFDictionaryAddValue(defaults, CFSTR(WebKitCoreMathMLEnabledPreferenceKey), kCFBooleanFalse);
+ CFDictionaryAddValue(defaults, CFSTR(WebKitRequestIdleCallbackEnabledPreferenceKey), kCFBooleanFalse);
+
defaultSettings = defaults;
#endif
}
@@ -2277,6 +2279,20 @@
return S_OK;
}
+HRESULT WebPreferences::requestIdleCallbackEnabled(_Out_ BOOL* enabled)
+{
+ if (!enabled)
+ return E_POINTER;
+ *enabled = boolValueForKey(WebKitRequestIdleCallbackEnabledPreferenceKey);
+ return S_OK;
+}
+
+HRESULT WebPreferences::setRequestIdleCallbackEnabled(BOOL enabled)
+{
+ setBoolValue(WebKitRequestIdleCallbackEnabledPreferenceKey, enabled);
+ return S_OK;
+}
+
HRESULT WebPreferences::setApplicationId(BSTR applicationId)
{
#if USE(CF)
diff --git a/Source/WebKitLegacy/win/WebPreferences.h b/Source/WebKitLegacy/win/WebPreferences.h
index 0276503..fec573f 100644
--- a/Source/WebKitLegacy/win/WebPreferences.h
+++ b/Source/WebKitLegacy/win/WebPreferences.h
@@ -289,6 +289,8 @@
virtual HRESULT STDMETHODCALLTYPE setResizeObserverEnabled(BOOL);
virtual HRESULT STDMETHODCALLTYPE coreMathMLEnabled(_Out_ BOOL*);
virtual HRESULT STDMETHODCALLTYPE setCoreMathMLEnabled(BOOL);
+ virtual HRESULT STDMETHODCALLTYPE requestIdleCallbackEnabled(_Out_ BOOL*);
+ virtual HRESULT STDMETHODCALLTYPE setRequestIdleCallbackEnabled(BOOL);
// WebPreferences
diff --git a/Source/WebKitLegacy/win/WebView.cpp b/Source/WebKitLegacy/win/WebView.cpp
index 713088e..f7b5c86 100644
--- a/Source/WebKitLegacy/win/WebView.cpp
+++ b/Source/WebKitLegacy/win/WebView.cpp
@@ -5609,6 +5609,11 @@
return hr;
settings.setCoreMathMLEnabled(!!enabled);
+ hr = prefsPrivate->requestIdleCallbackEnabled(&enabled);
+ if (FAILED(hr))
+ return hr;
+ settings.setRequestIdleCallbackEnabled(!!enabled);
+
return S_OK;
}
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index 20e8f73..8f8d3b8 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,15 @@
+2019-10-12 Ryosuke Niwa <rniwa@webkit.org>
+
+ requestIdleCallback cannot be enabled in DumpRenderTree on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=202876
+
+ Reviewed by Wenson Hsieh.
+
+ Added the missing plumbing for Windows port.
+
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (setWebPreferencesForTestOptions):
+
2019-10-11 Aakash Jain <aakash_jain@apple.com>
Update build.webkit.org basedir
diff --git a/Tools/DumpRenderTree/win/DumpRenderTree.cpp b/Tools/DumpRenderTree/win/DumpRenderTree.cpp
index 4d50fb9..99773d3 100644
--- a/Tools/DumpRenderTree/win/DumpRenderTree.cpp
+++ b/Tools/DumpRenderTree/win/DumpRenderTree.cpp
@@ -903,7 +903,7 @@
static void setWebPreferencesForTestOptions(IWebPreferences* preferences, const TestOptions& options)
{
- COMPtr<IWebPreferencesPrivate6> prefsPrivate { Query, preferences };
+ COMPtr<IWebPreferencesPrivate7> prefsPrivate { Query, preferences };
prefsPrivate->setWebAnimationsCSSIntegrationEnabled(options.enableWebAnimationsCSSIntegration);
prefsPrivate->setMenuItemElementEnabled(options.enableMenuItemElement);
@@ -911,6 +911,7 @@
prefsPrivate->setModernMediaControlsEnabled(options.enableModernMediaControls);
prefsPrivate->setIsSecureContextAttributeEnabled(options.enableIsSecureContextAttribute);
prefsPrivate->setInspectorAdditionsEnabled(options.enableInspectorAdditions);
+ prefsPrivate->setRequestIdleCallbackEnabled(options.enableRequestIdleCallback);
preferences->setPrivateBrowsingEnabled(options.useEphemeralSession);
preferences->setUsesPageCache(options.enablePageCache);
}