Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Side by Side Diff: chrome/renderer/render_widget.h

Issue 18768: POSIX: gfx::NativeViewId and CrossProcessEvent (Closed)
Patch Set: Addressing Brett's comments Created 11 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/renderer/render_view.cc ('k') | chrome/renderer/render_widget.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_RENDERER_RENDER_WIDGET_H__ 5 #ifndef CHROME_RENDERER_RENDER_WIDGET_H__
6 #define CHROME_RENDERER_RENDER_WIDGET_H__ 6 #define CHROME_RENDERER_RENDER_WIDGET_H__
7 7
8 #include <vector> 8 #include <vector>
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/gfx/native_widget_types.h"
10 #include "base/gfx/point.h" 11 #include "base/gfx/point.h"
11 #include "base/gfx/rect.h" 12 #include "base/gfx/rect.h"
12 #include "base/gfx/size.h" 13 #include "base/gfx/size.h"
13 #include "base/ref_counted.h" 14 #include "base/ref_counted.h"
14 #include "chrome/common/ipc_channel.h" 15 #include "chrome/common/ipc_channel.h"
15 #include "chrome/common/render_messages.h" 16 #include "chrome/common/render_messages.h"
16 17
17 #include "webkit/glue/webwidget_delegate.h" 18 #include "webkit/glue/webwidget_delegate.h"
18 #include "webkit/glue/webcursor.h" 19 #include "webkit/glue/webcursor.h"
19 #include "webkit/glue/webplugin.h" 20 #include "webkit/glue/webplugin.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 // IPC::Channel::Listener 58 // IPC::Channel::Listener
58 virtual void OnMessageReceived(const IPC::Message& msg); 59 virtual void OnMessageReceived(const IPC::Message& msg);
59 60
60 // IPC::Message::Sender 61 // IPC::Message::Sender
61 virtual bool Send(IPC::Message* msg); 62 virtual bool Send(IPC::Message* msg);
62 63
63 // True if the underlying IPC is currently sending data. 64 // True if the underlying IPC is currently sending data.
64 bool InSend() const; 65 bool InSend() const;
65 66
66 // WebWidgetDelegate 67 // WebWidgetDelegate
67 virtual gfx::NativeView GetContainingView(WebWidget* webwidget); 68 virtual gfx::NativeViewId GetContainingView(WebWidget* webwidget);
68 virtual void DidInvalidateRect(WebWidget* webwidget, const gfx::Rect& rect); 69 virtual void DidInvalidateRect(WebWidget* webwidget, const gfx::Rect& rect);
69 virtual void DidScrollRect(WebWidget* webwidget, int dx, int dy, 70 virtual void DidScrollRect(WebWidget* webwidget, int dx, int dy,
70 const gfx::Rect& clip_rect); 71 const gfx::Rect& clip_rect);
71 virtual void SetCursor(WebWidget* webwidget, const WebCursor& cursor); 72 virtual void SetCursor(WebWidget* webwidget, const WebCursor& cursor);
72 virtual void Show(WebWidget* webwidget, WindowOpenDisposition disposition); 73 virtual void Show(WebWidget* webwidget, WindowOpenDisposition disposition);
73 virtual void CloseWidgetSoon(WebWidget* webwidget); 74 virtual void CloseWidgetSoon(WebWidget* webwidget);
74 virtual void Focus(WebWidget* webwidget); 75 virtual void Focus(WebWidget* webwidget);
75 virtual void Blur(WebWidget* webwidget); 76 virtual void Blur(WebWidget* webwidget);
76 virtual void GetWindowRect(WebWidget* webwidget, gfx::Rect* rect); 77 virtual void GetWindowRect(WebWidget* webwidget, gfx::Rect* rect);
77 virtual void SetWindowRect(WebWidget* webwidget, const gfx::Rect& rect); 78 virtual void SetWindowRect(WebWidget* webwidget, const gfx::Rect& rect);
(...skipping 12 matching lines...) Expand all
90 friend class base::RefCounted<RenderWidget>; 91 friend class base::RefCounted<RenderWidget>;
91 92
92 RenderWidget(RenderThreadBase* render_thread, bool activatable); 93 RenderWidget(RenderThreadBase* render_thread, bool activatable);
93 virtual ~RenderWidget(); 94 virtual ~RenderWidget();
94 95
95 // Initializes this view with the given opener. CompleteInit must be called 96 // Initializes this view with the given opener. CompleteInit must be called
96 // later. 97 // later.
97 void Init(int32 opener_id); 98 void Init(int32 opener_id);
98 99
99 // Finishes creation of a pending view started with Init. 100 // Finishes creation of a pending view started with Init.
100 void CompleteInit(HWND parent); 101 void CompleteInit(gfx::NativeViewId parent);
101 102
102 // Paints the given rectangular region of the WebWidget into paint_buf (a 103 // Paints the given rectangular region of the WebWidget into paint_buf (a
103 // shared memory segment returned by AllocPaintBuf). The caller must ensure 104 // shared memory segment returned by AllocPaintBuf). The caller must ensure
104 // that the given rect fits within the bounds of the WebWidget. 105 // that the given rect fits within the bounds of the WebWidget.
105 void PaintRect(const gfx::Rect& rect, base::SharedMemory* paint_buf); 106 void PaintRect(const gfx::Rect& rect, base::SharedMemory* paint_buf);
106 107
107 // Get the size of the paint buffer for the given rectangle, rounding up to 108 // Get the size of the paint buffer for the given rectangle, rounding up to
108 // the allocation granularity of the system. 109 // the allocation granularity of the system.
109 size_t GetPaintBufSize(const gfx::Rect& rect); 110 size_t GetPaintBufSize(const gfx::Rect& rect);
110 111
111 void DoDeferredPaint(); 112 void DoDeferredPaint();
112 void DoDeferredScroll(); 113 void DoDeferredScroll();
113 114
114 // This method is called immediately after PaintRect but before the 115 // This method is called immediately after PaintRect but before the
115 // corresponding paint or scroll message is send to the widget host. 116 // corresponding paint or scroll message is send to the widget host.
116 virtual void DidPaint() {} 117 virtual void DidPaint() {}
117 118
118 // RenderWidget IPC message handlers 119 // RenderWidget IPC message handlers
119 void OnClose(); 120 void OnClose();
120 void OnCreatingNewAck(HWND parent); 121 void OnCreatingNewAck(gfx::NativeViewId parent);
121 void OnResize(const gfx::Size& new_size); 122 void OnResize(const gfx::Size& new_size);
122 void OnWasHidden(); 123 void OnWasHidden();
123 void OnWasRestored(bool needs_repainting); 124 void OnWasRestored(bool needs_repainting);
124 void OnPaintRectAck(); 125 void OnPaintRectAck();
125 void OnScrollRectAck(); 126 void OnScrollRectAck();
126 void OnHandleInputEvent(const IPC::Message& message); 127 void OnHandleInputEvent(const IPC::Message& message);
127 void OnMouseCaptureLost(); 128 void OnMouseCaptureLost();
128 void OnSetFocus(bool enable); 129 void OnSetFocus(bool enable);
129 void OnImeSetInputMode(bool is_active); 130 void OnImeSetInputMode(bool is_active);
130 void OnImeSetComposition(int string_type, int cursor_position, 131 void OnImeSetComposition(int string_type, int cursor_position,
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 // view is. 189 // view is.
189 int32 opener_id_; 190 int32 opener_id_;
190 191
191 // The thread that does our IPC. 192 // The thread that does our IPC.
192 RenderThreadBase* render_thread_; 193 RenderThreadBase* render_thread_;
193 194
194 // The position where this view should be initially shown. 195 // The position where this view should be initially shown.
195 gfx::Rect initial_pos_; 196 gfx::Rect initial_pos_;
196 197
197 // The window we are embedded within. TODO(darin): kill this. 198 // The window we are embedded within. TODO(darin): kill this.
198 HWND host_window_; 199 gfx::NativeViewId host_window_;
199 200
200 // We store the current cursor object so we can avoid spamming SetCursor 201 // We store the current cursor object so we can avoid spamming SetCursor
201 // messages. 202 // messages.
202 WebCursor current_cursor_; 203 WebCursor current_cursor_;
203 // The size of the RenderWidget. 204 // The size of the RenderWidget.
204 gfx::Size size_; 205 gfx::Size size_;
205 206
206 // Shared memory handles that are currently in use to transfer an image to 207 // Shared memory handles that are currently in use to transfer an image to
207 // the browser. 208 // the browser.
208 base::SharedMemory* current_paint_buf_; 209 base::SharedMemory* current_paint_buf_;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 // Whether the window for this RenderWidget can be activated. 269 // Whether the window for this RenderWidget can be activated.
269 bool activatable_; 270 bool activatable_;
270 271
271 // Holds all the needed plugin window moves for a scroll. 272 // Holds all the needed plugin window moves for a scroll.
272 std::vector<WebPluginGeometry> plugin_window_moves_; 273 std::vector<WebPluginGeometry> plugin_window_moves_;
273 274
274 DISALLOW_EVIL_CONSTRUCTORS(RenderWidget); 275 DISALLOW_EVIL_CONSTRUCTORS(RenderWidget);
275 }; 276 };
276 277
277 #endif // CHROME_RENDERER_RENDER_WIDGET_H__ 278 #endif // CHROME_RENDERER_RENDER_WIDGET_H__
OLDNEW
« no previous file with comments | « chrome/renderer/render_view.cc ('k') | chrome/renderer/render_widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698