diff options
author | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-27 20:43:29 +0000 |
---|---|---|
committer | darin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-27 20:43:29 +0000 |
commit | 31f4c7e11012ba7364ce5f84f9943523312f82a5 (patch) | |
tree | d98755c8b3faed725b0ce25f8660ded518b46156 /chrome/plugin | |
parent | aece2c7fcf3d899be29249220d79a8448f2e9e0e (diff) | |
download | chromium_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.cc | 16 | ||||
-rw-r--r-- | chrome/plugin/webplugin_delegate_stub.h | 10 |
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); |