OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_VIEW_H_ | 5 #ifndef CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_VIEW_H_ |
6 #define CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_VIEW_H_ | 6 #define CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_VIEW_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
11 #include "build/build_config.h" | 11 #include "build/build_config.h" |
12 #include "content/common/content_export.h" | 12 #include "content/common/content_export.h" |
13 #include "ui/gfx/geometry/rect.h" | 13 #include "ui/gfx/geometry/rect.h" |
14 #include "ui/gfx/geometry/size.h" | 14 #include "ui/gfx/geometry/size.h" |
15 #include "ui/gfx/native_widget_types.h" | 15 #include "ui/gfx/native_widget_types.h" |
16 | 16 |
| 17 namespace ui { |
| 18 class Compositor; |
| 19 } |
| 20 |
17 namespace content { | 21 namespace content { |
18 class RenderViewHost; | 22 class RenderViewHost; |
19 class RenderWidgetHost; | 23 class RenderWidgetHost; |
20 class RenderWidgetHostViewBase; | 24 class RenderWidgetHostViewBase; |
21 struct DropData; | 25 struct DropData; |
22 struct ScreenInfo; | 26 struct ScreenInfo; |
23 | 27 |
24 // The WebContentsView is an interface that is implemented by the platform- | 28 // The WebContentsView is an interface that is implemented by the platform- |
25 // dependent web contents views. The WebContents uses this interface to talk to | 29 // dependent web contents views. The WebContents uses this interface to talk to |
26 // them. | 30 // them. |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 // fully created. | 112 // fully created. |
109 virtual void RenderViewCreated(RenderViewHost* host) = 0; | 113 virtual void RenderViewCreated(RenderViewHost* host) = 0; |
110 | 114 |
111 // Invoked when the WebContents is notified that the RenderView has been | 115 // Invoked when the WebContents is notified that the RenderView has been |
112 // swapped in. | 116 // swapped in. |
113 virtual void RenderViewSwappedIn(RenderViewHost* host) = 0; | 117 virtual void RenderViewSwappedIn(RenderViewHost* host) = 0; |
114 | 118 |
115 // Invoked to enable/disable overscroll gesture navigation. | 119 // Invoked to enable/disable overscroll gesture navigation. |
116 virtual void SetOverscrollControllerEnabled(bool enabled) = 0; | 120 virtual void SetOverscrollControllerEnabled(bool enabled) = 0; |
117 | 121 |
| 122 // Returns the Compositor currently responsible for the view. Only supported |
| 123 // on aura; is null on all other platforms. |
| 124 virtual ui::Compositor* GetCompositor() const = 0; |
| 125 |
118 #if defined(OS_MACOSX) | 126 #if defined(OS_MACOSX) |
119 // Allowing other views disables optimizations which assume that only a single | 127 // Allowing other views disables optimizations which assume that only a single |
120 // WebContents is present. | 128 // WebContents is present. |
121 virtual void SetAllowOtherViews(bool allow) = 0; | 129 virtual void SetAllowOtherViews(bool allow) = 0; |
122 | 130 |
123 // Returns true if other views are allowed, false otherwise. | 131 // Returns true if other views are allowed, false otherwise. |
124 virtual bool GetAllowOtherViews() const = 0; | 132 virtual bool GetAllowOtherViews() const = 0; |
125 | 133 |
126 // If we close the tab while a UI control is in an event-tracking | 134 // If we close the tab while a UI control is in an event-tracking |
127 // loop, the control may message freed objects and crash. | 135 // loop, the control may message freed objects and crash. |
128 // WebContents::Close() calls IsEventTracking(), and if it returns | 136 // WebContents::Close() calls IsEventTracking(), and if it returns |
129 // true CloseTabAfterEventTracking() is called and the close is not | 137 // true CloseTabAfterEventTracking() is called and the close is not |
130 // completed. | 138 // completed. |
131 virtual bool IsEventTracking() const = 0; | 139 virtual bool IsEventTracking() const = 0; |
132 virtual void CloseTabAfterEventTracking() = 0; | 140 virtual void CloseTabAfterEventTracking() = 0; |
133 #endif | 141 #endif |
134 }; | 142 }; |
135 | 143 |
136 } // namespace content | 144 } // namespace content |
137 | 145 |
138 #endif // CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_VIEW_H_ | 146 #endif // CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_VIEW_H_ |
OLD | NEW |