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

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

Issue 2282023002: arc: Support window recreation. (Closed)
Patch Set: Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/arc_app_window_launcher_item_controller .h" 5 #include "chrome/browser/ui/ash/launcher/arc_app_window_launcher_item_controller .h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h" 9 #include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h"
10 #include "chrome/browser/ui/ash/launcher/arc_app_window_launcher_controller.h" 10 #include "chrome/browser/ui/ash/launcher/arc_app_window_launcher_controller.h"
11 #include "chrome/browser/ui/ash/launcher/chrome_launcher_app_menu_item_v2app.h" 11 #include "chrome/browser/ui/ash/launcher/chrome_launcher_app_menu_item_v2app.h"
12 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h" 12 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h"
13 #include "chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.h" 13 #include "chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.h"
14 #include "ui/aura/window.h" 14 #include "ui/aura/window.h"
15 #include "ui/base/base_window.h" 15 #include "ui/base/base_window.h"
16 16
17 ArcAppWindowLauncherItemController::ArcAppWindowLauncherItemController( 17 ArcAppWindowLauncherItemController::ArcAppWindowLauncherItemController(
18 const std::string& arc_app_id, 18 const std::string& arc_app_id,
19 ChromeLauncherController* controller) 19 ChromeLauncherController* controller)
20 : AppWindowLauncherItemController(TYPE_APP, 20 : AppWindowLauncherItemController(TYPE_APP,
21 arc_app_id, 21 arc_app_id,
22 arc_app_id, 22 arc_app_id,
23 controller) {} 23 controller) {}
24 24
25 ArcAppWindowLauncherItemController::~ArcAppWindowLauncherItemController() {} 25 ArcAppWindowLauncherItemController::~ArcAppWindowLauncherItemController() {}
26 26
27 ash::ShelfItemDelegate::PerformedAction
28 ArcAppWindowLauncherItemController::ItemSelected(const ui::Event& eent) {
Mr4D (OOO till 08-26) 2016/08/26 22:54:43 eent -> event?
khmel 2016/08/29 16:41:04 Done.
29 if (window_count()) {
30 return AppWindowLauncherItemController::ItemSelected(eent);
31 } else {
32 Launch(ash::LAUNCH_FROM_UNKNOWN, 0);
33 return kNewWindowCreated;
34 }
35 }
36
27 base::string16 ArcAppWindowLauncherItemController::GetTitle() { 37 base::string16 ArcAppWindowLauncherItemController::GetTitle() {
28 ArcAppListPrefs* arc_prefs = 38 ArcAppListPrefs* arc_prefs =
29 ArcAppListPrefs::Get(launcher_controller()->GetProfile()); 39 ArcAppListPrefs::Get(launcher_controller()->GetProfile());
30 DCHECK(arc_prefs); 40 DCHECK(arc_prefs);
31 std::unique_ptr<ArcAppListPrefs::AppInfo> app_info = arc_prefs->GetApp( 41 std::unique_ptr<ArcAppListPrefs::AppInfo> app_info = arc_prefs->GetApp(
32 ArcAppWindowLauncherController::GetArcAppIdFromShelfAppId(app_id())); 42 ArcAppWindowLauncherController::GetArcAppIdFromShelfAppId(app_id()));
33 if (!app_info) { 43 if (!app_info) {
34 NOTREACHED(); 44 NOTREACHED();
35 return base::string16(); 45 return base::string16();
36 } 46 }
(...skipping 14 matching lines...) Expand all
51 for (auto it = windows().begin(); it != windows().end(); ++it, ++i) { 61 for (auto it = windows().begin(); it != windows().end(); ++it, ++i) {
52 // TODO(khmel): resolve correct icon here. 62 // TODO(khmel): resolve correct icon here.
53 gfx::Image image; 63 gfx::Image image;
54 aura::Window* window = (*it)->GetNativeWindow(); 64 aura::Window* window = (*it)->GetNativeWindow();
55 items.push_back(new ChromeLauncherAppMenuItemV2App( 65 items.push_back(new ChromeLauncherAppMenuItemV2App(
56 (window ? window->title() : GetTitle()), &image, app_id(), 66 (window ? window->title() : GetTitle()), &image, app_id(),
57 launcher_controller(), i, i == 0 /* has_leading_separator */)); 67 launcher_controller(), i, i == 0 /* has_leading_separator */));
58 } 68 }
59 return items; 69 return items;
60 } 70 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698