blob: 95534b6a393c89ebd64066f0565145a05028da94 [file] [log] [blame]
[email protected]41d9faf2012-02-28 23:46:021// 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 CHROME_BROWSER_EXTENSIONS_BROWSER_EXTENSION_WINDOW_CONTROLLER_H_
6#define CHROME_BROWSER_EXTENSIONS_BROWSER_EXTENSION_WINDOW_CONTROLLER_H_
[email protected]41d9faf2012-02-28 23:46:027
avia2f4804a2015-12-24 23:11:138#include "base/macros.h"
[email protected]44f4b132012-07-17 20:36:579#include "chrome/browser/extensions/window_controller.h"
[email protected]41d9faf2012-02-28 23:46:0210
11class Browser;
Devlin Croninad230bb2018-05-30 18:41:4612class GURL;
[email protected]41d9faf2012-02-28 23:46:0213
[email protected]f34706be2012-09-04 07:32:0914namespace extensions {
15class Extension;
[email protected]f34706be2012-09-04 07:32:0916
Devlin Croninf78c7c442018-05-22 20:44:0817class BrowserExtensionWindowController : public WindowController {
[email protected]41d9faf2012-02-28 23:46:0218 public:
19 explicit BrowserExtensionWindowController(Browser* browser);
dchengae36a4a2014-10-21 12:36:3620 ~BrowserExtensionWindowController() override;
[email protected]41d9faf2012-02-28 23:46:0221
Devlin Croninad230bb2018-05-30 18:41:4622 // Sets the window's fullscreen state. |extension_url| provides the url
23 // associated with the extension (used by FullscreenController).
24 void SetFullscreenMode(bool is_fullscreen, const GURL& extension_url) const;
25
Devlin Croninf78c7c442018-05-22 20:44:0826 // WindowController implementation.
dchengae36a4a2014-10-21 12:36:3627 int GetWindowId() const override;
28 std::string GetWindowTypeText() const override;
dchengae36a4a2014-10-21 12:36:3629 bool CanClose(Reason* reason) const override;
dchengae36a4a2014-10-21 12:36:3630 Browser* GetBrowser() const override;
Devlin Croninf620cde2018-02-01 05:40:0431 bool IsVisibleToTabsAPIForExtension(
Devlin Croninf78c7c442018-05-22 20:44:0832 const Extension* extension,
Devlin Croninf620cde2018-02-01 05:40:0433 bool allow_dev_tools_windows) const override;
[email protected]41d9faf2012-02-28 23:46:0234
35 private:
Lei Zhang8bd9882c2017-11-28 21:24:0836 Browser* const browser_;
[email protected]41d9faf2012-02-28 23:46:0237
38 DISALLOW_COPY_AND_ASSIGN(BrowserExtensionWindowController);
39};
40
Devlin Croninf78c7c442018-05-22 20:44:0841} // namespace extensions
42
[email protected]41d9faf2012-02-28 23:46:0243#endif // CHROME_BROWSER_EXTENSIONS_BROWSER_EXTENSION_WINDOW_CONTROLLER_H_