|
|
Created:
4 years, 5 months ago by Charlie Reis Modified:
4 years, 5 months ago CC:
chromium-reviews, tyoshino+watch_chromium.org, creis+watch_chromium.org, nasko+codewatch_chromium.org, jam, loading-reviews_chromium.org, darin-cc_chromium.org, gavinp+loader_chromium.org, blink-reviews, Nate Chapin, site-isolation-reviews_chromium.org Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionClear provisional item on all server redirects.
Whether a redirect is cross-origin or not, the result will be a new
document and should not reuse the provisional HistoryItem during a
back/forward navigation.
BUG=585194
TBR=clamy
TEST=http/tests/navigation/back-to-redirect-with-frame.php
in --isolate-sites-for-testing mode.
Committed: https://crrev.com/235cc0c8888421ab2c621bac62bd3a2bc6297d05
Cr-Commit-Position: refs/heads/master@{#406861}
Patch Set 1 #Patch Set 2 : Re-enable layout test. #Patch Set 3 : Add browser test. #
Total comments: 3
Patch Set 4 : Remove conditional. #
Total comments: 8
Patch Set 5 : Fix Nasko's comments #Patch Set 6 : Disable test for PlzNavigate. #
Messages
Total messages: 50 (31 generated)
Description was changed from ========== Clear provisional item on all server redirects. Whether a redirect is cross-origin or not, the result will be a new document and should not reuse the provisional HistoryItem during a back/forward navigation. BUG=585194 TEST=http/tests/navigation/back-to-redirect-with-frame.php in --isolate-sites-for-testing mode. ========== to ========== Clear provisional item on all server redirects. Whether a redirect is cross-origin or not, the result will be a new document and should not reuse the provisional HistoryItem during a back/forward navigation. BUG=585194 TEST=http/tests/navigation/back-to-redirect-with-frame.php in --isolate-sites-for-testing mode. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ==========
The CQ bit was checked by creis@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by creis@chromium.org
The CQ bit was checked by creis@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by creis@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
creis@chromium.org changed reviewers: + japhet@chromium.org, nasko@chromium.org
Nate, can you review the fix in FrameLoader.cpp? It affects your fix for https://crbug.com/500554 (https://codereview.chromium.org/1175113009/), where I'm not sure why it was limited to cross-origin redirects. Nasko, can you review the browser test? It's basically the same as https://codereview.chromium.org/2136873002/, except same-origin (which catches this case and matters in the original layout test). https://codereview.chromium.org/2159093002/diff/40001/third_party/WebKit/Sour... File third_party/WebKit/Source/core/loader/FrameLoader.cpp (left): https://codereview.chromium.org/2159093002/diff/40001/third_party/WebKit/Sour... third_party/WebKit/Source/core/loader/FrameLoader.cpp:362: if (m_provisionalItem && !SecurityOrigin::create(m_provisionalItem->url())->isSameSchemeHostPort(SecurityOrigin::create(newURL).get())) Nate, why was this restricted to cross-origin redirects? Even same-origin redirects wouldn't want to reuse things from the previous HistoryItem, like scroll position, form state, DSN (affecting whether it's in-page or not), etc.
I don't remember why I limited it to cross-origin, either. If the tests are happy, then LGTM. https://codereview.chromium.org/2159093002/diff/40001/third_party/WebKit/Sour... File third_party/WebKit/Source/core/loader/FrameLoader.cpp (right): https://codereview.chromium.org/2159093002/diff/40001/third_party/WebKit/Sour... third_party/WebKit/Source/core/loader/FrameLoader.cpp:362: if (m_provisionalItem) Nit: the if() isn't really necessary here.
Thanks! https://codereview.chromium.org/2159093002/diff/40001/third_party/WebKit/Sour... File third_party/WebKit/Source/core/loader/FrameLoader.cpp (right): https://codereview.chromium.org/2159093002/diff/40001/third_party/WebKit/Sour... third_party/WebKit/Source/core/loader/FrameLoader.cpp:362: if (m_provisionalItem) On 2016/07/20 17:42:27, Nate Chapin wrote: > Nit: the if() isn't really necessary here. Done.
The CQ bit was checked by creis@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
LGTM with a few nits. https://codereview.chromium.org/2159093002/diff/60001/content/browser/frame_h... File content/browser/frame_host/navigation_controller_impl_browsertest.cc (right): https://codereview.chromium.org/2159093002/diff/60001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl_browsertest.cc:3188: GURL blank_url(url::kAboutBlankURL); nit: This isn't needed until 3225. It will be more readable closer to usage or at the beginning of the test. https://codereview.chromium.org/2159093002/diff/60001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl_browsertest.cc:3216: // 4. Go back. The first iframe should redirect to a cross-site page with a nit: same-origin page? https://codereview.chromium.org/2159093002/diff/60001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl_browsertest.cc:3220: shell()->web_contents()->GetController().GoBack(); nit: controller.GoBack()? https://codereview.chromium.org/2159093002/diff/60001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl_browsertest.cc:3258: shell()->web_contents()->GetController().GoBack(); nit: controller.GoBack()?
Thanks! https://codereview.chromium.org/2159093002/diff/60001/content/browser/frame_h... File content/browser/frame_host/navigation_controller_impl_browsertest.cc (right): https://codereview.chromium.org/2159093002/diff/60001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl_browsertest.cc:3188: GURL blank_url(url::kAboutBlankURL); On 2016/07/20 18:16:39, nasko wrote: > nit: This isn't needed until 3225. It will be more readable closer to usage or > at the beginning of the test. Done. https://codereview.chromium.org/2159093002/diff/60001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl_browsertest.cc:3216: // 4. Go back. The first iframe should redirect to a cross-site page with a On 2016/07/20 18:16:39, nasko wrote: > nit: same-origin page? Done. https://codereview.chromium.org/2159093002/diff/60001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl_browsertest.cc:3220: shell()->web_contents()->GetController().GoBack(); On 2016/07/20 18:16:39, nasko wrote: > nit: controller.GoBack()? Done. https://codereview.chromium.org/2159093002/diff/60001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl_browsertest.cc:3258: shell()->web_contents()->GetController().GoBack(); On 2016/07/20 18:16:39, nasko wrote: > nit: controller.GoBack()? Done.
The CQ bit was checked by creis@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from japhet@chromium.org, nasko@chromium.org Link to the patchset: https://codereview.chromium.org/2159093002/#ps80001 (title: "Fix Nasko's comments")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
Description was changed from ========== Clear provisional item on all server redirects. Whether a redirect is cross-origin or not, the result will be a new document and should not reuse the provisional HistoryItem during a back/forward navigation. BUG=585194 TEST=http/tests/navigation/back-to-redirect-with-frame.php in --isolate-sites-for-testing mode. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ========== to ========== Clear provisional item on all server redirects. Whether a redirect is cross-origin or not, the result will be a new document and should not reuse the provisional HistoryItem during a back/forward navigation. BUG=585194 TBR=clamy TEST=http/tests/navigation/back-to-redirect-with-frame.php in --isolate-sites-for-testing mode. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ==========
creis@chromium.org changed reviewers: + clamy@chromium.org
TBR'ing clamy@ for disabling the new test in PlzNavigate, as we did for https://codereview.chromium.org/2136873002/. We'll likely need to fix something else in PlzNavigate to get these tests to pass there.
The CQ bit was checked by creis@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from japhet@chromium.org, nasko@chromium.org Link to the patchset: https://codereview.chromium.org/2159093002/#ps100001 (title: "Disable test for PlzNavigate.")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by creis@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by creis@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
Description was changed from ========== Clear provisional item on all server redirects. Whether a redirect is cross-origin or not, the result will be a new document and should not reuse the provisional HistoryItem during a back/forward navigation. BUG=585194 TBR=clamy TEST=http/tests/navigation/back-to-redirect-with-frame.php in --isolate-sites-for-testing mode. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ========== to ========== Clear provisional item on all server redirects. Whether a redirect is cross-origin or not, the result will be a new document and should not reuse the provisional HistoryItem during a back/forward navigation. BUG=585194 TBR=clamy TEST=http/tests/navigation/back-to-redirect-with-frame.php in --isolate-sites-for-testing mode. ==========
The CQ bit was checked by creis@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by creis@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Clear provisional item on all server redirects. Whether a redirect is cross-origin or not, the result will be a new document and should not reuse the provisional HistoryItem during a back/forward navigation. BUG=585194 TBR=clamy TEST=http/tests/navigation/back-to-redirect-with-frame.php in --isolate-sites-for-testing mode. ========== to ========== Clear provisional item on all server redirects. Whether a redirect is cross-origin or not, the result will be a new document and should not reuse the provisional HistoryItem during a back/forward navigation. BUG=585194 TBR=clamy TEST=http/tests/navigation/back-to-redirect-with-frame.php in --isolate-sites-for-testing mode. ==========
Message was sent while issue was closed.
Committed patchset #6 (id:100001)
Message was sent while issue was closed.
Description was changed from ========== Clear provisional item on all server redirects. Whether a redirect is cross-origin or not, the result will be a new document and should not reuse the provisional HistoryItem during a back/forward navigation. BUG=585194 TBR=clamy TEST=http/tests/navigation/back-to-redirect-with-frame.php in --isolate-sites-for-testing mode. ========== to ========== Clear provisional item on all server redirects. Whether a redirect is cross-origin or not, the result will be a new document and should not reuse the provisional HistoryItem during a back/forward navigation. BUG=585194 TBR=clamy TEST=http/tests/navigation/back-to-redirect-with-frame.php in --isolate-sites-for-testing mode. Committed: https://crrev.com/235cc0c8888421ab2c621bac62bd3a2bc6297d05 Cr-Commit-Position: refs/heads/master@{#406861} ==========
Message was sent while issue was closed.
Patchset 6 (id:??) landed as https://crrev.com/235cc0c8888421ab2c621bac62bd3a2bc6297d05 Cr-Commit-Position: refs/heads/master@{#406861} |