[webkit-changes] [WebKit/WebKit] 5f3191: Safari hangs for 650ms to 1100ms in WebKit::WebExt...

Timothy Hatcher noreply at github.com
Tue Jun 11 16:30:49 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5f3191a6ba07ef36bdc3b6fea7a7b944cf07fd16
      https://github.com/WebKit/WebKit/commit/5f3191a6ba07ef36bdc3b6fea7a7b944cf07fd16
  Author: Timothy Hatcher <timothy at apple.com>
  Date:   2024-06-11 (Tue, 11 Jun 2024)

  Changed paths:
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionTabCocoa.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionTab.h

  Log Message:
  -----------
  Safari hangs for 650ms to 1100ms in WebKit::WebExtensionWindow::tabs(WebKit::WebExtensionWindow::SkipValidation).
https://webkit.org/b/275378
rdar://129456659

Reviewed by Brian Weinstein.

The validation added in e1a34394bf94 to check if the tab tab was contained in the window
ended up being recursive with how it is called multiple times, and per tab when opening
a new window that has a lot of tabs. Just remove this validation, since it isn't needed.

* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm:
(WebKit::WebExtensionContext::didCloseTab): Drop SkipValidation::Yes param.
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionTabCocoa.mm:
(WebKit::WebExtensionTab::window const): Remove validation.
(WebKit::WebExtensionTab::isActive const): Drop SkipValidation::Yes param.
(WebKit::WebExtensionTab::isPrivate const): Ditto.
* Source/WebKit/UIProcess/Extensions/WebExtensionTab.h:

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list