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.
5 #ifndef EXTENSIONS_SHELL_BROWSER_SHELL_NATIVE_APP_WINDOW_H_
6 #define EXTENSIONS_SHELL_BROWSER_SHELL_NATIVE_APP_WINDOW_H_
8 #include "extensions/browser/app_window/app_window.h"
9 #include "extensions/browser/app_window/native_app_window.h"
11 namespace extensions {
13 // app_shell's NativeAppWindow implementation.
14 class ShellNativeAppWindow : public NativeAppWindow {
16 ShellNativeAppWindow(AppWindow* app_window,
17 const AppWindow::CreateParams& params);
18 virtual ~ShellNativeAppWindow();
20 // ui::BaseView overrides:
21 virtual bool IsActive() const OVERRIDE;
22 virtual bool IsMaximized() const OVERRIDE;
23 virtual bool IsMinimized() const OVERRIDE;
24 virtual bool IsFullscreen() const OVERRIDE;
25 virtual gfx::NativeWindow GetNativeWindow() OVERRIDE;
26 virtual gfx::Rect GetRestoredBounds() const OVERRIDE;
27 virtual ui::WindowShowState GetRestoredState() const OVERRIDE;
28 virtual gfx::Rect GetBounds() const OVERRIDE;
29 virtual void Show() OVERRIDE;
30 virtual void Hide() OVERRIDE;
31 virtual void ShowInactive() OVERRIDE;
32 virtual void Close() OVERRIDE;
33 virtual void Activate() OVERRIDE;
34 virtual void Deactivate() OVERRIDE;
35 virtual void Maximize() OVERRIDE;
36 virtual void Minimize() OVERRIDE;
37 virtual void Restore() OVERRIDE;
38 virtual void SetBounds(const gfx::Rect& bounds) OVERRIDE;
39 virtual void FlashFrame(bool flash) OVERRIDE;
40 virtual bool IsAlwaysOnTop() const OVERRIDE;
41 virtual void SetAlwaysOnTop(bool always_on_top) OVERRIDE;
43 // web_modal::ModalDialogHost overrides:
44 virtual gfx::NativeView GetHostView() const OVERRIDE;
45 virtual gfx::Point GetDialogPosition(const gfx::Size& size) OVERRIDE;
46 virtual void AddObserver(
47 web_modal::ModalDialogHostObserver* observer) OVERRIDE;
48 virtual void RemoveObserver(
49 web_modal::ModalDialogHostObserver* observer) OVERRIDE;
51 // web_modal::WebContentsModalDialogHost overrides:
52 virtual gfx::Size GetMaximumDialogSize() OVERRIDE;
54 // NativeAppWindow overrides:
55 virtual void SetFullscreen(int fullscreen_types) OVERRIDE;
56 virtual bool IsFullscreenOrPending() const OVERRIDE;
57 virtual void UpdateWindowIcon() OVERRIDE;
58 virtual void UpdateWindowTitle() OVERRIDE;
59 virtual void UpdateBadgeIcon() OVERRIDE;
60 virtual void UpdateDraggableRegions(
61 const std::vector<DraggableRegion>& regions) OVERRIDE;
62 virtual SkRegion* GetDraggableRegion() OVERRIDE;
63 virtual void UpdateShape(scoped_ptr<SkRegion> region) OVERRIDE;
64 virtual void HandleKeyboardEvent(
65 const content::NativeWebKeyboardEvent& event) OVERRIDE;
66 virtual bool IsFrameless() const OVERRIDE;
67 virtual bool HasFrameColor() const OVERRIDE;
68 virtual SkColor ActiveFrameColor() const OVERRIDE;
69 virtual SkColor InactiveFrameColor() const OVERRIDE;
70 virtual gfx::Insets GetFrameInsets() const OVERRIDE;
71 virtual void ShowWithApp() OVERRIDE;
72 virtual void HideWithApp() OVERRIDE;
73 virtual void UpdateShelfMenu() OVERRIDE;
74 virtual gfx::Size GetContentMinimumSize() const OVERRIDE;
75 virtual gfx::Size GetContentMaximumSize() const OVERRIDE;
76 virtual void SetContentSizeConstraints(const gfx::Size& min_size,
77 const gfx::Size& max_size) OVERRIDE;
78 virtual void SetVisibleOnAllWorkspaces(bool always_visible) OVERRIDE;
79 virtual bool CanHaveAlphaEnabled() const OVERRIDE;
82 aura::Window* GetWindow() const;
84 AppWindow* app_window_;
86 DISALLOW_COPY_AND_ASSIGN(ShellNativeAppWindow);
89 } // namespace extensions
91 #endif // EXTENSIONS_SHELL_BROWSER_SHELL_NATIVE_APP_WINDOW_H_