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_PUBLIC_BROWSER_RENDER_WIDGET_HOST_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_RENDER_WIDGET_HOST_H_ |
6 #define CONTENT_PUBLIC_BROWSER_RENDER_WIDGET_HOST_H_ | 6 #define CONTENT_PUBLIC_BROWSER_RENDER_WIDGET_HOST_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
11 #include "content/common/content_export.h" | 11 #include "content/common/content_export.h" |
12 #include "content/public/browser/native_web_keyboard_event.h" | 12 #include "content/public/browser/native_web_keyboard_event.h" |
13 #include "content/public/browser/readback_types.h" | 13 #include "content/public/browser/readback_types.h" |
14 #include "ipc/ipc_channel.h" | 14 #include "ipc/ipc_channel.h" |
15 #include "ipc/ipc_sender.h" | 15 #include "ipc/ipc_sender.h" |
16 #include "third_party/WebKit/public/web/WebInputEvent.h" | 16 #include "third_party/WebKit/public/web/WebInputEvent.h" |
17 #include "third_party/WebKit/public/web/WebTextDirection.h" | 17 #include "third_party/WebKit/public/web/WebTextDirection.h" |
18 #include "third_party/skia/include/core/SkImageInfo.h" | 18 #include "third_party/skia/include/core/SkImageInfo.h" |
19 #include "ui/gfx/geometry/size.h" | 19 #include "ui/gfx/geometry/size.h" |
20 #include "ui/surface/transport_dib.h" | 20 #include "ui/surface/transport_dib.h" |
21 | 21 |
22 namespace gfx { | 22 namespace gfx { |
23 class Rect; | 23 class Rect; |
24 } | 24 } |
25 | 25 |
26 namespace blink { | 26 namespace blink { |
27 class WebMouseEvent; | 27 class WebMouseEvent; |
28 struct WebScreenInfo; | |
29 } | 28 } |
30 | 29 |
31 namespace content { | 30 namespace content { |
32 | 31 |
33 class RenderProcessHost; | 32 class RenderProcessHost; |
34 class RenderWidgetHostImpl; | 33 class RenderWidgetHostImpl; |
35 class RenderWidgetHostIterator; | 34 class RenderWidgetHostIterator; |
36 class RenderWidgetHostView; | 35 class RenderWidgetHostView; |
| 36 struct ScreenInfo; |
37 | 37 |
38 // A RenderWidgetHost manages the browser side of a browser<->renderer | 38 // A RenderWidgetHost manages the browser side of a browser<->renderer |
39 // HWND connection. The HWND lives in the browser process, and | 39 // HWND connection. The HWND lives in the browser process, and |
40 // windows events are sent over IPC to the corresponding object in the | 40 // windows events are sent over IPC to the corresponding object in the |
41 // renderer. The renderer paints into shared memory, which we | 41 // renderer. The renderer paints into shared memory, which we |
42 // transfer to a backing store and blit to the screen when Windows | 42 // transfer to a backing store and blit to the screen when Windows |
43 // sends us a WM_PAINT message. | 43 // sends us a WM_PAINT message. |
44 // | 44 // |
45 // How Shutdown Works | 45 // How Shutdown Works |
46 // | 46 // |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 virtual ~InputEventObserver() {} | 250 virtual ~InputEventObserver() {} |
251 | 251 |
252 virtual void OnInputEvent(const blink::WebInputEvent&) = 0; | 252 virtual void OnInputEvent(const blink::WebInputEvent&) = 0; |
253 }; | 253 }; |
254 | 254 |
255 // Add/remove an input event observer. | 255 // Add/remove an input event observer. |
256 virtual void AddInputEventObserver(InputEventObserver* observer) = 0; | 256 virtual void AddInputEventObserver(InputEventObserver* observer) = 0; |
257 virtual void RemoveInputEventObserver(InputEventObserver* observer) = 0; | 257 virtual void RemoveInputEventObserver(InputEventObserver* observer) = 0; |
258 | 258 |
259 // Get the screen info corresponding to this render widget. | 259 // Get the screen info corresponding to this render widget. |
260 virtual void GetWebScreenInfo(blink::WebScreenInfo* result) = 0; | 260 virtual void GetScreenInfo(ScreenInfo* result) = 0; |
261 | 261 |
262 // Sends a compositor proto to the render widget. | 262 // Sends a compositor proto to the render widget. |
263 virtual void HandleCompositorProto(const std::vector<uint8_t>& proto) = 0; | 263 virtual void HandleCompositorProto(const std::vector<uint8_t>& proto) = 0; |
264 }; | 264 }; |
265 | 265 |
266 } // namespace content | 266 } // namespace content |
267 | 267 |
268 #endif // CONTENT_PUBLIC_BROWSER_RENDER_WIDGET_HOST_H_ | 268 #endif // CONTENT_PUBLIC_BROWSER_RENDER_WIDGET_HOST_H_ |
OLD | NEW |