[sessions]: Componentize TabRestore code
[chromium-blink-merge.git] / chrome / browser / extensions / browser_extension_window_controller.h
blob24384caf500879c32c85d5c6c88224eb61c52f63
1 // 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.
5 #ifndef CHROME_BROWSER_EXTENSIONS_BROWSER_EXTENSION_WINDOW_CONTROLLER_H_
6 #define CHROME_BROWSER_EXTENSIONS_BROWSER_EXTENSION_WINDOW_CONTROLLER_H_
8 #include "chrome/browser/extensions/window_controller.h"
10 class Browser;
12 namespace extensions {
13 class Extension;
16 class BrowserExtensionWindowController : public extensions::WindowController {
17 public:
18 explicit BrowserExtensionWindowController(Browser* browser);
19 ~BrowserExtensionWindowController() override;
21 // extensions::WindowController implementation.
22 int GetWindowId() const override;
23 std::string GetWindowTypeText() const override;
24 base::DictionaryValue* CreateWindowValue() const override;
25 base::DictionaryValue* CreateWindowValueWithTabs(
26 const extensions::Extension* extension) const override;
27 base::DictionaryValue* CreateTabValue(const extensions::Extension* extension,
28 int tab_index) const override;
29 bool CanClose(Reason* reason) const override;
30 void SetFullscreenMode(bool is_fullscreen,
31 const GURL& extension_url) const override;
32 Browser* GetBrowser() const override;
33 bool IsVisibleToExtension(
34 const extensions::Extension* extension) const override;
36 private:
37 Browser* browser_;
39 DISALLOW_COPY_AND_ASSIGN(BrowserExtensionWindowController);
42 #endif // CHROME_BROWSER_EXTENSIONS_BROWSER_EXTENSION_WINDOW_CONTROLLER_H_