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

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

Issue 2417693002: Allow MimeHandlerViewGuest be embedded inside OOPIFs (Closed)
Patch Set: Setting embedder frame id when the MimeHandlerViewGuest is created. Created 4 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
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 is the browser side of a browser <--> embedder 5 // A BrowserPluginGuest is the browser side of a browser <--> embedder
6 // renderer channel. A BrowserPlugin (a WebPlugin) is on the embedder 6 // renderer channel. A BrowserPlugin (a WebPlugin) is on the embedder
7 // renderer side of browser <--> embedder renderer communication. 7 // renderer side of browser <--> embedder renderer communication.
8 // 8 //
9 // BrowserPluginGuest lives on the UI thread of the browser process. Any 9 // BrowserPluginGuest lives on the UI thread of the browser process. Any
10 // messages about the guest render process that the embedder might be interested 10 // messages about the guest render process that the embedder might be interested
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 struct SurfaceSequence; 56 struct SurfaceSequence;
57 } // namespace cc 57 } // namespace cc
58 58
59 namespace gfx { 59 namespace gfx {
60 class Range; 60 class Range;
61 } // namespace gfx 61 } // namespace gfx
62 62
63 namespace content { 63 namespace content {
64 64
65 class BrowserPluginGuestManager; 65 class BrowserPluginGuestManager;
66 class RenderFrameHostImpl;
66 class RenderViewHostImpl; 67 class RenderViewHostImpl;
67 class RenderWidgetHost; 68 class RenderWidgetHost;
68 class RenderWidgetHostView; 69 class RenderWidgetHostView;
69 class RenderWidgetHostViewBase; 70 class RenderWidgetHostViewBase;
70 class SiteInstance; 71 class SiteInstance;
71 struct DropData; 72 struct DropData;
72 struct TextInputState; 73 struct TextInputState;
73 74
74 // A browser plugin guest provides functionality for WebContents to operate in 75 // A browser plugin guest provides functionality for WebContents to operate in
75 // the guest role and implements guest-specific overrides for ViewHostMsg_* 76 // the guest role and implements guest-specific overrides for ViewHostMsg_*
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 has_attached_since_surface_set_ = has_attached; 273 has_attached_since_surface_set_ = has_attached;
273 } 274 }
274 275
275 void set_attached_for_test(bool attached) { 276 void set_attached_for_test(bool attached) {
276 attached_ = attached; 277 attached_ = attached;
277 } 278 }
278 279
279 private: 280 private:
280 class EmbedderVisibilityObserver; 281 class EmbedderVisibilityObserver;
281 282
283 // The RenderFrameHost embedding/containing the BrowserPlugin.
284 RenderFrameHostImpl* GetEmbedderFrame() const;
285
282 void InitInternal(const BrowserPluginHostMsg_Attach_Params& params, 286 void InitInternal(const BrowserPluginHostMsg_Attach_Params& params,
283 WebContentsImpl* owner_web_contents); 287 WebContentsImpl* owner_web_contents);
284 288
285 void OnSatisfySequence(int instance_id, const cc::SurfaceSequence& sequence); 289 void OnSatisfySequence(int instance_id, const cc::SurfaceSequence& sequence);
286 void OnRequireSequence(int instance_id, 290 void OnRequireSequence(int instance_id,
287 const cc::SurfaceId& id, 291 const cc::SurfaceId& id,
288 const cc::SurfaceSequence& sequence); 292 const cc::SurfaceSequence& sequence);
289 // Message handlers for messages from embedder. 293 // Message handlers for messages from embedder.
290 void OnDetach(int instance_id); 294 void OnDetach(int instance_id);
291 // Handles drag events from the embedder. 295 // Handles drag events from the embedder.
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 // once the guest is attached to a particular embedder. 453 // once the guest is attached to a particular embedder.
450 std::deque<linked_ptr<IPC::Message> > pending_messages_; 454 std::deque<linked_ptr<IPC::Message> > pending_messages_;
451 455
452 BrowserPluginGuestDelegate* const delegate_; 456 BrowserPluginGuestDelegate* const delegate_;
453 457
454 // Whether or not this BrowserPluginGuest can use cross process frames. This 458 // Whether or not this BrowserPluginGuest can use cross process frames. This
455 // means when we have --use-cross-process-frames-for-guests on, the 459 // means when we have --use-cross-process-frames-for-guests on, the
456 // WebContents associated with this BrowserPluginGuest has OOPIF structure. 460 // WebContents associated with this BrowserPluginGuest has OOPIF structure.
457 bool can_use_cross_process_frames_; 461 bool can_use_cross_process_frames_;
458 462
463 // Routing and process IDs of the embedder frame.
464 int embedder_process_id_;
465 int embedder_routing_id_;
466
459 // Weak pointer used to ask GeolocationPermissionContext about geolocation 467 // Weak pointer used to ask GeolocationPermissionContext about geolocation
460 // permission. 468 // permission.
461 base::WeakPtrFactory<BrowserPluginGuest> weak_ptr_factory_; 469 base::WeakPtrFactory<BrowserPluginGuest> weak_ptr_factory_;
462 470
463 DISALLOW_COPY_AND_ASSIGN(BrowserPluginGuest); 471 DISALLOW_COPY_AND_ASSIGN(BrowserPluginGuest);
464 }; 472 };
465 473
466 } // namespace content 474 } // namespace content
467 475
468 #endif // CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_ 476 #endif // CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698