Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 484a4fe7b14f08bae1bdccd3e68309bc1ec1ef38
      
https://github.com/WebKit/WebKit/commit/484a4fe7b14f08bae1bdccd3e68309bc1ec1ef38
  Author: Timothy Hatcher <timo...@apple.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm
    M 
Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPICookiesCocoa.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h

  Log Message:
  -----------
  Safari crashes at WebKit::WebExtensionContext::openInspectors.
https://webkit.org/b/273560
rdar://127189700

Reviewed by Brian Weinstein.

Add a null check for _WKInspector befor tryign to get API::Inspector from it.

Also moved extensionHasAccess() check to openWindows() and openTabs(), so the
caller does not need to do it. A extensionHasAccess() check was missing in
the openInspectors() loop of openTabs().

Also skip extra work with early returns for !hasInspectorBackgroundPage().

Finally, adopt WTF::compactMap and WTF::map() more.

* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm:
(-[_WKWebExtensionContext openWindows]): Pass IgnoreExtensionAccess::Yes since 
API should see all.
(-[_WKWebExtensionContext openTabs]): Ditto.
* 
Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPICookiesCocoa.mm:
(WebKit::WebExtensionContext::cookiesGetAllCookieStores):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm:
(WebKit::WebExtensionContext::openWindows const):
(WebKit::WebExtensionContext::openTabs const):
(WebKit::WebExtensionContext::openInspectors const):
(WebKit::WebExtensionContext::loadedInspectors const):
(WebKit::WebExtensionContext::inspectorExtension const):
(WebKit::WebExtensionContext::inspector const):
(WebKit::WebExtensionContext::processes const):
(WebKit::WebExtensionContext::isInspectorBackgroundPage const):
(WebKit::WebExtensionContext::isDevToolsMessageAllowed): Removed #ifdef since 
this method
is already guarded by it.
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:

Canonical link: https://commits.webkit.org/278239@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