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/chrome_launcher_controller_impl.cc

Issue 2322683003: [Merge-M54] arc: Add support of default and OEM apps. (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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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/chrome_launcher_controller_impl.h" 5 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 void ChromeLauncherControllerUserSwitchObserver::AddUser(Profile* profile) { 182 void ChromeLauncherControllerUserSwitchObserver::AddUser(Profile* profile) {
183 if (chrome::MultiUserWindowManager::GetMultiProfileMode() == 183 if (chrome::MultiUserWindowManager::GetMultiProfileMode() ==
184 chrome::MultiUserWindowManager::MULTI_PROFILE_MODE_SEPARATED) 184 chrome::MultiUserWindowManager::MULTI_PROFILE_MODE_SEPARATED)
185 chrome::MultiUserWindowManager::GetInstance()->AddUser(profile); 185 chrome::MultiUserWindowManager::GetInstance()->AddUser(profile);
186 controller_->AdditionalUserAddedToSession(profile->GetOriginalProfile()); 186 controller_->AdditionalUserAddedToSession(profile->GetOriginalProfile());
187 } 187 }
188 188
189 ChromeLauncherControllerImpl::ChromeLauncherControllerImpl( 189 ChromeLauncherControllerImpl::ChromeLauncherControllerImpl(
190 Profile* profile, 190 Profile* profile,
191 ash::ShelfModel* model) 191 ash::ShelfModel* model)
192 : model_(model), profile_(profile) { 192 : model_(model), profile_(profile), weak_ptr_factory_(this) {
193 DCHECK(model_); 193 DCHECK(model_);
194 if (!profile_) { 194 if (!profile_) {
195 // If no profile was passed, we take the currently active profile and use it 195 // If no profile was passed, we take the currently active profile and use it
196 // as the owner of the current desktop. 196 // as the owner of the current desktop.
197 // Use the original profile as on chromeos we may get a temporary off the 197 // Use the original profile as on chromeos we may get a temporary off the
198 // record profile, unless in guest session (where off the record profile is 198 // record profile, unless in guest session (where off the record profile is
199 // the right one). 199 // the right one).
200 profile_ = ProfileManager::GetActiveUserProfile(); 200 profile_ = ProfileManager::GetActiveUserProfile();
201 if (!profile_->IsGuestSession() && !profile_->IsSystemProfile()) 201 if (!profile_->IsGuestSession() && !profile_->IsSystemProfile())
202 profile_ = profile_->GetOriginalProfile(); 202 profile_ = profile_->GetOriginalProfile();
(...skipping 981 matching lines...) Expand 10 before | Expand all | Expand 10 after
1184 } 1184 }
1185 1185
1186 void ChromeLauncherControllerImpl::OnSyncModelUpdated() { 1186 void ChromeLauncherControllerImpl::OnSyncModelUpdated() {
1187 UpdateAppLaunchersFromPref(); 1187 UpdateAppLaunchersFromPref();
1188 } 1188 }
1189 1189
1190 void ChromeLauncherControllerImpl::ScheduleUpdateAppLaunchersFromPref() { 1190 void ChromeLauncherControllerImpl::ScheduleUpdateAppLaunchersFromPref() {
1191 base::ThreadTaskRunnerHandle::Get()->PostTask( 1191 base::ThreadTaskRunnerHandle::Get()->PostTask(
1192 FROM_HERE, 1192 FROM_HERE,
1193 base::Bind(&ChromeLauncherControllerImpl::UpdateAppLaunchersFromPref, 1193 base::Bind(&ChromeLauncherControllerImpl::UpdateAppLaunchersFromPref,
1194 base::Unretained(this))); 1194 weak_ptr_factory_.GetWeakPtr()));
1195 } 1195 }
1196 1196
1197 void ChromeLauncherControllerImpl::UpdateAppLaunchersFromPref() { 1197 void ChromeLauncherControllerImpl::UpdateAppLaunchersFromPref() {
1198 // There are various functions which will trigger a |SyncPinPosition| call 1198 // There are various functions which will trigger a |SyncPinPosition| call
1199 // like a direct call to |DoPinAppWithID|, or an indirect call to the menu 1199 // like a direct call to |DoPinAppWithID|, or an indirect call to the menu
1200 // model which will use weights to re-arrange the icons to new positions. 1200 // model which will use weights to re-arrange the icons to new positions.
1201 // Since this function is meant to synchronize the "is state" with the 1201 // Since this function is meant to synchronize the "is state" with the
1202 // "sync state", it makes no sense to store any changes by this function back 1202 // "sync state", it makes no sense to store any changes by this function back
1203 // into the pref state. Therefore we tell |persistPinnedState| to ignore any 1203 // into the pref state. Therefore we tell |persistPinnedState| to ignore any
1204 // invocations while we are running. 1204 // invocations while we are running.
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after
1693 if (index == -1) 1693 if (index == -1)
1694 continue; 1694 continue;
1695 ash::ShelfItem item = model_->items()[index]; 1695 ash::ShelfItem item = model_->items()[index];
1696 item.image = image; 1696 item.image = image;
1697 if (arc_deferred_launcher_) 1697 if (arc_deferred_launcher_)
1698 arc_deferred_launcher_->MaybeApplySpinningEffect(id, &item.image); 1698 arc_deferred_launcher_->MaybeApplySpinningEffect(id, &item.image);
1699 model_->Set(index, item); 1699 model_->Set(index, item);
1700 // It's possible we're waiting on more than one item, so don't break. 1700 // It's possible we're waiting on more than one item, so don't break.
1701 } 1701 }
1702 } 1702 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698