blob: 4b45608b48e4f147d8de98637dff1074bf7391a3 [file] [log] [blame]
[email protected]262f8bd2012-03-23 19:30:271// Copyright (c) 2012 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#ifndef ASH_SHELL_SHELL_DELEGATE_IMPL_H_
6#define ASH_SHELL_SHELL_DELEGATE_IMPL_H_
[email protected]262f8bd2012-03-23 19:30:277
dchenga94547472016-04-08 08:41:118#include <memory>
[email protected]565f32fc02013-03-05 18:51:489#include <string>
10
James Cookb0bf8e82017-04-09 17:01:4411#include "ash/shell_delegate.h"
avidb567a8a2015-12-20 17:07:2412#include "base/macros.h"
[email protected]262f8bd2012-03-23 19:30:2713
[email protected]86459e2c2013-04-10 13:39:2414namespace keyboard {
ben974286a2015-10-10 00:45:1215class KeyboardUI;
[email protected]86459e2c2013-04-10 13:39:2416}
17
[email protected]262f8bd2012-03-23 19:30:2718namespace ash {
19namespace shell {
20
msw0414d4122016-07-06 22:58:4821class ShellDelegateImpl : public ShellDelegate {
[email protected]262f8bd2012-03-23 19:30:2722 public:
23 ShellDelegateImpl();
dchengf5963512014-10-28 01:14:1324 ~ShellDelegateImpl() override;
[email protected]262f8bd2012-03-23 19:30:2725
jamescook2a6b8692016-10-04 02:41:2926 // ShellDelegate:
rockot400ea35b2016-10-15 19:15:3227 ::service_manager::Connector* GetShellConnector() const override;
dchengf5963512014-10-28 01:14:1328 bool IsIncognitoAllowed() const override;
29 bool IsMultiProfilesEnabled() const override;
30 bool IsRunningInForcedAppMode() const override;
varkhad43f55242017-05-26 20:55:5831 bool CanShowWindowForUser(aura::Window* window) const override;
peletskyida0bbb12015-04-08 17:11:0432 bool IsForceMaximizeOnFirstRun() const override;
dchengf5963512014-10-28 01:14:1333 void PreInit() override;
34 void PreShutdown() override;
35 void Exit() override;
yhanada8909a542017-07-11 10:06:1936 std::unique_ptr<keyboard::KeyboardUI> CreateKeyboardUI() override;
kenobib7af62b2016-07-29 21:40:1637 void OpenUrlFromArc(const GURL& url) override;
msw5138f3d2017-04-20 00:22:0738 void ShelfInit() override;
39 void ShelfShutdown() override;
msw0414d4122016-07-06 22:58:4840 SystemTrayDelegate* CreateSystemTrayDelegate() override;
msw0e91d932016-08-25 22:34:0941 std::unique_ptr<WallpaperDelegate> CreateWallpaperDelegate() override;
msw0414d4122016-07-06 22:58:4842 AccessibilityDelegate* CreateAccessibilityDelegate() override;
jdufault0f4fa6e2016-08-05 19:13:5943 std::unique_ptr<PaletteDelegate> CreatePaletteDelegate() override;
James Cook840177e2017-05-25 02:20:0144 ui::MenuModel* CreateContextMenu(Shelf* shelf,
jamescookda53c142016-06-08 23:38:5645 const ShelfItem* item) override;
dchengf5963512014-10-28 01:14:1346 GPUSupport* CreateGPUSupport() override;
47 base::string16 GetProductName() const override;
afakhrycd2bb98d2015-09-09 09:03:4248 gfx::Image GetDeprecatedAcceleratorImage() const override;
afakhry15eb9282017-04-27 04:03:3149 PrefService* GetActiveUserPrefService() const override;
Wenzhao Zang44240fb2017-07-13 01:36:5450 PrefService* GetLocalStatePrefService() const override;
warx4c8baedb2016-12-03 22:38:5051 bool IsTouchscreenEnabledInPrefs(bool use_local_state) const override;
52 void SetTouchscreenEnabledInPrefs(bool enabled,
53 bool use_local_state) override;
54 void UpdateTouchscreenStatusFromPrefs() override;
Scott Violet17a61722017-06-19 17:54:3155#if defined(USE_OZONE)
56 ui::InputDeviceControllerClient* GetInputDeviceControllerClient() override;
57#endif
[email protected]262f8bd2012-03-23 19:30:2758
59 private:
[email protected]262f8bd2012-03-23 19:30:2760 DISALLOW_COPY_AND_ASSIGN(ShellDelegateImpl);
61};
62
63} // namespace shell
64} // namespace ash
65
66#endif // ASH_SHELL_SHELL_DELEGATE_IMPL_H_