Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4c6b9faccbfd9a2672adc2fe6220ae66f53a1f09
      
https://github.com/WebKit/WebKit/commit/4c6b9faccbfd9a2672adc2fe6220ae66f53a1f09
  Author: Chris Dumez <cdu...@apple.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm

  Log Message:
  -----------
  REGRESSION(282394@main): [ Ventura ] Flaky ASSERTION FAILED: 
!users.contains(pageID) on 
TestWebKitAPI.ProcessSwap.ConcurrentHistoryNavigations
https://bugs.webkit.org/show_bug.cgi?id=280371
<rdar://136716513>

Reviewed by Ben Nham.

The test would start a cross-site provisional load while a previous cross-site 
provisional
load was already going on. This meant that WebPageProxy::m_provisionalPage was 
already
set when constructing a new ProvisionalPageProxy object. As a result, we would 
temporarily
have 2 ProvisionalPageProxy for the same page and using the same process. This 
would cause
us to hit an assertion in WebProcessProxy::addVisitedLinkStoreUser() because 
the page is
already registered.

To address the issue, make sure the previous ProvisionalPageProxy object gets 
destroyed
*before* we construct the new one.

* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::continueNavigationInNewProcess):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
((ProcessSwap, ConcurrentHistoryNavigations)):
((ProcessSwap, DISABLED_ConcurrentHistoryNavigations)(ProcessSwap, 
ConcurrentHistoryNavigations)): Deleted.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to