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

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

Issue 2039543002: Getting rid of ChromeLauncherController::model(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing git cl dependencies Created 4 years, 6 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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_shortcut_launcher_item_controll er.h" 5 #include "chrome/browser/ui/ash/launcher/browser_shortcut_launcher_item_controll er.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "ash/shelf/shelf_model.h" 9 #include "ash/shelf/shelf_model.h"
10 #include "ash/shelf/shelf_util.h" 10 #include "ash/shelf/shelf_util.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 // of settings browsers (which will not be valid during chrome::Navigate 51 // of settings browsers (which will not be valid during chrome::Navigate
52 // which is why we still need the above test). 52 // which is why we still need the above test).
53 if (chrome::SettingsWindowManager::GetInstance()->IsSettingsBrowser(browser)) 53 if (chrome::SettingsWindowManager::GetInstance()->IsSettingsBrowser(browser))
54 return true; 54 return true;
55 return false; 55 return false;
56 } 56 }
57 57
58 } // namespace 58 } // namespace
59 59
60 BrowserShortcutLauncherItemController::BrowserShortcutLauncherItemController( 60 BrowserShortcutLauncherItemController::BrowserShortcutLauncherItemController(
61 ChromeLauncherController* launcher_controller) 61 ChromeLauncherController* launcher_controller,
62 ash::ShelfModel* shelf_model)
62 : LauncherItemController(TYPE_SHORTCUT, 63 : LauncherItemController(TYPE_SHORTCUT,
63 extension_misc::kChromeAppId, 64 extension_misc::kChromeAppId,
64 launcher_controller) { 65 launcher_controller),
65 } 66 shelf_model_(shelf_model) {}
66 67
67 BrowserShortcutLauncherItemController:: 68 BrowserShortcutLauncherItemController::
68 ~BrowserShortcutLauncherItemController() { 69 ~BrowserShortcutLauncherItemController() {
69 } 70 }
70 71
71 void BrowserShortcutLauncherItemController::UpdateBrowserItemState() { 72 void BrowserShortcutLauncherItemController::UpdateBrowserItemState() {
72 // The shell will not be available for win7_aura unittests like 73 // The shell will not be available for win7_aura unittests like
73 // ChromeLauncherControllerTest.BrowserMenuGeneration. 74 // ChromeLauncherControllerTest.BrowserMenuGeneration.
74 if (!ash::Shell::HasInstance()) 75 if (!ash::Shell::HasInstance())
75 return; 76 return;
76 77
77 ash::ShelfModel* model = launcher_controller()->model();
78
79 // Determine the new browser's active state and change if necessary. 78 // Determine the new browser's active state and change if necessary.
80 int browser_index = model->GetItemIndexForType(ash::TYPE_BROWSER_SHORTCUT); 79 int browser_index =
80 shelf_model_->GetItemIndexForType(ash::TYPE_BROWSER_SHORTCUT);
81 DCHECK_GE(browser_index, 0); 81 DCHECK_GE(browser_index, 0);
82 ash::ShelfItem browser_item = model->items()[browser_index]; 82 ash::ShelfItem browser_item = shelf_model_->items()[browser_index];
83 ash::ShelfItemStatus browser_status = ash::STATUS_CLOSED; 83 ash::ShelfItemStatus browser_status = ash::STATUS_CLOSED;
84 84
85 aura::Window* window = ash::wm::GetActiveWindow(); 85 aura::Window* window = ash::wm::GetActiveWindow();
86 if (window) { 86 if (window) {
87 // Check if the active browser / tab is a browser which is not an app, 87 // Check if the active browser / tab is a browser which is not an app,
88 // a windowed app, a popup or any other item which is not a browser of 88 // a windowed app, a popup or any other item which is not a browser of
89 // interest. 89 // interest.
90 Browser* browser = chrome::FindBrowserWithWindow(window); 90 Browser* browser = chrome::FindBrowserWithWindow(window);
91 if (IsBrowserRepresentedInBrowserList(browser)) { 91 if (IsBrowserRepresentedInBrowserList(browser)) {
92 browser_status = ash::STATUS_ACTIVE; 92 browser_status = ash::STATUS_ACTIVE;
(...skipping 15 matching lines...) Expand all
108 it != browser_list->end_last_active() && 108 it != browser_list->end_last_active() &&
109 browser_status == ash::STATUS_CLOSED; 109 browser_status == ash::STATUS_CLOSED;
110 ++it) { 110 ++it) {
111 if (IsBrowserRepresentedInBrowserList(*it)) 111 if (IsBrowserRepresentedInBrowserList(*it))
112 browser_status = ash::STATUS_RUNNING; 112 browser_status = ash::STATUS_RUNNING;
113 } 113 }
114 } 114 }
115 115
116 if (browser_status != browser_item.status) { 116 if (browser_status != browser_item.status) {
117 browser_item.status = browser_status; 117 browser_item.status = browser_status;
118 model->Set(browser_index, browser_item); 118 shelf_model_->Set(browser_index, browser_item);
119 } 119 }
120 } 120 }
121 121
122 void BrowserShortcutLauncherItemController::SetShelfIDForBrowserWindowContents( 122 void BrowserShortcutLauncherItemController::SetShelfIDForBrowserWindowContents(
123 Browser* browser, 123 Browser* browser,
124 content::WebContents* web_contents) { 124 content::WebContents* web_contents) {
125 // We need to call SetShelfIDForWindow for V1 applications since they are 125 // We need to call SetShelfIDForWindow for V1 applications since they are
126 // content which might change and as such change the application type. 126 // content which might change and as such change the application type.
127 if (!browser || !launcher_controller()->IsBrowserFromActiveUser(browser) || 127 if (!browser || !launcher_controller()->IsBrowserFromActiveUser(browser) ||
128 IsSettingsBrowser(browser)) 128 IsSettingsBrowser(browser))
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 !browser->window()->IsMinimized()) { 365 !browser->window()->IsMinimized()) {
366 continue; 366 continue;
367 } 367 }
368 if (!IsBrowserRepresentedInBrowserList(browser) && 368 if (!IsBrowserRepresentedInBrowserList(browser) &&
369 !browser->is_type_tabbed()) 369 !browser->is_type_tabbed())
370 continue; 370 continue;
371 active_browsers.push_back(browser); 371 active_browsers.push_back(browser);
372 } 372 }
373 return active_browsers; 373 return active_browsers;
374 } 374 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698