Diff
Modified: branches/safari-536.28-branch/Source/WebKit2/ChangeLog (133936 => 133937)
--- branches/safari-536.28-branch/Source/WebKit2/ChangeLog 2012-11-08 20:54:51 UTC (rev 133936)
+++ branches/safari-536.28-branch/Source/WebKit2/ChangeLog 2012-11-08 21:09:48 UTC (rev 133937)
@@ -1,3 +1,36 @@
+2012-11-08 Lucas Forschler <lforsch...@apple.com>
+
+ Merge r124393
+
+ 2012-08-01 Brady Eidson <beid...@apple.com>
+
+ 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-11-07 Lucas Forschler <lforsch...@apple.com>
Merge r129535
@@ -47487,3 +47520,4 @@
.
.
.
+.
Modified: branches/safari-536.28-branch/Source/WebKit2/Shared/WebPreferencesStore.h (133936 => 133937)
--- branches/safari-536.28-branch/Source/WebKit2/Shared/WebPreferencesStore.h 2012-11-08 20:54:51 UTC (rev 133936)
+++ branches/safari-536.28-branch/Source/WebKit2/Shared/WebPreferencesStore.h 2012-11-08 21:09:48 UTC (rev 133937)
@@ -112,6 +112,8 @@
macro(ShouldRespectImageOrientation, shouldRespectImageOrientation, Bool, bool, false) \
macro(WantsBalancedSetDefersLoadingBehavior, wantsBalancedSetDefersLoadingBehavior, Bool, bool, false) \
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: branches/safari-536.28-branch/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp (133936 => 133937)
--- branches/safari-536.28-branch/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp 2012-11-08 20:54:51 UTC (rev 133936)
+++ branches/safari-536.28-branch/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp 2012-11-08 21:09:48 UTC (rev 133937)
@@ -804,3 +804,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: branches/safari-536.28-branch/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h (133936 => 133937)
--- branches/safari-536.28-branch/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h 2012-11-08 20:54:51 UTC (rev 133936)
+++ branches/safari-536.28-branch/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h 2012-11-08 21:09:48 UTC (rev 133937)
@@ -183,6 +183,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: branches/safari-536.28-branch/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (133936 => 133937)
--- branches/safari-536.28-branch/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2012-11-08 20:54:51 UTC (rev 133936)
+++ branches/safari-536.28-branch/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2012-11-08 21:09:48 UTC (rev 133937)
@@ -189,6 +189,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)
@@ -1894,6 +1896,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: branches/safari-536.28-branch/Source/WebKit2/WebProcess/WebPage/WebPage.h (133936 => 133937)
--- branches/safari-536.28-branch/Source/WebKit2/WebProcess/WebPage/WebPage.h 2012-11-08 20:54:51 UTC (rev 133936)
+++ branches/safari-536.28-branch/Source/WebKit2/WebProcess/WebPage/WebPage.h 2012-11-08 21:09:48 UTC (rev 133937)
@@ -533,6 +533,9 @@
void setVisibilityState(int visibilityState, bool isInitialState);
#endif
+ bool asynchronousPluginInitializationEnabled() const { return m_asynchronousPluginInitializationEnabled; }
+ bool artificialPluginInitializationDelayEnabled() const { return m_artificialPluginInitializationDelayEnabled; }
+
private:
WebPage(uint64_t pageID, const WebPageCreationParameters&);
@@ -714,6 +717,9 @@
bool m_isClosed;
bool m_tabToLinks;
+
+ bool m_asynchronousPluginInitializationEnabled;
+ bool m_artificialPluginInitializationDelayEnabled;
#if PLATFORM(MAC)
// Whether the containing window is visible or not.