Commit 700c510b authored by Simon Pelchat's avatar Simon Pelchat Committed by Commit Bot

Check if the page transition is forward/back before reload.

Some navigations are both forward/back and reload. As far as
page_end_reason is concerned, these should be considered as history
navigations.

Most "true" reloads result in the user loading the same URL again (e.g.
pull-to-refresh or preview opt-out button). By contrast, navigations
that are both forward/back and reload navigations usually result in
loading a different URL.

Bug: 991741
Change-Id: Iac70ec0b62f6b9bd228419d127ae338ebb4ff5b4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1743129Reviewed-by: default avatarBryan McQuade <bmcquade@chromium.org>
Commit-Queue: Simon Pelchat <spelchat@chromium.org>
Cr-Commit-Position: refs/heads/master@{#686617}
parent e82443a8
......@@ -81,10 +81,13 @@ PageEndReason EndReasonForPageTransition(ui::PageTransition transition) {
if (transition & ui::PAGE_TRANSITION_CLIENT_REDIRECT) {
return END_CLIENT_REDIRECT;
}
if (ui::PageTransitionCoreTypeIs(transition, ui::PAGE_TRANSITION_RELOAD))
return END_RELOAD;
// Check for forward/back navigations first since there are forward/back
// navigations that haved PAGE_TRANSITION_RELOAD but are not user reloads
// (pull-to-refresh or preview opt-out).
if (transition & ui::PAGE_TRANSITION_FORWARD_BACK)
return END_FORWARD_BACK;
if (ui::PageTransitionCoreTypeIs(transition, ui::PAGE_TRANSITION_RELOAD))
return END_RELOAD;
if (ui::PageTransitionIsNewNavigation(transition))
return END_NEW_NAVIGATION;
NOTREACHED()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment