OLD | NEW |
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 #ifndef CHROME_BROWSER_UI_APPS_CHROME_APP_WINDOW_CLIENT_H_ | 5 #ifndef CHROME_BROWSER_UI_APPS_CHROME_APP_WINDOW_CLIENT_H_ |
6 #define CHROME_BROWSER_UI_APPS_CHROME_APP_WINDOW_CLIENT_H_ | 6 #define CHROME_BROWSER_UI_APPS_CHROME_APP_WINDOW_CLIENT_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "extensions/browser/app_window/app_window_client.h" | 10 #include "extensions/browser/app_window/app_window_client.h" |
11 | 11 |
| 12 namespace base { |
12 template <typename T> | 13 template <typename T> |
13 struct DefaultSingletonTraits; | 14 struct DefaultSingletonTraits; |
| 15 } |
14 | 16 |
15 // The implementation of AppWindowClient for Chrome. | 17 // The implementation of AppWindowClient for Chrome. |
16 class ChromeAppWindowClient : public extensions::AppWindowClient { | 18 class ChromeAppWindowClient : public extensions::AppWindowClient { |
17 public: | 19 public: |
18 ChromeAppWindowClient(); | 20 ChromeAppWindowClient(); |
19 ~ChromeAppWindowClient() override; | 21 ~ChromeAppWindowClient() override; |
20 | 22 |
21 // Get the LazyInstance for ChromeAppWindowClient. | 23 // Get the LazyInstance for ChromeAppWindowClient. |
22 static ChromeAppWindowClient* GetInstance(); | 24 static ChromeAppWindowClient* GetInstance(); |
23 | 25 |
24 private: | 26 private: |
25 friend struct DefaultSingletonTraits<ChromeAppWindowClient>; | 27 friend struct base::DefaultSingletonTraits<ChromeAppWindowClient>; |
26 | 28 |
27 // extensions::AppWindowClient | 29 // extensions::AppWindowClient |
28 extensions::AppWindow* CreateAppWindow( | 30 extensions::AppWindow* CreateAppWindow( |
29 content::BrowserContext* context, | 31 content::BrowserContext* context, |
30 const extensions::Extension* extension) override; | 32 const extensions::Extension* extension) override; |
31 extensions::NativeAppWindow* CreateNativeAppWindow( | 33 extensions::NativeAppWindow* CreateNativeAppWindow( |
32 extensions::AppWindow* window, | 34 extensions::AppWindow* window, |
33 extensions::AppWindow::CreateParams* params) override; | 35 extensions::AppWindow::CreateParams* params) override; |
34 void OpenDevToolsWindow(content::WebContents* web_contents, | 36 void OpenDevToolsWindow(content::WebContents* web_contents, |
35 const base::Closure& callback) override; | 37 const base::Closure& callback) override; |
36 bool IsCurrentChannelOlderThanDev() override; | 38 bool IsCurrentChannelOlderThanDev() override; |
37 | 39 |
38 // Implemented in platform specific code. | 40 // Implemented in platform specific code. |
39 static extensions::NativeAppWindow* CreateNativeAppWindowImpl( | 41 static extensions::NativeAppWindow* CreateNativeAppWindowImpl( |
40 extensions::AppWindow* window, | 42 extensions::AppWindow* window, |
41 const extensions::AppWindow::CreateParams& params); | 43 const extensions::AppWindow::CreateParams& params); |
42 | 44 |
43 DISALLOW_COPY_AND_ASSIGN(ChromeAppWindowClient); | 45 DISALLOW_COPY_AND_ASSIGN(ChromeAppWindowClient); |
44 }; | 46 }; |
45 | 47 |
46 #endif // CHROME_BROWSER_UI_APPS_CHROME_APP_WINDOW_CLIENT_H_ | 48 #endif // CHROME_BROWSER_UI_APPS_CHROME_APP_WINDOW_CLIENT_H_ |
OLD | NEW |