summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-14 05:43:53 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-14 05:43:53 +0000
commit7b291f9c1394495724ddd81306e982e840075c08 (patch)
treefa2a2ef45f1b17018e716101395300da731d8599 /chrome/browser/renderer_host
parentcc4219ad7dd27008da3db5f0e23da9a6ab2f0387 (diff)
downloadchromium_src-7b291f9c1394495724ddd81306e982e840075c08.zip
chromium_src-7b291f9c1394495724ddd81306e982e840075c08.tar.gz
chromium_src-7b291f9c1394495724ddd81306e982e840075c08.tar.bz2
Implementation of getBackgroundPage(), getToolstrips(), and
getTabContentses(). This lands http://codereview.chromium.org/159067. Raf, the only thing you need to look at is the changes to extensions_process_bindings.js and extension_api.json. BUG=13577 TEST=Browser tests added Review URL: http://codereview.chromium.org/164458 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23422 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host')
-rw-r--r--chrome/browser/renderer_host/render_view_host.cc8
-rw-r--r--chrome/browser/renderer_host/render_view_host.h3
-rw-r--r--chrome/browser/renderer_host/render_view_host_delegate.h8
3 files changed, 18 insertions, 1 deletions
diff --git a/chrome/browser/renderer_host/render_view_host.cc b/chrome/browser/renderer_host/render_view_host.cc
index b94d72b..49c4821 100644
--- a/chrome/browser/renderer_host/render_view_host.cc
+++ b/chrome/browser/renderer_host/render_view_host.cc
@@ -223,7 +223,9 @@ bool RenderViewHost::CreateRenderView() {
// If it's enabled, tell the renderer to set up the Javascript bindings for
// sending messages back to the browser.
Send(new ViewMsg_AllowBindings(routing_id(), enabled_bindings_));
-
+ UpdateBrowserWindowId(delegate_->GetBrowserWindowID());
+ Send(new ViewMsg_NotifyRenderViewType(routing_id(),
+ delegate_->GetRenderViewType()));
// Let our delegate know that we created a RenderView.
delegate_->RenderViewCreated(this);
process()->ViewCreated();
@@ -1641,3 +1643,7 @@ void RenderViewHost::ResetModalDialogEvent() {
if (--modal_dialog_count_ == 0)
modal_dialog_event_->Reset();
}
+
+void RenderViewHost::UpdateBrowserWindowId(int window_id) {
+ Send(new ViewMsg_UpdateBrowserWindowId(routing_id(), window_id));
+}
diff --git a/chrome/browser/renderer_host/render_view_host.h b/chrome/browser/renderer_host/render_view_host.h
index 959b99b..71a15fe 100644
--- a/chrome/browser/renderer_host/render_view_host.h
+++ b/chrome/browser/renderer_host/render_view_host.h
@@ -426,6 +426,9 @@ class RenderViewHost : public RenderWidgetHost,
void SignalModalDialogEvent();
void ResetModalDialogEvent();
+ // Tell renderer which browser window it is being attached to.
+ void UpdateBrowserWindowId(int window_id);
+
void set_in_inspect_element_mode(bool enabled) {
in_inspect_element_mode_ = enabled;
}
diff --git a/chrome/browser/renderer_host/render_view_host_delegate.h b/chrome/browser/renderer_host/render_view_host_delegate.h
index 564a6e80..d9a7d9c 100644
--- a/chrome/browser/renderer_host/render_view_host_delegate.h
+++ b/chrome/browser/renderer_host/render_view_host_delegate.h
@@ -10,6 +10,7 @@
#include "base/basictypes.h"
#include "base/string16.h"
+#include "chrome/common/view_types.h"
#include "net/base/load_states.h"
#include "webkit/glue/window_open_disposition.h"
@@ -373,6 +374,13 @@ class RenderViewHostDelegate {
// not a TabContents, returns NULL.
virtual TabContents* GetAsTabContents();
+ // Return id number of browser window which this object is attached to. If no
+ // browser window is attached to, just return -1.
+ virtual int GetBrowserWindowID() const = 0;
+
+ // Return type of RenderView which is attached with this object.
+ virtual ViewType::Type GetRenderViewType() const = 0;
+
// The RenderView is being constructed (message sent to the renderer process
// to construct a RenderView). Now is a good time to send other setup events
// to the RenderView. This precedes any other commands to the RenderView.