Change error pages to use a new chrome-error:// scheme. [chromium/src : master]

922 views
Skip to first unread message

Alex Moshchuk (Gerrit)

unread,
Jul 25, 2017, 8:57:16 PM7/25/17
to apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, devtools...@chromium.org, chromium...@chromium.org, John Abd-El-Malek, Commit Bot

Alex Moshchuk uploaded patch set #6 to this change.

View Change

Change error pages to use a new chrome-error:// scheme.

This CL changes error pages to use chrome-error://chromewebdata/ instead
of data:text/html,chromewebdata.

This has the benefit that error pages won't inherit CSP from their
creator. Previously, when a page defined a CSP and then ended up
loading an error page in a subframe, the error page might've been
broken by the parent's CSP, since, for example, it needed to execute
inline scripts. This could result in the error page not showing up
correctly and false CSP reports being sent.

Bug: 703801
Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
---
M chrome/browser/extensions/window_open_apitest.cc
M chrome/test/chromedriver/chrome/navigation_tracker.cc
M chrome/test/chromedriver/test/run_py_tests.py
M chrome/test/chromedriver/window_commands.cc
M content/common/url_schemes.cc
M content/public/common/url_constants.cc
M content/public/common/url_constants.h
M third_party/WebKit/LayoutTests/inspector-protocol/page/frameNavigatedToUnreachableUrl-expected.txt
M third_party/WebKit/LayoutTests/inspector/console/console-context-selector-expected.txt
M third_party/WebKit/Source/web/tests/WebFrameTest.cpp
10 files changed, 22 insertions(+), 18 deletions(-)

To view, visit change 580169. To unsubscribe, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
Gerrit-Change-Number: 580169
Gerrit-PatchSet: 6
Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-CC: Commit Bot <commi...@chromium.org>
Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
Gerrit-CC: Nasko Oskov <na...@chromium.org>

Alex Moshchuk (Gerrit)

unread,
Jul 26, 2017, 6:10:55 PM7/26/17
to apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, devtools...@chromium.org, chromium...@chromium.org, John Abd-El-Malek, Commit Bot

Alex Moshchuk uploaded patch set #8 to this change.

View Change

Change error pages to use a new chrome-error:// scheme.

This CL changes error pages to use chrome-error://chromewebdata/
instead of data:text/html,chromewebdata.

This has the benefit that error pages won't inherit CSP from their
parent/opener.  Previously, when a page defined a CSP and then ended

up loading an error page in a subframe, the error page might've been
broken by the parent's CSP, since, for example, it needs to execute

inline scripts. This could result in the error page not showing up
correctly and/or false CSP reports being sent.

The new scheme is marked as secure and as requiring an opaque origin
to match previous behavior. Web pages are not allowed to directly
navigate to the error URL anymore. In the future, it's possible to
further utilize the host/path portion of the URL to identify different
kinds of error pages.


Bug: 703801
Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
---
M chrome/browser/chrome_navigation_browsertest.cc

M chrome/browser/extensions/window_open_apitest.cc
M chrome/test/chromedriver/chrome/navigation_tracker.cc
M chrome/test/chromedriver/test/run_py_tests.py
M chrome/test/chromedriver/window_commands.cc
A chrome/test/data/page_with_csp_and_error_iframe.html
M content/browser/child_process_security_policy_impl.cc
M content/browser/child_process_security_policy_unittest.cc

M content/common/url_schemes.cc
M content/public/common/url_constants.cc
M content/public/common/url_constants.h
M third_party/WebKit/LayoutTests/inspector-protocol/page/frameNavigatedToUnreachableUrl-expected.txt
M third_party/WebKit/LayoutTests/inspector/console/console-context-selector-expected.txt
M third_party/WebKit/Source/web/tests/WebFrameTest.cpp
14 files changed, 150 insertions(+), 18 deletions(-)

To view, visit change 580169. To unsubscribe, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
Gerrit-Change-Number: 580169
Gerrit-PatchSet: 8

Alex Moshchuk (Gerrit)

unread,
Aug 2, 2017, 11:10:39 PM8/2/17
to apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, devtools...@chromium.org, chromium...@chromium.org, John Abd-El-Malek, Commit Bot

Alex Moshchuk uploaded patch set #10 to this change.

View Change

Change error pages to use a new chrome-error:// scheme.

This CL changes error pages to use chrome-error://chromewebdata/
instead of data:text/html,chromewebdata.

This has the benefit that error pages won't inherit CSP from their
parent/opener. Previously, when a page defined a CSP and then ended
up loading an error page in a subframe, the error page might've been
broken by the parent's CSP, since, for example, it needs to execute
inline scripts. This could result in the error page not showing up
correctly and/or false CSP reports being sent.

The new scheme is marked as secure and as requiring an opaque origin
to match previous behavior. Web pages are not allowed to directly
navigate to the error URL anymore. In the future, it's possible to
further utilize the host/path portion of the URL to identify different
kinds of error pages.

Bug: 703801
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation

Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
---
M chrome/browser/chrome_navigation_browsertest.cc
M chrome/browser/extensions/window_open_apitest.cc
M chrome/test/chromedriver/chrome/navigation_tracker.cc
M chrome/test/chromedriver/test/run_py_tests.py
M chrome/test/chromedriver/window_commands.cc
A chrome/test/data/empty_with_404.html
A chrome/test/data/empty_with_404.html.mock-http-headers

A chrome/test/data/page_with_csp_and_error_iframe.html
M content/browser/child_process_security_policy_impl.cc
M content/browser/child_process_security_policy_unittest.cc
M content/browser/frame_host/render_frame_host_impl.cc

M content/common/url_schemes.cc
M content/public/common/url_constants.cc
M content/public/common/url_constants.h
M third_party/WebKit/LayoutTests/inspector-protocol/page/frameNavigatedToUnreachableUrl-expected.txt
M third_party/WebKit/LayoutTests/inspector/console/console-context-selector-expected.txt
M third_party/WebKit/Source/web/tests/WebFrameTest.cpp
17 files changed, 137 insertions(+), 18 deletions(-)

To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
Gerrit-Change-Number: 580169
Gerrit-PatchSet: 10

Alex Moshchuk (Gerrit)

unread,
Aug 4, 2017, 5:58:06 PM8/4/17
to apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, devtools...@chromium.org, chromium...@chromium.org, John Abd-El-Malek, Commit Bot

Alex Moshchuk uploaded patch set #11 to this change.

View Change

Change error pages to use a new chrome-error:// scheme.

This CL changes error pages to use chrome-error://chromewebdata/
instead of data:text/html,chromewebdata.

This has the benefit that error pages won't inherit CSP from their
parent/opener. Previously, when a page defined a CSP and then ended
up loading an error page in a subframe, the error page might've been
broken by the parent's CSP, since, for example, it needs to execute
inline scripts. This could result in the error page not showing up
correctly and/or false CSP reports being sent.

The new scheme is marked as secure and as requiring an opaque origin
to match previous behavior.

Web pages used to be able to directly load the error URL, which just
showed up as "chromewebdata". With this change, navigating to the
error URL would bring up the external protocol dialog instead, so this
CL prevents renderers from directly navigating to or redirecting to
error URLs.
Gerrit-PatchSet: 11

Alex Moshchuk (Gerrit)

unread,
Aug 4, 2017, 7:54:06 PM8/4/17
to Mike West, Charlie Reis, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org

Alex Moshchuk would like Nasko Oskov, Mike West and Charlie Reis to review this change.

Gerrit-MessageType: newchange
Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
Gerrit-Change-Number: 580169
Gerrit-PatchSet: 11
Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
Gerrit-Reviewer: Mike West <mk...@chromium.org>
Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
Gerrit-CC: Commit Bot <commi...@chromium.org>
Gerrit-CC: John Abd-El-Malek <j...@chromium.org>

Alex Moshchuk (Gerrit)

unread,
Aug 4, 2017, 7:54:07 PM8/4/17
to apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, Charlie Reis, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

Nasko, Charlie, Mike: can you please review this? This is my first crack at renaming the error page URL to use chrome-error://chromewebdata/, and I figured the more eyes I can get on this, the better. Are there any other places where I should register chrome-error://?

View Change

5 comments:

To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
Gerrit-Change-Number: 580169
Gerrit-PatchSet: 11
Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
Gerrit-Reviewer: Mike West <mk...@chromium.org>
Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
Gerrit-CC: Commit Bot <commi...@chromium.org>
Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
Gerrit-Comment-Date: Fri, 04 Aug 2017 23:53:59 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: No

Mike West (Gerrit)

unread,
Aug 7, 2017, 9:40:27 AM8/7/17
to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, Charlie Reis, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

The bits I can stamp LGTM. Thanks for putting this together!

View Change

2 comments:

    • Patch Set #11, Line 681: if (scheme == kErrorScheme)

      This drops redirects to the error page URL for PlzNavigate (this is checked

    • SGTM, but I'll defer to folks who own that code for their opinion. It will be lovely when all the non-PlzNavigate code is ripped out of the codebase to avoid this kind of confusion.

  • File content/public/common/url_constants.cc:

    • Patch Set #11, Line 64: const char kUnreachableWebDataURL[] = "chrome-error://chromewebdata/";

      Originally, I had this without the trailing slash, which cause issues with

    • This seems fine to me. We shouldn't rely on having the same behavior as `data:` here, because `data:`'s fragment navigation behavior is absurd. :)

To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
Gerrit-Change-Number: 580169
Gerrit-PatchSet: 11
Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
Gerrit-Reviewer: Mike West <mk...@chromium.org>
Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
Gerrit-CC: Commit Bot <commi...@chromium.org>
Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
Gerrit-Comment-Date: Mon, 07 Aug 2017 13:40:19 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: No

Nasko Oskov (Gerrit)

unread,
Aug 7, 2017, 5:59:24 PM8/7/17
to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, Mike West, Charlie Reis, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

Super exciting change, thanks for working on it! Mostly nits and simple questions.

View Change

5 comments:

    • Patch Set #11, Line 521: EmptyDocumentWithErrorCode) {

      This whole scenario turned out not to be a problem after all -- the Android

    • Patch Set #11, Line 2289: if (validated_params.url.SchemeIs(kErrorScheme))

      It'd be nice to make CanRequestURL return false for the error page URL, and

To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
Gerrit-Change-Number: 580169
Gerrit-PatchSet: 11
Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
Gerrit-Reviewer: Mike West <mk...@chromium.org>
Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
Gerrit-CC: Commit Bot <commi...@chromium.org>
Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
Gerrit-Comment-Date: Mon, 07 Aug 2017 21:59:21 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: No

Charlie Reis (Gerrit)

unread,
Aug 7, 2017, 8:51:22 PM8/7/17
to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

A few questions to make sure I'm following, but mostly seems good.

View Change

4 comments:

    • Patch Set #11, Line 211: EXPECT_FALSE(p->CanCommitURL(kRendererID, GURL(kUnreachableWebDataURL)));

      We get this for free since we don't grant special access to the error schem

    • I thought that we did end up committing the error URL in normal processes, right? Won't that be a problem if CanCommitURL returns false for it?

  • File content/common/url_schemes.cc:

    • Patch Set #11, Line 70: for (auto& scheme : schemes.csp_bypassing_schemes)

      Does this scheme bypass CSP for some other reason?

To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
Gerrit-Change-Number: 580169
Gerrit-PatchSet: 11
Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
Gerrit-Reviewer: Mike West <mk...@chromium.org>
Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
Gerrit-CC: Commit Bot <commi...@chromium.org>
Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
Gerrit-Comment-Date: Tue, 08 Aug 2017 00:51:18 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: No

Mike West (Gerrit)

unread,
Aug 8, 2017, 6:46:11 AM8/8/17
to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, Charlie Reis, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

(Actually LGTMing this time)

Patch set 11:Code-Review +1

View Change

2 comments:

    • Patch Set #11, Line 12: This has the benefit that error pages won't inherit CSP from their

      I'm curious, which part of the new approach prevents this inheritance?

    • Patch Set #11, Line 70: for (auto& scheme : schemes.csp_bypassing_schemes)

      Does this scheme bypass CSP for some other reason?

    • That's a good question. I wonder what our current behavior is for `frame-src 'none'` when committing the existing error page? It's probably not correct. :) I'm a little wary of adding another scheme to this list, as I think it's already a bit less restrictive than it should be.

      Rather than poke at it in this patch, I'd suggest adding a `TODO(mkwst)`, and I'll try to put together reasonable behavior.

To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
Gerrit-Change-Number: 580169
Gerrit-PatchSet: 11
Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
Gerrit-Reviewer: Mike West <mk...@chromium.org>
Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
Gerrit-CC: Commit Bot <commi...@chromium.org>
Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
Gerrit-Comment-Date: Tue, 08 Aug 2017 10:46:07 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: Yes

Alex Moshchuk (Gerrit)

unread,
Aug 8, 2017, 6:46:41 PM8/8/17
to apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Mike West, Charlie Reis, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

Thanks all for the reviews! Some responses below.

View Change

8 comments:

    • Is there a reason these tests live in the chrome/ layer? Most of the imple

    • Do we need to explicitly wrap these in domAutomationController.send() calls

    • Thanks for the test. However, it doesn't seem to check that the content of

    • Yes, that's a fair point. If the error page doesn't load, we won't get PAGE_TYPE_ERROR for the last committed entry's PageType, as well as last_navigation_succeeded(), but I agree it's worth also checking that the error page text actually showed up for this test. One problem with checking it is that the text appears to be loaded asynchronously by scripts running on the error page after DidFinishLoad. I was hesitant to add a polling check for it, but did it now, as I didn't see a better way.

  • File chrome/test/data/empty_with_404.html.mock-http-headers:

    • Should we also consider this a bad message and terminate the renderer proce

    • I considered this - I think in the common case though, this is probably not a sign of an exploited renderer, but rather someone typing in "location='chrome-error://chromewebdata'" in DevTools, after finding out that this is what "location.href" returns on an error page. I didn't think this was worth killing the process for, but if you feel it's worth it, I can add it.

  • File content/common/url_schemes.cc:

    • That's a good question. I wonder what our current behavior is for `frame-sr

    • frame-src: 'none' makes an error page in a subframe not load without PlzNavigate, but it appears to load with PlzNavigate, whether or not chrome-error:// is included in csp_bypassing_schemes.  Though with PlzNav, the error page contents is "Requests to the server have been blocked by an extension," which is probably not right. :/

      I followed Mike's suggestion and added a TODO to deal with this in a followup.
  • File content/public/common/url_constants.h:

    • Patch Set #11, Line 21: CONTENT_EXPORT extern const char kChromeUIScheme[]; // Used for WebUIs.

      nit: kChromeErrorScheme?

      Done

To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
Gerrit-Change-Number: 580169
Gerrit-PatchSet: 13
Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
Gerrit-Reviewer: Mike West <mk...@chromium.org>
Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
Gerrit-CC: Commit Bot <commi...@chromium.org>
Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
Gerrit-Comment-Date: Tue, 08 Aug 2017 22:46:30 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: No

Charlie Reis (Gerrit)

unread,
Aug 8, 2017, 7:34:07 PM8/8/17
to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

Thanks-- almost set, but one more question. There's another set of registrations in RenderThreadImpl::RegisterSchemes(), and I'm wondering if we need to do either of the following?

 WebSecurityPolicy::RegisterURLSchemeAsDisplayIsolated
WebSecurityPolicy::RegisterURLSchemeAsNotAllowingJavascriptURLs

View Change

4 comments:

    • I considered this - I think in the common case though, this is probably not

      Yeah, given that the renderer doesn't block pages from doing it, we probably shouldn't kill the renderer if it happens.

  • File content/common/url_schemes.cc:

    • frame-src: 'none' makes an error page in a subframe not load without PlzNav

      Ack

To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
Gerrit-Change-Number: 580169
Gerrit-PatchSet: 13
Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
Gerrit-Reviewer: Mike West <mk...@chromium.org>
Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
Gerrit-CC: Commit Bot <commi...@chromium.org>
Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
Gerrit-Comment-Date: Tue, 08 Aug 2017 23:34:02 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: No

Alex Moshchuk (Gerrit)

unread,
Aug 9, 2017, 1:56:49 AM8/9/17
to apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Charlie Reis, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

Patch Set 13:

(4 comments)

Thanks-- almost set, but one more question. There's another set of registrations in RenderThreadImpl::RegisterSchemes(), and I'm wondering if we need to do either of the following?

 WebSecurityPolicy::RegisterURLSchemeAsDisplayIsolated
WebSecurityPolicy::RegisterURLSchemeAsNotAllowingJavascriptURLs

Oh, good find! I think RegisterURLSchemeAsDisplayIsolated makes sense here - I think this prevents a regular web page from embedding chrome-error:// in an iframe or image. Previously that was allowed and in fact opened the external protocol handler. I added this and also added some test coverage for it to NavigationToErrorURLIsDisallowed. I'll also see what trybots think about it.

I'm not certain about RegisterURLSchemeAsNotAllowingJavascriptURLs. This "protects privileged pages against bookmarklets and other javascript manipulations," but since chrome-error:// URLs aren't really privileged, we probably don't need this? (It's also plausible that some existing bookmarklets might run on errors, and this would break them.)

I'm curious what Mike has to say about both of these though, as he probably understands the context for both of these scheme lists much better. :)

View Change

1 comment:

    • Ah, thanks. Maybe it's worth mentioning in the test comment that it's here

      Done

To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
Gerrit-Change-Number: 580169
Gerrit-PatchSet: 13
Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
Gerrit-Reviewer: Mike West <mk...@chromium.org>
Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
Gerrit-CC: Commit Bot <commi...@chromium.org>
Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
Gerrit-Comment-Date: Wed, 09 Aug 2017 05:56:43 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: No

Mike West (Gerrit)

unread,
Aug 9, 2017, 3:52:09 AM8/9/17
to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Charlie Reis, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

Patch Set 13:

(1 comment)

Patch Set 13:

(4 comments)

Thanks-- almost set, but one more question. There's another set of registrations in RenderThreadImpl::RegisterSchemes(), and I'm wondering if we need to do either of the following?

 WebSecurityPolicy::RegisterURLSchemeAsDisplayIsolated
WebSecurityPolicy::RegisterURLSchemeAsNotAllowingJavascriptURLs

Oh, good find! I think RegisterURLSchemeAsDisplayIsolated makes sense here - I think this prevents a regular web page from embedding chrome-error:// in an iframe or image. Previously that was allowed and in fact opened the external protocol handler. I added this and also added some test coverage for it to NavigationToErrorURLIsDisallowed. I'll also see what trybots think about it.

I agree. If we can lock this down, that seems like a win.

I'm not certain about RegisterURLSchemeAsNotAllowingJavascriptURLs. This "protects privileged pages against bookmarklets and other javascript manipulations," but since chrome-error:// URLs aren't really privileged, we probably don't need this? (It's also plausible that some existing bookmarklets might run on errors, and this would break them.)

I'd recommend erring on the side of caution, and blocking bookmarklets from executing on error pages. I think we generally do a good job of not introducing interesting features on these pages (the most powerful thing I can think of is opting-into extended error reporting on interstitials, and I can imagine moving those to `chrome-error:`?), but if we consider them part of Chrome, we should prevent them from being modified.

View Change

    To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: comment
    Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
    Gerrit-Change-Number: 580169
    Gerrit-PatchSet: 14
    Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
    Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
    Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
    Gerrit-Reviewer: Mike West <mk...@chromium.org>
    Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
    Gerrit-CC: Commit Bot <commi...@chromium.org>
    Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
    Gerrit-Comment-Date: Wed, 09 Aug 2017 07:52:05 +0000
    Gerrit-HasComments: No
    Gerrit-HasLabels: No

    Charlie Reis (Gerrit)

    unread,
    Aug 9, 2017, 4:56:10 PM8/9/17
    to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

    Patch Set 14:

    Patch Set 13:

    (1 comment)

    Patch Set 13:

    (4 comments)

    Thanks-- almost set, but one more question. There's another set of registrations in RenderThreadImpl::RegisterSchemes(), and I'm wondering if we need to do either of the following?

     WebSecurityPolicy::RegisterURLSchemeAsDisplayIsolated
    WebSecurityPolicy::RegisterURLSchemeAsNotAllowingJavascriptURLs

    Oh, good find! I think RegisterURLSchemeAsDisplayIsolated makes sense here - I think this prevents a regular web page from embedding chrome-error:// in an iframe or image. Previously that was allowed and in fact opened the external protocol handler. I added this and also added some test coverage for it to NavigationToErrorURLIsDisallowed. I'll also see what trybots think about it.

    I agree. If we can lock this down, that seems like a win.

    Hmm, any idea why the try jobs are failing? I would hope we could include this restriction on iframes, etc.


    > I'm not certain about RegisterURLSchemeAsNotAllowingJavascriptURLs. This "protects privileged pages against bookmarklets and other javascript manipulations," but since chrome-error:// URLs aren't really privileged, we probably don't need this? (It's also plausible that some existing bookmarklets might run on errors, and this would break them.)

    I'd recommend erring on the side of caution, and blocking bookmarklets from executing on error pages. I think we generally do a good job of not introducing interesting features on these pages (the most powerful thing I can think of is opting-into extended error reporting on interstitials, and I can imagine moving those to `chrome-error:`?), but if we consider them part of Chrome, we should prevent them from being modified.

    I agree. It's probably not critical to prevent JS URLs, but it's more consistent with UI surfaces and probably worth locking down. Let's do it.

    Otherwise, looks good once we get the try bots happy.

    View Change

      To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: chromium/src
      Gerrit-Branch: master
      Gerrit-MessageType: comment
      Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
      Gerrit-Change-Number: 580169
      Gerrit-PatchSet: 14
      Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
      Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
      Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
      Gerrit-Reviewer: Mike West <mk...@chromium.org>
      Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
      Gerrit-CC: Commit Bot <commi...@chromium.org>
      Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
      Gerrit-Comment-Date: Wed, 09 Aug 2017 20:56:04 +0000
      Gerrit-HasComments: No
      Gerrit-HasLabels: No

      Alex Moshchuk (Gerrit)

      unread,
      Aug 10, 2017, 12:52:02 AM8/10/17
      to apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Charlie Reis, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

      Patch Set 14:

      Patch Set 14:

      Patch Set 13:

      (1 comment)

      Patch Set 13:

      (4 comments)

      Thanks-- almost set, but one more question. There's another set of registrations in RenderThreadImpl::RegisterSchemes(), and I'm wondering if we need to do either of the following?

       WebSecurityPolicy::RegisterURLSchemeAsDisplayIsolated
      WebSecurityPolicy::RegisterURLSchemeAsNotAllowingJavascriptURLs

      Oh, good find! I think RegisterURLSchemeAsDisplayIsolated makes sense here - I think this prevents a regular web page from embedding chrome-error:// in an iframe or image. Previously that was allowed and in fact opened the external protocol handler. I added this and also added some test coverage for it to NavigationToErrorURLIsDisallowed. I'll also see what trybots think about it.

      I agree. If we can lock this down, that seems like a win.

      Hmm, any idea why the try jobs are failing? I would hope we could include this restriction on iframes, etc.

      So the problem is with the two tests that try to do location.href="#" while on an error page. This is now failing with a "Not allowed to load local resource", because SecurityOrigin::CanDisplay() now returns false for "chrome-error://chromewebdata/#" while at chrome-error://chromewebdata/. :( This is because we've made chrome-error:// a unique origin, so the protocol_ in CanDisplay is empty, and it fails the protocol check after getting into the ShouldTreatURLSchemeAsDisplayIsolated clause.

      I guess some options are:
      1. Assume we can't do same-document navigations on error pages anymore and fix these tests.
      2. Don't use a unique origin for chrome-error:// and remove it from no_access_schemes.
      3. Don't use ShouldTreatURLSchemeAsDisplayIsolated.

      WDYT? 1 will prevent error pages from doing fragment navigations, which seems risky given https://crbug.com/557541 and https://codereview.chromium.org/1516623002, which suggest that existing error pages might actually need to do this.

      I'm not certain about RegisterURLSchemeAsNotAllowingJavascriptURLs. This "protects privileged pages against bookmarklets and other javascript manipulations," but since chrome-error:// URLs aren't really privileged, we probably don't need this? (It's also plausible that some existing bookmarklets might run on errors, and this would break them.)

      I'd recommend erring on the side of caution, and blocking bookmarklets from executing on error pages. I think we generally do a good job of not introducing interesting features on these pages (the most powerful thing I can think of is opting-into extended error reporting on interstitials, and I can imagine moving those to `chrome-error:`?), but if we consider them part of Chrome, we should prevent them from being modified.

      I agree. It's probably not critical to prevent JS URLs, but it's more consistent with UI surfaces and probably worth locking down. Let's do it.

      Done!

      View Change

        To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: comment
        Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
        Gerrit-Change-Number: 580169
        Gerrit-PatchSet: 15
        Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
        Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
        Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
        Gerrit-Reviewer: Mike West <mk...@chromium.org>
        Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
        Gerrit-CC: Commit Bot <commi...@chromium.org>
        Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
        Gerrit-Comment-Date: Thu, 10 Aug 2017 04:51:53 +0000
        Gerrit-HasComments: No
        Gerrit-HasLabels: No

        Charlie Reis (Gerrit)

        unread,
        Aug 10, 2017, 5:31:37 PM8/10/17
        to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

        Patch Set 15:

        Patch Set 14:

        Patch Set 14:

        Patch Set 13:

        (1 comment)

        Patch Set 13:

        (4 comments)

        Thanks-- almost set, but one more question. There's another set of registrations in RenderThreadImpl::RegisterSchemes(), and I'm wondering if we need to do either of the following?

         WebSecurityPolicy::RegisterURLSchemeAsDisplayIsolated
        WebSecurityPolicy::RegisterURLSchemeAsNotAllowingJavascriptURLs

        Oh, good find! I think RegisterURLSchemeAsDisplayIsolated makes sense here - I think this prevents a regular web page from embedding chrome-error:// in an iframe or image. Previously that was allowed and in fact opened the external protocol handler. I added this and also added some test coverage for it to NavigationToErrorURLIsDisallowed. I'll also see what trybots think about it.

        I agree. If we can lock this down, that seems like a win.

        Hmm, any idea why the try jobs are failing? I would hope we could include this restriction on iframes, etc.

        So the problem is with the two tests that try to do location.href="#" while on an error page. This is now failing with a "Not allowed to load local resource", because SecurityOrigin::CanDisplay() now returns false for "chrome-error://chromewebdata/#" while at chrome-error://chromewebdata/. :( This is because we've made chrome-error:// a unique origin, so the protocol_ in CanDisplay is empty, and it fails the protocol check after getting into the ShouldTreatURLSchemeAsDisplayIsolated clause.

        I guess some options are:
        1. Assume we can't do same-document navigations on error pages anymore and fix these tests.
        2. Don't use a unique origin for chrome-error:// and remove it from no_access_schemes.
        3. Don't use ShouldTreatURLSchemeAsDisplayIsolated.

        WDYT? 1 will prevent error pages from doing fragment navigations, which seems risky given https://crbug.com/557541 and https://codereview.chromium.org/1516623002, which suggest that existing error pages might actually need to do this.

        This is a tough call. I don't know of the case that error pages need to do same-document navigations, but I can see that that bug seems to imply it's needed. I'm super hesitant to drop the unique origin aspect (since we have a unique origin for them today with data URLs). That sounds like we can't mark it as display isolated?

        Would there be some other way to prevent web pages from iframing error page URLs directly? (If not, maybe we have to live with that.)


        > > > I'm not certain about RegisterURLSchemeAsNotAllowingJavascriptURLs. This "protects privileged pages against bookmarklets and other javascript manipulations," but since chrome-error:// URLs aren't really privileged, we probably don't need this? (It's also plausible that some existing bookmarklets might run on errors, and this would break them.)
        > >
        > > I'd recommend erring on the side of caution, and blocking bookmarklets from executing on error pages. I think we generally do a good job of not introducing interesting features on these pages (the most powerful thing I can think of is opting-into extended error reporting on interstitials, and I can imagine moving those to `chrome-error:`?), but if we consider them part of Chrome, we should prevent them from being modified.
        >
        > I agree. It's probably not critical to prevent JS URLs, but it's more consistent with UI surfaces and probably worth locking down. Let's do it.

        Done!

        View Change

          To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: chromium/src
          Gerrit-Branch: master
          Gerrit-MessageType: comment
          Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
          Gerrit-Change-Number: 580169
          Gerrit-PatchSet: 15
          Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
          Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
          Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
          Gerrit-Reviewer: Mike West <mk...@chromium.org>
          Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
          Gerrit-CC: Commit Bot <commi...@chromium.org>
          Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
          Gerrit-Comment-Date: Thu, 10 Aug 2017 21:31:32 +0000
          Gerrit-HasComments: No
          Gerrit-HasLabels: No

          Mike West (Gerrit)

          unread,
          Aug 11, 2017, 5:11:11 AM8/11/17
          to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Charlie Reis, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

          I guess some options are:
          1. Assume we can't do same-document navigations on error pages anymore and fix these tests.
          2. Don't use a unique origin for chrome-error:// and remove it from no_access_schemes.
          3. Don't use ShouldTreatURLSchemeAsDisplayIsolated.

          WDYT? 1 will prevent error pages from doing fragment navigations, which seems risky given https://crbug.com/557541 and https://codereview.chromium.org/1516623002, which suggest that existing error pages might actually need to do this.

          I'd suggest that we try #1. The comments on https://bugs.chromium.org/p/chromium/issues/detail?id=557541#c14 seem to indicate that same-page fragment navigation is unexpected, and since we've revamped our error page style since then, it's worth trying to lock things down even with this restriction as a side-effect.

          #2 is something I'd like to avoid doing without a lot more thought about what it would mean for every error page to have the same origin.

          #3 is an option, but if we can get away with #1, I'd prefer it. If we ship #1 and it explodes, #3 seems like a reasonable outcome.

          View Change

            To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
            Gerrit-Change-Number: 580169
            Gerrit-PatchSet: 15
            Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
            Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
            Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
            Gerrit-Reviewer: Mike West <mk...@chromium.org>
            Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
            Gerrit-CC: Commit Bot <commi...@chromium.org>
            Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
            Gerrit-Comment-Date: Fri, 11 Aug 2017 09:11:06 +0000
            Gerrit-HasComments: No
            Gerrit-HasLabels: No

            Alex Moshchuk (Gerrit)

            unread,
            Aug 11, 2017, 7:21:58 PM8/11/17
            to Mike West, Charlie Reis, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, devtools...@chromium.org, chromium...@chromium.org, John Abd-El-Malek, Commit Bot

            Alex Moshchuk uploaded patch set #18 to this change.

            View Change

            Change error pages to use a new chrome-error:// scheme.

            This CL changes error pages to use chrome-error://chromewebdata/
            instead of data:text/html,chromewebdata.

            This has the benefit that error pages won't inherit CSP from their
            parent/opener. Previously, when a page defined a CSP and then ended
            up loading an error page in a subframe, the error page might've been
            broken by the parent's CSP, since, for example, it needs to execute
            inline scripts. This could result in the error page not showing up
            correctly and/or false CSP reports being sent.

            The new scheme is marked as secure and as requiring an opaque origin
            to match previous behavior.

            Web pages used to be able to directly load the error URL, which just
            showed up as "chromewebdata". With this change, navigating to the
            error URL would bring up the external protocol dialog instead, so this
            CL prevents renderers from directly navigating to or redirecting to
            error URLs.

            Additionally, chrome-error:// is registered as a display-isolated
            scheme, so that regular web pages can't embed the error URL in an
            iframe or image, and as a scheme that does not allow javascript URL
            manipulation, which is consistent with other pages considered to be
            part of Chrome. If either of these new restrictions ends up being
            problematic, we should revisit them in
            RenderThreadImpl::RegisterSchemes().


            In the future, it's possible to further utilize the host/path portion
            of the URL to identify different kinds of error pages.

            Bug: 703801
            Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation
            Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
            ---
            M chrome/browser/chrome_navigation_browsertest.cc
            M chrome/browser/extensions/window_open_apitest.cc
            M chrome/browser/net/errorpage_browsertest.cc

            M chrome/test/chromedriver/chrome/navigation_tracker.cc
            M chrome/test/chromedriver/test/run_py_tests.py
            M chrome/test/chromedriver/window_commands.cc
            A chrome/test/data/empty_with_404.html
            A chrome/test/data/empty_with_404.html.mock-http-headers
            A chrome/test/data/page_with_csp_and_error_iframe.html
            M content/browser/child_process_security_policy_impl.cc
            M content/browser/child_process_security_policy_unittest.cc
            M content/browser/frame_host/render_frame_host_impl.cc
            M content/common/url_schemes.cc
            M content/public/common/url_constants.cc
            M content/public/common/url_constants.h
            M content/renderer/render_thread_impl.cc
            M third_party/WebKit/LayoutTests/inspector-protocol/page/frameNavigatedToUnreachableUrl-expected.txt
            M third_party/WebKit/LayoutTests/inspector/console/console-context-selector-expected.txt
            M third_party/WebKit/Source/core/exported/WebFrameTest.cpp
            19 files changed, 182 insertions(+), 28 deletions(-)

            To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: newpatchset
            Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
            Gerrit-Change-Number: 580169
            Gerrit-PatchSet: 18

            Alex Moshchuk (Gerrit)

            unread,
            Aug 11, 2017, 7:38:43 PM8/11/17
            to apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Matt Menke, Mike West, Charlie Reis, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

            Patch Set 15:

            I guess some options are:
            1. Assume we can't do same-document navigations on error pages anymore and fix these tests.
            2. Don't use a unique origin for chrome-error:// and remove it from no_access_schemes.
            3. Don't use ShouldTreatURLSchemeAsDisplayIsolated.

            WDYT? 1 will prevent error pages from doing fragment navigations, which seems risky given https://crbug.com/557541 and https://codereview.chromium.org/1516623002, which suggest that existing error pages might actually need to do this.

            I'd suggest that we try #1. The comments on https://bugs.chromium.org/p/chromium/issues/detail?id=557541#c14 seem to indicate that same-page fragment navigation is unexpected, and since we've revamped our error page style since then, it's worth trying to lock things down even with this restriction as a side-effect.

            #2 is something I'd like to avoid doing without a lot more thought about what it would mean for every error page to have the same origin.

            #3 is an option, but if we can get away with #1, I'd prefer it. If we ship #1 and it explodes, #3 seems like a reasonable outcome.

            Thanks for the feedback! I agree that #1 is most desirable, so let's try it and fall back to #3 if we end up breaking any error page behavior. I looked at the net error code a bit more and couldn't find any use of same-document navigations.

            The errorpage test fixes are pretty easy -- just a modification to the way the test waits for the hash navigation: previously, it relied on TestNavigationObserver catching DidFinishLoad, which doesn't happen anymore. Instead of this, I just use content::WaitForLoadStop, which should return right away in the expected case where there's no navigation to wait for. The auto-reload behavior, etc that these tests are checking doesn't change, as I think this ignored fragment navigations even when they were allowed.

            +mmenke: are you ok with these changes to errorpage_browsertest.cc? Do you know any other context about fragment navigations on error pages, other than what's in https://crbug.com/557541?

            View Change

              To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

              Gerrit-Project: chromium/src
              Gerrit-Branch: master
              Gerrit-MessageType: comment
              Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
              Gerrit-Change-Number: 580169
              Gerrit-PatchSet: 18
              Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
              Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
              Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
              Gerrit-Reviewer: Matt Menke <mme...@chromium.org>
              Gerrit-Reviewer: Mike West <mk...@chromium.org>
              Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
              Gerrit-CC: Commit Bot <commi...@chromium.org>
              Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
              Gerrit-Comment-Date: Fri, 11 Aug 2017 23:38:31 +0000
              Gerrit-HasComments: No
              Gerrit-HasLabels: No

              Matt Menke (Gerrit)

              unread,
              Aug 11, 2017, 11:58:38 PM8/11/17
              to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Mike West, Charlie Reis, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

              Patch Set 15:

              I guess some options are:
              1. Assume we can't do same-document navigations on error pages anymore and fix these tests.
              2. Don't use a unique origin for chrome-error:// and remove it from no_access_schemes.
              3. Don't use ShouldTreatURLSchemeAsDisplayIsolated.

              WDYT? 1 will prevent error pages from doing fragment navigations, which seems risky given https://crbug.com/557541 and https://codereview.chromium.org/1516623002, which suggest that existing error pages might actually need to do this.

              I'd suggest that we try #1. The comments on https://bugs.chromium.org/p/chromium/issues/detail?id=557541#c14 seem to indicate that same-page fragment navigation is unexpected, and since we've revamped our error page style since then, it's worth trying to lock things down even with this restriction as a side-effect.

              #2 is something I'd like to avoid doing without a lot more thought about what it would mean for every error page to have the same origin.

              #3 is an option, but if we can get away with #1, I'd prefer it. If we ship #1 and it explodes, #3 seems like a reasonable outcome.

              We've run into crashes before because some things are apparently doing same page navigations with error pages. I'm not sure what things are, but at one point, the error page had a racy crash bug in those cases, and we did indeed get crash reports about it (Though no user reports about the crashes).

              View Change

                To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

                Gerrit-Project: chromium/src
                Gerrit-Branch: master
                Gerrit-MessageType: comment
                Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
                Gerrit-Change-Number: 580169
                Gerrit-PatchSet: 18
                Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
                Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
                Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
                Gerrit-Reviewer: Matt Menke <mme...@chromium.org>
                Gerrit-Reviewer: Mike West <mk...@chromium.org>
                Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
                Gerrit-CC: Commit Bot <commi...@chromium.org>
                Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
                Gerrit-Comment-Date: Sat, 12 Aug 2017 03:58:35 +0000
                Gerrit-HasComments: No
                Gerrit-HasLabels: No

                Nasko Oskov (Gerrit)

                unread,
                Aug 14, 2017, 5:45:48 PM8/14/17
                to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Matt Menke, Mike West, Charlie Reis, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

                LGTM!

                Patch set 18:Code-Review +1

                View Change

                2 comments:

                To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

                Gerrit-Project: chromium/src
                Gerrit-Branch: master
                Gerrit-MessageType: comment
                Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
                Gerrit-Change-Number: 580169
                Gerrit-PatchSet: 18
                Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
                Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
                Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
                Gerrit-Reviewer: Matt Menke <mme...@chromium.org>
                Gerrit-Reviewer: Mike West <mk...@chromium.org>
                Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
                Gerrit-CC: Commit Bot <commi...@chromium.org>
                Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
                Gerrit-Comment-Date: Mon, 14 Aug 2017 21:45:41 +0000
                Gerrit-HasComments: Yes
                Gerrit-HasLabels: Yes

                Charlie Reis (Gerrit)

                unread,
                Aug 14, 2017, 5:57:07 PM8/14/17
                to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Matt Menke, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

                Sounds like there's a chance #1 might break things, but we don't have examples and we're not sure. If you're willing to keep an eye out for any bugs that arise, I'm ok with giving it a try, since it's certainly the most desirable option for proceeding. LGTM if you want to give that a try.

                Patch set 18:Code-Review +1

                View Change

                  To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

                  Gerrit-Project: chromium/src
                  Gerrit-Branch: master
                  Gerrit-MessageType: comment
                  Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
                  Gerrit-Change-Number: 580169
                  Gerrit-PatchSet: 18
                  Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
                  Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
                  Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
                  Gerrit-Reviewer: Matt Menke <mme...@chromium.org>
                  Gerrit-Reviewer: Mike West <mk...@chromium.org>
                  Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
                  Gerrit-CC: Commit Bot <commi...@chromium.org>
                  Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
                  Gerrit-Comment-Date: Mon, 14 Aug 2017 21:57:03 +0000
                  Gerrit-HasComments: No
                  Gerrit-HasLabels: Yes

                  Alex Moshchuk (Gerrit)

                  unread,
                  Aug 14, 2017, 6:10:57 PM8/14/17
                  to apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Devlin, John Chen, Charlie Reis, Matt Menke, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

                  Thanks everyone for the reviews! Adding OWNERS:

                  rdevlin.cronin@: for chrome/browser/extensions/window_open_apitest.cc
                  mmenke@: for errorpage_browsertest.cc
                  johnchen@: for chrome/test/chromedriver/

                  Sounds like there's a chance #1 might break things, but we don't have examples and we're not sure. If you're willing to keep an eye out for any bugs that arise, I'm ok with giving it a try, since it's certainly the most desirable option for proceeding. LGTM if you want to give that a try.

                  Yes, I vote for giving #1 a try. I'll watch out for any bugs and fall back to #3 if needed (which should be easy).

                  View Change

                    To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

                    Gerrit-Project: chromium/src
                    Gerrit-Branch: master
                    Gerrit-MessageType: comment
                    Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
                    Gerrit-Change-Number: 580169
                    Gerrit-PatchSet: 18
                    Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
                    Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
                    Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
                    Gerrit-Reviewer: Devlin <rdevlin...@chromium.org>
                    Gerrit-Reviewer: John Chen <john...@chromium.org>
                    Gerrit-Reviewer: Matt Menke <mme...@chromium.org>
                    Gerrit-Reviewer: Mike West <mk...@chromium.org>
                    Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
                    Gerrit-CC: Commit Bot <commi...@chromium.org>
                    Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
                    Gerrit-Comment-Date: Mon, 14 Aug 2017 22:10:49 +0000
                    Gerrit-HasComments: No
                    Gerrit-HasLabels: No

                    John Chen (Gerrit)

                    unread,
                    Aug 15, 2017, 2:36:23 PM8/15/17
                    to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Shuotao Gao, Devlin, Charlie Reis, Matt Menke, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

                    ChromeDriver changes LGTM.
                    Shuotao: Could you PTAL? Thanks.

                    View Change

                      To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

                      Gerrit-Project: chromium/src
                      Gerrit-Branch: master
                      Gerrit-MessageType: comment
                      Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
                      Gerrit-Change-Number: 580169
                      Gerrit-PatchSet: 18
                      Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
                      Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
                      Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
                      Gerrit-Reviewer: Devlin <rdevlin...@chromium.org>
                      Gerrit-Reviewer: John Chen <john...@chromium.org>
                      Gerrit-Reviewer: Matt Menke <mme...@chromium.org>
                      Gerrit-Reviewer: Mike West <mk...@chromium.org>
                      Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
                      Gerrit-Reviewer: Shuotao Gao <st...@chromium.org>
                      Gerrit-CC: Commit Bot <commi...@chromium.org>
                      Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
                      Gerrit-Comment-Date: Tue, 15 Aug 2017 18:36:17 +0000
                      Gerrit-HasComments: No
                      Gerrit-HasLabels: No

                      Devlin (Gerrit)

                      unread,
                      Aug 15, 2017, 3:08:59 PM8/15/17
                      to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Shuotao Gao, John Chen, Charlie Reis, Matt Menke, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

                      extensions lgtm!

                      Patch set 18:Code-Review +1

                      View Change

                        To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

                        Gerrit-Project: chromium/src
                        Gerrit-Branch: master
                        Gerrit-MessageType: comment
                        Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
                        Gerrit-Change-Number: 580169
                        Gerrit-PatchSet: 18
                        Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
                        Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
                        Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
                        Gerrit-Reviewer: Devlin <rdevlin...@chromium.org>
                        Gerrit-Reviewer: John Chen <john...@chromium.org>
                        Gerrit-Reviewer: Matt Menke <mme...@chromium.org>
                        Gerrit-Reviewer: Mike West <mk...@chromium.org>
                        Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
                        Gerrit-Reviewer: Shuotao Gao <st...@chromium.org>
                        Gerrit-CC: Commit Bot <commi...@chromium.org>
                        Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
                        Gerrit-Comment-Date: Tue, 15 Aug 2017 19:08:55 +0000
                        Gerrit-HasComments: No
                        Gerrit-HasLabels: Yes

                        John Chen (Gerrit)

                        unread,
                        Aug 15, 2017, 3:18:20 PM8/15/17
                        to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Devlin, Shuotao Gao, Charlie Reis, Matt Menke, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

                        Just thought of an issue: ChromeDriver needs to be backward compatible with older versions of Chrome, so in the two ChromeDriver C++ files, it is necessary to compare the URL against both the old and new string.

                        View Change

                          To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

                          Gerrit-Project: chromium/src
                          Gerrit-Branch: master
                          Gerrit-MessageType: comment
                          Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
                          Gerrit-Change-Number: 580169
                          Gerrit-PatchSet: 18
                          Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
                          Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
                          Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
                          Gerrit-Reviewer: Devlin <rdevlin...@chromium.org>
                          Gerrit-Reviewer: John Chen <john...@chromium.org>
                          Gerrit-Reviewer: Matt Menke <mme...@chromium.org>
                          Gerrit-Reviewer: Mike West <mk...@chromium.org>
                          Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
                          Gerrit-Reviewer: Shuotao Gao <st...@chromium.org>
                          Gerrit-CC: Commit Bot <commi...@chromium.org>
                          Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
                          Gerrit-Comment-Date: Tue, 15 Aug 2017 19:18:17 +0000
                          Gerrit-HasComments: No
                          Gerrit-HasLabels: No

                          Shuotao Gao (Gerrit)

                          unread,
                          Aug 15, 2017, 3:22:25 PM8/15/17
                          to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, John Chen, Devlin, Charlie Reis, Matt Menke, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

                          ChromeDriver LGTM

                          Patch set 18:Code-Review +1

                          View Change

                            To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

                            Gerrit-Project: chromium/src
                            Gerrit-Branch: master
                            Gerrit-MessageType: comment
                            Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
                            Gerrit-Change-Number: 580169
                            Gerrit-PatchSet: 18
                            Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
                            Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
                            Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
                            Gerrit-Reviewer: Devlin <rdevlin...@chromium.org>
                            Gerrit-Reviewer: John Chen <john...@chromium.org>
                            Gerrit-Reviewer: Matt Menke <mme...@chromium.org>
                            Gerrit-Reviewer: Mike West <mk...@chromium.org>
                            Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
                            Gerrit-Reviewer: Shuotao Gao <st...@chromium.org>
                            Gerrit-CC: Commit Bot <commi...@chromium.org>
                            Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
                            Gerrit-Comment-Date: Tue, 15 Aug 2017 19:22:21 +0000
                            Gerrit-HasComments: No
                            Gerrit-HasLabels: Yes

                            Alex Moshchuk (Gerrit)

                            unread,
                            Aug 15, 2017, 8:38:06 PM8/15/17
                            to apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Shuotao Gao, John Chen, Devlin, Charlie Reis (OOO Aug 17-24), Matt Menke, Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

                            Patch Set 18:

                            Just thought of an issue: ChromeDriver needs to be backward compatible with older versions of Chrome, so in the two ChromeDriver C++ files, it is necessary to compare the URL against both the old and new string.

                            Thanks for the feedback. I've changed ChromeDriver to track both URLs in PS19 - please take a look.

                            View Change

                              To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

                              Gerrit-Project: chromium/src
                              Gerrit-Branch: master
                              Gerrit-MessageType: comment
                              Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
                              Gerrit-Change-Number: 580169
                              Gerrit-PatchSet: 19
                              Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
                              Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
                              Gerrit-Reviewer: Charlie Reis (OOO Aug 17-24) <cr...@chromium.org>
                              Gerrit-Reviewer: Devlin <rdevlin...@chromium.org>
                              Gerrit-Reviewer: John Chen <john...@chromium.org>
                              Gerrit-Reviewer: Matt Menke <mme...@chromium.org>
                              Gerrit-Reviewer: Mike West <mk...@chromium.org>
                              Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
                              Gerrit-Reviewer: Shuotao Gao <st...@chromium.org>
                              Gerrit-CC: Commit Bot <commi...@chromium.org>
                              Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
                              Gerrit-Comment-Date: Wed, 16 Aug 2017 00:38:00 +0000
                              Gerrit-HasComments: No
                              Gerrit-HasLabels: No

                              Matt Menke (Gerrit)

                              unread,
                              Aug 16, 2017, 10:49:36 AM8/16/17
                              to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Shuotao Gao, John Chen, Devlin, Charlie Reis (OOO Aug 17-24), Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

                              Patch set 19:Code-Review +1

                              View Change

                                To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

                                Gerrit-Project: chromium/src
                                Gerrit-Branch: master
                                Gerrit-MessageType: comment
                                Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
                                Gerrit-Change-Number: 580169
                                Gerrit-PatchSet: 19
                                Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
                                Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
                                Gerrit-Reviewer: Charlie Reis (OOO Aug 17-24) <cr...@chromium.org>
                                Gerrit-Reviewer: Devlin <rdevlin...@chromium.org>
                                Gerrit-Reviewer: John Chen <john...@chromium.org>
                                Gerrit-Reviewer: Matt Menke <mme...@chromium.org>
                                Gerrit-Reviewer: Mike West <mk...@chromium.org>
                                Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
                                Gerrit-Reviewer: Shuotao Gao <st...@chromium.org>
                                Gerrit-CC: Commit Bot <commi...@chromium.org>
                                Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
                                Gerrit-Comment-Date: Wed, 16 Aug 2017 14:49:33 +0000
                                Gerrit-HasComments: No
                                Gerrit-HasLabels: Yes

                                John Chen (Gerrit)

                                unread,
                                Aug 16, 2017, 11:35:40 AM8/16/17
                                to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, Matt Menke, Shuotao Gao, Devlin, Charlie Reis (OOO Aug 17-24), Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

                                ChromeDriver changes LGTM. Thanks!

                                Gerrit-Comment-Date: Wed, 16 Aug 2017 15:35:30 +0000
                                Gerrit-HasComments: No
                                Gerrit-HasLabels: No

                                Alex Moshchuk (Gerrit)

                                unread,
                                Aug 16, 2017, 12:10:31 PM8/16/17
                                to apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, John Chen, Matt Menke, Shuotao Gao, Devlin, Charlie Reis (OOO Aug 17-24), Mike West, devtools...@chromium.org, Commit Bot, chromium...@chromium.org, John Abd-El-Malek

                                Patch set 19:Commit-Queue +2

                                Gerrit-Comment-Date: Wed, 16 Aug 2017 16:10:26 +0000
                                Gerrit-HasComments: No
                                Gerrit-HasLabels: Yes

                                Commit Bot (Gerrit)

                                unread,
                                Aug 16, 2017, 12:20:09 PM8/16/17
                                to Alex Moshchuk, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, cbentze...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, mlamouri+wa...@chromium.org, nasko+c...@chromium.org, net-r...@chromium.org, pfeldma...@chromium.org, kinuko...@chromium.org, platform-architect...@chromium.org, blink-revi...@chromium.org, John Chen, Matt Menke, Shuotao Gao, Devlin, Charlie Reis (OOO Aug 17-24), Mike West, devtools...@chromium.org, chromium...@chromium.org, John Abd-El-Malek

                                Commit Bot merged this change.

                                View Change

                                Approvals: Charlie Reis (OOO Aug 17-24): Looks good to me Nasko Oskov: Looks good to me Shuotao Gao: Looks good to me Devlin: Looks good to me Matt Menke: Looks good to me Mike West: Looks good to me Alex Moshchuk: Commit
                                Reviewed-on: https://chromium-review.googlesource.com/580169
                                Reviewed-by: Matt Menke <mme...@chromium.org>
                                Reviewed-by: Nasko Oskov <na...@chromium.org>
                                Reviewed-by: Charlie Reis (OOO Aug 17-24) <cr...@chromium.org>
                                Reviewed-by: Devlin <rdevlin...@chromium.org>
                                Reviewed-by: Shuotao Gao <st...@chromium.org>
                                Reviewed-by: Mike West <mk...@chromium.org>
                                Commit-Queue: Alex Moshchuk <ale...@chromium.org>
                                Cr-Commit-Position: refs/heads/master@{#494809}

                                ---
                                M chrome/browser/chrome_navigation_browsertest.cc
                                M chrome/browser/extensions/window_open_apitest.cc
                                M chrome/browser/net/errorpage_browsertest.cc
                                M chrome/test/chromedriver/chrome/navigation_tracker.cc
                                M chrome/test/chromedriver/test/run_py_tests.py
                                M chrome/test/chromedriver/window_commands.cc
                                A chrome/test/data/empty_with_404.html
                                A chrome/test/data/empty_with_404.html.mock-http-headers
                                A chrome/test/data/page_with_csp_and_error_iframe.html
                                M content/browser/child_process_security_policy_impl.cc
                                M content/browser/child_process_security_policy_unittest.cc
                                M content/browser/frame_host/render_frame_host_impl.cc
                                M content/common/url_schemes.cc
                                M content/public/common/url_constants.cc
                                M content/public/common/url_constants.h
                                M content/renderer/render_thread_impl.cc
                                M third_party/WebKit/LayoutTests/inspector-protocol/page/frameNavigatedToUnreachableUrl-expected.txt
                                M third_party/WebKit/LayoutTests/inspector/console/console-context-selector-expected.txt
                                M third_party/WebKit/Source/core/exported/WebFrameTest.cpp
                                19 files changed, 198 insertions(+), 30 deletions(-)


                                To view, visit change 580169. To unsubscribe, or for help writing mail filters, visit settings.

                                Gerrit-Project: chromium/src
                                Gerrit-Branch: master
                                Gerrit-MessageType: merged
                                Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
                                Gerrit-Change-Number: 580169
                                Gerrit-PatchSet: 20
                                Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
                                Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
                                Gerrit-Reviewer: Charlie Reis (OOO Aug 17-24) <cr...@chromium.org>
                                Gerrit-Reviewer: Commit Bot <commi...@chromium.org>
                                Gerrit-Reviewer: Devlin <rdevlin...@chromium.org>
                                Gerrit-Reviewer: John Chen <john...@chromium.org>
                                Gerrit-Reviewer: Matt Menke <mme...@chromium.org>
                                Gerrit-Reviewer: Mike West <mk...@chromium.org>
                                Gerrit-Reviewer: Nasko Oskov <na...@chromium.org>
                                Gerrit-Reviewer: Shuotao Gao <st...@chromium.org>

                                Jules Acer

                                unread,
                                Apr 15, 2018, 10:24:28 AM4/15/18
                                to Extensions reviews, apavlo...@chromium.org, blink-...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, dari...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, devtools...@chromium.org, chromium...@chromium.org, j...@chromium.org, commi...@chromium.org, ale...@chromium.org, na...@chromium.org, noreply-gerritcoderevie...@chromium.org
                                On Wednesday, July 26, 2017 at 9:57:16 AM UTC+9, Alex Moshchuk (Gerrit) wrote:
                                > Alex Moshchuk uploaded patch set #6 to this change.
                                > View ChangeChange error pages to use a new chrome-error:// scheme.

                                >
                                > This CL changes error pages to use chrome-error://chromewebdata/ instead
                                > of data:text/html,chromewebdata.
                                >
                                > This has the benefit that error pages won't inherit CSP from their
                                > creator. Previously, when a page defined a CSP and then ended up

                                > loading an error page in a subframe, the error page might've been
                                > broken by the parent's CSP, since, for example, it needed to execute

                                > inline scripts. This could result in the error page not showing up
                                > correctly and false CSP reports being sent.
                                >
                                > Bug: 703801
                                > Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
                                > ---
                                > M chrome/browser/extensions/window_open_apitest.cc

                                > M chrome/test/chromedriver/chrome/navigation_tracker.cc
                                > M chrome/test/chromedriver/test/run_py_tests.py
                                > M chrome/test/chromedriver/window_commands.cc
                                > M content/common/url_schemes.cc
                                > M content/public/common/url_constants.cc
                                > M content/public/common/url_constants.h
                                > M third_party/WebKit/LayoutTests/inspector-protocol/page/frameNavigatedToUnreachableUrl-expected.txt
                                > M third_party/WebKit/LayoutTests/inspector/console/console-context-selector-expected.txt
                                > M third_party/WebKit/Source/web/tests/WebFrameTest.cpp
                                > 10 files changed, 22 insertions(+), 18 deletions(-)
                                >
                                >
                                > To view, visit change 580169. To unsubscribe, visit settings.
                                >
                                >
                                >
                                >
                                > Gerrit-Project: chromium/src
                                >
                                > Gerrit-Branch: master
                                >
                                > Gerrit-MessageType: newpatchset
                                >
                                > Gerrit-Change-Id: I45fa0aa157523450c33c6464f96414ff742e8604
                                >
                                > Gerrit-Change-Number: 580169
                                >
                                > Gerrit-PatchSet: 6
                                >
                                > Gerrit-Owner: Alex Moshchuk <ale...@chromium.org>
                                >
                                > Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
                                >
                                > Gerrit-CC: Commit Bot <commi...@chromium.org>
                                >
                                > Gerrit-CC: John Abd-El-Malek <j...@chromium.org>
                                >
                                > Gerrit-CC: Nasko Oskov <na...@chromium.org>
                                >
                                > Gerrit-CC: chromium...@chromium.org
                                >
                                > Gerrit-CC: devtools...@chromium.org

                                chadhamilto...@gmail.com

                                unread,
                                Jun 18, 2019, 8:58:01 AM6/18/19
                                to Blink Reviews, apavlo...@chromium.org, caseq...@chromium.org, chromium-a...@chromium.org, dari...@chromium.org, extension...@chromium.org, johnche...@chromium.org, kinuko...@chromium.org, kozyatins...@chromium.org, lushnik...@chromium.org, pfeldma...@chromium.org, platform-architect...@chromium.org, devtools...@chromium.org, chromium...@chromium.org, j...@chromium.org, commi...@chromium.org, ale...@chromium.org, na...@chromium.org, noreply-gerritcoderevie...@chromium.org
                                Oh wow. I have been complaining and filing tickets about this for about 5 years.. Just to find out they were all on a made up Community site.  I have information on this.. One is that it has to do with bad clock and lid switch.  I know that a powerwash is supposed to fix all right??  well, my chromebooks do not powerwash they Repair themselves.  Riddle me that.  Anyways I also believe it has something to do with com.qualcomm.atfwd.  Because that is on every phone I get and corrupted.  These hackers have been stalking me for 5 years and it all started when  I was given a Lenovo Laptop on Dec 24, 2014.  Just try to image that.. EVERY MINUTE of EVERY HOUR for the last 5 years I have been messed with.. It may be as small as making me switch my passwords to every account or maybe they can get me fired from job NUMBER 6.  Because what they do is get into the database at my employer, corrupt, switch clients information, making me look incompetent. Or they could hang up my phone calls or destroy every relationship by disrupting communication, not letting texts go through or calls.  They have driven me to 3 suicide attempts.\
                                Reply all
                                Reply to author
                                Forward
                                0 new messages