| 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_RENDERER_RENDER_WIDGET_H_ | 5 #ifndef CONTENT_RENDERER_RENDER_WIDGET_H_ |
| 6 #define CONTENT_RENDERER_RENDER_WIDGET_H_ | 6 #define CONTENT_RENDERER_RENDER_WIDGET_H_ |
| 7 | 7 |
| 8 #include <deque> | 8 #include <deque> |
| 9 #include <map> | 9 #include <map> |
| 10 | 10 |
| 11 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
| 12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
| 13 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
| 14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
| 15 #include "base/memory/weak_ptr.h" | 15 #include "base/memory/weak_ptr.h" |
| 16 #include "base/time/time.h" | 16 #include "base/time/time.h" |
| 17 #include "base/timer/timer.h" | 17 #include "base/timer/timer.h" |
| 18 #include "cc/debug/rendering_stats_instrumentation.h" | 18 #include "cc/debug/rendering_stats_instrumentation.h" |
| 19 #include "content/common/browser_rendering_stats.h" | 19 #include "content/common/browser_rendering_stats.h" |
| 20 #include "content/common/content_export.h" | 20 #include "content/common/content_export.h" |
| 21 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h" | 21 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h" |
| 22 #include "content/common/input/event_packet.h" |
| 23 #include "content/common/input/input_event_disposition.h" |
| 24 #include "content/renderer/gpu/renderer_event_packet.h" |
| 22 #include "content/renderer/paint_aggregator.h" | 25 #include "content/renderer/paint_aggregator.h" |
| 23 #include "ipc/ipc_listener.h" | 26 #include "ipc/ipc_listener.h" |
| 24 #include "ipc/ipc_sender.h" | 27 #include "ipc/ipc_sender.h" |
| 25 #include "third_party/WebKit/public/platform/WebRect.h" | 28 #include "third_party/WebKit/public/platform/WebRect.h" |
| 26 #include "third_party/WebKit/public/web/WebCompositionUnderline.h" | 29 #include "third_party/WebKit/public/web/WebCompositionUnderline.h" |
| 27 #include "third_party/WebKit/public/web/WebPopupType.h" | 30 #include "third_party/WebKit/public/web/WebPopupType.h" |
| 28 #include "third_party/WebKit/public/web/WebTextDirection.h" | 31 #include "third_party/WebKit/public/web/WebTextDirection.h" |
| 29 #include "third_party/WebKit/public/web/WebTextInputInfo.h" | 32 #include "third_party/WebKit/public/web/WebTextInputInfo.h" |
| 30 #include "third_party/WebKit/public/web/WebWidget.h" | 33 #include "third_party/WebKit/public/web/WebWidget.h" |
| 31 #include "third_party/WebKit/public/web/WebWidgetClient.h" | 34 #include "third_party/WebKit/public/web/WebWidgetClient.h" |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 class RenderWidgetCompositor; | 72 class RenderWidgetCompositor; |
| 70 class RenderWidgetTest; | 73 class RenderWidgetTest; |
| 71 struct GpuRenderingStats; | 74 struct GpuRenderingStats; |
| 72 struct WebPluginGeometry; | 75 struct WebPluginGeometry; |
| 73 | 76 |
| 74 // RenderWidget provides a communication bridge between a WebWidget and | 77 // RenderWidget provides a communication bridge between a WebWidget and |
| 75 // a RenderWidgetHost, the latter of which lives in a different process. | 78 // a RenderWidgetHost, the latter of which lives in a different process. |
| 76 class CONTENT_EXPORT RenderWidget | 79 class CONTENT_EXPORT RenderWidget |
| 77 : public IPC::Listener, | 80 : public IPC::Listener, |
| 78 public IPC::Sender, | 81 public IPC::Sender, |
| 82 NON_EXPORTED_BASE(public RendererEventPacket::Dispatcher), |
| 79 NON_EXPORTED_BASE(virtual public WebKit::WebWidgetClient), | 83 NON_EXPORTED_BASE(virtual public WebKit::WebWidgetClient), |
| 80 NON_EXPORTED_BASE(public WebGraphicsContext3DSwapBuffersClient), | 84 NON_EXPORTED_BASE(public WebGraphicsContext3DSwapBuffersClient), |
| 81 public base::RefCounted<RenderWidget> { | 85 public base::RefCounted<RenderWidget> { |
| 82 public: | 86 public: |
| 83 // Creates a new RenderWidget. The opener_id is the routing ID of the | 87 // Creates a new RenderWidget. The opener_id is the routing ID of the |
| 84 // RenderView that this widget lives inside. | 88 // RenderView that this widget lives inside. |
| 85 static RenderWidget* Create(int32 opener_id, | 89 static RenderWidget* Create(int32 opener_id, |
| 86 WebKit::WebPopupType popup_type, | 90 WebKit::WebPopupType popup_type, |
| 87 const WebKit::WebScreenInfo& screen_info); | 91 const WebKit::WebScreenInfo& screen_info); |
| 88 | 92 |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 275 virtual void SetBackground(const SkBitmap& bitmap); | 279 virtual void SetBackground(const SkBitmap& bitmap); |
| 276 | 280 |
| 277 // Resizes the render widget. | 281 // Resizes the render widget. |
| 278 void Resize(const gfx::Size& new_size, | 282 void Resize(const gfx::Size& new_size, |
| 279 const gfx::Size& physical_backing_size, | 283 const gfx::Size& physical_backing_size, |
| 280 float overdraw_bottom_height, | 284 float overdraw_bottom_height, |
| 281 const gfx::Rect& resizer_rect, | 285 const gfx::Rect& resizer_rect, |
| 282 bool is_fullscreen, | 286 bool is_fullscreen, |
| 283 ResizeAck resize_ack); | 287 ResizeAck resize_ack); |
| 284 | 288 |
| 289 InputEventDisposition HandleWebEvent(const WebKit::WebInputEvent* event, |
| 290 const ui::LatencyInfo& latency_info, |
| 291 bool keyboard_shortcut, |
| 292 bool send_ack); |
| 293 |
| 294 // RendererEventPacket::Dispatcher |
| 295 virtual InputEventDisposition Dispatch(const IPC::Message& message) OVERRIDE; |
| 296 virtual InputEventDisposition Dispatch(int routing_id, |
| 297 const WebKit::WebInputEvent* web_event, |
| 298 const ui::LatencyInfo& latency_info, |
| 299 bool is_keyboard_shortcut) OVERRIDE; |
| 300 |
| 285 // RenderWidget IPC message handlers | 301 // RenderWidget IPC message handlers |
| 286 void OnHandleInputEvent(const WebKit::WebInputEvent* event, | 302 void OnHandleInputEvent(const WebKit::WebInputEvent* event, |
| 287 const ui::LatencyInfo& latency_info, | 303 const ui::LatencyInfo& latency_info, |
| 288 bool keyboard_shortcut); | 304 bool keyboard_shortcut); |
| 305 void OnHandleEventPacket(const EventPacket& event_packet, |
| 306 const InputEventDispositions& dispositions); |
| 289 void OnCursorVisibilityChange(bool is_visible); | 307 void OnCursorVisibilityChange(bool is_visible); |
| 290 void OnMouseCaptureLost(); | 308 void OnMouseCaptureLost(); |
| 291 virtual void OnSetFocus(bool enable); | 309 virtual void OnSetFocus(bool enable); |
| 292 void OnClose(); | 310 void OnClose(); |
| 293 void OnCreatingNewAck(); | 311 void OnCreatingNewAck(); |
| 294 virtual void OnResize(const ViewMsg_Resize_Params& params); | 312 virtual void OnResize(const ViewMsg_Resize_Params& params); |
| 295 void OnChangeResizeRect(const gfx::Rect& resizer_rect); | 313 void OnChangeResizeRect(const gfx::Rect& resizer_rect); |
| 296 virtual void OnWasHidden(); | 314 virtual void OnWasHidden(); |
| 297 virtual void OnWasShown(bool needs_repainting); | 315 virtual void OnWasShown(bool needs_repainting); |
| 298 virtual void OnWasSwappedOut(); | 316 virtual void OnWasSwappedOut(); |
| (...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 739 #endif | 757 #endif |
| 740 | 758 |
| 741 base::WeakPtrFactory<RenderWidget> weak_ptr_factory_; | 759 base::WeakPtrFactory<RenderWidget> weak_ptr_factory_; |
| 742 | 760 |
| 743 DISALLOW_COPY_AND_ASSIGN(RenderWidget); | 761 DISALLOW_COPY_AND_ASSIGN(RenderWidget); |
| 744 }; | 762 }; |
| 745 | 763 |
| 746 } // namespace content | 764 } // namespace content |
| 747 | 765 |
| 748 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_ | 766 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_ |
| OLD | NEW |