Title: [124393] trunk/Source/WebKit2
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.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to