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 3 // found in the LICENSE file. 4 5 #include "chrome/browser/ui/app_list/app_list_service_views.h" 6 7 #include "chrome/browser/ui/app_list/app_list_controller_delegate.h" 8 #include "chrome/browser/ui/app_list/scoped_keep_alive.h" 9 10 AppListServiceViews::AppListServiceViews( 11 scoped_ptr<AppListControllerDelegate> controller_delegate) 12 : shower_(this), 13 can_dismiss_(true), 14 controller_delegate_(controller_delegate.Pass()) { 15 } 16 17 AppListServiceViews::~AppListServiceViews() {} 18 19 void AppListServiceViews::OnViewBeingDestroyed() { 20 can_dismiss_ = true; 21 shower_.HandleViewBeingDestroyed(); 22 } 23 24 void AppListServiceViews::Init(Profile* initial_profile) { 25 PerformStartupChecks(initial_profile); 26 } 27 28 void AppListServiceViews::CreateForProfile(Profile* requested_profile) { 29 shower_.CreateViewForProfile(requested_profile); 30 } 31 32 void AppListServiceViews::ShowForProfile(Profile* requested_profile) { 33 DCHECK(requested_profile); 34 if (requested_profile->IsSupervised()) 35 return; 36 37 ScopedKeepAlive keep_alive; 38 39 InvalidatePendingProfileLoads(); 40 SetProfilePath(requested_profile->GetPath()); 41 shower_.ShowForProfile(requested_profile); 42 RecordAppListLaunch(); 43 } 44 45 void AppListServiceViews::DismissAppList() { 46 if (!can_dismiss_) 47 return; 48 49 shower_.DismissAppList(); 50 } 51 52 bool AppListServiceViews::IsAppListVisible() const { 53 return shower_.IsAppListVisible(); 54 } 55 56 gfx::NativeWindow AppListServiceViews::GetAppListWindow() { 57 return shower_.GetWindow(); 58 } 59 60 Profile* AppListServiceViews::GetCurrentAppListProfile() { 61 return shower_.profile(); 62 } 63 64 AppListControllerDelegate* AppListServiceViews::GetControllerDelegate() { 65 return controller_delegate_.get(); 66 } 67 68 AppListControllerDelegate* 69 AppListServiceViews::GetControllerDelegateForCreate() { 70 return controller_delegate_.get(); 71 } 72