OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef EXTENSIONS_BROWSER_APP_WINDOW_NATIVE_APP_WINDOW_H_ | 5 #ifndef EXTENSIONS_BROWSER_APP_WINDOW_NATIVE_APP_WINDOW_H_ |
6 #define EXTENSIONS_BROWSER_APP_WINDOW_NATIVE_APP_WINDOW_H_ | 6 #define EXTENSIONS_BROWSER_APP_WINDOW_NATIVE_APP_WINDOW_H_ |
7 | 7 |
| 8 #include <memory> |
8 #include <vector> | 9 #include <vector> |
9 | 10 |
10 #include "base/memory/scoped_ptr.h" | |
11 #include "components/web_modal/web_contents_modal_dialog_host.h" | 11 #include "components/web_modal/web_contents_modal_dialog_host.h" |
12 #include "third_party/skia/include/core/SkColor.h" | 12 #include "third_party/skia/include/core/SkColor.h" |
13 #include "ui/base/base_window.h" | 13 #include "ui/base/base_window.h" |
14 #include "ui/gfx/geometry/insets.h" | 14 #include "ui/gfx/geometry/insets.h" |
15 | 15 |
16 namespace content { | 16 namespace content { |
17 struct NativeWebKeyboardEvent; | 17 struct NativeWebKeyboardEvent; |
18 } | 18 } |
19 | 19 |
20 namespace extensions { | 20 namespace extensions { |
(...skipping 21 matching lines...) Expand all Loading... |
42 | 42 |
43 // Called when the draggable regions are changed. | 43 // Called when the draggable regions are changed. |
44 virtual void UpdateDraggableRegions( | 44 virtual void UpdateDraggableRegions( |
45 const std::vector<DraggableRegion>& regions) = 0; | 45 const std::vector<DraggableRegion>& regions) = 0; |
46 | 46 |
47 // Returns the region used by frameless windows for dragging. May return NULL. | 47 // Returns the region used by frameless windows for dragging. May return NULL. |
48 virtual SkRegion* GetDraggableRegion() = 0; | 48 virtual SkRegion* GetDraggableRegion() = 0; |
49 | 49 |
50 // Called when the window shape is changed. If |region| is NULL then the | 50 // Called when the window shape is changed. If |region| is NULL then the |
51 // window is restored to the default shape. | 51 // window is restored to the default shape. |
52 virtual void UpdateShape(scoped_ptr<SkRegion> region) = 0; | 52 virtual void UpdateShape(std::unique_ptr<SkRegion> region) = 0; |
53 | 53 |
54 // Allows the window to handle unhandled keyboard messages coming back from | 54 // Allows the window to handle unhandled keyboard messages coming back from |
55 // the renderer. | 55 // the renderer. |
56 virtual void HandleKeyboardEvent( | 56 virtual void HandleKeyboardEvent( |
57 const content::NativeWebKeyboardEvent& event) = 0; | 57 const content::NativeWebKeyboardEvent& event) = 0; |
58 | 58 |
59 // Returns true if the window has no frame, as for a window opened by | 59 // Returns true if the window has no frame, as for a window opened by |
60 // chrome.app.window.create with the option 'frame' set to 'none'. | 60 // chrome.app.window.create with the option 'frame' set to 'none'. |
61 virtual bool IsFrameless() const = 0; | 61 virtual bool IsFrameless() const = 0; |
62 | 62 |
(...skipping 28 matching lines...) Expand all Loading... |
91 // Returns false if the underlying native window ignores alpha transparency | 91 // Returns false if the underlying native window ignores alpha transparency |
92 // when compositing. | 92 // when compositing. |
93 virtual bool CanHaveAlphaEnabled() const = 0; | 93 virtual bool CanHaveAlphaEnabled() const = 0; |
94 | 94 |
95 ~NativeAppWindow() override {} | 95 ~NativeAppWindow() override {} |
96 }; | 96 }; |
97 | 97 |
98 } // namespace extensions | 98 } // namespace extensions |
99 | 99 |
100 #endif // EXTENSIONS_BROWSER_APP_WINDOW_NATIVE_APP_WINDOW_H_ | 100 #endif // EXTENSIONS_BROWSER_APP_WINDOW_NATIVE_APP_WINDOW_H_ |
OLD | NEW |