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

Unified Diff: chrome/browser/ui/browser.cc

Issue 9428018: Create BaseWindow and ExtensionWindowWrapper for extension API access to Panels (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Address comments, rename -> ExtensionWindowController Created 8 years, 10 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
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)

Powered by Google App Engine
This is Rietveld 408576698