Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1046)

Unified Diff: chrome/browser/extensions/extension_host.cc

Issue 164458: Land http://codereview.chromium.org/159067: (Closed)
Patch Set: undo docs Created 11 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/extension_host.h ('k') | chrome/browser/extensions/extension_process_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/extension_host.cc
diff --git a/chrome/browser/extensions/extension_host.cc b/chrome/browser/extensions/extension_host.cc
index 898aeaa01cf20e72911031ed9fe10e72e1214be7..e43df14c8f52ee2296ba41c25c69454294a46934 100644
--- a/chrome/browser/extensions/extension_host.cc
+++ b/chrome/browser/extensions/extension_host.cc
@@ -11,6 +11,7 @@
#include "chrome/browser/browser_list.h"
#include "chrome/browser/debugger/devtools_manager.h"
#include "chrome/browser/extensions/extension_message_service.h"
+#include "chrome/browser/extensions/extension_tabs_module.h"
#include "chrome/browser/profile.h"
#include "chrome/browser/renderer_host/render_view_host.h"
#include "chrome/browser/renderer_host/render_process_host.h"
@@ -25,6 +26,7 @@
#include "chrome/common/notification_service.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/pref_service.h"
+#include "chrome/common/view_types.h"
#include "chrome/common/render_messages.h"
#include "chrome/common/url_constants.h"
@@ -84,12 +86,13 @@ class CrashedExtensionInfobarDelegate : public ConfirmInfoBarDelegate {
bool ExtensionHost::enable_dom_automation_ = false;
ExtensionHost::ExtensionHost(Extension* extension, SiteInstance* site_instance,
- const GURL& url)
+ const GURL& url, ViewType::Type host_type)
: extension_(extension),
profile_(site_instance->browsing_instance()->profile()),
did_stop_loading_(false),
document_element_available_(false),
- url_(url) {
+ url_(url),
+ extension_host_type_(host_type) {
render_view_host_ = new RenderViewHost(
site_instance, this, MSG_ROUTING_NONE, NULL);
render_view_host_->AllowBindings(BindingsPolicy::EXTENSION);
@@ -385,6 +388,10 @@ Browser* ExtensionHost::GetBrowser() {
return browser;
}
+ViewType::Type ExtensionHost::GetRenderViewType() const {
+ return extension_host_type_;
+}
+
void ExtensionHost::RenderViewCreated(RenderViewHost* render_view_host) {
// TODO(mpcomplete): This is duplicated in DidNavigate, which means that
// we'll create 2 EFDs for the first navigation. We should try to find a
@@ -393,3 +400,17 @@ void ExtensionHost::RenderViewCreated(RenderViewHost* render_view_host) {
extension_function_dispatcher_.reset(
new ExtensionFunctionDispatcher(render_view_host, this, url_));
}
+
+int ExtensionHost::GetBrowserWindowID() const {
+ int window_id = -1;
+ if (extension_host_type_ == ViewType::EXTENSION_TOOLSTRIP) {
+ window_id = ExtensionTabUtil::GetWindowId(
+ const_cast<ExtensionHost* >(this)->GetBrowser());
+ } else if (extension_host_type_ == ViewType::EXTENSION_BACKGROUND_PAGE) {
+ // Background page is not attached to any browser window, so pass -1.
+ window_id = -1;
+ } else {
+ NOTREACHED();
+ }
+ return window_id;
+}
« no previous file with comments | « chrome/browser/extensions/extension_host.h ('k') | chrome/browser/extensions/extension_process_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698