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 /webkit/glue/webframe_impl.h | |
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 'webkit/glue/webframe_impl.h')
-rw-r--r-- | webkit/glue/webframe_impl.h | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/webkit/glue/webframe_impl.h b/webkit/glue/webframe_impl.h index 9fd788e..b1c1240 100644 --- a/webkit/glue/webframe_impl.h +++ b/webkit/glue/webframe_impl.h @@ -40,8 +40,6 @@ MSVC_PUSH_WARNING_LEVEL(0); MSVC_POP_WARNING(); class ChromePrintContext; -class WebDataSourceImpl; -class WebPluginDelegate; class WebView; class WebViewImpl; @@ -60,6 +58,10 @@ class SubstituteData; struct WindowFeatures; } +namespace WebKit { +class WebDataSourceImpl; +} + // Implementation of WebFrame, note that this is a reference counted object. class WebFrameImpl : public WebKit::WebFrame, public base::RefCounted<WebFrameImpl> { @@ -186,16 +188,6 @@ class WebFrameImpl : public WebKit::WebFrame, void CreateFrameView(); - // The plugin delegate is used to get notifications when downloads complete. - // This is used by the NPAPI method getURLNotify. plugin_delegate() may - // return NULL. TODO(darin): how come there is only one per frame?!? - WebPluginDelegate* plugin_delegate() const { - return plugin_delegate_; - } - void set_plugin_delegate(WebPluginDelegate* plugin_delegate) { - plugin_delegate_ = plugin_delegate; - } - WebCore::Frame* frame() const { return frame_; } @@ -210,8 +202,8 @@ class WebFrameImpl : public WebKit::WebFrame, // Getters for the impls corresponding to Get(Provisional)DataSource. They // may return NULL if there is no corresponding data source. - WebDataSourceImpl* GetDataSourceImpl() const; - WebDataSourceImpl* GetProvisionalDataSourceImpl() const; + WebKit::WebDataSourceImpl* GetDataSourceImpl() const; + WebKit::WebDataSourceImpl* GetProvisionalDataSourceImpl() const; // Returns which frame has an active match. This function should only be // called on the main frame, as it is the only frame keeping track. Returned @@ -270,10 +262,6 @@ class WebFrameImpl : public WebKit::WebFrame, // ourselves is held while frame_ is valid. See our Closing method. WebCore::Frame* frame_; - // Plugins sometimes need to be notified when loads are complete so we keep - // a pointer back to the appropriate plugin. - WebPluginDelegate* plugin_delegate_; - // A way for the main frame to keep track of which frame has an active // match. Should be NULL for all other frames. WebFrameImpl* active_match_frame_; |