shell_app_window_client.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. #ifndef EXTENSIONS_SHELL_BROWSER_SHELL_APP_WINDOW_CLIENT_H_
  5. #define EXTENSIONS_SHELL_BROWSER_SHELL_APP_WINDOW_CLIENT_H_
  6. #include "base/compiler_specific.h"
  7. #include "extensions/browser/app_window/app_window_client.h"
  8. namespace extensions {
  9. // app_shell's AppWindowClient implementation.
  10. class ShellAppWindowClient : public AppWindowClient {
  11. public:
  12. ShellAppWindowClient();
  13. ShellAppWindowClient(const ShellAppWindowClient&) = delete;
  14. ShellAppWindowClient& operator=(const ShellAppWindowClient&) = delete;
  15. ~ShellAppWindowClient() override;
  16. // AppWindowClient overrides:
  17. AppWindow* CreateAppWindow(content::BrowserContext* context,
  18. const Extension* extension) override;
  19. AppWindow* CreateAppWindowForLockScreenAction(
  20. content::BrowserContext* context,
  21. const Extension* extension,
  22. api::app_runtime::ActionType action) override;
  23. // Note that CreateNativeAppWindow is defined in separate (per-framework)
  24. // implementation files.
  25. std::unique_ptr<NativeAppWindow> CreateNativeAppWindow(
  26. AppWindow* window,
  27. AppWindow::CreateParams* params) override;
  28. void OpenDevToolsWindow(content::WebContents* web_contents,
  29. base::OnceClosure callback) override;
  30. bool IsCurrentChannelOlderThanDev() override;
  31. };
  32. } // namespace extensions
  33. #endif // EXTENSIONS_SHELL_BROWSER_SHELL_APP_WINDOW_CLIENT_H_