diff options
author | mpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-15 18:36:46 +0000 |
---|---|---|
committer | mpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-15 18:36:46 +0000 |
commit | 173de1be12780200c62bae5c01965d51ac0eaa31 (patch) | |
tree | 5ab851b72e8012f49a4d80b281744a6b64d40753 /webkit | |
parent | 1f2763de9d897fc2b0e6da4c2323b7d8ab70c687 (diff) | |
download | chromium_src-173de1be12780200c62bae5c01965d51ac0eaa31.zip chromium_src-173de1be12780200c62bae5c01965d51ac0eaa31.tar.gz chromium_src-173de1be12780200c62bae5c01965d51ac0eaa31.tar.bz2 |
Step 1 at making Gears run in the renderer process (enabled by switch
"--gears-in-renderer"). Requires some changes to gears to work. Most things
work if you disable the sandbox. One major hole is that update tasks don't
report status to the appropriate renderer.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@954 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/glue/webplugin.h | 3 | ||||
-rw-r--r-- | webkit/glue/webplugin_impl.cc | 9 | ||||
-rw-r--r-- | webkit/glue/webplugin_impl.h | 1 | ||||
-rw-r--r-- | webkit/glue/webview_delegate.h | 8 |
4 files changed, 17 insertions, 4 deletions
diff --git a/webkit/glue/webplugin.h b/webkit/glue/webplugin.h index db1969a..12bffab 100644 --- a/webkit/glue/webplugin.h +++ b/webkit/glue/webplugin.h @@ -119,6 +119,9 @@ class WebPlugin { // Returns the DOM element that loaded the plugin. virtual NPObject* GetPluginElement() = 0; + // Returns the WebFrame that contains this plugin. + virtual WebFrame* GetWebFrame() = 0; + // Cookies virtual void SetCookie(const GURL& url, const GURL& policy_url, diff --git a/webkit/glue/webplugin_impl.cc b/webkit/glue/webplugin_impl.cc index 91d66b5..7a58b57 100644 --- a/webkit/glue/webplugin_impl.cc +++ b/webkit/glue/webplugin_impl.cc @@ -447,10 +447,11 @@ std::string WebPluginImpl::GetCookies(const GURL& url, const GURL& policy_url) { void WebPluginImpl::ShowModalHTMLDialog(const GURL& url, int width, int height, const std::string& json_arguments, std::string* json_retval) { - // TODO(mpcomplete): Figure out how to call out to the RenderView and - // implement this. Though, this is never called atm - only the out-of-process - // version is used. - NOTREACHED(); + if (webframe_ && webframe_->GetView() && + webframe_->GetView()->GetDelegate()) { + webframe_->GetView()->GetDelegate()->ShowModalHTMLDialog( + url, width, height, json_arguments, json_retval); + } } void WebPluginImpl::OnMissingPluginStatus(int status) { diff --git a/webkit/glue/webplugin_impl.h b/webkit/glue/webplugin_impl.h index dd78d53..04e09cb 100644 --- a/webkit/glue/webplugin_impl.h +++ b/webkit/glue/webplugin_impl.h @@ -168,6 +168,7 @@ class WebPluginImpl : public WebPlugin, NPObject* GetWindowScriptNPObject(); NPObject* GetPluginElement(); + virtual WebFrame* GetWebFrame() { return webframe_; } void SetCookie(const GURL& url, const GURL& policy_url, diff --git a/webkit/glue/webview_delegate.h b/webkit/glue/webview_delegate.h index cf18ca5..5e4cc6c 100644 --- a/webkit/glue/webview_delegate.h +++ b/webkit/glue/webview_delegate.h @@ -474,6 +474,14 @@ class WebViewDelegate : virtual public WebWidgetDelegate { // UIDelegate -------------------------------------------------------------- + // Asks the browser to show a modal HTML dialog. The dialog is passed the + // given arguments as a JSON string, and returns its result as a JSON string + // through json_retval. + virtual void ShowModalHTMLDialog(const GURL& url, int width, int height, + const std::string& json_arguments, + std::string* json_retval) { + } + // Displays a JavaScript alert panel associated with the given view. Clients // should visually indicate that this panel comes from JavaScript. The panel // should have a single OK button. |