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.
4
5#ifndef CHROME_BROWSER_EXTENSIONS_BROWSER_EXTENSION_WINDOW_CONTROLLER_H_
6#define CHROME_BROWSER_EXTENSIONS_BROWSER_EXTENSION_WINDOW_CONTROLLER_H_
7
8#include "chrome/browser/extensions/window_controller.h"
9
10class Browser;
11
12namespace extensions {
13class Extension;
14}
15
16class BrowserExtensionWindowController : public extensions::WindowController {
17 public:
18  explicit BrowserExtensionWindowController(Browser* browser);
19  virtual ~BrowserExtensionWindowController();
20
21  // extensions::WindowController implementation.
22  virtual int GetWindowId() const OVERRIDE;
23  virtual std::string GetWindowTypeText() const OVERRIDE;
24  virtual base::DictionaryValue* CreateWindowValue() const OVERRIDE;
25  virtual base::DictionaryValue* CreateWindowValueWithTabs(
26      const extensions::Extension* extension) const OVERRIDE;
27  virtual base::DictionaryValue* CreateTabValue(
28      const extensions::Extension* extension, int tab_index) const OVERRIDE;
29  virtual bool CanClose(Reason* reason) const OVERRIDE;
30  virtual void SetFullscreenMode(bool is_fullscreen,
31                                 const GURL& extension_url) const OVERRIDE;
32  virtual Browser* GetBrowser() const OVERRIDE;
33  virtual bool IsVisibleToExtension(
34      const extensions::Extension* extension) const OVERRIDE;
35
36 private:
37  Browser* browser_;
38
39  DISALLOW_COPY_AND_ASSIGN(BrowserExtensionWindowController);
40};
41
42#endif  // CHROME_BROWSER_EXTENSIONS_BROWSER_EXTENSION_WINDOW_CONTROLLER_H_
43