|
|
Chromium Code Reviews
DescriptionFix the page's SSL status not being set on restore.
This regressed in r415186.
Also fix it for same page navigations (i.e. user pressing enter in omnibox) since the URL might change there if the server redirects.
BUG=642838
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
Committed: https://crrev.com/d208b90ce731f26eaadf615e082b269d753ba2d3
Cr-Commit-Position: refs/heads/master@{#415977}
Patch Set 1 #Patch Set 2 : add regression test and fix failing tests from initial patch #
Total comments: 6
Patch Set 3 : review comments #Patch Set 4 : add same page fix and test #
Total comments: 2
Messages
Total messages: 33 (23 generated)
Description was changed from ========== Fix the page's SSL status not being set on restore. This regressed in r415186. ========== to ========== Fix the page's SSL status not being set on restore. This regressed in r415186. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ==========
The CQ bit was checked by jam@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: 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_...)
The CQ bit was checked by jam@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...
jam@chromium.org changed reviewers: + nasko@chromium.org
Description was changed from ========== Fix the page's SSL status not being set on restore. This regressed in r415186. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ========== to ========== Fix the page's SSL status not being set on restore. This regressed in r415186. BUG=598073, 504347 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ==========
https://codereview.chromium.org/2299843002/diff/20001/chrome/browser/ssl/ssl_... File chrome/browser/ssl/ssl_browser_tests.cc (right): https://codereview.chromium.org/2299843002/diff/20001/chrome/browser/ssl/ssl_... chrome/browser/ssl/ssl_browser_tests.cc:3136: NavigationEntry* entry = tab->GetController().GetActiveEntry(); GetLastCommittedEntry(). GetActiveEntry is deprecated. https://codereview.chromium.org/2299843002/diff/20001/content/browser/frame_h... File content/browser/frame_host/navigation_controller_impl.cc (right): https://codereview.chromium.org/2299843002/diff/20001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl.cc:1193: entry->GetSSL() = handle->ssl_status(); I think we might need this to happen also in RendererDidNavigateToSamePage. It is called when the user presses enter in the omnibox. However, if the server does a redirect to different URL, we still will go through there. This happens in cases where the user session has expired and the server redirects to the login page.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
https://codereview.chromium.org/2299843002/diff/20001/chrome/browser/ssl/ssl_... File chrome/browser/ssl/ssl_browser_tests.cc (right): https://codereview.chromium.org/2299843002/diff/20001/chrome/browser/ssl/ssl_... chrome/browser/ssl/ssl_browser_tests.cc:3136: NavigationEntry* entry = tab->GetController().GetActiveEntry(); On 2016/09/01 01:35:29, nasko (slow) wrote: > GetLastCommittedEntry(). GetActiveEntry is deprecated. Done. https://codereview.chromium.org/2299843002/diff/20001/content/browser/frame_h... File content/browser/frame_host/navigation_controller_impl.cc (right): https://codereview.chromium.org/2299843002/diff/20001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl.cc:1193: entry->GetSSL() = handle->ssl_status(); On 2016/09/01 01:35:29, nasko (slow) wrote: > I think we might need this to happen also in RendererDidNavigateToSamePage. It > is called when the user presses enter in the omnibox. However, if the server > does a redirect to different URL, we still will go through there. This happens > in cases where the user session has expired and the server redirects to the > login page. I tried pressing enter in the omnibox and it goes through RendererDidNavigateToSamePage, however the SSL certificate is correct in that case (since the previous one is used). Do you mean something else?
The CQ bit was checked by jam@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: Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
Description was changed from ========== Fix the page's SSL status not being set on restore. This regressed in r415186. BUG=598073, 504347 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ========== to ========== Fix the page's SSL status not being set on restore. This regressed in r415186. BUG=642838 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ==========
https://codereview.chromium.org/2299843002/diff/20001/content/browser/frame_h... File content/browser/frame_host/navigation_controller_impl.cc (right): https://codereview.chromium.org/2299843002/diff/20001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl.cc:1193: entry->GetSSL() = handle->ssl_status(); On 2016/09/01 02:58:56, jam wrote: > On 2016/09/01 01:35:29, nasko (slow) wrote: > > I think we might need this to happen also in RendererDidNavigateToSamePage. It > > is called when the user presses enter in the omnibox. However, if the server > > does a redirect to different URL, we still will go through there. This happens > > in cases where the user session has expired and the server redirects to the > > login page. > > I tried pressing enter in the omnibox and it goes through > RendererDidNavigateToSamePage, however the SSL certificate is correct in that > case (since the previous one is used). Do you mean something else? They key part is for the server to do a redirect. Similar test exists in content/ https://cs.chromium.org/chromium/src/content/browser/frame_host/navigation_co..., though it doesn't test SSL state, maybe we can add those checks there? In general, is there a good reason not to do this at RendererDidNavigate generically? Maybe around here - https://cs.chromium.org/chromium/src/content/browser/frame_host/navigation_co....
The CQ bit was checked by jam@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...
https://codereview.chromium.org/2299843002/diff/20001/content/browser/frame_h... File content/browser/frame_host/navigation_controller_impl.cc (right): https://codereview.chromium.org/2299843002/diff/20001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl.cc:1193: entry->GetSSL() = handle->ssl_status(); On 2016/09/01 06:27:55, nasko (slow) wrote: > On 2016/09/01 02:58:56, jam wrote: > > On 2016/09/01 01:35:29, nasko (slow) wrote: > > > I think we might need this to happen also in RendererDidNavigateToSamePage. > It > > > is called when the user presses enter in the omnibox. However, if the server > > > does a redirect to different URL, we still will go through there. This > happens > > > in cases where the user session has expired and the server redirects to the > > > login page. > > > > I tried pressing enter in the omnibox and it goes through > > RendererDidNavigateToSamePage, however the SSL certificate is correct in that > > case (since the previous one is used). Do you mean something else? > > They key part is for the server to do a redirect. Similar test exists in > content/ > https://cs.chromium.org/chromium/src/content/browser/frame_host/navigation_co..., > though it doesn't test SSL state, maybe we can add those checks there? Got it, thanks. Ok I added a test and a fix. > > In general, is there a good reason not to do this at RendererDidNavigate > generically? Maybe around here - > https://cs.chromium.org/chromium/src/content/browser/frame_host/navigation_co.... Yep I agree that would be the easiest. However the previous change that added this code already couldn't do it in all the codepaths of RendererDidNavigateToNewPage. Then this fix couldn't do it in all codepaths of RendererDidNavigateToExistingPage either (see patchset 1 which initially tried this, but there were test failures).
LGTM https://codereview.chromium.org/2299843002/diff/60001/content/browser/frame_h... File content/browser/frame_host/navigation_controller_impl.cc (right): https://codereview.chromium.org/2299843002/diff/60001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl.cc:1271: existing_entry->GetSSL() = rfh->navigation_handle()->ssl_status(); Just out of curiousity, does the new test you added fail without this?
Description was changed from ========== Fix the page's SSL status not being set on restore. This regressed in r415186. BUG=642838 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ========== to ========== Fix the page's SSL status not being set on restore. This regressed in r415186. Also fix it for same page navigations (i.e. user pressing enter in omnibox) since the URL might change there if the server redirects. BUG=642838 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ==========
https://codereview.chromium.org/2299843002/diff/60001/content/browser/frame_h... File content/browser/frame_host/navigation_controller_impl.cc (right): https://codereview.chromium.org/2299843002/diff/60001/content/browser/frame_h... content/browser/frame_host/navigation_controller_impl.cc:1271: existing_entry->GetSSL() = rfh->navigation_handle()->ssl_status(); On 2016/09/01 15:48:45, nasko (slow) wrote: > Just out of curiousity, does the new test you added fail without this? of course :)
The CQ bit was unchecked by jam@chromium.org
The CQ bit was checked by jam@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 ========== Fix the page's SSL status not being set on restore. This regressed in r415186. Also fix it for same page navigations (i.e. user pressing enter in omnibox) since the URL might change there if the server redirects. BUG=642838 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ========== to ========== Fix the page's SSL status not being set on restore. This regressed in r415186. Also fix it for same page navigations (i.e. user pressing enter in omnibox) since the URL might change there if the server redirects. BUG=642838 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ==========
Message was sent while issue was closed.
Committed patchset #4 (id:60001)
Message was sent while issue was closed.
Description was changed from ========== Fix the page's SSL status not being set on restore. This regressed in r415186. Also fix it for same page navigations (i.e. user pressing enter in omnibox) since the URL might change there if the server redirects. BUG=642838 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ========== to ========== Fix the page's SSL status not being set on restore. This regressed in r415186. Also fix it for same page navigations (i.e. user pressing enter in omnibox) since the URL might change there if the server redirects. BUG=642838 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/d208b90ce731f26eaadf615e082b269d753ba2d3 Cr-Commit-Position: refs/heads/master@{#415977} ==========
Message was sent while issue was closed.
Patchset 4 (id:??) landed as https://crrev.com/d208b90ce731f26eaadf615e082b269d753ba2d3 Cr-Commit-Position: refs/heads/master@{#415977} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
