|
|
DescriptionDon't abort the MimeHandlerStreamManager stream if we receive a RenderProcessHostChanged notification for a null old host.
This indicates that a subframe is being created. If we ignore the old_host here and set
the new host pointer in the MimeHandlerStreamManager::EmbedderObserver class, this causes
the stream to be aborted prematurely leading to embedded PDFs not loading.
This should fix bug 650985
BUG=650985
Committed: https://crrev.com/b8cfa3b172b2741635247a8541e3251688aaa04f
Cr-Commit-Position: refs/heads/master@{#425498}
Patch Set 1 #
Total comments: 3
Patch Set 2 : Add a check for whether the routing id and the pid of the old host is the same as the pair in Embed… #
Messages
Total messages: 25 (16 generated)
Description was changed from ========== Don't abort the MimeHandlerStreamManager stream if we receive a RenderProcessHostChanged notification for a null old host. This indicates that a subframe is being created. If we ignore the old_host here and set the new host pointer in the MimeHandlerStreamManager::EmbedderObserver class, this caues the stream to be aborted prematurely leading to embedded PDFs not loading. This should fix bug 654193 BUG=654193 ========== to ========== Don't abort the MimeHandlerStreamManager stream if we receive a RenderProcessHostChanged notification for a null old host. This indicates that a subframe is being created. If we ignore the old_host here and set the new host pointer in the MimeHandlerStreamManager::EmbedderObserver class, this causes the stream to be aborted prematurely leading to embedded PDFs not loading. This should fix bug 654193 BUG=654193 ==========
[email protected] changed reviewers: + [email protected]
The CQ bit was checked by [email protected] to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by [email protected]
Dry run: This issue passed the CQ dry run.
https://codereview.chromium.org/2418963002/diff/1/extensions/browser/guest_vi... File extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc (right): https://codereview.chromium.org/2418963002/diff/1/extensions/browser/guest_vi... extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc:235: // If the old_host is null, then it means that a subframe is being created. optional nit: "If |old_host| is null... https://codereview.chromium.org/2418963002/diff/1/extensions/browser/guest_vi... extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc:238: return; In this case, |new_host| should correspond to render_frame_id_ and render_process_id_? Can we DCHECK that those match too? But it seems that if somehow an entirely different frame creation in Embedder WebContents happens, that wouldn't work. I think if old_host is not null, then we should check old_host->GetRoutingId() equals render_frame_id_ before updating render_frame_id_ from new_host. Same with render_process_id_. WDYT?
I also added a null FrameTreeNode check in WebContents::FromFrameTreeNodeId function as I was hitting this on the pdfobject.com/static.html with PlzNavigate enabled. From the initial looks it appears to be coming from FrameTreeNodes getting destroyed in the prerender code path. https://codereview.chromium.org/2418963002/diff/1/extensions/browser/guest_vi... File extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc (right): https://codereview.chromium.org/2418963002/diff/1/extensions/browser/guest_vi... extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc:238: return; On 2016/10/14 01:46:28, lazyboy wrote: > In this case, |new_host| should correspond to render_frame_id_ and > render_process_id_? Can we DCHECK that those match too? But it seems that if > somehow an entirely different frame creation in Embedder WebContents happens, > that wouldn't work. > > I think if old_host is not null, then we should check old_host->GetRoutingId() > equals render_frame_id_ before updating render_frame_id_ from new_host. Same > with render_process_id_. WDYT? Thanks. Done
The CQ bit was checked by [email protected] to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Don't abort the MimeHandlerStreamManager stream if we receive a RenderProcessHostChanged notification for a null old host. This indicates that a subframe is being created. If we ignore the old_host here and set the new host pointer in the MimeHandlerStreamManager::EmbedderObserver class, this causes the stream to be aborted prematurely leading to embedded PDFs not loading. This should fix bug 654193 BUG=654193 ========== to ========== Don't abort the MimeHandlerStreamManager stream if we receive a RenderProcessHostChanged notification for a null old host. This indicates that a subframe is being created. If we ignore the old_host here and set the new host pointer in the MimeHandlerStreamManager::EmbedderObserver class, this causes the stream to be aborted prematurely leading to embedded PDFs not loading. This should fix bug 654193 BUG=650985 ==========
lgtm.
The CQ bit was unchecked by [email protected]
Dry run: This issue passed the CQ dry run.
[email protected] changed reviewers: + [email protected]
+jam for content
On 2016/10/14 20:58:28, ananta wrote: > +jam for content lgtm the description has two different bug numbers, and one seems unrelated?
Description was changed from ========== Don't abort the MimeHandlerStreamManager stream if we receive a RenderProcessHostChanged notification for a null old host. This indicates that a subframe is being created. If we ignore the old_host here and set the new host pointer in the MimeHandlerStreamManager::EmbedderObserver class, this causes the stream to be aborted prematurely leading to embedded PDFs not loading. This should fix bug 654193 BUG=650985 ========== to ========== Don't abort the MimeHandlerStreamManager stream if we receive a RenderProcessHostChanged notification for a null old host. This indicates that a subframe is being created. If we ignore the old_host here and set the new host pointer in the MimeHandlerStreamManager::EmbedderObserver class, this causes the stream to be aborted prematurely leading to embedded PDFs not loading. This should fix bug 650985 BUG=650985 ==========
The CQ bit was checked by [email protected]
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Don't abort the MimeHandlerStreamManager stream if we receive a RenderProcessHostChanged notification for a null old host. This indicates that a subframe is being created. If we ignore the old_host here and set the new host pointer in the MimeHandlerStreamManager::EmbedderObserver class, this causes the stream to be aborted prematurely leading to embedded PDFs not loading. This should fix bug 650985 BUG=650985 ========== to ========== Don't abort the MimeHandlerStreamManager stream if we receive a RenderProcessHostChanged notification for a null old host. This indicates that a subframe is being created. If we ignore the old_host here and set the new host pointer in the MimeHandlerStreamManager::EmbedderObserver class, this causes the stream to be aborted prematurely leading to embedded PDFs not loading. This should fix bug 650985 BUG=650985 ==========
Message was sent while issue was closed.
Committed patchset #2 (id:20001)
Message was sent while issue was closed.
Description was changed from ========== Don't abort the MimeHandlerStreamManager stream if we receive a RenderProcessHostChanged notification for a null old host. This indicates that a subframe is being created. If we ignore the old_host here and set the new host pointer in the MimeHandlerStreamManager::EmbedderObserver class, this causes the stream to be aborted prematurely leading to embedded PDFs not loading. This should fix bug 650985 BUG=650985 ========== to ========== Don't abort the MimeHandlerStreamManager stream if we receive a RenderProcessHostChanged notification for a null old host. This indicates that a subframe is being created. If we ignore the old_host here and set the new host pointer in the MimeHandlerStreamManager::EmbedderObserver class, this causes the stream to be aborted prematurely leading to embedded PDFs not loading. This should fix bug 650985 BUG=650985 Committed: https://crrev.com/b8cfa3b172b2741635247a8541e3251688aaa04f Cr-Commit-Position: refs/heads/master@{#425498} ==========
Message was sent while issue was closed.
Patchset 2 (id:??) landed as https://crrev.com/b8cfa3b172b2741635247a8541e3251688aaa04f Cr-Commit-Position: refs/heads/master@{#425498} |