OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ | 5 #ifndef CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ |
6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ | 6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ |
7 | 7 |
8 #include <windows.h> | |
9 | |
10 #include <vector> | 8 #include <vector> |
11 | 9 |
12 #include "base/gfx/size.h" | 10 #include "base/gfx/size.h" |
13 #include "base/timer.h" | 11 #include "base/timer.h" |
| 12 #include "chrome/common/bitmap_wire_data.h" |
14 #include "chrome/common/ipc_channel.h" | 13 #include "chrome/common/ipc_channel.h" |
| 14 #include "chrome/common/render_messages.h" |
15 #include "testing/gtest/include/gtest/gtest_prod.h" | 15 #include "testing/gtest/include/gtest/gtest_prod.h" |
16 | 16 |
17 namespace gfx { | 17 namespace gfx { |
18 class Rect; | 18 class Rect; |
19 } | 19 } |
20 | 20 |
21 class BackingStore; | 21 class BackingStore; |
22 class PaintObserver; | 22 class PaintObserver; |
23 class RenderProcessHost; | 23 class RenderProcessHost; |
24 class RenderWidgetHostView; | 24 class RenderWidgetHostView; |
25 class WebInputEvent; | 25 class WebInputEvent; |
26 class WebKeyboardEvent; | 26 class WebKeyboardEvent; |
27 class WebMouseEvent; | 27 class WebMouseEvent; |
28 class WebMouseWheelEvent; | 28 class WebMouseWheelEvent; |
29 class WebCursor; | 29 class WebCursor; |
30 enum ViewHostMsg_ImeControl; | |
31 struct ViewHostMsg_PaintRect_Params; | 30 struct ViewHostMsg_PaintRect_Params; |
32 struct ViewHostMsg_ScrollRect_Params; | 31 struct ViewHostMsg_ScrollRect_Params; |
33 struct WebPluginGeometry; | 32 struct WebPluginGeometry; |
34 | 33 |
35 // This class manages the browser side of a browser<->renderer HWND connection. | 34 // This class manages the browser side of a browser<->renderer HWND connection. |
36 // The HWND lives in the browser process, and windows events are sent over | 35 // The HWND lives in the browser process, and windows events are sent over |
37 // IPC to the corresponding object in the renderer. The renderer paints into | 36 // IPC to the corresponding object in the renderer. The renderer paints into |
38 // shared memory, which we transfer to a backing store and blit to the screen | 37 // shared memory, which we transfer to a backing store and blit to the screen |
39 // when Windows sends us a WM_PAINT message. | 38 // when Windows sends us a WM_PAINT message. |
40 // | 39 // |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 void OnMsgPaintRect(const ViewHostMsg_PaintRect_Params& params); | 252 void OnMsgPaintRect(const ViewHostMsg_PaintRect_Params& params); |
254 void OnMsgScrollRect(const ViewHostMsg_ScrollRect_Params& params); | 253 void OnMsgScrollRect(const ViewHostMsg_ScrollRect_Params& params); |
255 void OnMsgInputEventAck(const IPC::Message& message); | 254 void OnMsgInputEventAck(const IPC::Message& message); |
256 void OnMsgFocus(); | 255 void OnMsgFocus(); |
257 void OnMsgBlur(); | 256 void OnMsgBlur(); |
258 void OnMsgSetCursor(const WebCursor& cursor); | 257 void OnMsgSetCursor(const WebCursor& cursor); |
259 void OnMsgImeUpdateStatus(ViewHostMsg_ImeControl control, | 258 void OnMsgImeUpdateStatus(ViewHostMsg_ImeControl control, |
260 const gfx::Rect& caret_rect); | 259 const gfx::Rect& caret_rect); |
261 | 260 |
262 // Paints the given bitmap to the current backing store at the given location. | 261 // Paints the given bitmap to the current backing store at the given location. |
263 void PaintBackingStoreRect(HANDLE bitmap, | 262 void PaintBackingStoreRect(BitmapWireData bitmap, |
264 const gfx::Rect& bitmap_rect, | 263 const gfx::Rect& bitmap_rect, |
265 const gfx::Size& view_size); | 264 const gfx::Size& view_size); |
266 | 265 |
267 // Scrolls the given |clip_rect| in the backing by the given dx/dy amount. The | 266 // Scrolls the given |clip_rect| in the backing by the given dx/dy amount. The |
268 // |bitmap| and its corresponding location |bitmap_rect| in the backing store | 267 // |bitmap| and its corresponding location |bitmap_rect| in the backing store |
269 // is the newly painted pixels by the renderer. | 268 // is the newly painted pixels by the renderer. |
270 void ScrollBackingStoreRect(HANDLE bitmap, | 269 void ScrollBackingStoreRect(BitmapWireData bitmap, |
271 const gfx::Rect& bitmap_rect, | 270 const gfx::Rect& bitmap_rect, |
272 int dx, int dy, | 271 int dx, int dy, |
273 const gfx::Rect& clip_rect, | 272 const gfx::Rect& clip_rect, |
274 const gfx::Size& view_size); | 273 const gfx::Size& view_size); |
275 | 274 |
276 // The View associated with the RenderViewHost. The lifetime of this object | 275 // The View associated with the RenderViewHost. The lifetime of this object |
277 // is associated with the lifetime of the Render process. If the Renderer | 276 // is associated with the lifetime of the Render process. If the Renderer |
278 // crashes, its View is destroyed and this pointer becomes NULL, even though | 277 // crashes, its View is destroyed and this pointer becomes NULL, even though |
279 // render_view_host_ lives on to load another URL (creating a new View while | 278 // render_view_host_ lives on to load another URL (creating a new View while |
280 // doing so). | 279 // doing so). |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 bool view_being_painted_; | 340 bool view_being_painted_; |
342 | 341 |
343 // Used for UMA histogram logging to measure the time for a repaint view | 342 // Used for UMA histogram logging to measure the time for a repaint view |
344 // operation to finish. | 343 // operation to finish. |
345 base::TimeTicks repaint_start_time_; | 344 base::TimeTicks repaint_start_time_; |
346 | 345 |
347 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHost); | 346 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHost); |
348 }; | 347 }; |
349 | 348 |
350 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ | 349 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ |
OLD | NEW |