Diff
Modified: branches/safari-534.59-branch/Source/WebKit2/ChangeLog (144555 => 144556)
--- branches/safari-534.59-branch/Source/WebKit2/ChangeLog 2013-03-03 06:31:24 UTC (rev 144555)
+++ branches/safari-534.59-branch/Source/WebKit2/ChangeLog 2013-03-03 06:33:57 UTC (rev 144556)
@@ -1,5 +1,31 @@
2013-03-02 Brady Eidson <[email protected]>
+ Merge r142017
+
+ 2013-02-06 Anders Carlsson <[email protected]>
+
+ Pass the document source URL to the pluginLoadPolicy callback
+ https://bugs.webkit.org/show_bug.cgi?id=109084
+ <rdar://problem/13154516>
+
+ Reviewed by Andreas Kling.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::getPluginPath):
+ * UIProcess/WebPageProxy.h:
+ (WebPageProxy):
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::pluginLoadPolicy):
+ * UIProcess/WebUIClient.h:
+ (WebUIClient):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ (WebKit::WebPage::canPluginHandleResponse):
+
+2013-03-02 Brady Eidson <[email protected]>
+
Merge r141923
2013-02-05 Anders Carlsson <[email protected]>
Modified: branches/safari-534.59-branch/Source/WebKit2/UIProcess/API/C/WKPage.h (144555 => 144556)
--- branches/safari-534.59-branch/Source/WebKit2/UIProcess/API/C/WKPage.h 2013-03-03 06:31:24 UTC (rev 144555)
+++ branches/safari-534.59-branch/Source/WebKit2/UIProcess/API/C/WKPage.h 2013-03-03 06:33:57 UTC (rev 144556)
@@ -205,7 +205,7 @@
typedef void (*WKPageSaveDataToFileInDownloadsFolderCallback)(WKPageRef page, WKStringRef suggestedFilename, WKStringRef mimeType, WKURLRef originatingURL, WKDataRef data, const void* clientInfo);
typedef bool (*WKPageShouldInterruptJavaScriptCallback)(WKPageRef page, const void *clientInfo);
typedef void (*WKPageUnavailablePluginButtonClickedCallback)(WKPageRef page, WKPluginUnavailabilityReason pluginUnavailabilityReason, WKStringRef mimeType, WKStringRef url, WKStringRef pluginsPageURL, const void* clientInfo);
-typedef WKPluginLoadPolicy (*WKPagePluginLoadPolicyCallback)(WKPageRef page, WKStringRef identifier, WKStringRef displayName, WKPluginLoadPolicy currentPluginLoadPolicy, const void* clientInfo);
+typedef WKPluginLoadPolicy (*WKPagePluginLoadPolicyCallback)(WKPageRef page, WKStringRef identifier, WKStringRef displayName, WKURLRef documentURL, WKPluginLoadPolicy currentPluginLoadPolicy, const void* clientInfo);
// Deprecated
typedef void (*WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0)(WKPageRef page, WKStringRef mimeType, WKStringRef url, WKStringRef pluginsPageURL, const void* clientInfo);
Modified: branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp (144555 => 144556)
--- branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp 2013-03-03 06:31:24 UTC (rev 144555)
+++ branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp 2013-03-03 06:33:57 UTC (rev 144556)
@@ -920,7 +920,7 @@
}
#if ENABLE(NETSCAPE_PLUGIN_API)
-void WebPageProxy::getPluginPath(const String& mimeType, const String& urlString, String& pluginPath, uint32_t& pluginLoadPolicy)
+void WebPageProxy::getPluginPath(const String& mimeType, const String& urlString, const String& documentURLString, String& pluginPath, uint32_t& pluginLoadPolicy)
{
MESSAGE_CHECK(urlString);
@@ -934,7 +934,7 @@
pluginLoadPolicy = PluginInfoStore::policyForPlugin(plugin);
PluginModuleLoadPolicy currentPluginLoadPolicy = static_cast<PluginModuleLoadPolicy>(pluginLoadPolicy);
- pluginLoadPolicy = m_uiClient.pluginLoadPolicy(this, plugin.bundleIdentifier, plugin.info.name, currentPluginLoadPolicy);
+ pluginLoadPolicy = m_uiClient.pluginLoadPolicy(this, plugin.bundleIdentifier, plugin.info.name, documentURLString, currentPluginLoadPolicy);
if (pluginLoadPolicy != PluginModuleLoadNormally)
return;
Modified: branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebPageProxy.h (144555 => 144556)
--- branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebPageProxy.h 2013-03-03 06:31:24 UTC (rev 144555)
+++ branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebPageProxy.h 2013-03-03 06:33:57 UTC (rev 144556)
@@ -768,7 +768,7 @@
void setRenderTreeSize(uint64_t treeSize) { m_renderTreeSize = treeSize; }
#if ENABLE(NETSCAPE_PLUGIN_API)
- void getPluginPath(const String& mimeType, const String& urlString, String& pluginPath, uint32_t& pluginLoadPolicy);
+ void getPluginPath(const String& mimeType, const String& urlString, const String& documentURLString, String& pluginPath, uint32_t& pluginLoadPolicy);
#endif
PageClient* m_pageClient;
Modified: branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebPageProxy.messages.in (144555 => 144556)
--- branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebPageProxy.messages.in 2013-03-03 06:31:24 UTC (rev 144555)
+++ branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebPageProxy.messages.in 2013-03-03 06:33:57 UTC (rev 144556)
@@ -263,6 +263,6 @@
}
#if ENABLE(NETSCAPE_PLUGIN_API)
-GetPluginPath(WTF::String mimeType, WTF::String urlString) -> (WTF::String pluginPath, uint32_t pluginLoadPolicy)
+GetPluginPath(WTF::String mimeType, WTF::String urlString, WTF::String documentURLString) -> (WTF::String pluginPath, uint32_t pluginLoadPolicy)
#endif
Modified: branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebUIClient.cpp (144555 => 144556)
--- branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebUIClient.cpp 2013-03-03 06:31:24 UTC (rev 144555)
+++ branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebUIClient.cpp 2013-03-03 06:33:57 UTC (rev 144556)
@@ -429,12 +429,12 @@
return PluginModuleBlocked;
}
-PluginModuleLoadPolicy WebUIClient::pluginLoadPolicy(WebPageProxy* page, const String& identifier, const String& displayName, PluginModuleLoadPolicy currentPluginLoadPolicy)
+PluginModuleLoadPolicy WebUIClient::pluginLoadPolicy(WebPageProxy* page, const String& identifier, const String& displayName, const String& documentURLString, PluginModuleLoadPolicy currentPluginLoadPolicy)
{
if (!m_client.pluginLoadPolicy)
return currentPluginLoadPolicy;
- return toPluginModuleLoadPolicy(m_client.pluginLoadPolicy(toAPI(page), toAPI(identifier.impl()), toAPI(displayName.impl()), toWKPluginLoadPolicy(currentPluginLoadPolicy), m_client.clientInfo));
+ return toPluginModuleLoadPolicy(m_client.pluginLoadPolicy(toAPI(page), toAPI(identifier.impl()), toAPI(displayName.impl()), toURLRef(documentURLString.impl()), toWKPluginLoadPolicy(currentPluginLoadPolicy), m_client.clientInfo));
}
} // namespace WebKit
Modified: branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebUIClient.h (144555 => 144556)
--- branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebUIClient.h 2013-03-03 06:31:24 UTC (rev 144555)
+++ branches/safari-534.59-branch/Source/WebKit2/UIProcess/WebUIClient.h 2013-03-03 06:33:57 UTC (rev 144556)
@@ -115,7 +115,7 @@
bool shouldInterruptJavaScript(WebPageProxy*);
- PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy*, const String& identifier, const String& displayName, PluginModuleLoadPolicy currentPluginLoadPolicy);
+ PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy*, const String& identifier, const String& displayName, const String& documentURLString, PluginModuleLoadPolicy currentPluginLoadPolicy);
};
} // namespace WebKit
Modified: branches/safari-534.59-branch/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (144555 => 144556)
--- branches/safari-534.59-branch/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2013-03-03 06:31:24 UTC (rev 144555)
+++ branches/safari-534.59-branch/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2013-03-03 06:33:57 UTC (rev 144556)
@@ -332,10 +332,8 @@
{
String pluginPath;
uint32_t pluginLoadPolicy;
-
- if (!sendSync(
- Messages::WebPageProxy::GetPluginPath(parameters.mimeType, parameters.url.string()),
- Messages::WebPageProxy::GetPluginPath::Reply(pluginPath, pluginLoadPolicy))) {
+ String documentURLString = pluginElement->document()->url().string();
+ if (!sendSync(Messages::WebPageProxy::GetPluginPath(parameters.mimeType, parameters.url.string(), documentURLString), Messages::WebPageProxy::GetPluginPath::Reply(pluginPath, pluginLoadPolicy))) {
return 0;
}
Modified: branches/safari-534.59-branch/Source/WebKit2/WebProcess/WebProcess.cpp (144555 => 144556)
--- branches/safari-534.59-branch/Source/WebKit2/WebProcess/WebProcess.cpp 2013-03-03 06:31:24 UTC (rev 144555)
+++ branches/safari-534.59-branch/Source/WebKit2/WebProcess/WebProcess.cpp 2013-03-03 06:33:57 UTC (rev 144556)
@@ -735,7 +735,7 @@
String pluginPath;
uint32_t pluginLoadPolicy;
- if (!m_connection->sendSync(Messages::WebPageProxy::GetPluginPath(response.mimeType(), response.url().string()), Messages::WebPageProxy::GetPluginPath::Reply(pluginPath, pluginLoadPolicy), 0))
+ if (!m_connection->sendSync(Messages::WebPageProxy::GetPluginPath(response.mimeType(), response.url().string(), response.url().string()), Messages::WebPageProxy::GetPluginPath::Reply(pluginPath, pluginLoadPolicy), 0))
return false;
return pluginLoadPolicy != PluginModuleBlocked && !pluginPath.isEmpty();