OLD | NEW |
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.h" | 9 #include "ash/shelf/shelf.h" |
10 #include "ash/shelf/shelf_model.h" | 10 #include "ash/shelf/shelf_model.h" |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 const BrowserList* browser_list = BrowserList::GetInstance(); | 139 const BrowserList* browser_list = BrowserList::GetInstance(); |
140 for (BrowserList::const_iterator it = browser_list->begin(); | 140 for (BrowserList::const_iterator it = browser_list->begin(); |
141 it != browser_list->end(); ++it) { | 141 it != browser_list->end(); ++it) { |
142 if (launcher_controller()->IsBrowserFromActiveUser(*it)) | 142 if (launcher_controller()->IsBrowserFromActiveUser(*it)) |
143 return true; | 143 return true; |
144 } | 144 } |
145 return false; | 145 return false; |
146 } | 146 } |
147 | 147 |
148 bool BrowserShortcutLauncherItemController::IsVisible() const { | 148 bool BrowserShortcutLauncherItemController::IsVisible() const { |
149 Browser* last_browser = chrome::FindTabbedBrowser( | 149 Browser* last_browser = |
150 launcher_controller()->profile(), | 150 chrome::FindTabbedBrowser(launcher_controller()->profile(), true); |
151 true, | |
152 chrome::HOST_DESKTOP_TYPE_ASH); | |
153 | 151 |
154 if (!last_browser) { | 152 if (!last_browser) { |
155 return false; | 153 return false; |
156 } | 154 } |
157 | 155 |
158 aura::Window* window = last_browser->window()->GetNativeWindow(); | 156 aura::Window* window = last_browser->window()->GetNativeWindow(); |
159 return ash::wm::IsActiveWindow(window); | 157 return ash::wm::IsActiveWindow(window); |
160 } | 158 } |
161 | 159 |
162 void BrowserShortcutLauncherItemController::Launch(ash::LaunchSource source, | 160 void BrowserShortcutLauncherItemController::Launch(ash::LaunchSource source, |
163 int event_flags) { | 161 int event_flags) { |
164 } | 162 } |
165 | 163 |
166 ash::ShelfItemDelegate::PerformedAction | 164 ash::ShelfItemDelegate::PerformedAction |
167 BrowserShortcutLauncherItemController::Activate(ash::LaunchSource source) { | 165 BrowserShortcutLauncherItemController::Activate(ash::LaunchSource source) { |
168 Browser* last_browser = chrome::FindTabbedBrowser( | 166 Browser* last_browser = |
169 launcher_controller()->profile(), | 167 chrome::FindTabbedBrowser(launcher_controller()->profile(), true); |
170 true, | |
171 chrome::HOST_DESKTOP_TYPE_ASH); | |
172 | 168 |
173 if (!last_browser) { | 169 if (!last_browser) { |
174 launcher_controller()->CreateNewWindow(); | 170 launcher_controller()->CreateNewWindow(); |
175 return kNewWindowCreated; | 171 return kNewWindowCreated; |
176 } | 172 } |
177 | 173 |
178 return launcher_controller()->ActivateWindowOrMinimizeIfActive( | 174 return launcher_controller()->ActivateWindowOrMinimizeIfActive( |
179 last_browser->window(), GetApplicationList(0).size() == 2); | 175 last_browser->window(), GetApplicationList(0).size() == 2); |
180 } | 176 } |
181 | 177 |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 browser = items[0]; | 330 browser = items[0]; |
335 } else { | 331 } else { |
336 // If there is more then one suitable browser, we advance to the next if | 332 // If there is more then one suitable browser, we advance to the next if |
337 // |browser| is already active - or - check the last used browser if it can | 333 // |browser| is already active - or - check the last used browser if it can |
338 // be used. | 334 // be used. |
339 std::vector<Browser*>::iterator i = | 335 std::vector<Browser*>::iterator i = |
340 std::find(items.begin(), items.end(), browser); | 336 std::find(items.begin(), items.end(), browser); |
341 if (i != items.end()) { | 337 if (i != items.end()) { |
342 browser = (++i == items.end()) ? items[0] : *i; | 338 browser = (++i == items.end()) ? items[0] : *i; |
343 } else { | 339 } else { |
344 browser = chrome::FindTabbedBrowser(launcher_controller()->profile(), | 340 browser = |
345 true, | 341 chrome::FindTabbedBrowser(launcher_controller()->profile(), true); |
346 chrome::HOST_DESKTOP_TYPE_ASH); | |
347 if (!browser || | 342 if (!browser || |
348 !IsBrowserRepresentedInBrowserList(browser)) | 343 !IsBrowserRepresentedInBrowserList(browser)) |
349 browser = items[0]; | 344 browser = items[0]; |
350 } | 345 } |
351 } | 346 } |
352 DCHECK(browser); | 347 DCHECK(browser); |
353 browser->window()->Show(); | 348 browser->window()->Show(); |
354 browser->window()->Activate(); | 349 browser->window()->Activate(); |
355 return kExistingWindowActivated; | 350 return kExistingWindowActivated; |
356 } | 351 } |
(...skipping 13 matching lines...) Expand all Loading... |
370 web_app::GetExtensionIdFromApplicationName(browser->app_name())) > 0) | 365 web_app::GetExtensionIdFromApplicationName(browser->app_name())) > 0) |
371 return false; | 366 return false; |
372 | 367 |
373 // Settings browsers have their own icon. | 368 // Settings browsers have their own icon. |
374 if (IsSettingsBrowser(browser)) | 369 if (IsSettingsBrowser(browser)) |
375 return false; | 370 return false; |
376 | 371 |
377 // Tabbed browser and other popup windows are all represented. | 372 // Tabbed browser and other popup windows are all represented. |
378 return true; | 373 return true; |
379 } | 374 } |
OLD | NEW |