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

Unified Diff: extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc

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 side-by-side diff with in-line comments
Download patch
Index: extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
index 8da2fac73794c1f63072b9e68cdd7835f9af7643..b54006592ff5994490dccddb0e8444667af594bb 100644
--- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
+++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
@@ -76,8 +76,10 @@ GuestViewBase* MimeHandlerViewGuest::Create(WebContents* owner_web_contents) {
MimeHandlerViewGuest::MimeHandlerViewGuest(WebContents* owner_web_contents)
: GuestView<MimeHandlerViewGuest>(owner_web_contents),
- delegate_(ExtensionsAPIClient::Get()->CreateMimeHandlerViewGuestDelegate(
- this)) {}
+ delegate_(
+ ExtensionsAPIClient::Get()->CreateMimeHandlerViewGuestDelegate(this)),
+ embedder_frame_process_id_(0),
+ embedder_frame_routing_id_(MSG_ROUTING_NONE) {}
MimeHandlerViewGuest::~MimeHandlerViewGuest() {
}
@@ -86,6 +88,21 @@ bool MimeHandlerViewGuest::CanUseCrossProcessFrames() {
return false;
}
+content::RenderFrameHost* MimeHandlerViewGuest::GetEmbedderFrame() {
+ if (embedder_frame_routing_id_ != MSG_ROUTING_NONE)
+ return content::RenderFrameHost::FromID(embedder_frame_process_id_,
+ embedder_frame_routing_id_);
+ return GuestViewBase::GetEmbedderFrame();
+}
+
+void MimeHandlerViewGuest::SetEmbedderFrame(int process_id, int routing_id) {
+ DCHECK_NE(routing_id, MSG_ROUTING_NONE);
+ DCHECK_EQ(embedder_frame_routing_id_, MSG_ROUTING_NONE);
+
+ embedder_frame_process_id_ = process_id;
+ embedder_frame_routing_id_ = routing_id;
wjmaclean 2016/10/20 14:47:22 Do we need to do anything with these values when d
EhsanK 2016/10/20 21:41:18 We could reset to 0 and MSG_ROUTING_NONE. But Mime
+}
+
const char* MimeHandlerViewGuest::GetAPINamespace() const {
return "mimeHandlerViewGuestInternal";
}

Powered by Google App Engine
This is Rietveld 408576698