- Revision
- 124393
- Author
- [email protected]
- Date
- 2012-08-01 17:26:52 -0700 (Wed, 01 Aug 2012)
Log Message
Small part of "Out-of-process plug-ins should support asynchronous initialization."
<rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919
Reviewed by Anders Carlsson.
Add API-level preferences for:
- Is asynchronous plug-in initialization enabled.
- Is an artificial initialization delay (for testing purposes) enabled.
* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAsynchronousPluginInitializationEnabled):
(WKPreferencesGetAsynchronousPluginInitializationEnabled):
(WKPreferencesSetArtificialPluginInitializationDelayEnabled):
(WKPreferencesGetArtificialPluginInitializationDelayEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::asynchronousPluginInitializationEnabled):
(WebKit::WebPage::artificialPluginInitializationDelayEnabled):
(WebPage):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (124392 => 124393)
--- trunk/Source/WebKit2/ChangeLog 2012-08-02 00:22:05 UTC (rev 124392)
+++ trunk/Source/WebKit2/ChangeLog 2012-08-02 00:26:52 UTC (rev 124393)
@@ -1,3 +1,32 @@
+2012-08-01 Brady Eidson <[email protected]>
+
+ Small part of "Out-of-process plug-ins should support asynchronous initialization."
+ <rdar://problem/10598594> and https://bugs.webkit.org/show_bug.cgi?id=92919
+
+ Reviewed by Anders Carlsson.
+
+ Add API-level preferences for:
+ - Is asynchronous plug-in initialization enabled.
+ - Is an artificial initialization delay (for testing purposes) enabled.
+
+ * Shared/WebPreferencesStore.h:
+ (WebKit):
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetAsynchronousPluginInitializationEnabled):
+ (WKPreferencesGetAsynchronousPluginInitializationEnabled):
+ (WKPreferencesSetArtificialPluginInitializationDelayEnabled):
+ (WKPreferencesGetArtificialPluginInitializationDelayEnabled):
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::updatePreferences):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::asynchronousPluginInitializationEnabled):
+ (WebKit::WebPage::artificialPluginInitializationDelayEnabled):
+ (WebPage):
+
2012-08-01 Jian Li <[email protected]>
Add new CSS property "-webkit-widget-region" to expose dashboard region support for other port
Modified: trunk/Source/WebKit2/Shared/WebPreferencesStore.h (124392 => 124393)
--- trunk/Source/WebKit2/Shared/WebPreferencesStore.h 2012-08-02 00:22:05 UTC (rev 124392)
+++ trunk/Source/WebKit2/Shared/WebPreferencesStore.h 2012-08-02 00:26:52 UTC (rev 124393)
@@ -114,6 +114,8 @@
macro(WantsBalancedSetDefersLoadingBehavior, wantsBalancedSetDefersLoadingBehavior, Bool, bool, false) \
macro(RequestAnimationFrameEnabled, requestAnimationFrameEnabled, Bool, bool, true) \
macro(DiagnosticLoggingEnabled, diagnosticLoggingEnabled, Bool, bool, false) \
+ macro(AsynchronousPluginInitializationEnabled, asynchronousPluginInitializationEnabled, Bool, bool, false) \
+ macro(ArtificialPluginInitializationDelayEnabled, artificialPluginInitializationDelayEnabled, Bool, bool, false) \
\
#define FOR_EACH_WEBKIT_DOUBLE_PREFERENCE(macro) \
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp (124392 => 124393)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp 2012-08-02 00:22:05 UTC (rev 124392)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp 2012-08-02 00:26:52 UTC (rev 124393)
@@ -833,3 +833,23 @@
{
return toImpl(preferencesRef)->diagnosticLoggingEnabled();
}
+
+void WKPreferencesSetAsynchronousPluginInitializationEnabled(WKPreferencesRef preferencesRef, bool enabled)
+{
+ toImpl(preferencesRef)->setAsynchronousPluginInitializationEnabled(enabled);
+}
+
+bool WKPreferencesGetAsynchronousPluginInitializationEnabled(WKPreferencesRef preferencesRef)
+{
+ return toImpl(preferencesRef)->asynchronousPluginInitializationEnabled();
+}
+
+void WKPreferencesSetArtificialPluginInitializationDelayEnabled(WKPreferencesRef preferencesRef, bool enabled)
+{
+ toImpl(preferencesRef)->setArtificialPluginInitializationDelayEnabled(enabled);
+}
+
+bool WKPreferencesGetArtificialPluginInitializationDelayEnabled(WKPreferencesRef preferencesRef)
+{
+ return toImpl(preferencesRef)->artificialPluginInitializationDelayEnabled();
+}
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h (124392 => 124393)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h 2012-08-02 00:22:05 UTC (rev 124392)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h 2012-08-02 00:26:52 UTC (rev 124393)
@@ -191,6 +191,14 @@
WK_EXPORT void WKPreferencesSetDiagnosticLoggingEnabled(WKPreferencesRef preferencesRef, bool enabled);
WK_EXPORT bool WKPreferencesGetDiagnosticLoggingEnabled(WKPreferencesRef preferencesRef);
+// Defaults to false
+WK_EXPORT void WKPreferencesSetAsynchronousPluginInitializationEnabled(WKPreferencesRef preferencesRef, bool enabled);
+WK_EXPORT bool WKPreferencesGetAsynchronousPluginInitializationEnabled(WKPreferencesRef preferencesRef);
+
+// Defaults to false
+WK_EXPORT void WKPreferencesSetArtificialPluginInitializationDelayEnabled(WKPreferencesRef preferencesRef, bool enabled);
+WK_EXPORT bool WKPreferencesGetArtificialPluginInitializationDelayEnabled(WKPreferencesRef preferencesRef);
+
WK_EXPORT void WKPreferencesResetTestRunnerOverrides(WKPreferencesRef preferencesRef);
#ifdef __cplusplus
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (124392 => 124393)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2012-08-02 00:22:05 UTC (rev 124392)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2012-08-02 00:26:52 UTC (rev 124393)
@@ -207,6 +207,8 @@
, m_isInRedo(false)
, m_isClosed(false)
, m_tabToLinks(false)
+ , m_asynchronousPluginInitializationEnabled(false)
+ , m_artificialPluginInitializationDelayEnabled(false)
#if PLATFORM(MAC)
, m_windowIsVisible(false)
, m_isSmartInsertDeleteEnabled(parameters.isSmartInsertDeleteEnabled)
@@ -1976,6 +1978,8 @@
Settings* settings = m_page->settings();
m_tabToLinks = store.getBoolValueForKey(WebPreferencesKey::tabsToLinksKey());
+ m_asynchronousPluginInitializationEnabled = store.getBoolValueForKey(WebPreferencesKey::asynchronousPluginInitializationEnabledKey());
+ m_artificialPluginInitializationDelayEnabled = store.getBoolValueForKey(WebPreferencesKey::artificialPluginInitializationDelayEnabledKey());
// FIXME: This should be generated from macro expansion for all preferences,
// but we currently don't match the naming of WebCore exactly so we are
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (124392 => 124393)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h 2012-08-02 00:22:05 UTC (rev 124392)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h 2012-08-02 00:26:52 UTC (rev 124393)
@@ -570,6 +570,9 @@
uint64_t nativeWindowHandle() { return m_nativeWindowHandle; }
#endif
+ bool asynchronousPluginInitializationEnabled() const { return m_asynchronousPluginInitializationEnabled; }
+ bool artificialPluginInitializationDelayEnabled() const { return m_artificialPluginInitializationDelayEnabled; }
+
private:
WebPage(uint64_t pageID, const WebPageCreationParameters&);
@@ -758,6 +761,9 @@
bool m_isClosed;
bool m_tabToLinks;
+
+ bool m_asynchronousPluginInitializationEnabled;
+ bool m_artificialPluginInitializationDelayEnabled;
#if PLATFORM(MAC)
// Whether the containing window is visible or not.