Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e7898844fe5a7ac2ccc907df169803ed6fad3399
https://github.com/WebKit/WebKit/commit/e7898844fe5a7ac2ccc907df169803ed6fad3399
Author: Alex Christensen <[email protected]>
Date: 2022-09-17 (Sat, 17 Sep 2022)
Changed paths:
M Source/WebKit/Shared/WebUserContentControllerDataTypes.cpp
M Source/WebKit/Shared/WebUserContentControllerDataTypes.h
M Source/WebKit/UIProcess/UserContent/WebScriptMessageHandler.cpp
M Source/WebKit/UIProcess/UserContent/WebScriptMessageHandler.h
M Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp
Log Message:
-----------
REGRESSION (iOS 16 Beta): Crash adding / removing ScriptMessageHandlers to
WKUserContentController
https://bugs.webkit.org/show_bug.cgi?id=243343
Reviewed by Chris Dumez.
250289@main made WebScriptMessageHandler.m_name an AtomString instead of a
String.
This makes it easier for the UI process to crash because of corrupted
AtomString tables
due to either misusing APIs on background threads or constructing a JSContext
before initializing threading,
which then calls SmallStrings::initializeCommonStrings in the VM constructor.
Unfortunately TestWebKitAPI initializes threading in the TestsController
constructor before starting any test code,
so we don't have CI infrastructure that can prevent regressions like this right
now.
I did, however, verify that the example app WKWebViewBridgeCrashJSContext
asserts every time and crashes sometimes
before this fix but not after.
* Source/WebKit/Shared/WebUserContentControllerDataTypes.cpp:
(WebKit::WebScriptMessageHandlerData::decode):
* Source/WebKit/Shared/WebUserContentControllerDataTypes.h:
* Source/WebKit/UIProcess/UserContent/WebScriptMessageHandler.cpp:
(WebKit::WebScriptMessageHandler::create):
(WebKit::WebScriptMessageHandler::WebScriptMessageHandler):
* Source/WebKit/UIProcess/UserContent/WebScriptMessageHandler.h:
(WebKit::WebScriptMessageHandler::name const):
* Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserContentController::addUserScriptMessageHandlers):
Canonical link: https://commits.webkit.org/254599@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes