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

Issue 2331343005: PlzNavigate: Get StreamPrivate API to work. (Closed)

Created:
4 years, 3 months ago by ananta
Modified:
4 years, 2 months ago
CC:
chromium-reviews, extensions-reviews_chromium.org, Randy Smith (Not in Mondays), darin-cc_chromium.org, loading-reviews_chromium.org, chromium-apps-reviews_chromium.org, mmenke
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

PlzNavigate: Get StreamPrivate API to work. This is based off clamy's original patch https://codereview.chromium.org/1485693002/ This patch gets the StreamPrivate API which is exposed for extensions to work with PlzNavigate. This should fix top level PDF file loads and in turn some browser tests like MaterialPDFExtensionTests, PDFExtensionTests, etc. Changes in this patch are as below: 1. Allow stream based requests to be handled in navigation_resource_handler.cc. 2. Fixing the way WebContents is obtained in the other places with the ResourceRequestInfoImpl::GetWebContentsGetterForRequest function. 3. The MimeHandlerStreamManager::AddStream function takes in the WebContents pointer. 4 A getter has been added to the ResourceRequestInfo class to get the frame_tree_node_id field. 5. The EmbedderObserver class now uses the WCO::RenderFrameHostChanged notification to determine if a RFH is swapped with another. This is used to determine when we should clean up the stream. The RFH being swapped out is tracked in a map. 6. We use the WebContentsObserver::DidStartNavigation method in the EmbedderObserver to detect a navigation on the main frame and use that to cleanup the stream. BUG=504347 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/4b7467a5a8e36f6d59cbc2df29be42e9c12ec45b Cr-Commit-Position: refs/heads/master@{#420537}

Patch Set 1 #

Total comments: 5

Patch Set 2 : Use DidStartNavigation on the main frame as a signal in the EmbedderObserver that we need to clean … #

Patch Set 3 : git cl format #

Patch Set 4 : Remove include file #

Total comments: 7

Patch Set 5 : Address review comments #

Patch Set 6 : Pass the frame_tree_node_id, render_frame_id and render_process_id parameters to the MimeHandlerStr… #

Total comments: 5

Patch Set 7 : Address review comments #

Patch Set 8 : Fixed comment #

Total comments: 4

Patch Set 9 : Don't return the FrameTreeNode id from the RenderFrameHostImpl instance if it got swapped out. #

Patch Set 10 : Fix browser_test redness #

Patch Set 11 : Add a new method GetHostForFrameTreeNode to the RenderFrameHost class #

Total comments: 2

Patch Set 12 : Use WCO::RenderFrameHostChanged to detect the case when a RFH is swapped out for another in the Emb… #

Total comments: 2

Patch Set 13 : Add a static getter to WC to get the WC associated with a FTNID #

Patch Set 14 : Remove newlines #

Patch Set 15 : Rebase to tip #

Patch Set 16 : Attempt to fix bot update step #

Patch Set 17 : Update chrome_resource_dispatcher_host_delegate.cc #

Patch Set 18 : Update chrome_resource_dispatcher_host_delegate.cc #

Total comments: 14

Patch Set 19 : Address review comments #

Patch Set 20 : Fix compile failures #

Total comments: 4

Patch Set 21 : Address review comments #

Patch Set 22 : Update the RFNID, RFID, RPID to those of the new frame when we receive a frame change notification #

Total comments: 2

Patch Set 23 : Add DCHECK for FTNID #

Patch Set 24 : Add DCHECK for FTNID #

Patch Set 25 : Removed include for map #

Patch Set 26 : Fix DCHECK leading to browser test redness #

Unified diffs Side-by-side diffs Delta from patch set Stats (+157 lines, -33 lines) Patch
M chrome/browser/extensions/api/streams_private/streams_private_api.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +6 lines, -1 line 0 comments Download
M chrome/browser/extensions/api/streams_private/streams_private_api.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +16 lines, -3 lines 0 comments Download
M chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 4 chunks +18 lines, -10 lines 0 comments Download
M content/browser/loader/navigation_resource_handler.cc View 1 2 3 4 2 chunks +9 lines, -3 lines 0 comments Download
M content/browser/loader/resource_request_info_impl.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/loader/resource_request_info_impl.cc View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +7 lines, -0 lines 0 comments Download
M content/public/browser/resource_request_info.h View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M content/public/browser/web_contents.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +4 lines, -0 lines 0 comments Download
M extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +7 lines, -0 lines 0 comments Download
M extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 8 chunks +80 lines, -16 lines 0 comments Download

Messages

Total messages: 128 (83 generated)
ananta
https://codereview.chromium.org/2331343005/diff/1/content/browser/loader/navigation_resource_handler.cc File content/browser/loader/navigation_resource_handler.cc (right): https://codereview.chromium.org/2331343005/diff/1/content/browser/loader/navigation_resource_handler.cc#newcode137 content/browser/loader/navigation_resource_handler.cc:137: if (!info->is_stream()) Deferring this causes a DCHECK to fire ...
4 years, 3 months ago (2016-09-14 02:14:17 UTC) #2
ananta
+nasko
4 years, 3 months ago (2016-09-14 19:32:59 UTC) #9
jam
https://codereview.chromium.org/2331343005/diff/1/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc File chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc (right): https://codereview.chromium.org/2331343005/diff/1/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc#newcode735 chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc:735: info->GetWebContentsGetterForRequest())); ditto: let's just pass only the WC getter ...
4 years, 3 months ago (2016-09-14 22:49:53 UTC) #11
ananta
https://codereview.chromium.org/2331343005/diff/1/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc File chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc (right): https://codereview.chromium.org/2331343005/diff/1/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc#newcode735 chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc:735: info->GetWebContentsGetterForRequest())); On 2016/09/14 22:49:52, jam wrote: > ditto: let's ...
4 years, 3 months ago (2016-09-15 01:49:17 UTC) #14
clamy
Thanks! It'd also be nice to get an extension API owner to review the changes ...
4 years, 3 months ago (2016-09-15 13:15:24 UTC) #19
ananta
https://codereview.chromium.org/2331343005/diff/60001/content/browser/loader/navigation_resource_handler.cc File content/browser/loader/navigation_resource_handler.cc (right): https://codereview.chromium.org/2331343005/diff/60001/content/browser/loader/navigation_resource_handler.cc#newcode136 content/browser/loader/navigation_resource_handler.cc:136: // mime type sniffing, etc. On 2016/09/15 13:15:24, clamy ...
4 years, 3 months ago (2016-09-15 21:25:03 UTC) #20
ananta
+asargent for extensions owners. Please look at the extension API changes.
4 years, 3 months ago (2016-09-15 21:28:48 UTC) #22
asargent_no_longer_on_chrome
I'm not super familiar with this code - lazyboy@ may be a better reviewer
4 years, 3 months ago (2016-09-16 00:26:15 UTC) #28
clamy
https://codereview.chromium.org/2331343005/diff/60001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc File extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc (left): https://codereview.chromium.org/2331343005/diff/60001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc#oldcode168 extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc:168: void MimeHandlerStreamManager::EmbedderObserver::RenderFrameDeleted( On 2016/09/15 21:25:03, ananta wrote: > On ...
4 years, 3 months ago (2016-09-16 11:41:21 UTC) #29
lazyboy
https://codereview.chromium.org/2331343005/diff/60001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc File extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc (left): https://codereview.chromium.org/2331343005/diff/60001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc#oldcode168 extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc:168: void MimeHandlerStreamManager::EmbedderObserver::RenderFrameDeleted( On 2016/09/16 11:41:21, clamy wrote: > On ...
4 years, 3 months ago (2016-09-16 17:59:45 UTC) #30
ananta
https://codereview.chromium.org/2331343005/diff/60001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc File extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc (left): https://codereview.chromium.org/2331343005/diff/60001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc#oldcode168 extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc:168: void MimeHandlerStreamManager::EmbedderObserver::RenderFrameDeleted( On 2016/09/16 17:59:45, lazyboy wrote: > On ...
4 years, 3 months ago (2016-09-16 23:56:31 UTC) #31
jam
https://codereview.chromium.org/2331343005/diff/100001/chrome/browser/extensions/api/streams_private/streams_private_api.h File chrome/browser/extensions/api/streams_private/streams_private_api.h (right): https://codereview.chromium.org/2331343005/diff/100001/chrome/browser/extensions/api/streams_private/streams_private_api.h#newcode44 chrome/browser/extensions/api/streams_private/streams_private_api.h:44: // PlzNavigate ships. is this true? i.e. we'll still ...
4 years, 3 months ago (2016-09-17 00:10:07 UTC) #38
ananta
https://codereview.chromium.org/2331343005/diff/100001/chrome/browser/extensions/api/streams_private/streams_private_api.h File chrome/browser/extensions/api/streams_private/streams_private_api.h (right): https://codereview.chromium.org/2331343005/diff/100001/chrome/browser/extensions/api/streams_private/streams_private_api.h#newcode44 chrome/browser/extensions/api/streams_private/streams_private_api.h:44: // PlzNavigate ships. On 2016/09/17 00:10:07, jam wrote: > ...
4 years, 3 months ago (2016-09-17 00:23:27 UTC) #39
lazyboy
https://codereview.chromium.org/2331343005/diff/110010/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc File extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc (right): https://codereview.chromium.org/2331343005/diff/110010/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc#newcode177 extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc:177: if (content::IsBrowserSideNavigationEnabled() || Q: Isn't it better to keep ...
4 years, 3 months ago (2016-09-17 00:59:01 UTC) #44
ananta
https://codereview.chromium.org/2331343005/diff/110010/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc File extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc (right): https://codereview.chromium.org/2331343005/diff/110010/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc#newcode177 extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc:177: if (content::IsBrowserSideNavigationEnabled() || On 2016/09/17 00:59:01, lazyboy wrote: > ...
4 years, 3 months ago (2016-09-17 02:06:08 UTC) #47
fenerliserdar81
4 years, 3 months ago (2016-09-17 02:22:06 UTC) #50
fenerliserdar81
lgtm
4 years, 3 months ago (2016-09-17 02:22:07 UTC) #52
fenerliserdar81
lgtm lgtm
4 years, 3 months ago (2016-09-17 02:22:08 UTC) #53
ananta
I updated the patch to not use NavigationHandle::GetRenderFrameHost in cases outside main frame. This causes ...
4 years, 3 months ago (2016-09-17 02:41:28 UTC) #55
ananta
https://codereview.chromium.org/2331343005/diff/100001/chrome/browser/extensions/api/streams_private/streams_private_api.h File chrome/browser/extensions/api/streams_private/streams_private_api.h (right): https://codereview.chromium.org/2331343005/diff/100001/chrome/browser/extensions/api/streams_private/streams_private_api.h#newcode44 chrome/browser/extensions/api/streams_private/streams_private_api.h:44: // PlzNavigate ships. On 2016/09/17 00:23:27, ananta wrote: > ...
4 years, 3 months ago (2016-09-17 02:43:40 UTC) #58
clamy
Could you check with nasko@ what the situation is regarding FTN ids and extensions? I ...
4 years, 3 months ago (2016-09-19 12:04:16 UTC) #70
nasko
I don't have the time to review this CL in-depth today and tomorrow, so please ...
4 years, 3 months ago (2016-09-19 22:51:19 UTC) #71
ananta
https://codereview.chromium.org/2331343005/diff/190001/content/public/browser/render_frame_host.h File content/public/browser/render_frame_host.h (right): https://codereview.chromium.org/2331343005/diff/190001/content/public/browser/render_frame_host.h#newcode96 content/public/browser/render_frame_host.h:96: virtual RenderFrameHost* GetHostForFrameTreeNode() = 0; On 2016/09/19 22:51:19, nasko ...
4 years, 3 months ago (2016-09-20 00:32:32 UTC) #72
nasko
On 2016/09/20 00:32:32, ananta wrote: > https://codereview.chromium.org/2331343005/diff/190001/content/public/browser/render_frame_host.h > File content/public/browser/render_frame_host.h (right): > > https://codereview.chromium.org/2331343005/diff/190001/content/public/browser/render_frame_host.h#newcode96 > ...
4 years, 3 months ago (2016-09-20 00:35:36 UTC) #73
ananta
On 2016/09/20 00:35:36, nasko (slow) wrote: > On 2016/09/20 00:32:32, ananta wrote: > > > ...
4 years, 3 months ago (2016-09-20 01:46:35 UTC) #74
ananta
On 2016/09/19 12:04:16, clamy wrote: > Could you check with nasko@ what the situation is ...
4 years, 3 months ago (2016-09-20 01:52:27 UTC) #76
jam
https://codereview.chromium.org/2331343005/diff/210001/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc File chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc (right): https://codereview.chromium.org/2331343005/diff/210001/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc#newcode187 chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc:187: const ResourceRequestInfo::WebContentsGetter& web_contents_getter, it seems redundant passing both this ...
4 years, 3 months ago (2016-09-20 21:29:35 UTC) #81
ananta
https://codereview.chromium.org/2331343005/diff/210001/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc File chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc (right): https://codereview.chromium.org/2331343005/diff/210001/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc#newcode187 chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc:187: const ResourceRequestInfo::WebContentsGetter& web_contents_getter, On 2016/09/20 21:29:35, jam wrote: > ...
4 years, 3 months ago (2016-09-21 05:26:33 UTC) #82
fenerliserdar81
Am 21.09.2016 07:26 schrieb <ananta@chromium.org>: > > https://codereview.chromium.org/2331343005/diff/210001/ > chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc > File > chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc > ...
4 years, 3 months ago (2016-09-21 09:50:08 UTC) #91
jam
On 2016/09/21 05:26:33, ananta wrote: > https://codereview.chromium.org/2331343005/diff/210001/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc > File chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc > (right): > > https://codereview.chromium.org/2331343005/diff/210001/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc#newcode187 ...
4 years, 3 months ago (2016-09-21 20:20:31 UTC) #94
nasko
Let's clarify a bit how MimeHandlerStreamManager works before committing this. It might allow for lots ...
4 years, 3 months ago (2016-09-21 21:32:18 UTC) #97
ananta
https://codereview.chromium.org/2331343005/diff/330001/chrome/browser/extensions/api/streams_private/streams_private_api.cc File chrome/browser/extensions/api/streams_private/streams_private_api.cc (left): https://codereview.chromium.org/2331343005/diff/330001/chrome/browser/extensions/api/streams_private/streams_private_api.cc#oldcode68 chrome/browser/extensions/api/streams_private/streams_private_api.cc:68: content::WebContents* web_contents, On 2016/09/21 21:32:18, nasko (slow) wrote: > ...
4 years, 3 months ago (2016-09-21 21:59:12 UTC) #98
nasko
https://codereview.chromium.org/2331343005/diff/330001/chrome/browser/extensions/api/streams_private/streams_private_api.cc File chrome/browser/extensions/api/streams_private/streams_private_api.cc (left): https://codereview.chromium.org/2331343005/diff/330001/chrome/browser/extensions/api/streams_private/streams_private_api.cc#oldcode68 chrome/browser/extensions/api/streams_private/streams_private_api.cc:68: content::WebContents* web_contents, On 2016/09/21 21:59:12, ananta wrote: > On ...
4 years, 3 months ago (2016-09-21 22:08:55 UTC) #99
ananta
On 2016/09/21 22:08:55, nasko (slow) wrote: > https://codereview.chromium.org/2331343005/diff/330001/chrome/browser/extensions/api/streams_private/streams_private_api.cc > File chrome/browser/extensions/api/streams_private/streams_private_api.cc > (left): > > ...
4 years, 3 months ago (2016-09-22 01:41:21 UTC) #100
nasko
On 2016/09/22 01:41:21, ananta wrote: > On 2016/09/21 22:08:55, nasko (slow) wrote: > > > ...
4 years, 2 months ago (2016-09-22 18:10:27 UTC) #109
nasko
> > Discussed with lazyboy about this over IM. He mentioned that we are interested ...
4 years, 2 months ago (2016-09-22 19:17:36 UTC) #110
lazyboy
I have one question regarding AbortStream() cleanup. https://codereview.chromium.org/2331343005/diff/370001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc File extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc (right): https://codereview.chromium.org/2331343005/diff/370001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc#newcode201 extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc:201: return; This ...
4 years, 2 months ago (2016-09-22 19:35:31 UTC) #111
ananta
https://codereview.chromium.org/2331343005/diff/370001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc File extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc (right): https://codereview.chromium.org/2331343005/diff/370001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc#newcode201 extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc:201: return; On 2016/09/22 19:35:31, lazyboy wrote: > This comment ...
4 years, 2 months ago (2016-09-22 19:54:56 UTC) #112
lazyboy
lgtm https://codereview.chromium.org/2331343005/diff/410001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc File extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc (right): https://codereview.chromium.org/2331343005/diff/410001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc#newcode240 extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc:240: frame_tree_node_id_ = new_host_->GetFrameTreeNodeId(); Thanks. Doesn't FTN id stay ...
4 years, 2 months ago (2016-09-22 22:23:46 UTC) #115
ananta
https://codereview.chromium.org/2331343005/diff/410001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc File extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc (right): https://codereview.chromium.org/2331343005/diff/410001/extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc#newcode240 extensions/browser/guest_view/mime_handler_view/mime_handler_stream_manager.cc:240: frame_tree_node_id_ = new_host_->GetFrameTreeNodeId(); On 2016/09/22 22:23:45, lazyboy wrote: > ...
4 years, 2 months ago (2016-09-22 23:03:18 UTC) #116
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2331343005/470001
4 years, 2 months ago (2016-09-22 23:14:19 UTC) #119
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/146674) linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, ...
4 years, 2 months ago (2016-09-23 00:03:45 UTC) #121
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2331343005/490001
4 years, 2 months ago (2016-09-23 00:49:19 UTC) #124
commit-bot: I haz the power
Committed patchset #26 (id:490001)
4 years, 2 months ago (2016-09-23 01:43:41 UTC) #126
commit-bot: I haz the power
4 years, 2 months ago (2016-09-23 01:48:31 UTC) #128
Message was sent while issue was closed.
Patchset 26 (id:??) landed as
https://crrev.com/4b7467a5a8e36f6d59cbc2df29be42e9c12ec45b
Cr-Commit-Position: refs/heads/master@{#420537}

Powered by Google App Engine
This is Rietveld 408576698