| Index: extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc
|
| diff --git a/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc b/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc
|
| index 9c502565f6f0bf0d19912e2bcaa86211f381395e..59f83407e3e02ac5ec5ccae451befb8a758af1e2 100644
|
| --- a/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc
|
| +++ b/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc
|
| @@ -102,9 +102,11 @@ MimeHandlerViewContainer::~MimeHandlerViewContainer() {
|
| if (loader_)
|
| loader_->cancel();
|
|
|
| - g_mime_handler_view_container_map.Get()[render_frame()].erase(this);
|
| - if (g_mime_handler_view_container_map.Get()[render_frame()].empty())
|
| - g_mime_handler_view_container_map.Get().erase(render_frame());
|
| + if (render_frame()) {
|
| + g_mime_handler_view_container_map.Get()[render_frame()].erase(this);
|
| + if (g_mime_handler_view_container_map.Get()[render_frame()].empty())
|
| + g_mime_handler_view_container_map.Get().erase(render_frame());
|
| + }
|
| }
|
|
|
| // static
|
| @@ -119,6 +121,9 @@ MimeHandlerViewContainer::FromRenderFrame(content::RenderFrame* render_frame) {
|
| }
|
|
|
| void MimeHandlerViewContainer::Ready() {
|
| + if (!render_frame())
|
| + return;
|
| +
|
| blink::WebFrame* frame = render_frame()->GetWebFrame();
|
| blink::WebURLLoaderOptions options;
|
| // The embedded plugin is allowed to be cross-origin.
|
| @@ -137,6 +142,10 @@ void MimeHandlerViewContainer::DidFinishLoading() {
|
| CreateMimeHandlerViewGuest();
|
| }
|
|
|
| +void MimeHandlerViewContainer::OnRenderFrameDestroyed() {
|
| + g_mime_handler_view_container_map.Get().erase(render_frame());
|
| +}
|
| +
|
| void MimeHandlerViewContainer::DidReceiveData(const char* data,
|
| int data_length) {
|
| view_id_ += std::string(data, data_length);
|
|
|