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..c68fe9cdf0f55458b801a71dd6a69529a43c5b64 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 |
@@ -14,6 +14,7 @@ |
#include "content/public/browser/render_process_host.h" |
#include "content/public/browser/stream_handle.h" |
#include "content/public/browser/stream_info.h" |
+#include "content/public/common/child_process_host.h" |
#include "content/public/common/url_constants.h" |
#include "extensions/browser/api/extensions_api_client.h" |
#include "extensions/browser/api/mime_handler_private/mime_handler_private.h" |
@@ -76,8 +77,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_(content::ChildProcessHost::kInvalidUniqueID), |
+ embedder_frame_routing_id_(MSG_ROUTING_NONE) {} |
MimeHandlerViewGuest::~MimeHandlerViewGuest() { |
} |
@@ -86,6 +89,21 @@ bool MimeHandlerViewGuest::CanUseCrossProcessFrames() { |
return false; |
} |
+content::RenderFrameHost* MimeHandlerViewGuest::GetEmbedderFrame() { |
+ if (embedder_frame_routing_id_ != MSG_ROUTING_NONE) |
lfg
2016/10/20 22:50:49
This should be a DCHECK.
EhsanK
2016/10/25 19:30:51
Acknowledged.
|
+ return content::RenderFrameHost::FromID(embedder_frame_process_id_, |
+ embedder_frame_routing_id_); |
+ return GuestViewBase::GetEmbedderFrame(); |
lfg
2016/10/20 22:50:50
And this should be NOTREACHED().
EhsanK
2016/10/25 19:30:51
I guess only DCHECK would do then and I removed th
|
+} |
+ |
+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; |
+} |
+ |
const char* MimeHandlerViewGuest::GetAPINamespace() const { |
return "mimeHandlerViewGuestInternal"; |
} |