Diff
Modified: trunk/Source/WebKit2/ChangeLog (209839 => 209840)
--- trunk/Source/WebKit2/ChangeLog 2016-12-14 23:42:51 UTC (rev 209839)
+++ trunk/Source/WebKit2/ChangeLog 2016-12-15 00:00:38 UTC (rev 209840)
@@ -1,3 +1,23 @@
+2016-12-14 Anders Carlsson <[email protected]>
+
+ Add WKContextRefreshPlugIns
+ https://bugs.webkit.org/show_bug.cgi?id=165879
+ rdar://problem/29602414
+
+ Reviewed by Tim Horton.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextRefreshPlugIns):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::refreshPlugins):
+ * UIProcess/WebProcessPool.h:
+ * WebProcess/Plugins/WebPluginInfoProvider.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::refreshPlugins):
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+
2016-12-14 Tim Horton <[email protected]>
API Test Fullscreen.TopContentInset is asserting on Yosemite
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp (209839 => 209840)
--- trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp 2016-12-14 23:42:51 UTC (rev 209839)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp 2016-12-15 00:00:38 UTC (rev 209840)
@@ -353,6 +353,15 @@
#endif
}
+void WKContextRefreshPlugIns(WKContextRef context)
+{
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ toImpl(context)->refreshPlugins();
+#else
+ UNUSED_PARAM(context);
+#endif
+}
+
void WKContextRegisterURLSchemeAsEmptyDocument(WKContextRef contextRef, WKStringRef urlScheme)
{
toImpl(contextRef)->registerURLSchemeAsEmptyDocument(toImpl(urlScheme)->string());
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContext.h (209839 => 209840)
--- trunk/Source/WebKit2/UIProcess/API/C/WKContext.h 2016-12-14 23:42:51 UTC (rev 209839)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContext.h 2016-12-15 00:00:38 UTC (rev 209840)
@@ -162,6 +162,7 @@
WK_EXPORT void WKContextSetPlugInAutoStartOriginHashes(WKContextRef context, WKDictionaryRef dictionary);
WK_EXPORT void WKContextSetPlugInAutoStartOrigins(WKContextRef contextRef, WKArrayRef arrayRef);
WK_EXPORT void WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime(WKContextRef contextRef, WKDictionaryRef dictionaryRef, double time);
+WK_EXPORT void WKContextRefreshPlugIns(WKContextRef context);
#ifdef __cplusplus
}
Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp (209839 => 209840)
--- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp 2016-12-14 23:42:51 UTC (rev 209839)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp 2016-12-15 00:00:38 UTC (rev 209840)
@@ -866,6 +866,13 @@
m_pluginInfoStore.setAdditionalPluginsDirectories(directories);
}
+
+void WebProcessPool::refreshPlugins()
+{
+ m_pluginInfoStore.refresh();
+ sendToAllProcesses(Messages::WebProcess::RefreshPlugins());
+}
+
#endif // ENABLE(NETSCAPE_PLUGIN_API)
pid_t WebProcessPool::networkProcessIdentifier()
Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.h (209839 => 209840)
--- trunk/Source/WebKit2/UIProcess/WebProcessPool.h 2016-12-14 23:42:51 UTC (rev 209839)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.h 2016-12-15 00:00:38 UTC (rev 209840)
@@ -181,6 +181,7 @@
#if ENABLE(NETSCAPE_PLUGIN_API)
void setAdditionalPluginsDirectory(const String&);
+ void refreshPlugins();
PluginInfoStore& pluginInfoStore() { return m_pluginInfoStore; }
Modified: trunk/Source/WebKit2/WebProcess/Plugins/WebPluginInfoProvider.h (209839 => 209840)
--- trunk/Source/WebKit2/WebProcess/Plugins/WebPluginInfoProvider.h 2016-12-14 23:42:51 UTC (rev 209839)
+++ trunk/Source/WebKit2/WebProcess/Plugins/WebPluginInfoProvider.h 2016-12-15 00:00:38 UTC (rev 209840)
@@ -42,10 +42,11 @@
void clearPluginClientPolicies();
#endif
+ void refreshPlugins() override;
+
private:
WebPluginInfoProvider();
- void refreshPlugins() override;
void getPluginInfo(WebCore::Page&, Vector<WebCore::PluginInfo>&) override;
void getWebVisiblePluginInfo(WebCore::Page&, Vector<WebCore::PluginInfo>&) override;
Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (209839 => 209840)
--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp 2016-12-14 23:42:51 UTC (rev 209839)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp 2016-12-15 00:00:38 UTC (rev 209840)
@@ -922,6 +922,13 @@
#endif
}
+void WebProcess::refreshPlugins()
+{
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ WebPluginInfoProvider::singleton().refreshPlugins();
+#endif
+}
+
static void fromCountedSetToHashMap(TypeCountSet* countedSet, HashMap<String, uint64_t>& map)
{
TypeCountSet::const_iterator end = countedSet->end();
Modified: trunk/Source/WebKit2/WebProcess/WebProcess.h (209839 => 209840)
--- trunk/Source/WebKit2/WebProcess/WebProcess.h 2016-12-14 23:42:51 UTC (rev 209839)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.h 2016-12-15 00:00:38 UTC (rev 209840)
@@ -131,6 +131,7 @@
void plugInDidReceiveUserInteraction(const String& pageOrigin, const String& pluginOrigin, const String& mimeType, WebCore::SessionID);
void setPluginLoadClientPolicy(uint8_t policy, const String& host, const String& bundleIdentifier, const String& versionString);
void clearPluginClientPolicies();
+ void refreshPlugins();
bool fullKeyboardAccessEnabled() const { return m_fullKeyboardAccessEnabled; }
Modified: trunk/Source/WebKit2/WebProcess/WebProcess.messages.in (209839 => 209840)
--- trunk/Source/WebKit2/WebProcess/WebProcess.messages.in 2016-12-14 23:42:51 UTC (rev 209839)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.messages.in 2016-12-15 00:00:38 UTC (rev 209840)
@@ -58,6 +58,7 @@
ResetPlugInAutoStartOriginHashes(HashMap<WebCore::SessionID, HashMap<uint32_t,double>> hashes)
SetPluginLoadClientPolicy(uint8_t policy, String host, String bundleIdentifier, String versionString)
ClearPluginClientPolicies()
+ RefreshPlugins()
void StartMemorySampler(WebKit::SandboxExtension::Handle sampleLogFileHandle, String sampleLogFilePath, double interval);
void StopMemorySampler();