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

Side by Side Diff: content/browser/browser_plugin/browser_plugin_guest.h

Issue 11098056: Browser Plugin: Enable File Chooser (<input type="file">) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 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 | Annotate | Revision Log
OLDNEW
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 // A BrowserPluginGuest represents the browser side of browser <--> renderer 5 // A BrowserPluginGuest represents the browser side of browser <--> renderer
6 // communication. A BrowserPlugin (a WebPlugin) is on the renderer side of 6 // communication. A BrowserPlugin (a WebPlugin) is on the renderer side of
7 // browser <--> guest renderer communication. The 'guest' renderer is a 7 // browser <--> guest renderer communication. The 'guest' renderer is a
8 // <browser> tag. 8 // <browser> tag.
9 // 9 //
10 // BrowserPluginGuest lives on the UI thread of the browser process. It has a 10 // BrowserPluginGuest lives on the UI thread of the browser process. It has a
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 77
78 void set_guest_hang_timeout_for_testing(const base::TimeDelta& timeout) { 78 void set_guest_hang_timeout_for_testing(const base::TimeDelta& timeout) {
79 guest_hang_timeout_ = timeout; 79 guest_hang_timeout_ = timeout;
80 } 80 }
81 81
82 void set_embedder_render_process_host( 82 void set_embedder_render_process_host(
83 RenderProcessHost* render_process_host) { 83 RenderProcessHost* render_process_host) {
84 embedder_render_process_host_ = render_process_host; 84 embedder_render_process_host_ = render_process_host;
85 } 85 }
86 86
87 void set_embedder_web_contents(WebContents* web_contents) {
88 embedder_web_contents_ = web_contents;
89 }
90
87 bool visible() const { return visible_; } 91 bool visible() const { return visible_; }
88 92
89 // NotificationObserver implementation. 93 // NotificationObserver implementation.
90 virtual void Observe(int type, 94 virtual void Observe(int type,
91 const NotificationSource& source, 95 const NotificationSource& source,
92 const NotificationDetails& details) OVERRIDE; 96 const NotificationDetails& details) OVERRIDE;
93 97
94 // WebContentsObserver implementation. 98 // WebContentsObserver implementation.
95 virtual void DidStartProvisionalLoadForFrame( 99 virtual void DidStartProvisionalLoadForFrame(
96 int64 frame_id, 100 int64 frame_id,
(...skipping 15 matching lines...) Expand all
112 PageTransition transition_type, 116 PageTransition transition_type,
113 RenderViewHost* render_view_host) OVERRIDE; 117 RenderViewHost* render_view_host) OVERRIDE;
114 virtual void RenderViewGone(base::TerminationStatus status) OVERRIDE; 118 virtual void RenderViewGone(base::TerminationStatus status) OVERRIDE;
115 119
116 // WebContentsDelegate implementation. 120 // WebContentsDelegate implementation.
117 virtual bool CanDownload(RenderViewHost* render_view_host, 121 virtual bool CanDownload(RenderViewHost* render_view_host,
118 int request_id, 122 int request_id,
119 const std::string& request_method) OVERRIDE; 123 const std::string& request_method) OVERRIDE;
120 virtual bool HandleContextMenu(const ContextMenuParams& params) OVERRIDE; 124 virtual bool HandleContextMenu(const ContextMenuParams& params) OVERRIDE;
121 virtual void RendererUnresponsive(WebContents* source) OVERRIDE; 125 virtual void RendererUnresponsive(WebContents* source) OVERRIDE;
126 virtual void RunFileChooser(WebContents* web_contents,
127 const FileChooserParams& params) OVERRIDE;
122 128
123 void UpdateRect(RenderViewHost* render_view_host, 129 void UpdateRect(RenderViewHost* render_view_host,
124 const ViewHostMsg_UpdateRect_Params& params); 130 const ViewHostMsg_UpdateRect_Params& params);
125 void UpdateRectACK(int message_id, const gfx::Size& size); 131 void UpdateRectACK(int message_id, const gfx::Size& size);
126 // Handles input event routed through the embedder (which is initiated in the 132 // Handles input event routed through the embedder (which is initiated in the
127 // browser plugin (renderer side of the embedder)). 133 // browser plugin (renderer side of the embedder)).
128 void HandleInputEvent(RenderViewHost* render_view_host, 134 void HandleInputEvent(RenderViewHost* render_view_host,
129 const gfx::Rect& guest_rect, 135 const gfx::Rect& guest_rect,
130 const WebKit::WebInputEvent& event, 136 const WebKit::WebInputEvent& event,
131 IPC::Message* reply_message); 137 IPC::Message* reply_message);
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 // Called when a redirect notification occurs. 217 // Called when a redirect notification occurs.
212 void LoadRedirect(const GURL& old_url, 218 void LoadRedirect(const GURL& old_url,
213 const GURL& new_url, 219 const GURL& new_url,
214 bool is_top_level); 220 bool is_top_level);
215 221
216 // Static factory instance (always NULL for non-test). 222 // Static factory instance (always NULL for non-test).
217 static content::BrowserPluginHostFactory* factory_; 223 static content::BrowserPluginHostFactory* factory_;
218 224
219 NotificationRegistrar notification_registrar_; 225 NotificationRegistrar notification_registrar_;
220 RenderProcessHost* embedder_render_process_host_; 226 RenderProcessHost* embedder_render_process_host_;
227 WebContents* embedder_web_contents_;
221 // An identifier that uniquely identifies a browser plugin guest within an 228 // An identifier that uniquely identifies a browser plugin guest within an
222 // embedder. 229 // embedder.
223 int instance_id_; 230 int instance_id_;
224 scoped_ptr<TransportDIB> damage_buffer_; 231 scoped_ptr<TransportDIB> damage_buffer_;
225 #if defined(OS_WIN) 232 #if defined(OS_WIN)
226 size_t damage_buffer_size_; 233 size_t damage_buffer_size_;
227 #endif 234 #endif
228 gfx::Size damage_view_size_; 235 gfx::Size damage_view_size_;
229 float damage_buffer_scale_factor_; 236 float damage_buffer_scale_factor_;
230 scoped_ptr<IPC::Message> pending_input_event_reply_; 237 scoped_ptr<IPC::Message> pending_input_event_reply_;
231 gfx::Rect guest_rect_; 238 gfx::Rect guest_rect_;
232 WebCursor cursor_; 239 WebCursor cursor_;
233 IDMap<RenderViewHost> pending_updates_; 240 IDMap<RenderViewHost> pending_updates_;
234 int pending_update_counter_; 241 int pending_update_counter_;
235 base::TimeDelta guest_hang_timeout_; 242 base::TimeDelta guest_hang_timeout_;
236 bool visible_; 243 bool visible_;
237 244
238 DISALLOW_COPY_AND_ASSIGN(BrowserPluginGuest); 245 DISALLOW_COPY_AND_ASSIGN(BrowserPluginGuest);
239 }; 246 };
240 247
241 } // namespace content 248 } // namespace content
242 249
243 #endif // CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_ 250 #endif // CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698