Chromium Code Reviews| 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"; |
| } |