[webkit-changes] [WebKit/WebKit] c6859d: bankofamerica.com - Loading icon still present whe...

Chris Dumez noreply at github.com
Mon Aug 14 22:33:58 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c6859d32429f4a49a12a23def78015821824b05d
      https://github.com/WebKit/WebKit/commit/c6859d32429f4a49a12a23def78015821824b05d
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-08-14 (Mon, 14 Aug 2023)

  Changed paths:
    M Source/WebCore/page/Quirks.cpp

  Log Message:
  -----------
  bankofamerica.com - Loading icon still present when navigating back after failing log in
https://bugs.webkit.org/show_bug.cgi?id=260082
rdar://104938789

Reviewed by Brent Fulgham.

On bankofamerica.com, if you attempt to log in with invalid credential and then
navigate back, the "log in" will still be shown as "Loading ...".

The reason this happens is that the page changes the "Log in" button text to
"Loading ..." right before the navigation but fails to reset it on "pagehide"
or "pageshow" event. Safari successfully caches the page in the back/forward
cache and thus the page still shows "Loading ..." after the back navigation.

The issue doesn't reproduce in Chrome because they do not cache pages as
aggressively as we do. In particular, they do not cache pages that have an
"unload" event handler, like this page. Safari has been caching such pages
for years.

Since this is a content issue that could easily be addressed by the site
developers, I am addressing this with a quirk. If we detect this particular
"sign in" button with the "loading" class on bankofamerica.com, and if the
page has an "unload" event handler, we now prevent the page from going into
the cache.

* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::shouldBypassBackForwardCache const):

Canonical link: https://commits.webkit.org/266898@main




More information about the webkit-changes mailing list