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

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

Issue 1428213004: This CL replaces std::string user_id in ash/* with AccountId. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update after review. Created 5 years, 1 month 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/multi_profile_app_window_launcher_contr oller.h" 5 #include "chrome/browser/ui/ash/launcher/multi_profile_app_window_launcher_contr oller.h"
6 6
7 #include "chrome/browser/profiles/profile.h" 7 #include "chrome/browser/profiles/profile.h"
8 #include "chrome/browser/profiles/profile_manager.h" 8 #include "chrome/browser/profiles/profile_manager.h"
9 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h" 9 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
10 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h" 10 #include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h"
11 #include "chrome/browser/ui/host_desktop.h" 11 #include "chrome/browser/ui/host_desktop.h"
12 #include "components/signin/core/account_id/account_id.h"
12 #include "extensions/browser/app_window/app_window.h" 13 #include "extensions/browser/app_window/app_window.h"
13 #include "extensions/browser/app_window/native_app_window.h" 14 #include "extensions/browser/app_window/native_app_window.h"
14 #include "ui/aura/window.h" 15 #include "ui/aura/window.h"
15 16
16 namespace { 17 namespace {
17 18
18 bool ControlsWindow(aura::Window* window) { 19 bool ControlsWindow(aura::Window* window) {
19 return chrome::GetHostDesktopTypeForNativeWindow(window) == 20 return chrome::GetHostDesktopTypeForNativeWindow(window) ==
20 chrome::HOST_DESKTOP_TYPE_ASH; 21 chrome::HOST_DESKTOP_TYPE_ASH;
21 } 22 }
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 if (!ControlsWindow(app_window->GetNativeWindow())) 80 if (!ControlsWindow(app_window->GetNativeWindow()))
80 return; 81 return;
81 82
82 app_window_list_.push_back(app_window); 83 app_window_list_.push_back(app_window);
83 Profile* profile = Profile::FromBrowserContext(app_window->browser_context()); 84 Profile* profile = Profile::FromBrowserContext(app_window->browser_context());
84 // If the window got created for a non active user but the user allowed to 85 // If the window got created for a non active user but the user allowed to
85 // teleport to the current user's desktop, we teleport it now. 86 // teleport to the current user's desktop, we teleport it now.
86 if (!multi_user_util::IsProfileFromActiveUser(profile) && 87 if (!multi_user_util::IsProfileFromActiveUser(profile) &&
87 UserHasAppOnActiveDesktop(app_window)) { 88 UserHasAppOnActiveDesktop(app_window)) {
88 chrome::MultiUserWindowManager::GetInstance()->ShowWindowForUser( 89 chrome::MultiUserWindowManager::GetInstance()->ShowWindowForUser(
89 app_window->GetNativeWindow(), multi_user_util::GetCurrentUserId()); 90 app_window->GetNativeWindow(), multi_user_util::GetCurrentAccountId());
90 } 91 }
91 } 92 }
92 93
93 void MultiProfileAppWindowLauncherController::OnAppWindowShown( 94 void MultiProfileAppWindowLauncherController::OnAppWindowShown(
94 extensions::AppWindow* app_window, 95 extensions::AppWindow* app_window,
95 bool was_hidden) { 96 bool was_hidden) {
96 if (!ControlsWindow(app_window->GetNativeWindow())) 97 if (!ControlsWindow(app_window->GetNativeWindow()))
97 return; 98 return;
98 99
99 Profile* profile = Profile::FromBrowserContext(app_window->browser_context()); 100 Profile* profile = Profile::FromBrowserContext(app_window->browser_context());
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 std::find(app_window_list_.begin(), app_window_list_.end(), app_window); 141 std::find(app_window_list_.begin(), app_window_list_.end(), app_window);
141 DCHECK(it != app_window_list_.end()); 142 DCHECK(it != app_window_list_.end());
142 app_window_list_.erase(it); 143 app_window_list_.erase(it);
143 } 144 }
144 145
145 bool MultiProfileAppWindowLauncherController::UserHasAppOnActiveDesktop( 146 bool MultiProfileAppWindowLauncherController::UserHasAppOnActiveDesktop(
146 extensions::AppWindow* app_window) { 147 extensions::AppWindow* app_window) {
147 const std::string& app_id = app_window->extension_id(); 148 const std::string& app_id = app_window->extension_id();
148 content::BrowserContext* app_context = app_window->browser_context(); 149 content::BrowserContext* app_context = app_window->browser_context();
149 DCHECK(!app_context->IsOffTheRecord()); 150 DCHECK(!app_context->IsOffTheRecord());
150 const std::string& current_user = multi_user_util::GetCurrentUserId(); 151 const AccountId current_account_id = multi_user_util::GetCurrentAccountId();
151 chrome::MultiUserWindowManager* manager = 152 chrome::MultiUserWindowManager* manager =
152 chrome::MultiUserWindowManager::GetInstance(); 153 chrome::MultiUserWindowManager::GetInstance();
153 for (AppWindowList::iterator it = app_window_list_.begin(); 154 for (AppWindowList::iterator it = app_window_list_.begin();
154 it != app_window_list_.end(); 155 it != app_window_list_.end();
155 ++it) { 156 ++it) {
156 extensions::AppWindow* other_window = *it; 157 extensions::AppWindow* other_window = *it;
157 DCHECK(!other_window->browser_context()->IsOffTheRecord()); 158 DCHECK(!other_window->browser_context()->IsOffTheRecord());
158 if (manager->IsWindowOnDesktopOfUser(other_window->GetNativeWindow(), 159 if (manager->IsWindowOnDesktopOfUser(other_window->GetNativeWindow(),
159 current_user) && 160 current_account_id) &&
160 app_id == other_window->extension_id() && 161 app_id == other_window->extension_id() &&
161 app_context == other_window->browser_context()) { 162 app_context == other_window->browser_context()) {
162 return true; 163 return true;
163 } 164 }
164 } 165 }
165 return false; 166 return false;
166 } 167 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698