| Index: chrome/browser/ui/app_list/app_list_service_views.h
|
| diff --git a/chrome/browser/ui/views/app_list/linux/app_list_service_linux.h b/chrome/browser/ui/app_list/app_list_service_views.h
|
| similarity index 36%
|
| copy from chrome/browser/ui/views/app_list/linux/app_list_service_linux.h
|
| copy to chrome/browser/ui/app_list/app_list_service_views.h
|
| index 81a204695c91c6d29b6a439334aec381bb3d3972..925f4f132ec00744aec9b12e85206f3b4ce36789 100644
|
| --- a/chrome/browser/ui/views/app_list/linux/app_list_service_linux.h
|
| +++ b/chrome/browser/ui/app_list/app_list_service_views.h
|
| @@ -1,26 +1,34 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROME_BROWSER_UI_VIEWS_APP_LIST_LINUX_APP_LIST_SERVICE_LINUX_H_
|
| -#define CHROME_BROWSER_UI_VIEWS_APP_LIST_LINUX_APP_LIST_SERVICE_LINUX_H_
|
| +#ifndef CHROME_BROWSER_UI_APP_LIST_APP_LIST_SERVICE_VIEWS_H_
|
| +#define CHROME_BROWSER_UI_APP_LIST_APP_LIST_SERVICE_VIEWS_H_
|
|
|
| #include "base/memory/scoped_ptr.h"
|
| #include "chrome/browser/ui/app_list/app_list_service_impl.h"
|
| +#include "chrome/browser/ui/app_list/app_list_shower_delegate.h"
|
| +#include "chrome/browser/ui/app_list/app_list_shower_views.h"
|
|
|
| -template <typename T> struct DefaultSingletonTraits;
|
| +class AppListControllerDelegate;
|
|
|
| -class AppListShower;
|
| -
|
| -// AppListServiceLinux manages global resources needed for the app list to
|
| -// operate, and controls when the app list is opened and closed.
|
| -class AppListServiceLinux : public AppListServiceImpl {
|
| +// AppListServiceViews manages a desktop app list that uses toolkit-views.
|
| +class AppListServiceViews : public AppListServiceImpl,
|
| + public AppListShowerDelegate {
|
| public:
|
| - virtual ~AppListServiceLinux();
|
| + explicit AppListServiceViews(
|
| + scoped_ptr<AppListControllerDelegate> controller_delegate);
|
| + virtual ~AppListServiceViews();
|
| +
|
| + // Set |can_dismiss| to prevent the app list dismissing when losing focus. For
|
| + // example, while showing a window-modal dialog.
|
| + void set_can_dismiss(bool can_dismiss) { can_dismiss_ = can_dismiss; }
|
|
|
| - static AppListServiceLinux* GetInstance();
|
| - void set_can_close(bool can_close);
|
| - void OnViewBeingDestroyed();
|
| + AppListShower& shower() { return shower_; }
|
| +
|
| + // Called by the AppListControllerDelegate when it is told that the app list
|
| + // view must be destroyed.
|
| + virtual void OnViewBeingDestroyed();
|
|
|
| // AppListService overrides:
|
| virtual void Init(Profile* initial_profile) OVERRIDE;
|
| @@ -32,19 +40,17 @@ class AppListServiceLinux : public AppListServiceImpl {
|
| virtual Profile* GetCurrentAppListProfile() OVERRIDE;
|
| virtual AppListControllerDelegate* GetControllerDelegate() OVERRIDE;
|
|
|
| - // AppListServiceImpl overrides:
|
| - virtual void CreateShortcut() OVERRIDE;
|
| + // AppListShowerDelegate overrides:
|
| + virtual AppListControllerDelegate* GetControllerDelegateForCreate() OVERRIDE;
|
|
|
| private:
|
| - friend struct DefaultSingletonTraits<AppListServiceLinux>;
|
| -
|
| - AppListServiceLinux();
|
| + // Responsible for creating the app list and responding to profile changes.
|
| + AppListShower shower_;
|
|
|
| - // Responsible for putting views on the screen.
|
| - scoped_ptr<AppListShower> shower_;
|
| + bool can_dismiss_;
|
| scoped_ptr<AppListControllerDelegate> controller_delegate_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(AppListServiceLinux);
|
| + DISALLOW_COPY_AND_ASSIGN(AppListServiceViews);
|
| };
|
|
|
| -#endif // CHROME_BROWSER_UI_VIEWS_APP_LIST_LINUX_APP_LIST_SERVICE_LINUX_H_
|
| +#endif // CHROME_BROWSER_UI_APP_LIST_APP_LIST_SERVICE_VIEWS_H_
|
|
|