OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ |
6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #if defined(OS_MACOSX) | 9 #if defined(OS_MACOSX) |
10 #include <OpenGL/OpenGL.h> | 10 #include <OpenGL/OpenGL.h> |
11 #endif | 11 #endif |
12 | 12 |
13 #include <string> | 13 #include <string> |
14 #include <vector> | 14 #include <vector> |
15 | 15 |
16 #include "base/process_util.h" | 16 #include "base/process_util.h" |
17 #include "base/callback.h" | 17 #include "base/callback.h" |
18 #include "content/common/content_export.h" | 18 #include "content/common/content_export.h" |
19 #include "third_party/skia/include/core/SkBitmap.h" | 19 #include "third_party/skia/include/core/SkBitmap.h" |
20 #include "third_party/skia/include/core/SkColor.h" | 20 #include "third_party/skia/include/core/SkColor.h" |
21 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" | 21 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" |
22 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPopupType.h" | 22 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPopupType.h" |
23 #include "ui/base/ime/text_input_type.h" | 23 #include "ui/base/ime/text_input_type.h" |
24 #include "ui/base/range/range.h" | 24 #include "ui/base/range/range.h" |
25 #include "ui/gfx/native_widget_types.h" | 25 #include "ui/gfx/native_widget_types.h" |
26 #include "ui/gfx/rect.h" | 26 #include "ui/gfx/rect.h" |
27 #include "ui/gfx/surface/transport_dib.h" | 27 #include "ui/gfx/surface/transport_dib.h" |
28 | 28 |
29 struct GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params; | |
30 | |
31 class BackingStore; | 29 class BackingStore; |
32 class RenderWidgetHost; | 30 class RenderWidgetHost; |
33 class WebCursor; | 31 class WebCursor; |
34 struct NativeWebKeyboardEvent; | 32 struct NativeWebKeyboardEvent; |
35 struct ViewHostMsg_AccessibilityNotification_Params; | 33 struct ViewHostMsg_AccessibilityNotification_Params; |
36 | 34 |
37 namespace content { | 35 namespace content { |
38 class RenderProcessHost; | 36 class RenderProcessHost; |
39 } | 37 } |
40 | 38 |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 | 180 |
183 // Tells the View whether the context menu is showing. This is used on Linux | 181 // Tells the View whether the context menu is showing. This is used on Linux |
184 // to suppress updates to webkit focus for the duration of the show. | 182 // to suppress updates to webkit focus for the duration of the show. |
185 virtual void ShowingContextMenu(bool showing) {} | 183 virtual void ShowingContextMenu(bool showing) {} |
186 | 184 |
187 // Allocate a backing store for this view | 185 // Allocate a backing store for this view |
188 virtual BackingStore* AllocBackingStore(const gfx::Size& size) = 0; | 186 virtual BackingStore* AllocBackingStore(const gfx::Size& size) = 0; |
189 | 187 |
190 // Called when accelerated compositing state changes. | 188 // Called when accelerated compositing state changes. |
191 virtual void OnAcceleratedCompositingStateChange() = 0; | 189 virtual void OnAcceleratedCompositingStateChange() = 0; |
192 // |params.window| and |params.surface_id| indicate which accelerated | |
193 // surface's buffers swapped. |params.renderer_id| and |params.route_id| | |
194 // are used to formulate a reply to the GPU process to prevent it from getting | |
195 // too far ahead. They may all be zero, in which case no flow control is | |
196 // enforced; this case is currently used for accelerated plugins. | |
197 virtual void AcceleratedSurfaceBuffersSwapped( | |
198 const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params, | |
199 int gpu_host_id) = 0; | |
200 | 190 |
201 #if defined(OS_MACOSX) | 191 #if defined(OS_MACOSX) |
202 // Tells the view whether or not to accept first responder status. If |flag| | 192 // Tells the view whether or not to accept first responder status. If |flag| |
203 // is true, the view does not accept first responder status and instead | 193 // is true, the view does not accept first responder status and instead |
204 // manually becomes first responder when it receives a mouse down event. If | 194 // manually becomes first responder when it receives a mouse down event. If |
205 // |flag| is false, the view participates in the key-view chain as normal. | 195 // |flag| is false, the view participates in the key-view chain as normal. |
206 virtual void SetTakesFocusOnlyOnMouseDown(bool flag) = 0; | 196 virtual void SetTakesFocusOnlyOnMouseDown(bool flag) = 0; |
207 | 197 |
208 // Retrieve the bounds of the view, in cocoa view coordinates. | 198 // Retrieve the bounds of the view, in cocoa view coordinates. |
209 // If the UI scale factor is 2, |GetViewBounds()| will return a size of e.g. | 199 // If the UI scale factor is 2, |GetViewBounds()| will return a size of e.g. |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 virtual void AcceleratedSurfaceSetIOSurface( | 236 virtual void AcceleratedSurfaceSetIOSurface( |
247 gfx::PluginWindowHandle window, | 237 gfx::PluginWindowHandle window, |
248 int32 width, | 238 int32 width, |
249 int32 height, | 239 int32 height, |
250 uint64 io_surface_identifier) = 0; | 240 uint64 io_surface_identifier) = 0; |
251 virtual void AcceleratedSurfaceSetTransportDIB( | 241 virtual void AcceleratedSurfaceSetTransportDIB( |
252 gfx::PluginWindowHandle window, | 242 gfx::PluginWindowHandle window, |
253 int32 width, | 243 int32 width, |
254 int32 height, | 244 int32 height, |
255 TransportDIB::Handle transport_dib) = 0; | 245 TransportDIB::Handle transport_dib) = 0; |
| 246 // |window| and |surface_id| indicate which accelerated surface's |
| 247 // buffers swapped. |renderer_id| and |route_id| are used to formulate |
| 248 // a reply to the GPU process to prevent it from getting too far ahead. |
| 249 // They may all be zero, in which case no flow control is enforced; |
| 250 // this case is currently used for accelerated plugins. |
| 251 virtual void AcceleratedSurfaceBuffersSwapped( |
| 252 gfx::PluginWindowHandle window, |
| 253 uint64 surface_id, |
| 254 int renderer_id, |
| 255 int32 route_id, |
| 256 int gpu_host_id) = 0; |
256 #endif | 257 #endif |
257 | 258 |
258 #if defined(UI_COMPOSITOR_IMAGE_TRANSPORT) | 259 #if defined(UI_COMPOSITOR_IMAGE_TRANSPORT) |
259 virtual void AcceleratedSurfaceNew( | 260 virtual void AcceleratedSurfaceNew( |
260 int32 width, | 261 int32 width, |
261 int32 height, | 262 int32 height, |
262 uint64* surface_id, | 263 uint64* surface_id, |
263 TransportDIB::Handle* surface_handle) = 0; | 264 TransportDIB::Handle* surface_handle) = 0; |
| 265 virtual void AcceleratedSurfaceBuffersSwapped( |
| 266 uint64 surface_id, |
| 267 int32 route_id, |
| 268 int gpu_host_id) = 0; |
264 virtual void AcceleratedSurfaceRelease(uint64 surface_id) = 0; | 269 virtual void AcceleratedSurfaceRelease(uint64 surface_id) = 0; |
265 #endif | 270 #endif |
266 | 271 |
267 #if defined(TOOLKIT_USES_GTK) | 272 #if defined(TOOLKIT_USES_GTK) |
268 virtual void CreatePluginContainer(gfx::PluginWindowHandle id) = 0; | 273 virtual void CreatePluginContainer(gfx::PluginWindowHandle id) = 0; |
269 virtual void DestroyPluginContainer(gfx::PluginWindowHandle id) = 0; | 274 virtual void DestroyPluginContainer(gfx::PluginWindowHandle id) = 0; |
270 #endif | 275 #endif |
271 | 276 |
272 #if defined(OS_WIN) && !defined(USE_AURA) | 277 #if defined(OS_WIN) && !defined(USE_AURA) |
273 virtual void WillWmDestroy() = 0; | 278 virtual void WillWmDestroy() = 0; |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 size_t selection_text_offset_; | 359 size_t selection_text_offset_; |
355 | 360 |
356 // The current selection range relative to the start of the web page. | 361 // The current selection range relative to the start of the web page. |
357 ui::Range selection_range_; | 362 ui::Range selection_range_; |
358 | 363 |
359 private: | 364 private: |
360 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostView); | 365 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostView); |
361 }; | 366 }; |
362 | 367 |
363 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ | 368 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ |
OLD | NEW |