Index: chrome/browser/ui/browser.cc |
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc |
index c738146a453d5b7d423e30a30f1e3c4c711fcdae..900412bc7bee68cf9ef0f5d6667e37afcd344510 100644 |
--- a/chrome/browser/ui/browser.cc |
+++ b/chrome/browser/ui/browser.cc |
@@ -49,12 +49,14 @@ |
#include "chrome/browser/download/download_util.h" |
#include "chrome/browser/extensions/crx_installer.h" |
#include "chrome/browser/extensions/default_apps_trial.h" |
+#include "chrome/browser/extensions/browser_extension_window_controller.h" |
#include "chrome/browser/extensions/extension_browser_event_router.h" |
#include "chrome/browser/extensions/extension_disabled_infobar_delegate.h" |
#include "chrome/browser/extensions/extension_prefs.h" |
#include "chrome/browser/extensions/extension_service.h" |
#include "chrome/browser/extensions/extension_tab_helper.h" |
#include "chrome/browser/extensions/extension_tabs_module.h" |
+#include "chrome/browser/extensions/extension_window_list.h" |
#include "chrome/browser/favicon/favicon_tab_helper.h" |
#include "chrome/browser/file_select_helper.h" |
#include "chrome/browser/first_run/first_run.h" |
@@ -427,6 +429,10 @@ Browser::~Browser() { |
service->RemoveObserver(this); |
BrowserList::RemoveBrowser(this); |
+ if (extension_window_controller_.get()) { |
+ ExtensionWindowList::GetInstance()->RemoveExtensionWindow( |
+ extension_window_controller_.get()); |
+ } |
#if !defined(OS_MACOSX) |
if (!BrowserList::HasBrowserWithProfile(profile_)) { |
@@ -568,6 +574,13 @@ void Browser::InitBrowserWindow() { |
} |
#endif |
+ // Add the browser to the list of windows available to the extension API. |
+ // (Before sending notifications). |
+ extension_window_controller_.reset( |
+ new BrowserExtensionWindowController(this)); |
+ ExtensionWindowList::GetInstance()->AddExtensionWindow( |
+ extension_window_controller_.get()); |
+ |
content::NotificationService::current()->Notify( |
chrome::NOTIFICATION_BROWSER_WINDOW_READY, |
content::Source<Browser>(this), |
@@ -1842,8 +1855,8 @@ void Browser::ToggleFullscreenMode() { |
fullscreen_controller_->ToggleFullscreenMode(); |
} |
-void Browser::ToggleFullscreenModeWithExtension(const Extension& extension) { |
- fullscreen_controller_->ToggleFullscreenModeWithExtension(extension); |
+void Browser::ToggleFullscreenModeWithExtension(const GURL& extension_url) { |
+ fullscreen_controller_->ToggleFullscreenModeWithExtension(extension_url); |
} |
#if defined(OS_MACOSX) |