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

Issue 2897963003: PlzNavigate: Fixes ChromeOS navigation to google drive files. (Closed)

Created:
3 years, 7 months ago by arthursonzogni
Modified:
3 years, 6 months ago
Reviewers:
Charlie Reis, nasko
CC:
chromium-reviews, jam, nasko+codewatch_chromium.org, darin-cc_chromium.org, creis+watch_chromium.org, Charlie Reis, clamy, ncarter (slow)
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

PlzNavigate: Fixes ChromeOS navigation to google drive files. How navigations to google drive files are working with ChromeOS? ---------------------------------------------------------------- 1) A browser initiated navigation happens. The url is externalfile:drive-<user-email>/root/<drive-file-path> 2) The access to common_params.url's scheme (="externalfile") is granted to the renderer in RenderFrameHostImpl::UpdatePermissionsForNavigation. 3) The renderer asks the browser to fetch the ressource. 4) In the network stack, ExternalFileURLRequestJob redirects to https://docs.google.com/documents/d/<document-id>... What happens with PlzNavigate? ------------------------------- 1) A browser initiated navigation happens. The url is externalfile:drive-<user-email>/root/<drive-file-path> 2) In the network stack, ExternalFileURLRequestJob redirects to https://docs.google.com/documents/d/<document-id>... 3) The access to common_params.url's scheme (="https") is granted to the renderer in RenderFrameHostImpl::UpdatePermissionsForNavigation. **Please note that "externalfile" scheme access is not granted** 4) The renderer is asked to navigate to common_params.original_url (=externalfile:drive-<user-email>[...]) The redirect will be replayed latter. See https://crrev.com/2653953005. 5) The renderer asks the browser to fetch the ressource, but the browser forbids the load because "externalfile" scheme is not allowed. What does this CL? ------------------ It grants access to the original url scheme too. BUG=717644 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_browser_side_navigation_rel;master.tryserver.chromium.linux:linux_site_isolation

Patch Set 1 #

Total comments: 1

Patch Set 2 : Grant access to the original url only for the moment #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+8 lines, -0 lines) Patch
M content/browser/frame_host/render_frame_host_impl.cc View 1 1 chunk +8 lines, -0 lines 1 comment Download

Messages

Total messages: 32 (25 generated)
arthursonzogni
Hi Nasko, Please can you take a look? This CL explains why the BUG(717644) happens. ...
3 years, 7 months ago (2017-05-22 14:59:52 UTC) #11
nasko
https://codereview.chromium.org/2897963003/diff/1/content/browser/frame_host/render_frame_host_impl.cc File content/browser/frame_host/render_frame_host_impl.cc (right): https://codereview.chromium.org/2897963003/diff/1/content/browser/frame_host/render_frame_host_impl.cc#newcode3593 content/browser/frame_host/render_frame_host_impl.cc:3593: GetProcess()->GetID(), url); It seems a bit more prudent to ...
3 years, 7 months ago (2017-05-23 04:39:34 UTC) #12
arthursonzogni
Thanks! In the second patch, I grant access to only the original url instead of ...
3 years, 7 months ago (2017-05-23 12:35:50 UTC) #22
nasko
LGTM
3 years, 7 months ago (2017-05-24 22:37:07 UTC) #26
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/2897963003/20001
3 years, 7 months ago (2017-05-24 22:38:05 UTC) #28
Charlie Reis
Sorry, not LGTM based on a conversation with Nick. I agree with your investigation, but ...
3 years, 7 months ago (2017-05-24 22:58:02 UTC) #31
arthursonzogni
3 years, 6 months ago (2017-05-29 08:22:28 UTC) #32
I close this issue, since
https://codereview.chromium.org/2908593002/
is a replacement fix.

Powered by Google App Engine
This is Rietveld 408576698