summaryrefslogtreecommitdiffstats
path: root/chrome/plugin
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-27 20:43:29 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-27 20:43:29 +0000
commit31f4c7e11012ba7364ce5f84f9943523312f82a5 (patch)
treed98755c8b3faed725b0ce25f8660ded518b46156 /chrome/plugin
parentaece2c7fcf3d899be29249220d79a8448f2e9e0e (diff)
downloadchromium_src-31f4c7e11012ba7364ce5f84f9943523312f82a5.zip
chromium_src-31f4c7e11012ba7364ce5f84f9943523312f82a5.tar.gz
chromium_src-31f4c7e11012ba7364ce5f84f9943523312f82a5.tar.bz2
More refactoring for WebPlugin.
This CL eliminates direct calls to WebPluginDelegate::DidFinishLoadWithReason from WebFrameLoaderClient. This CL also moves WebDataSourceImpl into webkit/api/src. That change was needed so that WebPluginContainerImpl can add a WebPluginLoadObserver to it, which WebFrameLoaderClient uses to communicate back to the WebPlugin upon completion of the frame load. WebViewDelegate::DidFinishLoadWithReason is modified to include url and notify_data parameters, eliminating the URLRequestRouted method. This is done so that we can support overlapping NPN_GetURLNotify targetting different frames. WebPluginContainer grows an executeScriptURL method to deal with javascript: URLs. NOTE: I'm working on some UI tests to better cover the case of overlapping NPN_GetURLNotify calls. R=jam BUG=10036 TEST=none yet Review URL: http://codereview.chromium.org/174514 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24655 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/plugin')
-rw-r--r--chrome/plugin/webplugin_delegate_stub.cc16
-rw-r--r--chrome/plugin/webplugin_delegate_stub.h10
2 files changed, 9 insertions, 17 deletions
diff --git a/chrome/plugin/webplugin_delegate_stub.cc b/chrome/plugin/webplugin_delegate_stub.cc
index a8a652f..9b33329 100644
--- a/chrome/plugin/webplugin_delegate_stub.cc
+++ b/chrome/plugin/webplugin_delegate_stub.cc
@@ -107,7 +107,6 @@ void WebPluginDelegateStub::OnMessageReceived(const IPC::Message& msg) {
IPC_MESSAGE_HANDLER(PluginMsg_InstallMissingPlugin, OnInstallMissingPlugin)
IPC_MESSAGE_HANDLER(PluginMsg_HandleURLRequestReply,
OnHandleURLRequestReply)
- IPC_MESSAGE_HANDLER(PluginMsg_URLRequestRouted, OnURLRequestRouted)
IPC_MESSAGE_UNHANDLED_ERROR()
IPC_END_MESSAGE_MAP()
@@ -214,8 +213,9 @@ void WebPluginDelegateStub::OnDidFail(int id) {
client->DidFail();
}
-void WebPluginDelegateStub::OnDidFinishLoadWithReason(int reason) {
- delegate_->DidFinishLoadWithReason(reason);
+void WebPluginDelegateStub::OnDidFinishLoadWithReason(
+ const GURL& url, int reason, intptr_t notify_data) {
+ delegate_->DidFinishLoadWithReason(url, reason, notify_data);
}
void WebPluginDelegateStub::OnSetFocus() {
@@ -299,8 +299,8 @@ void WebPluginDelegateStub::OnGetPluginScriptableObject(int* route_id,
WebBindings::releaseObject(object);
}
-void WebPluginDelegateStub::OnSendJavaScriptStream(const std::string& url,
- const std::wstring& result,
+void WebPluginDelegateStub::OnSendJavaScriptStream(const GURL& url,
+ const std::string& result,
bool success,
bool notify_needed,
intptr_t notify_data) {
@@ -374,9 +374,3 @@ void WebPluginDelegateStub::OnHandleURLRequestReply(
params.stream);
webplugin_->OnResourceCreated(params.resource_id, resource_client);
}
-
-void WebPluginDelegateStub::OnURLRequestRouted(const std::string& url,
- bool notify_needed,
- intptr_t notify_data) {
- delegate_->URLRequestRouted(url, notify_needed, notify_data);
-}
diff --git a/chrome/plugin/webplugin_delegate_stub.h b/chrome/plugin/webplugin_delegate_stub.h
index e385156..d0c6542 100644
--- a/chrome/plugin/webplugin_delegate_stub.h
+++ b/chrome/plugin/webplugin_delegate_stub.h
@@ -58,7 +58,8 @@ class WebPluginDelegateStub : public IPC::Channel::Listener,
void OnDidFinishLoading(int id);
void OnDidFail(int id);
- void OnDidFinishLoadWithReason(int reason);
+ void OnDidFinishLoadWithReason(const GURL& url, int reason,
+ intptr_t notify_data);
void OnSetFocus();
void OnHandleInputEvent(const WebKit::WebInputEvent* event,
bool* handled, WebCursor* cursor);
@@ -73,8 +74,8 @@ class WebPluginDelegateStub : public IPC::Channel::Listener,
const TransportDIB::Handle& windowless_buffer,
const TransportDIB::Handle& background_buffer);
void OnGetPluginScriptableObject(int* route_id, intptr_t* npobject_ptr);
- void OnSendJavaScriptStream(const std::string& url,
- const std::wstring& result,
+ void OnSendJavaScriptStream(const GURL& url,
+ const std::string& result,
bool success, bool notify_needed,
intptr_t notify_data);
@@ -89,9 +90,6 @@ class WebPluginDelegateStub : public IPC::Channel::Listener,
void OnHandleURLRequestReply(
const PluginMsg_URLRequestReply_Params& params);
- void OnURLRequestRouted(const std::string& url, bool notify_needed,
- intptr_t notify_data);
-
void CreateSharedBuffer(size_t size,
base::SharedMemory* shared_buf,
base::SharedMemoryHandle* remote_handle);