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

Unified Diff: chrome/browser/ui/ash/launcher/browser_status_monitor.cc

Issue 23534022: Handling browser item status in BrowserShortcutLauncherItemController (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: CreateAppAndBrowserState() Created 7 years, 3 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/ash/launcher/browser_status_monitor.cc
diff --git a/chrome/browser/ui/ash/launcher/browser_status_monitor.cc b/chrome/browser/ui/ash/launcher/browser_status_monitor.cc
index 5636e7032347ae04a9d9e5cc2145ab0d915039b9..738e2fbdfdbcc2d2b63aec04b752cb6f4e411466 100644
--- a/chrome/browser/ui/ash/launcher/browser_status_monitor.cc
+++ b/chrome/browser/ui/ash/launcher/browser_status_monitor.cc
@@ -6,6 +6,7 @@
#include "ash/shell.h"
#include "ash/wm/window_util.h"
+#include "chrome/browser/ui/ash/launcher/browser_shortcut_launcher_item_controller.h"
#include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
@@ -65,19 +66,15 @@ BrowserStatusMonitor::~BrowserStatusMonitor() {
void BrowserStatusMonitor::OnWindowActivated(aura::Window* gained_active,
aura::Window* lost_active) {
Browser* browser = chrome::FindBrowserWithWindow(lost_active);
- content::WebContents* active_contents = NULL;
-
if (browser) {
- active_contents = browser->tab_strip_model()->GetActiveWebContents();
- if (active_contents)
- UpdateAppState(active_contents);
+ UpdateAppAndBrowserState(
+ browser->tab_strip_model()->GetActiveWebContents());
}
browser = chrome::FindBrowserWithWindow(gained_active);
if (browser) {
- active_contents = browser->tab_strip_model()->GetActiveWebContents();
- if (active_contents)
- UpdateAppState(active_contents);
+ UpdateAppAndBrowserState(
+ browser->tab_strip_model()->GetActiveWebContents());
}
}
@@ -108,7 +105,7 @@ void BrowserStatusMonitor::OnBrowserRemoved(Browser* browser) {
launcher_controller_->UnlockV1AppWithID(browser_to_app_id_map_[browser]);
browser_to_app_id_map_.erase(browser);
}
- launcher_controller_->UpdateBrowserItemStatus();
+ UpdateBrowserItemState();
}
void BrowserStatusMonitor::OnDisplayBoundsChanged(
@@ -147,29 +144,33 @@ void BrowserStatusMonitor::ActiveTabChanged(content::WebContents* old_contents,
// Update immediately on a tab change.
if (browser &&
(TabStripModel::kNoTab !=
- browser->tab_strip_model()->GetIndexOfWebContents(old_contents)))
- UpdateAppState(old_contents);
+ browser->tab_strip_model()->GetIndexOfWebContents(old_contents))) {
+ launcher_controller_->UpdateAppState(
+ old_contents,
+ ChromeLauncherController::APP_STATE_INACTIVE);
+ }
- UpdateAppState(new_contents);
+ UpdateAppAndBrowserState(new_contents);
}
void BrowserStatusMonitor::TabInsertedAt(content::WebContents* contents,
int index,
bool foreground) {
- UpdateAppState(contents);
+ UpdateAppAndBrowserState(contents);
}
void BrowserStatusMonitor::TabDetachedAt(content::WebContents* contents,
int index) {
launcher_controller_->UpdateAppState(
contents, ChromeLauncherController::APP_STATE_REMOVED);
+ UpdateBrowserItemState();
}
void BrowserStatusMonitor::TabChangedAt(
content::WebContents* contents,
int index,
TabStripModelObserver::TabChangeType change_type) {
- UpdateAppState(contents);
+ UpdateAppAndBrowserState(contents);
}
void BrowserStatusMonitor::TabReplacedAt(TabStripModel* tab_strip_model,
@@ -179,23 +180,29 @@ void BrowserStatusMonitor::TabReplacedAt(TabStripModel* tab_strip_model,
launcher_controller_->UpdateAppState(
old_contents,
ChromeLauncherController::APP_STATE_REMOVED);
- UpdateAppState(new_contents);
+ UpdateAppAndBrowserState(new_contents);
}
-void BrowserStatusMonitor::UpdateAppState(content::WebContents* contents) {
- if (!contents)
- return;
-
- ChromeLauncherController::AppState app_state =
- ChromeLauncherController::APP_STATE_INACTIVE;
+void BrowserStatusMonitor::UpdateAppAndBrowserState(
+ content::WebContents* contents) {
+ if (contents) {
+ ChromeLauncherController::AppState app_state =
+ ChromeLauncherController::APP_STATE_INACTIVE;
+
+ Browser* browser = chrome::FindBrowserWithWebContents(contents);
+ if (browser->tab_strip_model()->GetActiveWebContents() == contents) {
+ if (browser->window()->IsActive())
+ app_state = ChromeLauncherController::APP_STATE_WINDOW_ACTIVE;
+ else
+ app_state = ChromeLauncherController::APP_STATE_ACTIVE;
+ }
- Browser* browser = chrome::FindBrowserWithWebContents(contents);
- if (browser->tab_strip_model()->GetActiveWebContents() == contents) {
- if (browser->window()->IsActive())
- app_state = ChromeLauncherController::APP_STATE_WINDOW_ACTIVE;
- else
- app_state = ChromeLauncherController::APP_STATE_ACTIVE;
+ launcher_controller_->UpdateAppState(contents, app_state);
}
+ UpdateBrowserItemState();
+}
- launcher_controller_->UpdateAppState(contents, app_state);
+void BrowserStatusMonitor::UpdateBrowserItemState() {
+ launcher_controller_->GetBrowserShortcutLauncherItemController()->
+ UpdateBrowserItemState();
}
« no previous file with comments | « chrome/browser/ui/ash/launcher/browser_status_monitor.h ('k') | chrome/browser/ui/ash/launcher/chrome_launcher_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698