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 RenderProcessHost; | 30 class RenderProcessHost; |
33 class RenderWidgetHost; | 31 class RenderWidgetHost; |
34 class WebCursor; | 32 class WebCursor; |
35 struct NativeWebKeyboardEvent; | 33 struct NativeWebKeyboardEvent; |
36 struct ViewHostMsg_AccessibilityNotification_Params; | 34 struct ViewHostMsg_AccessibilityNotification_Params; |
37 | 35 |
38 namespace gfx { | 36 namespace gfx { |
39 class Rect; | 37 class Rect; |
40 class Size; | 38 class Size; |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 | 177 |
180 // Tells the View whether the context menu is showing. This is used on Linux | 178 // Tells the View whether the context menu is showing. This is used on Linux |
181 // to suppress updates to webkit focus for the duration of the show. | 179 // to suppress updates to webkit focus for the duration of the show. |
182 virtual void ShowingContextMenu(bool showing) {} | 180 virtual void ShowingContextMenu(bool showing) {} |
183 | 181 |
184 // Allocate a backing store for this view | 182 // Allocate a backing store for this view |
185 virtual BackingStore* AllocBackingStore(const gfx::Size& size) = 0; | 183 virtual BackingStore* AllocBackingStore(const gfx::Size& size) = 0; |
186 | 184 |
187 // Called when accelerated compositing state changes. | 185 // Called when accelerated compositing state changes. |
188 virtual void OnAcceleratedCompositingStateChange() = 0; | 186 virtual void OnAcceleratedCompositingStateChange() = 0; |
189 // |params.window| and |params.surface_id| indicate which accelerated | |
190 // surface's buffers swapped. |params.renderer_id| and |params.route_id| | |
191 // are used to formulate a reply to the GPU process to prevent it from getting | |
192 // too far ahead. They may all be zero, in which case no flow control is | |
193 // enforced; this case is currently used for accelerated plugins. | |
194 virtual void AcceleratedSurfaceBuffersSwapped( | |
195 const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params, | |
196 int gpu_host_id) = 0; | |
197 | 187 |
198 #if defined(OS_MACOSX) | 188 #if defined(OS_MACOSX) |
199 // Tells the view whether or not to accept first responder status. If |flag| | 189 // Tells the view whether or not to accept first responder status. If |flag| |
200 // is true, the view does not accept first responder status and instead | 190 // is true, the view does not accept first responder status and instead |
201 // manually becomes first responder when it receives a mouse down event. If | 191 // manually becomes first responder when it receives a mouse down event. If |
202 // |flag| is false, the view participates in the key-view chain as normal. | 192 // |flag| is false, the view participates in the key-view chain as normal. |
203 virtual void SetTakesFocusOnlyOnMouseDown(bool flag) = 0; | 193 virtual void SetTakesFocusOnlyOnMouseDown(bool flag) = 0; |
204 | 194 |
205 // Retrieve the bounds of the view, in cocoa view coordinates. | 195 // Retrieve the bounds of the view, in cocoa view coordinates. |
206 // If the UI scale factor is 2, |GetViewBounds()| will return a size of e.g. | 196 // 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... |
243 virtual void AcceleratedSurfaceSetIOSurface( | 233 virtual void AcceleratedSurfaceSetIOSurface( |
244 gfx::PluginWindowHandle window, | 234 gfx::PluginWindowHandle window, |
245 int32 width, | 235 int32 width, |
246 int32 height, | 236 int32 height, |
247 uint64 io_surface_identifier) = 0; | 237 uint64 io_surface_identifier) = 0; |
248 virtual void AcceleratedSurfaceSetTransportDIB( | 238 virtual void AcceleratedSurfaceSetTransportDIB( |
249 gfx::PluginWindowHandle window, | 239 gfx::PluginWindowHandle window, |
250 int32 width, | 240 int32 width, |
251 int32 height, | 241 int32 height, |
252 TransportDIB::Handle transport_dib) = 0; | 242 TransportDIB::Handle transport_dib) = 0; |
| 243 // |window| and |surface_id| indicate which accelerated surface's |
| 244 // buffers swapped. |renderer_id| and |route_id| are used to formulate |
| 245 // a reply to the GPU process to prevent it from getting too far ahead. |
| 246 // They may all be zero, in which case no flow control is enforced; |
| 247 // this case is currently used for accelerated plugins. |
| 248 virtual void AcceleratedSurfaceBuffersSwapped( |
| 249 gfx::PluginWindowHandle window, |
| 250 uint64 surface_id, |
| 251 int renderer_id, |
| 252 int32 route_id, |
| 253 int gpu_host_id) = 0; |
253 #endif | 254 #endif |
254 | 255 |
255 #if defined(UI_COMPOSITOR_IMAGE_TRANSPORT) | 256 #if defined(UI_COMPOSITOR_IMAGE_TRANSPORT) |
256 virtual void AcceleratedSurfaceNew( | 257 virtual void AcceleratedSurfaceNew( |
257 int32 width, | 258 int32 width, |
258 int32 height, | 259 int32 height, |
259 uint64* surface_id, | 260 uint64* surface_id, |
260 TransportDIB::Handle* surface_handle) = 0; | 261 TransportDIB::Handle* surface_handle) = 0; |
| 262 virtual void AcceleratedSurfaceBuffersSwapped( |
| 263 uint64 surface_id, |
| 264 int32 route_id, |
| 265 int gpu_host_id) = 0; |
261 virtual void AcceleratedSurfaceRelease(uint64 surface_id) = 0; | 266 virtual void AcceleratedSurfaceRelease(uint64 surface_id) = 0; |
262 #endif | 267 #endif |
263 | 268 |
264 #if defined(TOOLKIT_USES_GTK) | 269 #if defined(TOOLKIT_USES_GTK) |
265 virtual void CreatePluginContainer(gfx::PluginWindowHandle id) = 0; | 270 virtual void CreatePluginContainer(gfx::PluginWindowHandle id) = 0; |
266 virtual void DestroyPluginContainer(gfx::PluginWindowHandle id) = 0; | 271 virtual void DestroyPluginContainer(gfx::PluginWindowHandle id) = 0; |
267 #endif | 272 #endif |
268 | 273 |
269 #if defined(OS_WIN) && !defined(USE_AURA) | 274 #if defined(OS_WIN) && !defined(USE_AURA) |
270 virtual void WillWmDestroy() = 0; | 275 virtual void WillWmDestroy() = 0; |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 size_t selection_text_offset_; | 356 size_t selection_text_offset_; |
352 | 357 |
353 // The current selection range relative to the start of the web page. | 358 // The current selection range relative to the start of the web page. |
354 ui::Range selection_range_; | 359 ui::Range selection_range_; |
355 | 360 |
356 private: | 361 private: |
357 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostView); | 362 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostView); |
358 }; | 363 }; |
359 | 364 |
360 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ | 365 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ |
OLD | NEW |