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 <limits> | 7 #include <limits> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "ash/public/cpp/window_properties.h" | 10 #include "ash/public/cpp/window_properties.h" |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 Browser* browser, | 165 Browser* browser, |
166 content::WebContents* web_contents) { | 166 content::WebContents* web_contents) { |
167 // We need to set the window ShelfID for V1 applications since they are | 167 // We need to set the window ShelfID for V1 applications since they are |
168 // content which might change and as such change the application type. | 168 // content which might change and as such change the application type. |
169 // The browser window may not exist in unit tests. | 169 // The browser window may not exist in unit tests. |
170 if (!browser || !browser->window() || !browser->window()->GetNativeWindow() || | 170 if (!browser || !browser->window() || !browser->window()->GetNativeWindow() || |
171 !IsBrowserFromActiveUser(browser) || IsSettingsBrowser(browser)) { | 171 !IsBrowserFromActiveUser(browser) || IsSettingsBrowser(browser)) { |
172 return; | 172 return; |
173 } | 173 } |
174 | 174 |
| 175 const ash::ShelfID shelf_id = |
| 176 ChromeLauncherController::instance()->GetShelfIDForWebContents( |
| 177 web_contents); |
175 browser->window()->GetNativeWindow()->SetProperty( | 178 browser->window()->GetNativeWindow()->SetProperty( |
176 ash::kShelfIDKey, | 179 ash::kShelfIDKey, new std::string(shelf_id.Serialize())); |
177 new ash::ShelfID( | |
178 ChromeLauncherController::instance()->GetShelfIDForWebContents( | |
179 web_contents))); | |
180 } | 180 } |
181 | 181 |
182 void BrowserShortcutLauncherItemController::ItemSelected( | 182 void BrowserShortcutLauncherItemController::ItemSelected( |
183 std::unique_ptr<ui::Event> event, | 183 std::unique_ptr<ui::Event> event, |
184 int64_t display_id, | 184 int64_t display_id, |
185 ash::ShelfLaunchSource source, | 185 ash::ShelfLaunchSource source, |
186 const ItemSelectedCallback& callback) { | 186 const ItemSelectedCallback& callback) { |
187 if (event && (event->flags() & ui::EF_CONTROL_DOWN)) { | 187 if (event && (event->flags() & ui::EF_CONTROL_DOWN)) { |
188 chrome::NewEmptyWindow(ChromeLauncherController::instance()->profile()); | 188 chrome::NewEmptyWindow(ChromeLauncherController::instance()->profile()); |
189 callback.Run(ash::SHELF_ACTION_NEW_WINDOW_CREATED, base::nullopt); | 189 callback.Run(ash::SHELF_ACTION_NEW_WINDOW_CREATED, base::nullopt); |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
398 Browser* browser = content::Source<Browser>(source).ptr(); | 398 Browser* browser = content::Source<Browser>(source).ptr(); |
399 DCHECK(browser); | 399 DCHECK(browser); |
400 BrowserList::BrowserVector::iterator item = std::find( | 400 BrowserList::BrowserVector::iterator item = std::find( |
401 browser_menu_items_.begin(), browser_menu_items_.end(), browser); | 401 browser_menu_items_.begin(), browser_menu_items_.end(), browser); |
402 DCHECK(item != browser_menu_items_.end()); | 402 DCHECK(item != browser_menu_items_.end()); |
403 // Clear the entry for the closed browser and leave other indices intact. | 403 // Clear the entry for the closed browser and leave other indices intact. |
404 *item = nullptr; | 404 *item = nullptr; |
405 registrar_.Remove(this, chrome::NOTIFICATION_BROWSER_CLOSING, | 405 registrar_.Remove(this, chrome::NOTIFICATION_BROWSER_CLOSING, |
406 content::Source<Browser>(browser)); | 406 content::Source<Browser>(browser)); |
407 } | 407 } |
OLD | NEW |