diff --git a/chrome/browser/actor/actor_navigation_throttle.cc b/chrome/browser/actor/actor_navigation_throttle.cc --- a/chrome/browser/actor/actor_navigation_throttle.cc +++ b/chrome/browser/actor/actor_navigation_throttle.cc @@ -193,7 +193,13 @@ ActorNavigationThrottle::WillStartOrRedirectRequest(bool is_redirection) { AggregatedJournal& journal = GetJournal(); - if (!is_redirection && !initiator_origin) { + // A null initiator_origin is not a reliable signal for "not triggered by the + // page". A renderer-initiated history traversal (history.back()/go()) to a + // session-history entry that was originally browser-initiated inherits that + // entry's null initiator_origin even though IsRendererInitiated() is true + // (see NavigationHandle::GetInitiatorOrigin documentation). + if (!is_redirection && !initiator_origin && + !navigation_handle()->IsRendererInitiated()) { journal.Log(navigation_url, task_id_, "NavThrottle", JournalDetailsBuilder() .Add("navigate", "Not triggered by page")