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

Side by Side Diff: chrome/browser/ui/ash/launcher/browser_status_monitor.cc

Issue 1779793003: Remove host_desktop_type() from browser.h (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@metro-mode-43
Patch Set: cros Created 4 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/ash/launcher/browser_status_monitor.h" 5 #include "chrome/browser/ui/ash/launcher/browser_status_monitor.h"
6 6
7 #include "ash/display/window_tree_host_manager.h" 7 #include "ash/display/window_tree_host_manager.h"
8 #include "ash/shelf/shelf_util.h" 8 #include "ash/shelf/shelf_util.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/wm/window_util.h" 10 #include "ash/wm/window_util.h"
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 } 204 }
205 205
206 void BrowserStatusMonitor::OnWindowDestroyed(aura::Window* window) { 206 void BrowserStatusMonitor::OnWindowDestroyed(aura::Window* window) {
207 // Remove RootWindow and its ActivationClient from observed list. 207 // Remove RootWindow and its ActivationClient from observed list.
208 observed_root_windows_.Remove(window); 208 observed_root_windows_.Remove(window);
209 observed_activation_clients_.Remove( 209 observed_activation_clients_.Remove(
210 aura::client::GetActivationClient(window)); 210 aura::client::GetActivationClient(window));
211 } 211 }
212 212
213 bool BrowserStatusMonitor::ShouldTrackBrowser(Browser* browser) { 213 bool BrowserStatusMonitor::ShouldTrackBrowser(Browser* browser) {
214 return browser->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH; 214 return true;
215 } 215 }
216 216
217 void BrowserStatusMonitor::OnBrowserAdded(Browser* browser) { 217 void BrowserStatusMonitor::OnBrowserAdded(Browser* browser) {
218 if (browser->is_type_popup() && browser->is_app()) { 218 if (browser->is_type_popup() && browser->is_app()) {
219 // Note: A V1 application will set the tab strip observer when the app gets 219 // Note: A V1 application will set the tab strip observer when the app gets
220 // added to the shelf. This makes sure that in the multi user case we will 220 // added to the shelf. This makes sure that in the multi user case we will
221 // only set the observer while the app item exists in the shelf. 221 // only set the observer while the app item exists in the shelf.
222 AddV1AppToShelf(browser); 222 AddV1AppToShelf(browser);
223 } 223 }
224 } 224 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 258
259 void BrowserStatusMonitor::ActiveTabChanged(content::WebContents* old_contents, 259 void BrowserStatusMonitor::ActiveTabChanged(content::WebContents* old_contents,
260 content::WebContents* new_contents, 260 content::WebContents* new_contents,
261 int index, 261 int index,
262 int reason) { 262 int reason) {
263 Browser* browser = NULL; 263 Browser* browser = NULL;
264 // Use |new_contents|. |old_contents| could be NULL. 264 // Use |new_contents|. |old_contents| could be NULL.
265 DCHECK(new_contents); 265 DCHECK(new_contents);
266 browser = chrome::FindBrowserWithWebContents(new_contents); 266 browser = chrome::FindBrowserWithWebContents(new_contents);
267 267
268 if (browser && browser->host_desktop_type() != chrome::HOST_DESKTOP_TYPE_ASH)
269 return;
270
271 ChromeLauncherController::AppState state = 268 ChromeLauncherController::AppState state =
272 ChromeLauncherController::APP_STATE_INACTIVE; 269 ChromeLauncherController::APP_STATE_INACTIVE;
273 270
274 // Update immediately on a tab change. 271 // Update immediately on a tab change.
275 if (old_contents && 272 if (old_contents &&
276 (TabStripModel::kNoTab != 273 (TabStripModel::kNoTab !=
277 browser->tab_strip_model()->GetIndexOfWebContents(old_contents))) 274 browser->tab_strip_model()->GetIndexOfWebContents(old_contents)))
278 UpdateAppItemState(old_contents, state); 275 UpdateAppItemState(old_contents, state);
279 276
280 if (new_contents) { 277 if (new_contents) {
281 state = browser->window()->IsActive() ? 278 state = browser->window()->IsActive() ?
282 ChromeLauncherController::APP_STATE_WINDOW_ACTIVE : 279 ChromeLauncherController::APP_STATE_WINDOW_ACTIVE :
283 ChromeLauncherController::APP_STATE_ACTIVE; 280 ChromeLauncherController::APP_STATE_ACTIVE;
284 UpdateAppItemState(new_contents, state); 281 UpdateAppItemState(new_contents, state);
285 UpdateBrowserItemState(); 282 UpdateBrowserItemState();
286 SetShelfIDForBrowserWindowContents(browser, new_contents); 283 SetShelfIDForBrowserWindowContents(browser, new_contents);
287 } 284 }
288 } 285 }
289 286
290 void BrowserStatusMonitor::TabReplacedAt(TabStripModel* tab_strip_model, 287 void BrowserStatusMonitor::TabReplacedAt(TabStripModel* tab_strip_model,
291 content::WebContents* old_contents, 288 content::WebContents* old_contents,
292 content::WebContents* new_contents, 289 content::WebContents* new_contents,
293 int index) { 290 int index) {
294 DCHECK(old_contents && new_contents); 291 DCHECK(old_contents && new_contents);
295 Browser* browser = chrome::FindBrowserWithWebContents(new_contents); 292 Browser* browser = chrome::FindBrowserWithWebContents(new_contents);
296 293
297 if (browser && browser->host_desktop_type() != chrome::HOST_DESKTOP_TYPE_ASH)
298 return;
299
300 UpdateAppItemState(old_contents, 294 UpdateAppItemState(old_contents,
301 ChromeLauncherController::APP_STATE_REMOVED); 295 ChromeLauncherController::APP_STATE_REMOVED);
302 RemoveWebContentsObserver(old_contents); 296 RemoveWebContentsObserver(old_contents);
303 297
304 ChromeLauncherController::AppState state = 298 ChromeLauncherController::AppState state =
305 ChromeLauncherController::APP_STATE_ACTIVE; 299 ChromeLauncherController::APP_STATE_ACTIVE;
306 if (browser->window()->IsActive() && 300 if (browser->window()->IsActive() &&
307 (tab_strip_model->GetActiveWebContents() == new_contents)) 301 (tab_strip_model->GetActiveWebContents() == new_contents))
308 state = ChromeLauncherController::APP_STATE_WINDOW_ACTIVE; 302 state = ChromeLauncherController::APP_STATE_WINDOW_ACTIVE;
309 UpdateAppItemState(new_contents, state); 303 UpdateAppItemState(new_contents, state);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 content::WebContents* contents) { 378 content::WebContents* contents) {
385 return launcher_controller_->GetShelfIDForWebContents(contents); 379 return launcher_controller_->GetShelfIDForWebContents(contents);
386 } 380 }
387 381
388 void BrowserStatusMonitor::SetShelfIDForBrowserWindowContents( 382 void BrowserStatusMonitor::SetShelfIDForBrowserWindowContents(
389 Browser* browser, 383 Browser* browser,
390 content::WebContents* web_contents) { 384 content::WebContents* web_contents) {
391 launcher_controller_->GetBrowserShortcutLauncherItemController()-> 385 launcher_controller_->GetBrowserShortcutLauncherItemController()->
392 SetShelfIDForBrowserWindowContents(browser, web_contents); 386 SetShelfIDForBrowserWindowContents(browser, web_contents);
393 } 387 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698