[webkit-changes] [292900] trunk/Source/WebCore
Title: [292900] trunk/Source/WebCore Revision 292900 Author z...@falconsigh.net Date 2022-04-14 22:54:49 -0700 (Thu, 14 Apr 2022) Log Message Unreviewed build fix for GTK and WPE. * platform/graphics/gbm/DMABufFormat.h: Add a missing header include. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/gbm/DMABufFormat.h Diff Modified: trunk/Source/WebCore/ChangeLog (292899 => 292900) --- trunk/Source/WebCore/ChangeLog 2022-04-15 05:44:28 UTC (rev 292899) +++ trunk/Source/WebCore/ChangeLog 2022-04-15 05:54:49 UTC (rev 292900) @@ -1,3 +1,9 @@ +2022-04-14 Zan Dobersek + +Unreviewed build fix for GTK and WPE. + +* platform/graphics/gbm/DMABufFormat.h: Add a missing header include. + 2022-04-14 Chris Dumez Use WebCoreBuiltinNames when possible Modified: trunk/Source/WebCore/platform/graphics/gbm/DMABufFormat.h (292899 => 292900) --- trunk/Source/WebCore/platform/graphics/gbm/DMABufFormat.h 2022-04-15 05:44:28 UTC (rev 292899) +++ trunk/Source/WebCore/platform/graphics/gbm/DMABufFormat.h 2022-04-15 05:54:49 UTC (rev 292900) @@ -26,6 +26,7 @@ #pragma once +#include #include #include ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292899] trunk/Source/WebCore
Title: [292899] trunk/Source/WebCore Revision 292899 Author cdu...@apple.com Date 2022-04-14 22:44:28 -0700 (Thu, 14 Apr 2022) Log Message Use WebCoreBuiltinNames when possible https://bugs.webkit.org/show_bug.cgi?id=239361 Reviewed by Yusuke Suzuki. Use WebCoreBuiltinNames when possible to avoid unnecessary calls to Identifier::fromString(). This is more efficient. * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::addBuiltinGlobals): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): * bindings/js/JSDOMSetLike.cpp: (WebCore::getBackingSet): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::initStaticGlobals): (WebCore::JSDOMWindowBase::finishCreation): (WebCore::JSDOMWindowBase::updateDocument): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::put): (WebCore::addCrossOriginPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::put): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::put): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStream::lock): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::setupModuleScriptHandlers): * bindings/js/ScriptModuleLoader.cpp: (WebCore::rejectToPropagateNetworkError): (WebCore::rejectWithFetchError): * bindings/js/WebCoreBuiltinNames.h: * bindings/js/WebCoreJSClientData.h: (WebCore::webCoreBuiltinNames): * bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): * bindings/scripts/test/JS/JSDOMWindow.cpp: (WebCore::JSDOMWindow::finishCreation): * bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp: (WebCore::JSTestConditionallyReadWritePrototype::finishCreation): (WebCore::JSTestConditionallyReadWrite::finishCreation): * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySetting::finishCreation): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::JSTestEnabledForContext::finishCreation): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::JSTestGlobalObject::finishCreation): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::JSTestObjPrototype::finishCreation): * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): * testing/Internals.cpp: (WebCore::Internals::cloneArrayBuffer): * workers/WorkerOrWorkletScriptController.cpp: (WebCore::WorkerOrWorkletScriptController::loadModuleSynchronously): (WebCore::WorkerOrWorkletScriptController::loadAndEvaluateModule): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp trunk/Source/WebCore/bindings/js/JSDOMMapLike.cpp trunk/Source/WebCore/bindings/js/JSDOMSetLike.cpp trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp trunk/Source/WebCore/bindings/js/JSEventListener.cpp trunk/Source/WebCore/bindings/js/JSLocationCustom.cpp trunk/Source/WebCore/bindings/js/JSRemoteDOMWindowCustom.cpp trunk/Source/WebCore/bindings/js/ReadableStream.cpp trunk/Source/WebCore/bindings/js/ScriptController.cpp trunk/Source/WebCore/bindings/js/ScriptModuleLoader.cpp trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h trunk/Source/WebCore/bindings/js/WebCoreJSClientData.h trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm trunk/Source/WebCore/bindings/scripts/test/JS/JSDOMWindow.cpp trunk/Source/WebCore/bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEnabledBySetting.cpp trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEnabledForContext.cpp trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp trunk/Source/WebCore/html/HTMLMediaElement.cpp trunk/Source/WebCore/testing/Internals.cpp trunk/Source/WebCore/workers/WorkerOrWorkletScriptController.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (292898 => 292899) --- trunk/Source/WebCore/ChangeLog 2022-04-15 01:45:58 UTC (rev 292898) +++ trunk/Source/WebCore/ChangeLog 2022-04-15 05:44:28 UTC (rev 292899) @@ -1,3 +1,76 @@ +2022-04-14 Chris Dumez + +Use WebCoreBuiltinNames when possible +https://bugs.webkit.org/show_bug.cgi?id=239361 + +Reviewed by Yusuke Suzuki. + +Use WebCoreBuiltinNames when possible to avoid unnecessary calls to Identifier::fromString(). +This is more efficient. + +
[webkit-changes] [292898] trunk
Title: [292898] trunk Revision 292898 Author wenson_hs...@apple.com Date 2022-04-14 18:45:58 -0700 (Thu, 14 Apr 2022) Log Message Undo option after invoking "Markup Image" says "Undo Paste" https://bugs.webkit.org/show_bug.cgi?id=239351 rdar://91647863 Reviewed by Darin Adler. Source/WebCore: Add plumbing to allow a caller of `Editor::replaceNodeFromPasteboard` to specify an `EditAction` for the editing command that is not just `EditAction::Paste`, and use it to supply a more specific edit action type of `MarkupImage` in the case where "Markup Image" is used to replace an image element with other image data. This allows the undo/redo title to be more accurate than simply "Undo/Redo Paste". Test: ImageAnalysisTests.PerformImageAnalysisMarkup * dom/TextEvent.cpp: (WebCore::TextEvent::createForPlainTextPaste): (WebCore::TextEvent::createForFragmentPaste): (WebCore::TextEvent::TextEvent): * dom/TextEvent.h: * dom/TextEventInputType.h: Introduce TextEventInputMarkup. This is used to preserve the fact that a `TextEvent` was triggered via "Markup Image" as opposed to a regular "Paste" command, when plumbing this event object through DOM event propagation code. Once it reenters editing code, we consult this type to re-map this event to `EditAction::MarkupImage` if appropriate. I opted for this (slightly more roundabout) approach to prevent a potential layering violation, due to TextEvent otherwise knowing about `EditAction`. * editing/EditAction.cpp: (WebCore::undoRedoLabel): * editing/EditAction.h: Introduce EditAction::MarkupImage. Additionally, alphabetically sort these enum types. * editing/Editor.cpp: (WebCore::Editor::handleTextEvent): (WebCore::Editor::pasteAsFragment): (WebCore::Editor::replaceSelectionWithFragment): * editing/Editor.h: * editing/cocoa/EditorCocoa.mm: (WebCore::Editor::replaceNodeFromPasteboard): Add an `EditAction` argument; by default, this is `EditAction::Paste`. * en.lproj/Localizable.strings: Add a new localized string to represent the name of the "Markup Image" item, for the purposes of setting the Redo/Undo action title. Source/WebKit: Rename `replaceWithPasteboardData` to the more specific `replaceImageWithMarkupResults`. This method was introduced (and is currently only used) to drive image replacement using "Markup Image"; giving this method a more specific name allows us to hard-code `EditAction::MarkupImage` when calling into Editor to carry out the replacement editing action in `WebPage::replaceImageWithMarkupResults`. See WebCore/ChangeLog for additional details. * UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::replaceImageWithMarkupResults): (WebKit::WebPageProxy::replaceWithPasteboardData): Deleted. * UIProcess/WebPageProxy.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView imageAnalysisMarkupMenu]): * UIProcess/mac/WebContextMenuProxyMac.mm: (WebKit::WebContextMenuProxyMac::applyMarkupToControlledImage): * WebProcess/WebPage/Cocoa/WebPageCocoa.mm: (WebKit::WebPage::replaceImageWithMarkupResults): (WebKit::WebPage::replaceWithPasteboardData): Deleted. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: Tools: Augment an existing API test to verify that the resulting undo action title after invoking "Markup Image" is not "Undo Paste". * TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm: (TestWebKitAPI::TEST): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/TextEvent.cpp trunk/Source/WebCore/dom/TextEvent.h trunk/Source/WebCore/dom/TextEventInputType.h trunk/Source/WebCore/editing/EditAction.cpp trunk/Source/WebCore/editing/EditAction.h trunk/Source/WebCore/editing/Editor.cpp trunk/Source/WebCore/editing/Editor.h trunk/Source/WebCore/editing/cocoa/EditorCocoa.mm trunk/Source/WebCore/en.lproj/Localizable.strings trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm trunk/Source/WebKit/UIProcess/WebPageProxy.h trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm trunk/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm trunk/Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm trunk/Source/WebKit/WebProcess/WebPage/WebPage.h trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm Diff Modified: trunk/Source/WebCore/ChangeLog (292897 => 292898) --- trunk/Source/WebCore/ChangeLog 2022-04-15 00:27:35 UTC (rev 292897) +++ trunk/Source/WebCore/ChangeLog 2022-04-15 01:45:58 UTC (rev 292898) @@ -1,3 +1,54 @@ +2022-04-14 Wenson Hsieh + +Undo option after invoking "Markup Image" says "Undo Paste" +https://bugs.webkit.org/show_bug.cgi?id=239351 +rdar://91647863 + +Reviewed by Darin Adler. + +Add plumbing to allow a caller of `Editor::replaceNodeFromPasteboard` to specify an `EditAction` for the editing +command that is not just `EditAction::Paste`, and use it to supply a more specific edit
[webkit-changes] [292897] trunk/LayoutTests
Title: [292897] trunk/LayoutTests Revision 292897 Author matteo_flo...@apple.com Date 2022-04-14 17:27:35 -0700 (Thu, 14 Apr 2022) Log Message EXPECTATIONS: [ Monterey wk2 ] 7 /paymentrequest/* tests are constant text failures https://bugs.webkit.org/show_bug.cgi?id=238908 Unreviewed test gardening. * TestExpectations: * platform/ios-wk2/TestExpectations: * platform/mac-wk2/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/platform/ios-wk2/TestExpectations trunk/LayoutTests/platform/mac-wk2/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (292896 => 292897) --- trunk/LayoutTests/ChangeLog 2022-04-15 00:21:17 UTC (rev 292896) +++ trunk/LayoutTests/ChangeLog 2022-04-15 00:27:35 UTC (rev 292897) @@ -1,3 +1,14 @@ +2022-04-14 Matteo Flores + +EXPECTATIONS: [ Monterey wk2 ] 7 /paymentrequest/* tests are constant text failures +https://bugs.webkit.org/show_bug.cgi?id=238908 + +Unreviewed test gardening. + +* TestExpectations: +* platform/ios-wk2/TestExpectations: +* platform/mac-wk2/TestExpectations: + 2022-04-14 Caitlin Potter [JSC] ShadowRealm global object has a mutable prototype Modified: trunk/LayoutTests/TestExpectations (292896 => 292897) --- trunk/LayoutTests/TestExpectations 2022-04-15 00:21:17 UTC (rev 292896) +++ trunk/LayoutTests/TestExpectations 2022-04-15 00:27:35 UTC (rev 292897) @@ -2941,15 +2941,6 @@ webkit.org/b/169625 imported/w3c/web-platform-tests/cors/status.htm [ Pass Failure ] -# webkit.org/b/238908 Global expectations for these until baselines are resolved -http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https.html [ DumpJSConsoleLogInStdErr ] -http/tests/inspector/paymentrequest/payment-request-internal-properties.https.html [ DumpJSConsoleLogInStdErr ] -http/tests/paymentrequest/payment-request-change-shipping-option.https.html [ DumpJSConsoleLogInStdErr ] -http/tests/paymentrequest/payment-response-retry-method.https.html [ DumpJSConsoleLogInStdErr ] -http/tests/paymentrequest/updateWith-shippingOptions.https.html [ DumpJSConsoleLogInStdErr ] -imported/w3c/web-platform-tests/payment-request/payment-request-constructor.https.sub.html [ DumpJSConsoleLogInStdErr ] -imported/w3c/web-platform-tests/payment-request/payment-request-shippingOption-attribute.https.html [ DumpJSConsoleLogInStdErr ] - webkit.org/b/170130 fast/events/before-unload-adopt-subframe-to-outside.html [ Pass Timeout ] webkit.org/b/170355 [ Release ] fast/mediastream/MediaStream-page-muted.html [ Pass Timeout ] Modified: trunk/LayoutTests/platform/ios-wk2/TestExpectations (292896 => 292897) --- trunk/LayoutTests/platform/ios-wk2/TestExpectations 2022-04-15 00:21:17 UTC (rev 292896) +++ trunk/LayoutTests/platform/ios-wk2/TestExpectations 2022-04-15 00:27:35 UTC (rev 292897) @@ -1012,6 +1012,15 @@ webkit.org/b/145432 media/video-transformed-by-_javascript_.html [ Failure ] +# webkit.org/b/238908 Global expectations for these until baselines are resolved +http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https.html [ DumpJSConsoleLogInStdErr ] +http/tests/inspector/paymentrequest/payment-request-internal-properties.https.html [ DumpJSConsoleLogInStdErr ] +http/tests/paymentrequest/payment-request-change-shipping-option.https.html [ DumpJSConsoleLogInStdErr ] +http/tests/paymentrequest/payment-response-retry-method.https.html [ DumpJSConsoleLogInStdErr ] +http/tests/paymentrequest/updateWith-shippingOptions.https.html [ DumpJSConsoleLogInStdErr ] +imported/w3c/web-platform-tests/payment-request/payment-request-constructor.https.sub.html [ DumpJSConsoleLogInStdErr ] +imported/w3c/web-platform-tests/payment-request/payment-request-shippingOption-attribute.https.html [ DumpJSConsoleLogInStdErr ] + # Latest iOS failures as of Sept 1, 2015 webkit.org/b/149087 http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy.html [ Pass Timeout ] platform/ios/ios/fast/coordinates/document-elementFromPoint.html [ Failure Pass ] Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (292896 => 292897) --- trunk/LayoutTests/platform/mac-wk2/TestExpectations 2022-04-15 00:21:17 UTC (rev 292896) +++ trunk/LayoutTests/platform/mac-wk2/TestExpectations 2022-04-15 00:27:35 UTC (rev 292897) @@ -543,6 +543,15 @@ webkit.org/b/145432 media/video-transformed-by-_javascript_.html [ Failure ] +# webkit.org/b/238908 Global expectations for these until baselines are resolved +http/tests/paymentrequest/payment-address-attributes-and-toJSON-method.https.html [ DumpJSConsoleLogInStdErr ] +http/tests/inspector/paymentrequest/payment-request-internal-properties.https.html [ DumpJSConsoleLogInStdErr ] +http/tests/paymentrequest/payment-request-change-shipping-option.https.html [ DumpJSConsoleLogInStdErr ]
[webkit-changes] [292896] trunk/Source/WebKit
Title: [292896] trunk/Source/WebKit Revision 292896 Author wenson_hs...@apple.com Date 2022-04-14 17:21:17 -0700 (Thu, 14 Apr 2022) Log Message Unreviewed, fix the Catalyst build after r292888 `MCProfileConnection` is not available on Mac Catalyst. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _dataOwnerForPasteboard:]): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Diff Modified: trunk/Source/WebKit/ChangeLog (292895 => 292896) --- trunk/Source/WebKit/ChangeLog 2022-04-14 23:39:06 UTC (rev 292895) +++ trunk/Source/WebKit/ChangeLog 2022-04-15 00:21:17 UTC (rev 292896) @@ -1,5 +1,14 @@ 2022-04-14 Wenson Hsieh +Unreviewed, fix the Catalyst build after r292888 + +`MCProfileConnection` is not available on Mac Catalyst. + +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView _dataOwnerForPasteboard:]): + +2022-04-14 Wenson Hsieh + [iOS] [WK2] Managed pasteboard should function for all managed domains https://bugs.webkit.org/show_bug.cgi?id=239319 rdar://80059355 Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (292895 => 292896) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2022-04-14 23:39:06 UTC (rev 292895) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2022-04-15 00:21:17 UTC (rev 292896) @@ -8216,8 +8216,10 @@ if (specifiedType != WebCore::DataOwnerType::Undefined) return specifiedType; +#if !PLATFORM(MACCATALYST) if ([[PAL::getMCProfileConnectionClass() sharedConnection] isURLManaged:[_webView URL]]) return WebCore::DataOwnerType::Enterprise; +#endif return WebCore::DataOwnerType::Undefined; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292895] trunk
Title: [292895] trunk Revision 292895 Author ca...@igalia.com Date 2022-04-14 16:39:06 -0700 (Thu, 14 Apr 2022) Log Message [JSC] ShadowRealm global object has a mutable prototype https://bugs.webkit.org/show_bug.cgi?id=239332 Reviewed by Yusuke Suzuki. JSTests: * stress/shadow-realm-globalThis-mutable-prototype.js: Added. Source/_javascript_Core: This patch circumvents the `ASSERT(toThis() == this)` in JSObject::setPrototypeWithCycleCheck() when `this` is a GlobalObject. Ordinarily, GlobalObjects have the IsImmutablePrototypeExoticObject bit set and miss this pathway, however this is not the case for ShadowRealm Global Objects. In addition, the JSC internal version is also modified to have a mutable prototype in the same way as in WebCore. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::deriveShadowRealmGlobalObject): (JSC::JSGlobalObject::createStructureForShadowRealm): * runtime/JSObject.cpp: (JSC::JSObject::setPrototypeWithCycleCheck): Source/WebCore: Hack: The IDL code generator now special cases ShadowRealmGlobalObject to remove the ImmutablePrototypeExoticObject bit from the inherited JSGlobalObject structure flags. As a result, this enables the assignment of a ShadowRealm's globalThis.__proto__, or overwriting the prototype with [Object / Reflect].setPrototypeOf(). Test: js/ShadowRealm-globalThis.html * bindings/scripts/CodeGeneratorJS.pm: (GenerateHeader): * bindings/scripts/test/JS/JSShadowRealmGlobalScope.h: LayoutTests: Add a new layout test to verify changes to verify that ShadowRealmGlobalObject has a properly mutable prototype. * js/ShadowRealm-globalThis-expected.txt: Added. * js/ShadowRealm-globalThis.html: Added. Modified Paths trunk/JSTests/ChangeLog trunk/LayoutTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSGlobalObject.h trunk/Source/_javascript_Core/runtime/JSObject.cpp trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm trunk/Source/WebCore/bindings/scripts/test/JS/JSShadowRealmGlobalScope.h Added Paths trunk/JSTests/stress/shadow-realm-globalThis-mutable-prototype.js trunk/LayoutTests/js/ShadowRealm-globalThis-expected.txt trunk/LayoutTests/js/ShadowRealm-globalThis.html Diff Modified: trunk/JSTests/ChangeLog (292894 => 292895) --- trunk/JSTests/ChangeLog 2022-04-14 23:36:49 UTC (rev 292894) +++ trunk/JSTests/ChangeLog 2022-04-14 23:39:06 UTC (rev 292895) @@ -1,3 +1,12 @@ +2022-04-14 Caitlin Potter + +[JSC] ShadowRealm global object has a mutable prototype +https://bugs.webkit.org/show_bug.cgi?id=239332 + +Reviewed by Yusuke Suzuki. + +* stress/shadow-realm-globalThis-mutable-prototype.js: Added. + 2022-04-14 Alexey Shvayka InternalFunction::createSubclassStructure() should use base object's global object Added: trunk/JSTests/stress/shadow-realm-globalThis-mutable-prototype.js (0 => 292895) --- trunk/JSTests/stress/shadow-realm-globalThis-mutable-prototype.js (rev 0) +++ trunk/JSTests/stress/shadow-realm-globalThis-mutable-prototype.js 2022-04-14 23:39:06 UTC (rev 292895) @@ -0,0 +1,39 @@ +//@ requireOptions("--useShadowRealm=1") + +let sr = new ShadowRealm; + +let install = sr.evaluate(` +(function(name, fn) { + globalThis[name] = fn; +}) +`); + +let log = function(...args) { + let string = args.join(" "); + print(string); + return string; +}; +install("log", log); + +// Test that the GlobalObject prototype is not immutable, +let MAX_ITER = 1; +sr.evaluate(` + var i = 1; + function test() { +globalThis.__proto__ = { x: i++ }; + } + for (let i = 0; i < ${MAX_ITER}; ++i) { +try { + test(); + if (globalThis.x !== i + 1) +throw new Error(\`Prototype not written successfully (Expected globalThis.x === \${i + 1}, but found \${globalThis.x})\`); +} catch (e) { + log(\`\${e}\`); + throw e; +} + } +`); + +if (sr.evaluate(`globalThis.x`) !== MAX_ITER) + throw new Error("Prototype invalid in separate eval"); + Modified: trunk/LayoutTests/ChangeLog (292894 => 292895) --- trunk/LayoutTests/ChangeLog 2022-04-14 23:36:49 UTC (rev 292894) +++ trunk/LayoutTests/ChangeLog 2022-04-14 23:39:06 UTC (rev 292895) @@ -1,3 +1,16 @@ +2022-04-14 Caitlin Potter + +[JSC] ShadowRealm global object has a mutable prototype +https://bugs.webkit.org/show_bug.cgi?id=239332 + +Reviewed by Yusuke Suzuki. + +Add a new layout test to verify changes to verify that ShadowRealmGlobalObject has a properly +mutable prototype. + +* js/ShadowRealm-globalThis-expected.txt: Added. +* js/ShadowRealm-globalThis.html: Added. + 2022-04-14 Nikolaos Mouchtaris calc(): Serialize top level min/max/hypot as calc() Added: trunk/LayoutTests/js/ShadowRealm-globalThis-expected.txt (0 => 292895) --- trunk/LayoutTests/js/ShadowRealm-globalThis-expected.txt (rev 0) +++
[webkit-changes] [292894] trunk/Tools
Title: [292894] trunk/Tools Revision 292894 Author jen...@apple.com Date 2022-04-14 16:36:49 -0700 (Thu, 14 Apr 2022) Log Message Add an additional system to unsafe-merge queue https://bugs.webkit.org/show_bug.cgi?id=239354 Reviewed by Ryan Haddad. * CISupport/ews-build/config.json: Modified Paths trunk/Tools/CISupport/ews-build/config.json trunk/Tools/ChangeLog Diff Modified: trunk/Tools/CISupport/ews-build/config.json (292893 => 292894) --- trunk/Tools/CISupport/ews-build/config.json 2022-04-14 23:32:40 UTC (rev 292893) +++ trunk/Tools/CISupport/ews-build/config.json 2022-04-14 23:36:49 UTC (rev 292894) @@ -99,7 +99,8 @@ { "name": "ews215", "platform": "win" }, { "name": "webkit-cq-01", "platform": "mac-bigsur" }, { "name": "webkit-cq-02", "platform": "mac-bigsur" }, -{ "name": "webkit-cq-03", "platform": "mac-bigsur" } +{ "name": "webkit-cq-03", "platform": "mac-bigsur" }, +{ "name": "webkit-cq-04", "platform": "mac-bigsur" } ], "builders": [ { @@ -340,7 +341,7 @@ "name": "Unsafe-Merge-Queue", "shortname": "unsafe-merge", "icon": "buildAndTest", "factory": "UnsafeMergeQueueFactory", "platform": "mac-bigsur", "configuration": "release", "architectures": ["arm64"], - "workernames": ["webkit-cq-01", "webkit-cq-02", "webkit-cq-03"] + "workernames": ["webkit-cq-01", "webkit-cq-02", "webkit-cq-03", "webkit-cq-04"] } ], "schedulers": [ Modified: trunk/Tools/ChangeLog (292893 => 292894) --- trunk/Tools/ChangeLog 2022-04-14 23:32:40 UTC (rev 292893) +++ trunk/Tools/ChangeLog 2022-04-14 23:36:49 UTC (rev 292894) @@ -1,3 +1,12 @@ +2022-04-14 Robert Jenner + +Add an additional system to unsafe-merge queue +https://bugs.webkit.org/show_bug.cgi?id=239354 + +Reviewed by Ryan Haddad. + +* CISupport/ews-build/config.json: + 2022-04-14 Jonathan Bedard [git-webkit] Personal branch is "not a PR branch" ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292893] trunk
Title: [292893] trunk Revision 292893 Author nmouchta...@apple.com Date 2022-04-14 16:32:40 -0700 (Thu, 14 Apr 2022) Log Message calc(): Serialize top level min/max/hypot as calc() https://bugs.webkit.org/show_bug.cgi?id=239019 Reviewed by Darin Adler. LayoutTests/imported/w3c: * web-platform-tests/css/css-values/hypot-pow-sqrt-invalid-expected.txt: * web-platform-tests/css/css-values/hypot-pow-sqrt-serialize-expected.txt: * web-platform-tests/css/css-values/minmax-angle-serialize-expected.txt: * web-platform-tests/css/css-values/minmax-length-percent-serialize-expected.txt: * web-platform-tests/css/css-values/minmax-length-serialize-expected.txt: * web-platform-tests/css/css-values/minmax-number-serialize-expected.txt: * web-platform-tests/css/css-values/minmax-percentage-serialize-expected.txt: * web-platform-tests/css/css-values/minmax-time-serialize-expected.txt: Source/WebCore: For functions that would have no effect on the top level value, serialize as calc() rather than the function. * css/calc/CSSCalcOperationNode.cpp: (WebCore::CSSCalcOperationNode::simplifyNode): * css/calc/CSSCalcOperationNode.h: LayoutTests: * fast/css/calc-parsing-expected.txt: * fast/css/calc-parsing.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/css/calc-parsing-expected.txt trunk/LayoutTests/fast/css/calc-parsing.html trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-invalid-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-serialize-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-angle-serialize-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-serialize-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-length-serialize-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-number-serialize-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-percentage-serialize-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-time-serialize-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/calc/CSSCalcOperationNode.cpp trunk/Source/WebCore/css/calc/CSSCalcOperationNode.h Diff Modified: trunk/LayoutTests/ChangeLog (292892 => 292893) --- trunk/LayoutTests/ChangeLog 2022-04-14 23:26:34 UTC (rev 292892) +++ trunk/LayoutTests/ChangeLog 2022-04-14 23:32:40 UTC (rev 292893) @@ -1,3 +1,13 @@ +2022-04-14 Nikolaos Mouchtaris + +calc(): Serialize top level min/max/hypot as calc() +https://bugs.webkit.org/show_bug.cgi?id=239019 + +Reviewed by Darin Adler. + +* fast/css/calc-parsing-expected.txt: +* fast/css/calc-parsing.html: + 2022-04-14 Karl Rackler [ Mac ] editing/execCommand/insert-ordered-list-and-delete.html is a flaky failure Modified: trunk/LayoutTests/fast/css/calc-parsing-expected.txt (292892 => 292893) --- trunk/LayoutTests/fast/css/calc-parsing-expected.txt 2022-04-14 23:26:34 UTC (rev 292892) +++ trunk/LayoutTests/fast/css/calc-parsing-expected.txt 2022-04-14 23:32:40 UTC (rev 292893) @@ -9,15 +9,15 @@ PASS getComputedStyle(element).getPropertyValue('width') is "100px" element.style["width"] = "max(100px + 200px)" -PASS element.style['width'] is "max(300px)" +PASS element.style['width'] is "calc(300px)" PASS getComputedStyle(element).getPropertyValue('width') is "300px" element.style["width"] = "max(100px , 200px)" -PASS element.style['width'] is "max(200px)" +PASS element.style['width'] is "calc(200px)" PASS getComputedStyle(element).getPropertyValue('width') is "200px" element.style["width"] = "max(100px,200px)" -PASS element.style['width'] is "max(200px)" +PASS element.style['width'] is "calc(200px)" PASS getComputedStyle(element).getPropertyValue('width') is "200px" element.style["width"] = "clamp(100px,123px,200px)" @@ -73,11 +73,11 @@ PASS getComputedStyle(element).getPropertyValue('width') is "1024px" element.style["width"] = "hypot(4px, 5px, 7px, 9px)" -PASS element.style['width'] is "hypot(13.076697px)" +PASS element.style['width'] is "calc(13.076697px)" PASS getComputedStyle(element).getPropertyValue('width') is "13.0625px" element.style["width"] = "hypot(3px, 4px)" -PASS element.style['width'] is "hypot(5px)" +PASS element.style['width'] is "calc(5px)" PASS getComputedStyle(element).getPropertyValue('width') is "5px" element.style["width"] = "calc(100px * hypot(3, 4))" @@ -85,7 +85,7 @@ PASS getComputedStyle(element).getPropertyValue('width') is "500px" element.style["width"] = "hypot(-5px)" -PASS element.style['width'] is "hypot(5px)" +PASS element.style['width'] is "calc(5px)" PASS getComputedStyle(element).getPropertyValue('width') is "5px" element.style["width"] = "calc(1px * hypot(-5))" @@ -269,15 +269,15 @@ PASS
[webkit-changes] [292892] trunk/Source/WebCore
Title: [292892] trunk/Source/WebCore Revision 292892 Author gnavamar...@apple.com Date 2022-04-14 16:26:34 -0700 (Thu, 14 Apr 2022) Log Message WebCore::WorkerStorageConnection::fileSystemGetDirectory could have invalid storageConnection() https://bugs.webkit.org/show_bug.cgi?id=239355 Reviewed by Sihui Liu. Add a check since storageConnection() can be invalid at this point. * Modules/storage/WorkerStorageConnection.cpp: (WebCore::WorkerStorageConnection::fileSystemGetDirectory): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/storage/WorkerStorageConnection.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (292891 => 292892) --- trunk/Source/WebCore/ChangeLog 2022-04-14 21:56:27 UTC (rev 292891) +++ trunk/Source/WebCore/ChangeLog 2022-04-14 23:26:34 UTC (rev 292892) @@ -1,3 +1,15 @@ +2022-04-14 Gabriel Nava Marino + +WebCore::WorkerStorageConnection::fileSystemGetDirectory could have invalid storageConnection() +https://bugs.webkit.org/show_bug.cgi?id=239355 + +Reviewed by Sihui Liu. + +Add a check since storageConnection() can be invalid at this point. + +* Modules/storage/WorkerStorageConnection.cpp: +(WebCore::WorkerStorageConnection::fileSystemGetDirectory): + 2022-04-14 Chris Dumez Require an existing AtomString for HTMLFormElement's named getter parameter Modified: trunk/Source/WebCore/Modules/storage/WorkerStorageConnection.cpp (292891 => 292892) --- trunk/Source/WebCore/Modules/storage/WorkerStorageConnection.cpp 2022-04-14 21:56:27 UTC (rev 292891) +++ trunk/Source/WebCore/Modules/storage/WorkerStorageConnection.cpp 2022-04-14 23:26:34 UTC (rev 292892) @@ -99,6 +99,9 @@ downcast(scope).storageConnection().didGetDirectory(callbackIdentifier, WTFMove(result)); }, WorkerRunLoop::defaultMode()); }; +if (!mainThreadConnection) +return mainThreadCallback(Exception { InvalidStateError }); + mainThreadConnection->fileSystemGetDirectory(WTFMove(origin), WTFMove(mainThreadCallback)); }); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292891] trunk/Source
Title: [292891] trunk/Source Revision 292891 Author ysuz...@apple.com Date 2022-04-14 14:56:27 -0700 (Thu, 14 Apr 2022) Log Message [JSC] Reduce use of CallFrame::deprecatedVM https://bugs.webkit.org/show_bug.cgi?id=239326 Reviewed by Devin Rousso. Reduce use of CallFrame::deprecatedVM, mainly in inspector related code to eventually remove CallFrame::deprecatedVM. * Source/_javascript_Core/debugger/Debugger.cpp: (JSC::Debugger::evaluateBreakpointCondition): (JSC::Debugger::evaluateBreakpointActions): (JSC::Debugger::exceptionOrCaughtValue): * Source/_javascript_Core/debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::functionName const): (JSC::DebuggerCallFrame::scope): (JSC::DebuggerCallFrame::type const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): Deleted. * Source/_javascript_Core/debugger/DebuggerCallFrame.h: * Source/_javascript_Core/inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::type const): * Source/_javascript_Core/inspector/_javascript_CallFrame.h: (Inspector::_javascript_CallFrame::functionName const): (Inspector::_javascript_CallFrame::type const): (Inspector::_javascript_CallFrame::scopeChain const): (Inspector::_javascript_CallFrame::evaluateWithScopeExtension const): (Inspector::_javascript_CallFrame::deprecatedVMEntryGlobalObject const): Deleted. * Source/_javascript_Core/inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::debuggerScopeExtensionObject): (Inspector::InspectorDebuggerAgent::didPause): * Source/_javascript_Core/interpreter/Interpreter.cpp: (JSC::Interpreter::debug): Canonical link: https://commits.webkit.org/249661@main Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/debugger/Debugger.cpp trunk/Source/_javascript_Core/debugger/DebuggerCallFrame.cpp trunk/Source/_javascript_Core/debugger/DebuggerCallFrame.h trunk/Source/_javascript_Core/inspector/JSJavaScriptCallFrame.cpp trunk/Source/_javascript_Core/inspector/_javascript_CallFrame.h trunk/Source/_javascript_Core/inspector/agents/InspectorDebuggerAgent.cpp trunk/Source/_javascript_Core/interpreter/Interpreter.cpp trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/WebView/WebScriptDebugger.mm Diff Modified: trunk/Source/_javascript_Core/ChangeLog (292890 => 292891) --- trunk/Source/_javascript_Core/ChangeLog 2022-04-14 21:15:31 UTC (rev 292890) +++ trunk/Source/_javascript_Core/ChangeLog 2022-04-14 21:56:27 UTC (rev 292891) @@ -1,3 +1,42 @@ +2022-04-14 Yusuke Suzuki + +[JSC] Reduce use of CallFrame::deprecatedVM +https://bugs.webkit.org/show_bug.cgi?id=239326 + +Reviewed by Devin Rousso. + +Reduce use of CallFrame::deprecatedVM, mainly in inspector related code to eventually remove CallFrame::deprecatedVM. + +* debugger/Debugger.cpp: +(JSC::Debugger::evaluateBreakpointCondition): +(JSC::Debugger::evaluateBreakpointActions): +(JSC::Debugger::exceptionOrCaughtValue): +* debugger/DebuggerCallFrame.cpp: +(JSC::DebuggerCallFrame::globalObject): +(JSC::DebuggerCallFrame::functionName const): +(JSC::DebuggerCallFrame::scope): +(JSC::DebuggerCallFrame::type const): +(JSC::DebuggerCallFrame::evaluateWithScopeExtension): +(JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): Deleted. +* debugger/DebuggerCallFrame.h: +* inspector/JSJavaScriptCallFrame.cpp: +(Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): +(Inspector::JSJavaScriptCallFrame::scopeDescriptions): +(Inspector::JSJavaScriptCallFrame::functionName const): +(Inspector::JSJavaScriptCallFrame::scopeChain const): +(Inspector::JSJavaScriptCallFrame::type const): +* inspector/_javascript_CallFrame.h: +(Inspector::_javascript_CallFrame::functionName const): +(Inspector::_javascript_CallFrame::type const): +(Inspector::_javascript_CallFrame::scopeChain const): +(Inspector::_javascript_CallFrame::evaluateWithScopeExtension const): +(Inspector::_javascript_CallFrame::deprecatedVMEntryGlobalObject const): Deleted. +* inspector/agents/InspectorDebuggerAgent.cpp: +(Inspector::InspectorDebuggerAgent::debuggerScopeExtensionObject): +(Inspector::InspectorDebuggerAgent::didPause): +* interpreter/Interpreter.cpp: +(JSC::Interpreter::debug): + 2022-04-14 Alexey Shvayka InternalFunction::createSubclassStructure() should use base object's global object Modified: trunk/Source/_javascript_Core/debugger/Debugger.cpp (292890 =>
[webkit-changes] [292890] trunk/Tools
Title: [292890] trunk/Tools Revision 292890 Author jbed...@apple.com Date 2022-04-14 14:15:31 -0700 (Thu, 14 Apr 2022) Log Message [git-webkit] Personal branch is "not a PR branch" https://bugs.webkit.org/show_bug.cgi?id=239329 Reviewed by Yusuke Suzuki. * Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: (Git.branches_for): Provide optional caching. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py: (Branch.editable): If a branch does not exist on production remotes, that branch should also be considered a PR branch. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: (PullRequest.main): Only create a new PR branch if the current branch is a production branch. Canonical link: https://commits.webkit.org/249660@main Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/libraries/webkitscmpy/setup.py trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py Diff Modified: trunk/Tools/ChangeLog (292889 => 292890) --- trunk/Tools/ChangeLog 2022-04-14 21:00:59 UTC (rev 292889) +++ trunk/Tools/ChangeLog 2022-04-14 21:15:31 UTC (rev 292890) @@ -1,3 +1,22 @@ +2022-04-14 Jonathan Bedard + +[git-webkit] Personal branch is "not a PR branch" +https://bugs.webkit.org/show_bug.cgi?id=239329 + + +Reviewed by Yusuke Suzuki. + +* Scripts/libraries/webkitscmpy/setup.py: Bump version. +* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. +* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: +(Git.branches_for): Provide optional caching. +* Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py: +(Branch.editable): If a branch does not exist on production remotes, that branch +should also be considered a PR branch. +* Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: +(PullRequest.main): Only create a new PR branch if the current branch is a +production branch. + 2022-04-14 Wenson Hsieh [iOS] [WK2] Managed pasteboard should function for all managed domains Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (292889 => 292890) --- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2022-04-14 21:00:59 UTC (rev 292889) +++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2022-04-14 21:15:31 UTC (rev 292890) @@ -29,7 +29,7 @@ setup( name='webkitscmpy', -version='4.9.2', +version='4.9.3', description='Library designed to interact with git and svn repositories.', long_description=readme(), classifiers=[ Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (292889 => 292890) --- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2022-04-14 21:00:59 UTC (rev 292889) +++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2022-04-14 21:15:31 UTC (rev 292890) @@ -46,7 +46,7 @@ "Please install webkitcorepy with `pip install webkitcorepy --extra-index-url `" ) -version = Version(4, 9, 2) +version = Version(4, 9, 3) AutoInstall.register(Package('fasteners', Version(0, 15, 0))) AutoInstall.register(Package('jinja2', Version(2, 11, 3))) Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py (292889 => 292890) --- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py 2022-04-14 21:00:59 UTC (rev 292889) +++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py 2022-04-14 21:15:31 UTC (rev 292890) @@ -505,6 +505,7 @@ raise self.Exception('Failed to retrieve revision count for {}'.format(native_parameter)) return int(revision_count.stdout) +@decorators.Memoize(cached=False) def branches_for(self, hash=None, remote=True): branch = run( [self.executable(), 'branch'] + (['--contains', hash] if hash else ['-a']), Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py (292889 => 292890) --- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py 2022-04-14 21:00:59 UTC (rev 292889) +++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py 2022-04-14 21:15:31 UTC (rev 292890) @@ -54,8 +54,19 @@ def editable(cls, branch, repository=None): if (repository or local.Scm).DEV_BRANCHES.match(branch): return True -return False +if branch in (repository or local.Scm).DEFAULT_BRANCHES: +return False +if (repository or local.Scm).PROD_BRANCHES.match(branch): +return False +if not repository or not
[webkit-changes] [292889] trunk/Websites/webkit.org
Title: [292889] trunk/Websites/webkit.org Revision 292889 Author jbed...@apple.com Date 2022-04-14 14:00:59 -0700 (Thu, 14 Apr 2022) Log Message [webkit.org] Remove leading r from archive revisions https://bugs.webkit.org/show_bug.cgi?id=239322 Reviewed by Ryan Haddad. * Websites/webkit.org/wp-content/themes/webkit/build-archives.php: Remove leading 'r' from revisions, since "revisions" will now be identifiers. Canonical link: https://commits.webkit.org/249659@main Modified Paths trunk/Websites/webkit.org/ChangeLog trunk/Websites/webkit.org/wp-content/themes/webkit/build-archives.php Diff Modified: trunk/Websites/webkit.org/ChangeLog (292888 => 292889) --- trunk/Websites/webkit.org/ChangeLog 2022-04-14 20:58:47 UTC (rev 292888) +++ trunk/Websites/webkit.org/ChangeLog 2022-04-14 21:00:59 UTC (rev 292889) @@ -1,3 +1,14 @@ +2022-04-13 Jonathan Bedard + +[webkit.org] Remove leading r from archive revisions +https://bugs.webkit.org/show_bug.cgi?id=239322 + + +Reviewed by Ryan Haddad. + +* wp-content/themes/webkit/build-archives.php: Remove leading 'r' from revisions, +since "revisions" will now be identifiers. + 2022-03-11 Jon Davis Allow table of contents on posts in special cases Modified: trunk/Websites/webkit.org/wp-content/themes/webkit/build-archives.php (292888 => 292889) --- trunk/Websites/webkit.org/wp-content/themes/webkit/build-archives.php 2022-04-14 20:58:47 UTC (rev 292888) +++ trunk/Websites/webkit.org/wp-content/themes/webkit/build-archives.php 2022-04-14 21:00:59 UTC (rev 292889) @@ -47,7 +47,7 @@ $revision = new stdClass(); $revision->url = "" $revision->creationTime = $entry->creationTime->N; -$latest[$platform_key]["r" . $entry->revision->N] = $revision; +$latest[$platform_key][$entry->revision->N] = $revision; } set_transient($cachekey, serialize($latest), 600); // expire cache every 10 minutes ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292888] trunk
Title: [292888] trunk Revision 292888 Author wenson_hs...@apple.com Date 2022-04-14 13:58:47 -0700 (Thu, 14 Apr 2022) Log Message [iOS] [WK2] Managed pasteboard should function for all managed domains https://bugs.webkit.org/show_bug.cgi?id=239319 rdar://80059355 Reviewed by Kate Cheney. Source/WebCore/PAL: Add an SPI method on `MCProfileConnection`. * pal/spi/ios/ManagedConfigurationSPI.h: Source/WebKit: Unless a WebKit client has specified a data owner for the web view that is not _UIDataOwnerUndefined, fall back to _UIDataOwnerEnterprise when the current domain of the WKWebView is managed (that is, `-[MCProfileConnection isURLManaged:]` returns YES for the web view's current URL). This allows managed pasteboard to work for all WebKit clients, if the current URL is managed. Test: UIPasteboardTests.PerformAsDataOwnerWithManagedURL * Platform/spi/ios/UIKitSPI.h: Drive-by fix: move the staged declarations of `-_dataOwnerForCopy` and `-_dataOwnerForPaste` out of the IPI section, and into the non-internal SDK section. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _dataOwnerForPasteboard:]): Tools: Add a new API test to verify that we fall back to consulting `-[MCProfileConnection isURLManaged:]` when determining the data owner for copy and paste, unless a data owner is already explicitly set on a view in the responder chain (specifically, the WKWebView). * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: (+[TestUIPasteboard _performAsDataOwner:block:]): (-[TestMCProfileConnection isURLManaged:]): (TestWebKitAPI::TEST): Modified Paths trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/spi/ios/ManagedConfigurationSPI.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/ios/UIPasteboardTests.mm Diff Modified: trunk/Source/WebCore/PAL/ChangeLog (292887 => 292888) --- trunk/Source/WebCore/PAL/ChangeLog 2022-04-14 20:35:15 UTC (rev 292887) +++ trunk/Source/WebCore/PAL/ChangeLog 2022-04-14 20:58:47 UTC (rev 292888) @@ -1,3 +1,15 @@ +2022-04-14 Wenson Hsieh + +[iOS] [WK2] Managed pasteboard should function for all managed domains +https://bugs.webkit.org/show_bug.cgi?id=239319 +rdar://80059355 + +Reviewed by Kate Cheney. + +Add an SPI method on `MCProfileConnection`. + +* pal/spi/ios/ManagedConfigurationSPI.h: + 2022-04-13 Myles C. Maxfield Revert r291846 because it caused a 3% performance regression Modified: trunk/Source/WebCore/PAL/pal/spi/ios/ManagedConfigurationSPI.h (292887 => 292888) --- trunk/Source/WebCore/PAL/pal/spi/ios/ManagedConfigurationSPI.h 2022-04-14 20:35:15 UTC (rev 292887) +++ trunk/Source/WebCore/PAL/pal/spi/ios/ManagedConfigurationSPI.h 2022-04-14 20:58:47 UTC (rev 292888) @@ -56,9 +56,12 @@ @interface MCProfileConnection : NSObject @end +@class NSURL; + @interface MCProfileConnection () + (MCProfileConnection *)sharedConnection; - (MCRestrictedBoolType)effectiveBoolValueForSetting:(NSString *)feature; +- (BOOL)isURLManaged:(NSURL *)url; @end #endif Modified: trunk/Source/WebKit/ChangeLog (292887 => 292888) --- trunk/Source/WebKit/ChangeLog 2022-04-14 20:35:15 UTC (rev 292887) +++ trunk/Source/WebKit/ChangeLog 2022-04-14 20:58:47 UTC (rev 292888) @@ -1,3 +1,26 @@ +2022-04-14 Wenson Hsieh + +[iOS] [WK2] Managed pasteboard should function for all managed domains +https://bugs.webkit.org/show_bug.cgi?id=239319 +rdar://80059355 + +Reviewed by Kate Cheney. + +Unless a WebKit client has specified a data owner for the web view that is not _UIDataOwnerUndefined, fall back +to _UIDataOwnerEnterprise when the current domain of the WKWebView is managed (that is, `-[MCProfileConnection +isURLManaged:]` returns YES for the web view's current URL). This allows managed pasteboard to work for all +WebKit clients, if the current URL is managed. + +Test: UIPasteboardTests.PerformAsDataOwnerWithManagedURL + +* Platform/spi/ios/UIKitSPI.h: + +Drive-by fix: move the staged declarations of `-_dataOwnerForCopy` and `-_dataOwnerForPaste` out of the IPI +section, and into the non-internal SDK section. + +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView _dataOwnerForPasteboard:]): + 2022-04-14 J Pascoe [WebAuthn] Clean up WebAuthenticationModern and WebAuthnProcess Modified: trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h (292887 => 292888) --- trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h 2022-04-14 20:35:15 UTC (rev 292887) +++ trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h 2022-04-14 20:58:47 UTC (rev 292888) @@ -168,6 +168,13 @@ UIPreviewItemTypeAttachment, }; +typedef NS_ENUM(NSInteger, _UIDataOwner) { +_UIDataOwnerUndefined, +_UIDataOwnerUser, +_UIDataOwnerEnterprise, +
[webkit-changes] [292887] trunk/Source/WebCore
Title: [292887] trunk/Source/WebCore Revision 292887 Author cdu...@apple.com Date 2022-04-14 13:35:15 -0700 (Thu, 14 Apr 2022) Log Message Require an existing AtomString for HTMLFormElement's named getter parameter https://bugs.webkit.org/show_bug.cgi?id=239335 Reviewed by Darin Adler. Require an existing AtomString for HTMLFormElement's named getter parameter. There is no point in allocating a new AtomString as the AtomString should already exist if there is any element with this name / id. * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::namedElements): * html/HTMLFormElement.idl: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLFormElement.cpp trunk/Source/WebCore/html/HTMLFormElement.idl Diff Modified: trunk/Source/WebCore/ChangeLog (292886 => 292887) --- trunk/Source/WebCore/ChangeLog 2022-04-14 20:19:14 UTC (rev 292886) +++ trunk/Source/WebCore/ChangeLog 2022-04-14 20:35:15 UTC (rev 292887) @@ -1,5 +1,20 @@ 2022-04-14 Chris Dumez +Require an existing AtomString for HTMLFormElement's named getter parameter +https://bugs.webkit.org/show_bug.cgi?id=239335 + +Reviewed by Darin Adler. + +Require an existing AtomString for HTMLFormElement's named getter parameter. There is no point +in allocating a new AtomString as the AtomString should already exist if there is any element +with this name / id. + +* html/HTMLFormElement.cpp: +(WebCore::HTMLFormElement::namedElements): +* html/HTMLFormElement.idl: + +2022-04-14 Chris Dumez + Require an existing AtomString for HTMLDocument's named getter parameter https://bugs.webkit.org/show_bug.cgi?id=239334 Modified: trunk/Source/WebCore/html/HTMLFormElement.cpp (292886 => 292887) --- trunk/Source/WebCore/html/HTMLFormElement.cpp 2022-04-14 20:19:14 UTC (rev 292886) +++ trunk/Source/WebCore/html/HTMLFormElement.cpp 2022-04-14 20:35:15 UTC (rev 292887) @@ -932,6 +932,9 @@ // FIXME: Use Ref for the function result since there are no non-HTML elements returned here. Vector> HTMLFormElement::namedElements(const AtomString& name) { +if (name.isEmpty()) +return { }; + // http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-form-nameditem Vector> namedItems = elements()->namedItems(name); Modified: trunk/Source/WebCore/html/HTMLFormElement.idl (292886 => 292887) --- trunk/Source/WebCore/html/HTMLFormElement.idl 2022-04-14 20:19:14 UTC (rev 292886) +++ trunk/Source/WebCore/html/HTMLFormElement.idl 2022-04-14 20:35:15 UTC (rev 292887) @@ -39,7 +39,7 @@ readonly attribute HTMLFormControlsCollection elements; readonly attribute unsigned long length; getter Element? (unsigned long index); -getter (RadioNodeList or Element)? ([AtomString] DOMString name); +getter (RadioNodeList or Element)? ([RequiresExistingAtomString] DOMString name); [ImplementedAs=submitFromJavaScript] undefined submit(); [EnabledBySetting=RequestSubmitEnabled] undefined requestSubmit(optional HTMLElement? submitter); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292886] trunk/Source/JavaScriptCore
Title: [292886] trunk/Source/_javascript_Core Revision 292886 Author shvaikal...@gmail.com Date 2022-04-14 13:19:14 -0700 (Thu, 14 Apr 2022) Log Message InternalFunction::createSubclassStructure() should use base object's global object https://bugs.webkit.org/show_bug.cgi?id=239346 Unreviewed, account for offline feedback by Yusuke Suzuki. * runtime/InternalFunction.cpp: (JSC::InternalFunction::createSubclassStructure): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/InternalFunction.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (292885 => 292886) --- trunk/Source/_javascript_Core/ChangeLog 2022-04-14 19:52:17 UTC (rev 292885) +++ trunk/Source/_javascript_Core/ChangeLog 2022-04-14 20:19:14 UTC (rev 292886) @@ -3,6 +3,16 @@ InternalFunction::createSubclassStructure() should use base object's global object https://bugs.webkit.org/show_bug.cgi?id=239346 +Unreviewed, account for offline feedback by Yusuke Suzuki. + +* runtime/InternalFunction.cpp: +(JSC::InternalFunction::createSubclassStructure): + +2022-04-14 Alexey Shvayka + +InternalFunction::createSubclassStructure() should use base object's global object +https://bugs.webkit.org/show_bug.cgi?id=239346 + Reviewed by Darin Adler. Chrome and Firefox don't agree on interoperable behavior in case of cross-realm Modified: trunk/Source/_javascript_Core/runtime/InternalFunction.cpp (292885 => 292886) --- trunk/Source/_javascript_Core/runtime/InternalFunction.cpp 2022-04-14 19:52:17 UTC (rev 292885) +++ trunk/Source/_javascript_Core/runtime/InternalFunction.cpp 2022-04-14 20:19:14 UTC (rev 292886) @@ -161,7 +161,7 @@ if (JSObject* prototype = jsDynamicCast(vm, prototypeValue)) { // This only happens if someone Reflect.constructs our builtin constructor with another builtin constructor as the new.target. // Thus, we don't care about the cost of looking up the structure from our hash table every time. -return baseGlobalObject->structureCache().emptyStructureForPrototypeFromBaseStructure(globalObject, prototype, baseClass); +return baseGlobalObject->structureCache().emptyStructureForPrototypeFromBaseStructure(baseGlobalObject, prototype, baseClass); } } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292885] trunk/Source/WebCore
Title: [292885] trunk/Source/WebCore Revision 292885 Author cdu...@apple.com Date 2022-04-14 12:52:17 -0700 (Thu, 14 Apr 2022) Log Message Require an existing AtomString for HTMLDocument's named getter parameter https://bugs.webkit.org/show_bug.cgi?id=239334 Reviewed by Alexey Shvayka. Require an existing AtomString for HTMLDocument's named getter parameter. There is no point in allocating a new AtomString as the AtomString should already exist if there is any element with this name. * html/HTMLDocument.idl: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLDocument.idl Diff Modified: trunk/Source/WebCore/ChangeLog (292884 => 292885) --- trunk/Source/WebCore/ChangeLog 2022-04-14 19:45:24 UTC (rev 292884) +++ trunk/Source/WebCore/ChangeLog 2022-04-14 19:52:17 UTC (rev 292885) @@ -1,3 +1,16 @@ +2022-04-14 Chris Dumez + +Require an existing AtomString for HTMLDocument's named getter parameter +https://bugs.webkit.org/show_bug.cgi?id=239334 + +Reviewed by Alexey Shvayka. + +Require an existing AtomString for HTMLDocument's named getter parameter. There is no point +in allocating a new AtomString as the AtomString should already exist if there is any element +with this name. + +* html/HTMLDocument.idl: + 2022-04-14 J Pascoe [WebAuthn] Clean up WebAuthenticationModern and WebAuthnProcess Modified: trunk/Source/WebCore/html/HTMLDocument.idl (292884 => 292885) --- trunk/Source/WebCore/html/HTMLDocument.idl 2022-04-14 19:45:24 UTC (rev 292884) +++ trunk/Source/WebCore/html/HTMLDocument.idl 2022-04-14 19:52:17 UTC (rev 292885) @@ -24,5 +24,5 @@ LegacyOverrideBuiltIns, Exposed=Window ] interface HTMLDocument : Document { -getter (WindowProxy or Element or HTMLCollection) ([AtomString] DOMString name); +getter (WindowProxy or Element or HTMLCollection) ([RequiresExistingAtomString] DOMString name); }; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292884] trunk
Title: [292884] trunk Revision 292884 Author jbed...@apple.com Date 2022-04-14 12:45:24 -0700 (Thu, 14 Apr 2022) Log Message Add .github/pull_request_template.md https://bugs.webkit.org/show_bug.cgi?id=239347 Reviewed by Michael Catanzaro. * .github/pull_request_template.md: Added. Canonical link: https://commits.webkit.org/249654@main Modified Paths trunk/ChangeLog Added Paths trunk/.github/ trunk/.github/pull_request_template.md Diff Added: trunk/.github/pull_request_template.md (0 => 292884) --- trunk/.github/pull_request_template.md (rev 0) +++ trunk/.github/pull_request_template.md 2022-04-14 19:45:24 UTC (rev 292884) @@ -0,0 +1,27 @@ +# Pull Request Template + +## File a Bug + +All changes should be associated with a bug. The WebKit project is currently using [Bugzilla](https://bugs.webkit.org) as our bug tracker. Note that multiple changes may be associated with a single bug. + +## Provided Tooling + +The WebKit Project strongly recommends contributors use [`Tools/Scripts/git-webkit`](https://github.com/WebKit/WebKit/tree/main/Tools/Scripts/git-webkit) to generate pull requests. See [Setup](https://github.com/WebKit/WebKit/wiki/Contributing#setup) and [Contributing Code](https://github.com/WebKit/WebKit/wiki/Contributing#contributing-code) for how to do this. + +## Template + +If a contributor wishes to file a pull request manually, the template is below. Manually-filed pull requests should contain their commit message as the pull request description, and their commit message should be formatted like the template below. + +Additionally, the pull request should be mentioned on [Bugzilla](https://bugs.webkit.org), labels applied to the pull request matching the component and version of the [Bugzilla](https://bugs.webkit.org) associated with the pull request and the pull request assigned to its author. + + +< bug title > + Modified: trunk/ChangeLog (292883 => 292884) --- trunk/ChangeLog 2022-04-14 19:30:30 UTC (rev 292883) +++ trunk/ChangeLog 2022-04-14 19:45:24 UTC (rev 292884) @@ -1,3 +1,13 @@ +2022-04-14 Jonathan Bedard + +Add .github/pull_request_template.md +https://bugs.webkit.org/show_bug.cgi?id=239347 + + +Reviewed by Michael Catanzaro. + +* .github/pull_request_template.md: Added. + 2022-04-14 Justin Michaud [PGO] We should be able to build WebKit to collect PGO profiles easily ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292883] trunk
Title: [292883] trunk Revision 292883 Author shvaikal...@gmail.com Date 2022-04-14 12:30:30 -0700 (Thu, 14 Apr 2022) Log Message InternalFunction::createSubclassStructure() should use base object's global object https://bugs.webkit.org/show_bug.cgi?id=239346 Reviewed by Darin Adler. JSTests: * stress/internal-function-subclass-structure-realm.js: Source/_javascript_Core: Chrome and Firefox don't agree on interoperable behavior in case of cross-realm NewTarget's "prototype", so this patch aligns WebKit with Chrome to fix a web-compat issue. * runtime/InternalFunction.cpp: (JSC::InternalFunction::createSubclassStructure): Modified Paths trunk/JSTests/ChangeLog trunk/JSTests/stress/internal-function-subclass-structure-realm.js trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/InternalFunction.cpp Diff Modified: trunk/JSTests/ChangeLog (292882 => 292883) --- trunk/JSTests/ChangeLog 2022-04-14 19:13:11 UTC (rev 292882) +++ trunk/JSTests/ChangeLog 2022-04-14 19:30:30 UTC (rev 292883) @@ -1,3 +1,12 @@ +2022-04-14 Alexey Shvayka + +InternalFunction::createSubclassStructure() should use base object's global object +https://bugs.webkit.org/show_bug.cgi?id=239346 + +Reviewed by Darin Adler. + +* stress/internal-function-subclass-structure-realm.js: + 2022-04-12 Aditi Singh Implement Change Array by copy proposal Modified: trunk/JSTests/stress/internal-function-subclass-structure-realm.js (292882 => 292883) --- trunk/JSTests/stress/internal-function-subclass-structure-realm.js 2022-04-14 19:13:11 UTC (rev 292882) +++ trunk/JSTests/stress/internal-function-subclass-structure-realm.js 2022-04-14 19:30:30 UTC (rev 292883) @@ -9,11 +9,10 @@ for (const newTarget of [ r2[key].bind(), new r2.Function, -new r2.Proxy(new r2.Function, {}), ]) { Object.defineProperty(newTarget, "prototype", { value: new r3.Object }); const instance = Reflect.construct(r1[key], [], newTarget); -if ($vm.globalObjectForObject(instance) !== r3) +if ($vm.globalObjectForObject(instance) !== r2) throw new Error(`Structure of ${key} instance has incorrect global object!`); } } Modified: trunk/Source/_javascript_Core/ChangeLog (292882 => 292883) --- trunk/Source/_javascript_Core/ChangeLog 2022-04-14 19:13:11 UTC (rev 292882) +++ trunk/Source/_javascript_Core/ChangeLog 2022-04-14 19:30:30 UTC (rev 292883) @@ -1,3 +1,16 @@ +2022-04-14 Alexey Shvayka + +InternalFunction::createSubclassStructure() should use base object's global object +https://bugs.webkit.org/show_bug.cgi?id=239346 + +Reviewed by Darin Adler. + +Chrome and Firefox don't agree on interoperable behavior in case of cross-realm +NewTarget's "prototype", so this patch aligns WebKit with Chrome to fix a web-compat issue. + +* runtime/InternalFunction.cpp: +(JSC::InternalFunction::createSubclassStructure): + 2022-04-14 Chris Dumez Drop inefficient String::append() overloads Modified: trunk/Source/_javascript_Core/runtime/InternalFunction.cpp (292882 => 292883) --- trunk/Source/_javascript_Core/runtime/InternalFunction.cpp 2022-04-14 19:13:11 UTC (rev 292882) +++ trunk/Source/_javascript_Core/runtime/InternalFunction.cpp 2022-04-14 19:30:30 UTC (rev 292883) @@ -137,6 +137,7 @@ { VM& vm = globalObject->vm(); auto scope = DECLARE_THROW_SCOPE(vm); +JSGlobalObject* baseGlobalObject = baseClass->globalObject(); ASSERT(baseClass->hasMonoProto()); @@ -146,7 +147,7 @@ if (LIKELY(targetFunction)) { FunctionRareData* rareData = targetFunction->ensureRareData(vm); Structure* structure = rareData->internalFunctionAllocationStructure(); -if (LIKELY(structure && structure->classInfo() == baseClass->classInfo() && structure->globalObject() == baseClass->globalObject())) +if (LIKELY(structure && structure->classInfo() == baseClass->classInfo() && structure->globalObject() == baseGlobalObject)) return structure; // Note, Reflect.construct might cause the profile to churn but we don't care. @@ -153,7 +154,7 @@ JSValue prototypeValue = targetFunction->get(globalObject, vm.propertyNames->prototype); RETURN_IF_EXCEPTION(scope, nullptr); if (JSObject* prototype = jsDynamicCast(vm, prototypeValue)) -return rareData->createInternalFunctionAllocationStructureFromBase(vm, prototype->globalObject(vm), prototype, baseClass); +return rareData->createInternalFunctionAllocationStructureFromBase(vm, baseGlobalObject, prototype, baseClass); } else { JSValue prototypeValue = newTarget->get(globalObject, vm.propertyNames->prototype); RETURN_IF_EXCEPTION(scope, nullptr); @@ -160,8 +161,7 @@ if
[webkit-changes] [292881] trunk/Tools
Title: [292881] trunk/Tools Revision 292881 Author jbed...@apple.com Date 2022-04-14 12:04:36 -0700 (Thu, 14 Apr 2022) Log Message [build.webkit.org] Use identifier as version when uploading artifacts https://bugs.webkit.org/show_bug.cgi?id=239321 Reviewed by Ryan Haddad. * Tools/CISupport/build-webkit-org/steps.py: (GenerateJSCBundle): Use archive_revision to name generated content. (GenerateMiniBrowserBundle): Ditto (UploadBuiltProduct): Ditto (UploadMinifiedBuiltProduct): Ditto (DownloadBuiltProduct): Ditto (DownloadBuiltProductFromMaster): Ditto (RunBenchmarkTests): Ditto (UploadTestResults): Ditto (TransferToS3): Ditto (ExtractTestResults.__init__): Ditto (ShowIdentifier.evaluateCommand): Set archive_revision as identifier, fall back to got_revision. Canonical link: https://commits.webkit.org/249651@main Modified Paths trunk/Tools/CISupport/build-webkit-org/steps.py trunk/Tools/ChangeLog Diff Modified: trunk/Tools/CISupport/build-webkit-org/steps.py (292880 => 292881) --- trunk/Tools/CISupport/build-webkit-org/steps.py 2022-04-14 18:00:45 UTC (rev 292880) +++ trunk/Tools/CISupport/build-webkit-org/steps.py 2022-04-14 19:04:36 UTC (rev 292881) @@ -348,7 +348,7 @@ class GenerateJSCBundle(shell.ShellCommand): command = ["Tools/Scripts/generate-bundle", "--builder-name", WithProperties("%(buildername)s"), "--bundle=jsc", "--syslibs=bundle-all", WithProperties("--platform=%(fullPlatform)s"), - WithProperties("--%(configuration)s"), WithProperties("--revision=%(got_revision)s"), + WithProperties("--%(configuration)s"), WithProperties("--revision=%(archive_revision)s"), "--remote-config-file", "../../remote-jsc-bundle-upload-config.json"] name = "generate-jsc-bundle" description = ["generating jsc bundle"] @@ -359,7 +359,7 @@ class GenerateMiniBrowserBundle(shell.ShellCommand): command = ["Tools/Scripts/generate-bundle", "--builder-name", WithProperties("%(buildername)s"), "--bundle=MiniBrowser", WithProperties("--platform=%(fullPlatform)s"), - WithProperties("--%(configuration)s"), WithProperties("--revision=%(got_revision)s"), + WithProperties("--%(configuration)s"), WithProperties("--revision=%(archive_revision)s"), "--remote-config-file", "../../remote-minibrowser-bundle-upload-config.json"] name = "generate-minibrowser-bundle" description = ["generating minibrowser bundle"] @@ -378,7 +378,7 @@ class UploadBuiltProduct(transfer.FileUpload): workersrc = WithProperties("WebKitBuild/%(configuration)s.zip") -masterdest = WithProperties("archives/%(fullPlatform)s-%(architecture)s-%(configuration)s/%(got_revision)s.zip") +masterdest = WithProperties("archives/%(fullPlatform)s-%(architecture)s-%(configuration)s/%(archive_revision)s.zip") haltOnFailure = True def __init__(self, **kwargs): @@ -391,13 +391,13 @@ class UploadMinifiedBuiltProduct(UploadBuiltProduct): workersrc = WithProperties("WebKitBuild/minified-%(configuration)s.zip") -masterdest = WithProperties("archives/%(fullPlatform)s-%(architecture)s-%(configuration)s/minified-%(got_revision)s.zip") +masterdest = WithProperties("archives/%(fullPlatform)s-%(architecture)s-%(configuration)s/minified-%(archive_revision)s.zip") class DownloadBuiltProduct(shell.ShellCommand): command = ["python3", "Tools/CISupport/download-built-product", WithProperties("--platform=%(platform)s"), WithProperties("--%(configuration)s"), -WithProperties(S3URL + "archives.webkit.org/%(fullPlatform)s-%(architecture)s-%(configuration)s/%(got_revision)s.zip")] +WithProperties(S3URL + "archives.webkit.org/%(fullPlatform)s-%(architecture)s-%(configuration)s/%(archive_revision)s.zip")] name = "download-built-product" description = ["downloading built product"] descriptionDone = ["downloaded built product"] @@ -420,7 +420,7 @@ class DownloadBuiltProductFromMaster(transfer.FileDownload): -mastersrc = WithProperties('archives/%(fullPlatform)s-%(architecture)s-%(configuration)s/%(got_revision)s.zip') +mastersrc = WithProperties('archives/%(fullPlatform)s-%(architecture)s-%(configuration)s/%(archive_revision)s.zip') workerdest = WithProperties('WebKitBuild/%(configuration)s.zip') name = 'download-built-product-from-master' description = ['downloading built product from buildbot master'] @@ -1079,7 +1079,7 @@ descriptionDone = ["benchmark tests"] command = ["python", "Tools/Scripts/browserperfdash-benchmark", "--allplans", "--config-file", "../../browserperfdash-benchmark-config.txt", - "--browser-version", WithProperties("r%(got_revision)s")] + "--browser-version", WithProperties("%(archive_revision)s")] def start(self): platform = self.getProperty("platform") @@ -1108,7 +1108,7 @@ class UploadTestResults(transfer.FileUpload):
[webkit-changes] [292880] trunk/Source/WebKit
Title: [292880] trunk/Source/WebKit Revision 292880 Author akeer...@apple.com Date 2022-04-14 11:00:45 -0700 (Thu, 14 Apr 2022) Log Message [iOS] Add support for find-and-replace keyboard shortcut https://bugs.webkit.org/show_bug.cgi?id=239320 rdar://91537724 Reviewed by Wenson Hsieh. * UIProcess/API/ios/WKWebViewIOS.h: * UIProcess/ios/WKContentViewInteraction.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView canPerformActionForWebView:withSender:]): (-[WKContentView findAndReplaceForWebView:]): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Diff Modified: trunk/Source/WebKit/ChangeLog (292879 => 292880) --- trunk/Source/WebKit/ChangeLog 2022-04-14 17:55:19 UTC (rev 292879) +++ trunk/Source/WebKit/ChangeLog 2022-04-14 18:00:45 UTC (rev 292880) @@ -1,3 +1,17 @@ +2022-04-14 Aditya Keerthi + +[iOS] Add support for find-and-replace keyboard shortcut +https://bugs.webkit.org/show_bug.cgi?id=239320 +rdar://91537724 + +Reviewed by Wenson Hsieh. + +* UIProcess/API/ios/WKWebViewIOS.h: +* UIProcess/ios/WKContentViewInteraction.h: +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView canPerformActionForWebView:withSender:]): +(-[WKContentView findAndReplaceForWebView:]): + 2022-04-14 Chris Dumez Drop inefficient String::append() overloads Modified: trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h (292879 => 292880) --- trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h 2022-04-14 17:55:19 UTC (rev 292879) +++ trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h 2022-04-14 18:00:45 UTC (rev 292880) @@ -133,6 +133,7 @@ - (void)find:(id)sender; - (void)findNext:(id)sender; - (void)findPrevious:(id)sender; +- (void)findAndReplace:(id)sender; - (id<_UITextSearching>)_searchableObject; #endif Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h (292879 => 292880) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h 2022-04-14 17:55:19 UTC (rev 292879) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h 2022-04-14 18:00:45 UTC (rev 292880) @@ -166,7 +166,8 @@ #define FOR_EACH_FIND_WKCONTENTVIEW_ACTION(M) \ M(find) \ M(findNext) \ -M(findPrevious) +M(findPrevious) \ +M(findAndReplace) #else #define FOR_EACH_FIND_WKCONTENTVIEW_ACTION(M) #endif Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (292879 => 292880) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2022-04-14 17:55:19 UTC (rev 292879) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2022-04-14 18:00:45 UTC (rev 292880) @@ -4145,6 +4145,9 @@ #if HAVE(UIFINDINTERACTION) if (action == @selector(find:) || action == @selector(findNext:) || action == @selector(findPrevious:)) return self.webView._findInteractionEnabled; + +if (action == @selector(findAndReplace:)) +return self.webView._findInteractionEnabled && self.supportsTextReplacement; #endif return [super canPerformAction:action withSender:sender]; @@ -10384,6 +10387,11 @@ [self.webView._findInteraction findPrevious]; } +- (void)findAndReplaceForWebView:(id)sender +{ +[self.webView._findInteraction presentFindNavigatorShowingReplace:YES]; +} + - (void)performTextSearchWithQueryString:(NSString *)string usingOptions:(_UITextSearchOptions *)options resultAggregator:(id<_UITextSearchAggregator>)aggregator { OptionSet findOptions; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292879] trunk
Title: [292879] trunk Revision 292879 Author cdu...@apple.com Date 2022-04-14 10:55:19 -0700 (Thu, 14 Apr 2022) Log Message Drop inefficient String::append() overloads https://bugs.webkit.org/show_bug.cgi?id=239289 Reviewed by Sam Weinig. Source/_javascript_Core: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * runtime/IntlObject.cpp: (JSC::resolveLocale): * runtime/TemporalObject.cpp: (JSC::ellipsizeAt): * tools/FunctionOverrides.cpp: (JSC::initializeOverrideInfo): (JSC::parseClause): Source/WebCore: * Modules/indexeddb/IDBKeyData.cpp: (WebCore::IDBKeyData::loggingString const): * Modules/indexeddb/IDBKeyRangeData.cpp: (WebCore::IDBKeyRangeData::loggingString const): * Modules/indexeddb/shared/IDBIndexInfo.cpp: (WebCore::IDBIndexInfo::loggingString const): * Modules/websockets/WebSocketHandshake.cpp: (WebCore::trimInputSample): * accessibility/isolatedtree/AXIsolatedObject.cpp: (WebCore::AXIsolatedObject::initializeAttributeData): * dom/CharacterData.cpp: (WebCore::CharacterData::parserAppendData): * dom/Text.cpp: (WebCore::appendTextRepresentation): * dom/ViewportArguments.cpp: (WebCore::viewportErrorMessage): * editing/markup.cpp: (WebCore::fillContainerFromString): * html/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine): (WebCore::FTPDirectoryDocumentParser::append): (WebCore::FTPDirectoryDocumentParser::finish): * html/canvas/WebGLRenderingContextBase.cpp: (WebCore::WebGLRenderingContextBase::getActiveUniform): * html/track/WebVTTParser.cpp: (WebCore::WebVTTParser::checkAndStoreStyleSheet): * html/track/WebVTTParser.h: * inspector/InspectorOverlay.cpp: (WebCore::truncateWithEllipsis): * inspector/InspectorOverlayLabel.cpp: (WebCore::InspectorOverlayLabel::draw): * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::buildObjectForNode): * page/scrolling/ScrollingStateTree.cpp: (WebCore::ScrollingStateTree::scrollingStateTreeAsText const): * platform/graphics/HEVCUtilities.cpp: (WebCore::createHEVCCodecParametersString): * platform/network/HTTPParsers.cpp: (WebCore::trimInputSample): * platform/network/curl/CurlCacheEntry.cpp: (WebCore::CurlCacheEntry::CurlCacheEntry): (WebCore::CurlCacheEntry::saveResponseHeaders): * platform/network/curl/CurlCacheManager.cpp: (WebCore::CurlCacheManager::setCacheDirectory): * platform/network/curl/CurlContext.cpp: (WebCore::CurlHandle::addExtraNetworkLoadMetrics): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Source/WebKit: * Shared/mac/AuxiliaryProcessMac.mm: (WebKit::populateSandboxInitializationParameters): * WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::setSuggestedFilename): Source/WebKitLegacy/win: * WebDownload.cpp: (WebDownload::bundlePathForTargetPath): Source/WTF: * wtf/Assertions.cpp: * wtf/text/StringBuilder.h: (WTF::StringBuilder::append): * wtf/text/WTFString.cpp: (WTF::String::insert): (WTF::String::append): * wtf/text/WTFString.h: Tools: * TestWebKitAPI/Tests/WTF/FileSystem.cpp: (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WTF/StringBuilder.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: (TestWebKitAPI::TEST_F): * WebKitTestRunner/TestController.cpp: (WTR::TestController::didReceiveAuthenticationChallenge): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/heap/HeapSnapshotBuilder.cpp trunk/Source/_javascript_Core/runtime/IntlObject.cpp trunk/Source/_javascript_Core/runtime/TemporalObject.cpp trunk/Source/_javascript_Core/tools/FunctionOverrides.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Assertions.cpp trunk/Source/WTF/wtf/text/StringBuilder.h trunk/Source/WTF/wtf/text/WTFString.cpp trunk/Source/WTF/wtf/text/WTFString.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/indexeddb/IDBKeyData.cpp trunk/Source/WebCore/Modules/indexeddb/IDBKeyRangeData.cpp trunk/Source/WebCore/Modules/indexeddb/shared/IDBIndexInfo.cpp trunk/Source/WebCore/Modules/websockets/WebSocketHandshake.cpp trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp trunk/Source/WebCore/dom/CharacterData.cpp trunk/Source/WebCore/dom/Text.cpp trunk/Source/WebCore/dom/ViewportArguments.cpp trunk/Source/WebCore/editing/markup.cpp trunk/Source/WebCore/html/FTPDirectoryDocument.cpp trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp trunk/Source/WebCore/html/track/WebVTTParser.cpp trunk/Source/WebCore/html/track/WebVTTParser.h trunk/Source/WebCore/inspector/InspectorOverlay.cpp trunk/Source/WebCore/inspector/InspectorOverlayLabel.cpp trunk/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp trunk/Source/WebCore/page/scrolling/ScrollingStateTree.cpp trunk/Source/WebCore/platform/graphics/HEVCUtilities.cpp trunk/Source/WebCore/platform/network/HTTPParsers.cpp trunk/Source/WebCore/platform/network/curl/CurlCacheEntry.cpp trunk/Source/WebCore/platform/network/curl/CurlCacheManager.cpp
[webkit-changes] [292878] trunk/Source/WebCore
Title: [292878] trunk/Source/WebCore Revision 292878 Author gnavamar...@apple.com Date 2022-04-14 10:46:32 -0700 (Thu, 14 Apr 2022) Log Message ScriptDisallowedScope::isEventAllowedInMainThread assert failure when activating AudioSession https://bugs.webkit.org/show_bug.cgi?id=239343 Reviewed by Eric Carlson. As part of HTMLMediaElement::clearMediaPlayer we call PlatformMediaSession::canProduceAudioChanged which can result in activating the AudioSession when the page is capturing audio. This sends a synchronous IPC message to the GPU process. As part of IPC::Connection::waitForSyncReply, we also end up dispatching enqueued messages, including a WebPage_EndPrinting message that fires an event listener on the main thread. This patch will instead queue the PlatformMediaSession::canProduceAudioChanged as a task to avoid firing the event listener on the main thread, which results in assertion failure. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::clearMediaPlayer): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLMediaElement.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (292877 => 292878) --- trunk/Source/WebCore/ChangeLog 2022-04-14 17:26:29 UTC (rev 292877) +++ trunk/Source/WebCore/ChangeLog 2022-04-14 17:46:32 UTC (rev 292878) @@ -1,3 +1,23 @@ +2022-04-14 Gabriel Nava Marino + +ScriptDisallowedScope::isEventAllowedInMainThread assert failure when activating AudioSession +https://bugs.webkit.org/show_bug.cgi?id=239343 + +Reviewed by Eric Carlson. + +As part of HTMLMediaElement::clearMediaPlayer we call PlatformMediaSession::canProduceAudioChanged +which can result in activating the AudioSession when the page is capturing audio. + +This sends a synchronous IPC message to the GPU process. As part of IPC::Connection::waitForSyncReply, +we also end up dispatching enqueued messages, including a WebPage_EndPrinting message that +fires an event listener on the main thread. + +This patch will instead queue the PlatformMediaSession::canProduceAudioChanged as a task to avoid +firing the event listener on the main thread, which results in assertion failure. + +* html/HTMLMediaElement.cpp: +(WebCore::HTMLMediaElement::clearMediaPlayer): + 2022-04-14 Chris Dumez Update ContainerNode::getElementsByName() to take in an AtomString Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (292877 => 292878) --- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2022-04-14 17:26:29 UTC (rev 292877) +++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2022-04-14 17:46:32 UTC (rev 292878) @@ -5913,10 +5913,12 @@ if (m_textTracks) configureTextTrackDisplay(); -if (m_mediaSession) { -m_mediaSession->clientCharacteristicsChanged(); -m_mediaSession->canProduceAudioChanged(); -} +queueTaskKeepingObjectAlive(*this, TaskSource::MediaElement, [this] { +if (m_mediaSession) { +m_mediaSession->clientCharacteristicsChanged(); +m_mediaSession->canProduceAudioChanged(); +} +}); m_resourceSelectionTaskCancellationGroup.cancel(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292877] branches/safari-614.1.10-branch/Source
Title: [292877] branches/safari-614.1.10-branch/Source Revision 292877 Author repst...@apple.com Date 2022-04-14 10:26:29 -0700 (Thu, 14 Apr 2022) Log Message Versioning. WebKit-7614.1.10.1 Modified Paths branches/safari-614.1.10-branch/Source/_javascript_Core/Configurations/Version.xcconfig branches/safari-614.1.10-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig branches/safari-614.1.10-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig branches/safari-614.1.10-branch/Source/WebCore/Configurations/Version.xcconfig branches/safari-614.1.10-branch/Source/WebCore/PAL/Configurations/Version.xcconfig branches/safari-614.1.10-branch/Source/WebGPU/Configurations/Version.xcconfig branches/safari-614.1.10-branch/Source/WebInspectorUI/Configurations/Version.xcconfig branches/safari-614.1.10-branch/Source/WebKit/Configurations/Version.xcconfig branches/safari-614.1.10-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig Diff Modified: branches/safari-614.1.10-branch/Source/_javascript_Core/Configurations/Version.xcconfig (292876 => 292877) --- branches/safari-614.1.10-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2022-04-14 17:23:45 UTC (rev 292876) +++ branches/safari-614.1.10-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2022-04-14 17:26:29 UTC (rev 292877) @@ -24,9 +24,9 @@ MAJOR_VERSION = 614; MINOR_VERSION = 1; TINY_VERSION = 10; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-614.1.10-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (292876 => 292877) --- branches/safari-614.1.10-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig 2022-04-14 17:23:45 UTC (rev 292876) +++ branches/safari-614.1.10-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig 2022-04-14 17:26:29 UTC (rev 292877) @@ -24,9 +24,9 @@ MAJOR_VERSION = 614; MINOR_VERSION = 1; TINY_VERSION = 10; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-614.1.10-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (292876 => 292877) --- branches/safari-614.1.10-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2022-04-14 17:23:45 UTC (rev 292876) +++ branches/safari-614.1.10-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2022-04-14 17:26:29 UTC (rev 292877) @@ -24,9 +24,9 @@ MAJOR_VERSION = 614; MINOR_VERSION = 1; TINY_VERSION = 10; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-614.1.10-branch/Source/WebCore/Configurations/Version.xcconfig (292876 => 292877) --- branches/safari-614.1.10-branch/Source/WebCore/Configurations/Version.xcconfig 2022-04-14 17:23:45 UTC (rev 292876) +++ branches/safari-614.1.10-branch/Source/WebCore/Configurations/Version.xcconfig 2022-04-14 17:26:29 UTC (rev 292877) @@ -24,9 +24,9 @@ MAJOR_VERSION = 614; MINOR_VERSION = 1; TINY_VERSION = 10; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-614.1.10-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (292876 => 292877) --- branches/safari-614.1.10-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2022-04-14 17:23:45 UTC (rev 292876) +++ branches/safari-614.1.10-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2022-04-14 17:26:29 UTC (rev 292877) @@ -24,9 +24,9 @@ MAJOR_VERSION = 614; MINOR_VERSION = 1; TINY_VERSION = 10; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version
[webkit-changes] [292876] trunk/Tools
Title: [292876] trunk/Tools Revision 292876 Author commit-qu...@webkit.org Date 2022-04-14 10:23:45 -0700 (Thu, 14 Apr 2022) Log Message Replace PaintCompositedResultsToMediaSample with PaintCompositedResultsToVideoFrame in generate-gpup-webgl https://bugs.webkit.org/show_bug.cgi?id=239317 Patch by John Cunningham on 2022-04-14 Reviewed by Alexey Proskuryakov. * Scripts/generate-gpup-webgl: Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/generate-gpup-webgl Diff Modified: trunk/Tools/ChangeLog (292875 => 292876) --- trunk/Tools/ChangeLog 2022-04-14 17:15:56 UTC (rev 292875) +++ trunk/Tools/ChangeLog 2022-04-14 17:23:45 UTC (rev 292876) @@ -1,3 +1,12 @@ +2022-04-14 John Cunningham + +Replace PaintCompositedResultsToMediaSample with PaintCompositedResultsToVideoFrame in generate-gpup-webgl +https://bugs.webkit.org/show_bug.cgi?id=239317 + +Reviewed by Alexey Proskuryakov. + +* Scripts/generate-gpup-webgl: + 2022-04-14 Robert Jenner Remove bot241 to be re-purposed Modified: trunk/Tools/Scripts/generate-gpup-webgl (292875 => 292876) --- trunk/Tools/Scripts/generate-gpup-webgl 2022-04-14 17:15:56 UTC (rev 292875) +++ trunk/Tools/Scripts/generate-gpup-webgl 2022-04-14 17:23:45 UTC (rev 292876) @@ -109,7 +109,7 @@ void CopyTextureFromVideoFrame(WebKit::RemoteVideoFrameReadReference videoFrame, uint32_t texture, uint32_t target, int32_t level, uint32_t internalFormat, uint32_t format, uint32_t type, bool premultiplyAlpha, bool flipY) -> (bool success) Synchronous #endif #if ENABLE(MEDIA_STREAM) -void PaintCompositedResultsToMediaSample() -> (std::optional properties) Synchronous +void PaintCompositedResultsToVideoFrame() -> (std::optional properties) Synchronous #endif void SimulateEventForTesting(WebCore::GraphicsContextGL::SimulatedEventForTesting event) void ReadnPixels0(int32_t x, int32_t y, int32_t width, int32_t height, uint32_t format, uint32_t type, IPC::ArrayReference data) -> (IPC::ArrayReference data) Synchronous ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292875] trunk/LayoutTests
Title: [292875] trunk/LayoutTests Revision 292875 Author rack...@apple.com Date 2022-04-14 10:15:56 -0700 (Thu, 14 Apr 2022) Log Message [ Mac ] editing/execCommand/insert-ordered-list-and-delete.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=239345 Unreviewed test gardening. * platform/mac/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (292874 => 292875) --- trunk/LayoutTests/ChangeLog 2022-04-14 17:07:18 UTC (rev 292874) +++ trunk/LayoutTests/ChangeLog 2022-04-14 17:15:56 UTC (rev 292875) @@ -1,5 +1,14 @@ 2022-04-14 Karl Rackler +[ Mac ] editing/execCommand/insert-ordered-list-and-delete.html is a flaky failure +https://bugs.webkit.org/show_bug.cgi?id=239345 + +Unreviewed test gardening. + +* platform/mac/TestExpectations: + +2022-04-14 Karl Rackler + [ Mac wk2 arm64 ] scrollingcoordinator/mac/fixed-backgrounds/fixed-background-in-overflow-in-iframe.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=225529 Modified: trunk/LayoutTests/platform/mac/TestExpectations (292874 => 292875) --- trunk/LayoutTests/platform/mac/TestExpectations 2022-04-14 17:07:18 UTC (rev 292874) +++ trunk/LayoutTests/platform/mac/TestExpectations 2022-04-14 17:15:56 UTC (rev 292875) @@ -2291,3 +2291,5 @@ # fractional pixel diff between modern and legacy line layout. imported/blink/fast/multicol/vertical-lr/float-content-break.html [ ImageOnlyFailure ] + +editing/execCommand/insert-ordered-list-and-delete.html [ Pass Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292874] trunk/Source/WebCore
Title: [292874] trunk/Source/WebCore Revision 292874 Author cdu...@apple.com Date 2022-04-14 10:07:18 -0700 (Thu, 14 Apr 2022) Log Message Update ContainerNode::getElementsByName() to take in an AtomString https://bugs.webkit.org/show_bug.cgi?id=239333 Reviewed by Alexey Shvayka. Update ContainerNode::getElementsByName() to take in an AtomString instead of a String. Its implementation ends up atomizing the name anyway. * dom/ContainerNode.cpp: (WebCore::ContainerNode::getElementsByName): * dom/ContainerNode.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/ContainerNode.cpp trunk/Source/WebCore/dom/ContainerNode.h Diff Modified: trunk/Source/WebCore/ChangeLog (292873 => 292874) --- trunk/Source/WebCore/ChangeLog 2022-04-14 16:39:48 UTC (rev 292873) +++ trunk/Source/WebCore/ChangeLog 2022-04-14 17:07:18 UTC (rev 292874) @@ -1,3 +1,17 @@ +2022-04-14 Chris Dumez + +Update ContainerNode::getElementsByName() to take in an AtomString +https://bugs.webkit.org/show_bug.cgi?id=239333 + +Reviewed by Alexey Shvayka. + +Update ContainerNode::getElementsByName() to take in an AtomString instead of a String. +Its implementation ends up atomizing the name anyway. + +* dom/ContainerNode.cpp: +(WebCore::ContainerNode::getElementsByName): +* dom/ContainerNode.h: + 2022-04-14 Youenn Fablet Add logging for persistent notification event handler failure Modified: trunk/Source/WebCore/dom/ContainerNode.cpp (292873 => 292874) --- trunk/Source/WebCore/dom/ContainerNode.cpp 2022-04-14 16:39:48 UTC (rev 292873) +++ trunk/Source/WebCore/dom/ContainerNode.cpp 2022-04-14 17:07:18 UTC (rev 292874) @@ -947,7 +947,7 @@ return ensureRareData().ensureNodeLists().addCachedTagCollectionNS(*this, namespaceURI.isEmpty() ? nullAtom() : namespaceURI, localName); } -Ref ContainerNode::getElementsByName(const String& elementName) +Ref ContainerNode::getElementsByName(const AtomString& elementName) { return ensureRareData().ensureNodeLists().addCacheWithAtomName(*this, elementName); } Modified: trunk/Source/WebCore/dom/ContainerNode.h (292873 => 292874) --- trunk/Source/WebCore/dom/ContainerNode.h 2022-04-14 16:39:48 UTC (rev 292873) +++ trunk/Source/WebCore/dom/ContainerNode.h 2022-04-14 17:07:18 UTC (rev 292874) @@ -140,7 +140,7 @@ WEBCORE_EXPORT Ref getElementsByTagName(const AtomString&); WEBCORE_EXPORT Ref getElementsByTagNameNS(const AtomString& namespaceURI, const AtomString& localName); -WEBCORE_EXPORT Ref getElementsByName(const String& elementName); +WEBCORE_EXPORT Ref getElementsByName(const AtomString& elementName); WEBCORE_EXPORT Ref getElementsByClassName(const AtomString& classNames); Ref radioNodeList(const AtomString&); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292873] trunk/Tools
Title: [292873] trunk/Tools Revision 292873 Author jen...@apple.com Date 2022-04-14 09:39:48 -0700 (Thu, 14 Apr 2022) Log Message Remove bot241 to be re-purposed Unreviewed configuration change. * Tools/CISupport/build-webkit-org/config.json: Modified Paths trunk/Tools/CISupport/build-webkit-org/config.json trunk/Tools/ChangeLog Diff Modified: trunk/Tools/CISupport/build-webkit-org/config.json (292872 => 292873) --- trunk/Tools/CISupport/build-webkit-org/config.json 2022-04-14 16:23:56 UTC (rev 292872) +++ trunk/Tools/CISupport/build-webkit-org/config.json 2022-04-14 16:39:48 UTC (rev 292873) @@ -40,7 +40,6 @@ { "name": "bot1027", "platform": "mac-bigsur" }, { "name": "bot205", "platform": "*" }, -{ "name": "bot241", "platform": "*" }, { "name": "bot242", "platform": "*" }, { "name": "bot243", "platform": "*" }, { "name": "bot244", "platform": "*" }, Modified: trunk/Tools/ChangeLog (292872 => 292873) --- trunk/Tools/ChangeLog 2022-04-14 16:23:56 UTC (rev 292872) +++ trunk/Tools/ChangeLog 2022-04-14 16:39:48 UTC (rev 292873) @@ -1,3 +1,12 @@ +2022-04-14 Robert Jenner + +Remove bot241 to be re-purposed + + +Unreviewed configuration change. + +* CISupport/build-webkit-org/config.json: + 2022-04-14 Justin Michaud [PGO] We should be able to build WebKit to collect PGO profiles easily ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292872] trunk/Source/WebCore
Title: [292872] trunk/Source/WebCore Revision 292872 Author you...@apple.com Date 2022-04-14 09:23:56 -0700 (Thu, 14 Apr 2022) Log Message Add logging for persistent notification event handler failure https://bugs.webkit.org/show_bug.cgi?id=239131 Reviewed by Chris Dumez. * workers/service/server/SWServer.cpp: (WebCore::SWServer::processNotificationEvent): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/workers/service/server/SWServer.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (292871 => 292872) --- trunk/Source/WebCore/ChangeLog 2022-04-14 16:05:12 UTC (rev 292871) +++ trunk/Source/WebCore/ChangeLog 2022-04-14 16:23:56 UTC (rev 292872) @@ -1,3 +1,13 @@ +2022-04-14 Youenn Fablet + +Add logging for persistent notification event handler failure +https://bugs.webkit.org/show_bug.cgi?id=239131 + +Reviewed by Chris Dumez. + +* workers/service/server/SWServer.cpp: +(WebCore::SWServer::processNotificationEvent): + 2022-04-14 Justin Michaud [PGO] We should be able to build WebKit to collect PGO profiles easily Modified: trunk/Source/WebCore/workers/service/server/SWServer.cpp (292871 => 292872) --- trunk/Source/WebCore/workers/service/server/SWServer.cpp 2022-04-14 16:05:12 UTC (rev 292871) +++ trunk/Source/WebCore/workers/service/server/SWServer.cpp 2022-04-14 16:23:56 UTC (rev 292872) @@ -1393,7 +1393,8 @@ worker->decrementFunctionalEventCounter(); }); terminateWorkerTimer->startOneShot(weakThis && weakThis->m_isProcessTerminationDelayEnabled ? defaultTerminationDelay : defaultFunctionalEventDuration); -connectionOrStatus.value()->fireNotificationEvent(serviceWorkerIdentifier, data, type, [terminateWorkerTimer = WTFMove(terminateWorkerTimer), worker = WTFMove(worker)](bool /* succeeded */) mutable { +connectionOrStatus.value()->fireNotificationEvent(serviceWorkerIdentifier, data, type, [terminateWorkerTimer = WTFMove(terminateWorkerTimer), worker = WTFMove(worker)](bool succeeded) mutable { +RELEASE_LOG_ERROR_IF(!succeeded, ServiceWorker, "Service Worker notification event handler did not succeed"); // FIXME: if succeeded is false, should we implement a default action like opening a new page? if (terminateWorkerTimer->isActive()) { worker->decrementFunctionalEventCounter(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292871] trunk/LayoutTests
Title: [292871] trunk/LayoutTests Revision 292871 Author rack...@apple.com Date 2022-04-14 09:05:12 -0700 (Thu, 14 Apr 2022) Log Message [ Mac wk2 arm64 ] scrollingcoordinator/mac/fixed-backgrounds/fixed-background-in-overflow-in-iframe.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=225529 Unreviewed test gardening. * platform/mac-wk2/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac-wk2/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (292870 => 292871) --- trunk/LayoutTests/ChangeLog 2022-04-14 15:56:44 UTC (rev 292870) +++ trunk/LayoutTests/ChangeLog 2022-04-14 16:05:12 UTC (rev 292871) @@ -1,3 +1,12 @@ +2022-04-14 Karl Rackler + +[ Mac wk2 arm64 ] scrollingcoordinator/mac/fixed-backgrounds/fixed-background-in-overflow-in-iframe.html is a flaky failure +https://bugs.webkit.org/show_bug.cgi?id=225529 + +Unreviewed test gardening. + +* platform/mac-wk2/TestExpectations: + 2022-04-13 Kate Cheney [ iOS ] imported/w3c/web-platform-tests/content-security-policy/worker-src/service-* tests are consistently failing (229875) Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (292870 => 292871) --- trunk/LayoutTests/platform/mac-wk2/TestExpectations 2022-04-14 15:56:44 UTC (rev 292870) +++ trunk/LayoutTests/platform/mac-wk2/TestExpectations 2022-04-14 16:05:12 UTC (rev 292871) @@ -1403,7 +1403,7 @@ webkit.org/b/207474 http/tests/cache-storage/cache-records-persistency.https.html [ Pass Failure ] -webkit.org/b/225529 [ BigSur Release arm64 ] scrollingcoordinator/mac/fixed-backgrounds/fixed-background-in-overflow-in-iframe.html [ Pass Failure ] +webkit.org/b/225529 [ arm64 ] scrollingcoordinator/mac/fixed-backgrounds/fixed-background-in-overflow-in-iframe.html [ Pass Failure ] webkit.org/b/225534 [ BigSur Debug arm64 ] imported/w3c/web-platform-tests/webrtc-encoded-transform/sframe-transform-readable.html [ Pass Crash ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292870] trunk
Title: [292870] trunk Revision 292870 Author justin_mich...@apple.com Date 2022-04-14 08:56:44 -0700 (Thu, 14 Apr 2022) Log Message [PGO] We should be able to build WebKit to collect PGO profiles easily https://bugs.webkit.org/show_bug.cgi?id=238776 Reviewed by Wenson Hsieh. .: * Makefile.shared: * Source/cmake/WebKitFeatures.cmake: Source/_javascript_Core: * Configurations/_javascript_Core.xcconfig: * runtime/VM.cpp: (JSC::VM::VM): Source/WebCore: * Configurations/WebCore.xcconfig: * Configurations/WebCoreTestSupport.xcconfig: * page/Frame.cpp: (WebCore::Frame::Frame): Source/WebKit: * Configurations/BaseTarget.xcconfig: * Configurations/WebKit.xcconfig: * GPUProcess/mac/GPUProcessMac.mm: (WebKit::GPUProcess::initializeProcess): * NetworkProcess/mac/NetworkProcessMac.mm: (WebKit::NetworkProcess::initializeProcess): * WebProcess/WebPage/WebPage.cpp: (WebKit::m_appHighlightsVisible): Source/WTF: Build WebKit as follows: make release WK_LTO_MODE=thin ENABLE_LLVM_PROFILE_GENERATION=ON Then, follow the directions in the log output at runtime to collect your raw PGO profiles! We add a new compile flag plus WTF::registerProfileGenerationCallback, allowing llvm profiles to be collected by sending a notifyutil signal. The files are written to the temp directory, and it seems like the sandbox permits this by default. You may need to disable the sandbox if you encounter issues, either by editing the *.sb files or by using an inserted dylib to interpose the sandbox initialization calls. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/GenerateProfiles.h: Added. (WTF::registerProfileGenerationCallback): * wtf/PlatformEnable.h: Tools: * Scripts/check-for-weak-vtables-and-externals: * Scripts/webkitdirs.pm: (XcodeOptions): * Scripts/webkitperl/FeatureList.pm: Modified Paths trunk/ChangeLog trunk/Makefile.shared trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Configurations/_javascript_Core.xcconfig trunk/Source/_javascript_Core/runtime/InitializeThreading.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/WTF.xcodeproj/project.pbxproj trunk/Source/WTF/wtf/CMakeLists.txt trunk/Source/WTF/wtf/PlatformEnable.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Configurations/WebCore.xcconfig trunk/Source/WebCore/Configurations/WebCoreTestSupport.xcconfig trunk/Source/WebCore/bindings/js/ScriptController.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Configurations/BaseTarget.xcconfig trunk/Source/WebKit/Configurations/GPUService.xcconfig trunk/Source/WebKit/Configurations/MediaFormatReader.xcconfig trunk/Source/WebKit/Configurations/NetworkService.xcconfig trunk/Source/WebKit/Configurations/WebAuthnService.xcconfig trunk/Source/WebKit/Configurations/WebContentService.xcconfig trunk/Source/WebKit/Configurations/WebKit.xcconfig trunk/Source/WebKit/Configurations/WebKitSwift.xcconfig trunk/Source/WebKit/Configurations/adattributiond.xcconfig trunk/Source/WebKit/Configurations/webpushd.xcconfig trunk/Source/WebKit/Configurations/webpushtool.xcconfig trunk/Source/WebKit/Shared/Cocoa/WebKit2InitializeCocoa.mm trunk/Source/WebKit/Shared/WebKit2Initialize.cpp trunk/Source/WebKit/SwiftOverlay/Configurations/WebKitSwiftOverlay.xcconfig trunk/Source/cmake/WebKitFeatures.cmake trunk/Tools/ChangeLog trunk/Tools/Scripts/check-for-weak-vtables-and-externals trunk/Tools/Scripts/webkitperl/FeatureList.pm Added Paths trunk/Source/WTF/wtf/GenerateProfiles.h Diff Modified: trunk/ChangeLog (292869 => 292870) --- trunk/ChangeLog 2022-04-14 15:48:20 UTC (rev 292869) +++ trunk/ChangeLog 2022-04-14 15:56:44 UTC (rev 292870) @@ -1,3 +1,13 @@ +2022-04-14 Justin Michaud + +[PGO] We should be able to build WebKit to collect PGO profiles easily +https://bugs.webkit.org/show_bug.cgi?id=238776 + +Reviewed by Wenson Hsieh. + +* Makefile.shared: +* Source/cmake/WebKitFeatures.cmake: + 2022-04-14 Zan Dobersek [GTK][WPE] Make the ENABLE_GPU_PROCESS CMake option depend on USE_ANGLE_WEBGL Modified: trunk/Makefile.shared (292869 => 292870) --- trunk/Makefile.shared 2022-04-14 15:48:20 UTC (rev 292869) +++ trunk/Makefile.shared 2022-04-14 15:56:44 UTC (rev 292870) @@ -1,6 +1,9 @@ SCRIPTS_PATH ?= ../Tools/Scripts XCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()' -- $(BUILD_WEBKIT_OPTIONS)` $${COLOR_DIAGNOSTICS_ARG} $(ARGS) +ifeq (ON,$(ENABLE_LLVM_PROFILE_GENERATION)) + XCODE_OPTIONS += ENABLE_LLVM_PROFILE_GENERATION=ENABLE_LLVM_PROFILE_GENERATION +endif ifeq ($(USE_WORKSPACE),YES) SCHEME ?= $(notdir $(CURDIR)) Modified: trunk/Source/_javascript_Core/ChangeLog (292869 => 292870) --- trunk/Source/_javascript_Core/ChangeLog 2022-04-14 15:48:20 UTC (rev 292869) +++ trunk/Source/_javascript_Core/ChangeLog 2022-04-14 15:56:44 UTC (rev 292870) @@ -1,3 +1,14 @@ +2022-04-14 Justin Michaud + +[PGO] We should be able to build WebKit to collect PGO profiles easily +
[webkit-changes] [292869] trunk/Source/WebKit
Title: [292869] trunk/Source/WebKit Revision 292869 Author you...@apple.com Date 2022-04-14 08:48:20 -0700 (Thu, 14 Apr 2022) Log Message REGRESSION (249029@main): http/wpt/cache-storage/cache-storage-networkprocess-crash.html is a flaky CRASH with ASSERTION FAILED: m_pageMap.isEmpty() https://bugs.webkit.org/show_bug.cgi?id=239095 Reviewed by Chris Dumez. We send the same IPC message to close WebSWContextManagerConnection from either network process or UIProcess. To prevent closing twice the same connection, we exit early if the connection is closed. Covered by existing tests. * WebProcess/Storage/WebSWContextManagerConnection.cpp: * WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp trunk/Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (292868 => 292869) --- trunk/Source/WebKit/ChangeLog 2022-04-14 15:44:26 UTC (rev 292868) +++ trunk/Source/WebKit/ChangeLog 2022-04-14 15:48:20 UTC (rev 292869) @@ -1,3 +1,19 @@ +2022-04-14 Youenn Fablet + +REGRESSION (249029@main): http/wpt/cache-storage/cache-storage-networkprocess-crash.html is a flaky CRASH with ASSERTION FAILED: m_pageMap.isEmpty() +https://bugs.webkit.org/show_bug.cgi?id=239095 + + +Reviewed by Chris Dumez. + +We send the same IPC message to close WebSWContextManagerConnection from either network process or UIProcess. +To prevent closing twice the same connection, we exit early if the connection is closed. + +Covered by existing tests. + +* WebProcess/Storage/WebSWContextManagerConnection.cpp: +* WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp: + 2022-04-14 Kate Cheney WKWebView: navigator.serviceWorker.register method fails for a new version of an already registered service worker. Modified: trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp (292868 => 292869) --- trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp 2022-04-14 15:44:26 UTC (rev 292868) +++ trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp 2022-04-14 15:48:20 UTC (rev 292869) @@ -373,7 +373,10 @@ void WebSWContextManagerConnection::close() { -RELEASE_LOG(ServiceWorker, "Service worker process is requested to stop all service workers"); +RELEASE_LOG(ServiceWorker, "Service worker process is requested to stop all service workers (already stopped = %d)", isClosed()); +if (isClosed()) +return; + setAsClosed(); m_connectionToNetworkProcess->send(Messages::NetworkConnectionToWebProcess::CloseSWContextConnection { }, 0); Modified: trunk/Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp (292868 => 292869) --- trunk/Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp 2022-04-14 15:44:26 UTC (rev 292868) +++ trunk/Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp 2022-04-14 15:48:20 UTC (rev 292869) @@ -118,7 +118,10 @@ void WebSharedWorkerContextManagerConnection::close() { -RELEASE_LOG(SharedWorker, "WebSharedWorkerContextManagerConnection::close: Shared worker process is requested to stop all shared workers"); +RELEASE_LOG(SharedWorker, "WebSharedWorkerContextManagerConnection::close: Shared worker process is requested to stop all shared workers (already stopped = %d)", isClosed()); +if (isClosed()) +return; + setAsClosed(); m_connectionToNetworkProcess->send(Messages::NetworkConnectionToWebProcess::CloseSharedWorkerContextConnection { }, 0); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292868] trunk/Tools
Title: [292868] trunk/Tools Revision 292868 Author you...@apple.com Date 2022-04-14 08:44:26 -0700 (Thu, 14 Apr 2022) Log Message Enable ExitsUnderMemoryPressureWebRTCCase and disable ExitsUnderMemoryPressureGetUserMediaAudioCase on iOS simulator https://bugs.webkit.org/show_bug.cgi?id=239115 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm: (TEST): Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm Diff Modified: trunk/Tools/ChangeLog (292867 => 292868) --- trunk/Tools/ChangeLog 2022-04-14 14:52:58 UTC (rev 292867) +++ trunk/Tools/ChangeLog 2022-04-14 15:44:26 UTC (rev 292868) @@ -1,3 +1,13 @@ +2022-04-14 Youenn Fablet + +Enable ExitsUnderMemoryPressureWebRTCCase and disable ExitsUnderMemoryPressureGetUserMediaAudioCase on iOS simulator +https://bugs.webkit.org/show_bug.cgi?id=239115 + +Reviewed by Eric Carlson. + +* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm: +(TEST): + 2022-04-14 Kate Cheney WKWebView: navigator.serviceWorker.register method fails for a new version of an already registered service worker. Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm (292867 => 292868) --- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm 2022-04-14 14:52:58 UTC (rev 292867) +++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm 2022-04-14 15:44:26 UTC (rev 292868) @@ -682,6 +682,8 @@ return false; } +#if PLATFORM(MAC) +// FIXME: https://bugs.webkit.org/show_bug.cgi?id=237854 is disabled for IOS TEST(GPUProcess, ExitsUnderMemoryPressureGetUserMediaAudioCase) { runMemoryPressureExitTest([](WKWebView *webView) { @@ -699,6 +701,7 @@ preferences._getUserMediaRequiresFocus = NO; }); } +#endif TEST(GPUProcess, ExitsUnderMemoryPressureGetUserMediaVideoCase) { @@ -718,8 +721,6 @@ }); } -#if PLATFORM(MAC) -// FIXME: https://bugs.webkit.org/show_bug.cgi?id=237854 is disabled for IOS TEST(GPUProcess, ExitsUnderMemoryPressureWebRTCCase) { runMemoryPressureExitTest([](WKWebView *webView) { @@ -738,7 +739,6 @@ preferences._getUserMediaRequiresFocus = NO; }); } -#endif // PLATFORM(MAC) #endif // ENABLE(MEDIA_STREAM) TEST(GPUProcess, ExitsUnderMemoryPressureWebAudioCase) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292867] trunk
Title: [292867] trunk Revision 292867 Author katherine_che...@apple.com Date 2022-04-14 07:52:58 -0700 (Thu, 14 Apr 2022) Log Message WKWebView: navigator.serviceWorker.register method fails for a new version of an already registered service worker. https://bugs.webkit.org/show_bug.cgi?id=229554 Reviewed by Brent Fulgham. Source/WebCore: Check to see if a domain has already been registered when validating a service worker registration domain. In this case, we allow an updated registration. There are a couple of other changes that are key for testing this. First, this adds a way to override the max registration count for tests. This is because we can only use 127.0.0.1 and localhost in tests, but would need 3 domains in order to test the max count. overrideServiceWorkerRegistrationCountTestingValue lets us lower that number. Second, we also want a way to override the loopback IP address check to make sure we don't get a false positive test result for localhost and 127.0.0.1 in API tests. * workers/service/server/SWServer.cpp: (WebCore::SWServer::addRegistrationFromStore): (WebCore::SWServer::addRegistration): (WebCore::SWServer::SWServer): (WebCore::SWServer::maxRegistrationCount): (WebCore::SWServer::allowLoopbackIPAddress): (WebCore::SWServer::validateRegistrationDomain): (WebCore::SWServer::scheduleJob): (WebCore::SWServer::removeFromScopeToRegistrationMap): * workers/service/server/SWServer.h: Source/WebKit: Plumbing to override the max service worker registration count for test purposes. See WebCore changelog for details. * NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::NetworkSession): (WebKit::NetworkSession::ensureSWServer): * NetworkProcess/NetworkSession.h: (WebKit::NetworkSession::overrideServiceWorkerRegistrationCountTestingValue const): * NetworkProcess/NetworkSessionCreationParameters.cpp: (WebKit::NetworkSessionCreationParameters::encode const): (WebKit::NetworkSessionCreationParameters::decode): * NetworkProcess/NetworkSessionCreationParameters.h: * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: (-[_WKWebsiteDataStoreConfiguration overrideServiceWorkerRegistrationCountTestingValue]): (-[_WKWebsiteDataStoreConfiguration setOverrideServiceWorkerRegistrationCountTestingValue:]): * UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::parameters): * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp: (WebKit::WebsiteDataStoreConfiguration::copy const): * UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h: (WebKit::WebsiteDataStoreConfiguration::overrideServiceWorkerRegistrationCountTestingValue const): (WebKit::WebsiteDataStoreConfiguration::setOverrideServiceWorkerRegistrationCountTestingValue): Tools: Adds a new test for re-registering and an overdue test for unregistering now that we have the infrastructure. This also does some refactoring to reduce duplicate code. * TestWebKitAPI/Info.plist: Update the Info.plist to consider localhost an app-bound domain so we can test the max count when overriding the loopback IP. This requires replacing an existing domain to stay under the count limit. * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: (TEST): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/workers/service/server/SWServer.cpp trunk/Source/WebCore/workers/service/server/SWServer.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp trunk/Source/WebKit/NetworkProcess/NetworkSession.h trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Info.plist trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm Diff Modified: trunk/Source/WebCore/ChangeLog (292866 => 292867) --- trunk/Source/WebCore/ChangeLog 2022-04-14 14:36:17 UTC (rev 292866) +++ trunk/Source/WebCore/ChangeLog 2022-04-14 14:52:58 UTC (rev 292867) @@ -1,3 +1,37 @@ +2022-04-14 Kate Cheney + +WKWebView: navigator.serviceWorker.register method fails for a new version of an already registered service worker. +https://bugs.webkit.org/show_bug.cgi?id=229554 + + +Reviewed by Brent Fulgham. + +Check to see if a domain has already been registered when validating +a service worker registration domain. In this case, we allow an +updated registration. + +There are a couple of other changes that are key for testing this. +First, this adds a way to override the max registration
[webkit-changes] [292866] trunk/LayoutTests
Title: [292866] trunk/LayoutTests Revision 292866 Author katherine_che...@apple.com Date 2022-04-14 07:36:17 -0700 (Thu, 14 Apr 2022) Log Message [ iOS ] imported/w3c/web-platform-tests/content-security-policy/worker-src/service-* tests are consistently failing (229875) https://bugs.webkit.org/show_bug.cgi?id=229875 Unreviewed. Updating test expectations to enable CSP worker-src tests. * platform/ios-wk2/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-wk2/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (292865 => 292866) --- trunk/LayoutTests/ChangeLog 2022-04-14 14:35:08 UTC (rev 292865) +++ trunk/LayoutTests/ChangeLog 2022-04-14 14:36:17 UTC (rev 292866) @@ -1,3 +1,13 @@ +2022-04-13 Kate Cheney + +[ iOS ] imported/w3c/web-platform-tests/content-security-policy/worker-src/service-* tests are consistently failing (229875) +https://bugs.webkit.org/show_bug.cgi?id=229875 + + +Unreviewed. Updating test expectations to enable CSP worker-src tests. + +* platform/ios-wk2/TestExpectations: + 2022-04-14 Youenn Fablet Expose workers as service worker clients and implement registration matching for dedicated workers Modified: trunk/LayoutTests/platform/ios-wk2/TestExpectations (292865 => 292866) --- trunk/LayoutTests/platform/ios-wk2/TestExpectations 2022-04-14 14:35:08 UTC (rev 292865) +++ trunk/LayoutTests/platform/ios-wk2/TestExpectations 2022-04-14 14:36:17 UTC (rev 292866) @@ -1374,11 +1374,6 @@ webkit.org/b/205216 imported/w3c/web-platform-tests/content-security-policy/reporting/report-same-origin-with-cookies.html [ Pass Failure DumpJSConsoleLogInStdErr ] -webkit.org/b/229875 imported/w3c/web-platform-tests/content-security-policy/worker-src/service-fallback.https.sub.html [ Pass Failure DumpJSConsoleLogInStdErr ] -webkit.org/b/229875 imported/w3c/web-platform-tests/content-security-policy/worker-src/service-list.https.sub.html [ Pass Failure DumpJSConsoleLogInStdErr ] -webkit.org/b/229875 imported/w3c/web-platform-tests/content-security-policy/worker-src/service-none.https.sub.html [ Pass Failure DumpJSConsoleLogInStdErr ] -webkit.org/b/229875 imported/w3c/web-platform-tests/content-security-policy/worker-src/service-self.https.sub.html [ Pass Failure DumpJSConsoleLogInStdErr ] - webkit.org/b/190852 imported/w3c/web-platform-tests/service-workers/service-worker/redirected-response.https.html [ Pass Failure ] webkit.org/b/196300 fast/visual-viewport/ios/min-scale-greater-than-one.html [ Pass Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292865] trunk
Title: [292865] trunk Revision 292865 Author z...@falconsigh.net Date 2022-04-14 07:35:08 -0700 (Thu, 14 Apr 2022) Log Message [GTK][WPE] Make the ENABLE_GPU_PROCESS CMake option depend on USE_ANGLE_WEBGL https://bugs.webkit.org/show_bug.cgi?id=239330 Reviewed by Adrian Perez de Castro. For the GTK and WPE ports, the ENABLE_GPU_PROCESS CMake option should depend on the USE_ANGLE_WEBGL option being enabled. There's no plans to support 'direct' GL execution in that process, and the ANGLE usage also implies (for these two ports) usage of generic buffer solutions that are shareable across process boundaries, as is necessary for a functioning GPUProcess implementation. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Modified Paths trunk/ChangeLog trunk/Source/cmake/OptionsGTK.cmake trunk/Source/cmake/OptionsWPE.cmake Diff Modified: trunk/ChangeLog (292864 => 292865) --- trunk/ChangeLog 2022-04-14 14:13:38 UTC (rev 292864) +++ trunk/ChangeLog 2022-04-14 14:35:08 UTC (rev 292865) @@ -1,3 +1,20 @@ +2022-04-14 Zan Dobersek + +[GTK][WPE] Make the ENABLE_GPU_PROCESS CMake option depend on USE_ANGLE_WEBGL +https://bugs.webkit.org/show_bug.cgi?id=239330 + +Reviewed by Adrian Perez de Castro. + +For the GTK and WPE ports, the ENABLE_GPU_PROCESS CMake option should +depend on the USE_ANGLE_WEBGL option being enabled. There's no plans +to support 'direct' GL execution in that process, and the ANGLE usage +also implies (for these two ports) usage of generic buffer solutions +that are shareable across process boundaries, as is necessary for a +functioning GPUProcess implementation. + +* Source/cmake/OptionsGTK.cmake: +* Source/cmake/OptionsWPE.cmake: + 2022-04-13 Elliott Williams [Xcode] Fix public watchOS workspace build by updating scheme and build settings Modified: trunk/Source/cmake/OptionsGTK.cmake (292864 => 292865) --- trunk/Source/cmake/OptionsGTK.cmake 2022-04-14 14:13:38 UTC (rev 292864) +++ trunk/Source/cmake/OptionsGTK.cmake 2022-04-14 14:35:08 UTC (rev 292865) @@ -83,6 +83,7 @@ WEBKIT_OPTION_DEPEND(ENABLE_WEBGL USE_OPENGL_OR_ES) WEBKIT_OPTION_DEPEND(USE_ANGLE_WEBGL ENABLE_WEBGL) WEBKIT_OPTION_DEPEND(ENABLE_WEBGL2 USE_ANGLE_WEBGL) +WEBKIT_OPTION_DEPEND(ENABLE_GPU_PROCESS USE_ANGLE_WEBGL) WEBKIT_OPTION_DEPEND(USE_GSTREAMER_GL USE_OPENGL_OR_ES) WEBKIT_OPTION_DEPEND(USE_WPE_RENDERER USE_OPENGL_OR_ES) WEBKIT_OPTION_DEPEND(USE_WPE_RENDERER ENABLE_WAYLAND_TARGET) Modified: trunk/Source/cmake/OptionsWPE.cmake (292864 => 292865) --- trunk/Source/cmake/OptionsWPE.cmake 2022-04-14 14:13:38 UTC (rev 292864) +++ trunk/Source/cmake/OptionsWPE.cmake 2022-04-14 14:35:08 UTC (rev 292865) @@ -94,6 +94,7 @@ WEBKIT_OPTION_DEFINE(USE_EXTERNAL_HOLEPUNCH "Whether to enable external holepunch" PRIVATE OFF) WEBKIT_OPTION_DEPEND(USE_ANGLE_WEBGL ENABLE_WEBGL) WEBKIT_OPTION_DEPEND(ENABLE_WEBGL2 USE_ANGLE_WEBGL) +WEBKIT_OPTION_DEPEND(ENABLE_GPU_PROCESS USE_ANGLE_WEBGL) if (CMAKE_SYSTEM_NAME MATCHES "Linux") WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BUBBLEWRAP_SANDBOX PUBLIC ON) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [292864] trunk/Source/WebCore
Title: [292864] trunk/Source/WebCore Revision 292864 Author z...@falconsigh.net Date 2022-04-14 07:13:38 -0700 (Thu, 14 Apr 2022) Log Message [GTK][WPE] Provide WK2 IPC encoding, decoding methods for the DMABufObject type https://bugs.webkit.org/show_bug.cgi?id=239038 Reviewed by Adrian Perez de Castro. Provide encoding and decoding methods on the DMABufObject class, enabling transport over IPC channels. There are two separate ref-qualified encoding methods. When encoding an object that's managed through an lvalue reference, we duplicate the file descriptor objects since the DMABufObject will live on. When managed through an rvalue object, we know the object's lifetime is intended to be limited to this encoding process, so we can avoid the file descriptor duplication and move the fd values into the encoder. * platform/graphics/gbm/DMABufObject.h: (WebCore::DMABufObject::encode const): (WebCore::DMABufObject::encode): (WebCore::DMABufObject::decode): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/gbm/DMABufObject.h Diff Modified: trunk/Source/WebCore/ChangeLog (292863 => 292864) --- trunk/Source/WebCore/ChangeLog 2022-04-14 14:12:02 UTC (rev 292863) +++ trunk/Source/WebCore/ChangeLog 2022-04-14 14:13:38 UTC (rev 292864) @@ -1,3 +1,25 @@ +2022-04-14 Zan Dobersek + +[GTK][WPE] Provide WK2 IPC encoding, decoding methods for the DMABufObject type +https://bugs.webkit.org/show_bug.cgi?id=239038 + +Reviewed by Adrian Perez de Castro. + +Provide encoding and decoding methods on the DMABufObject class, +enabling transport over IPC channels. + +There are two separate ref-qualified encoding methods. When encoding +an object that's managed through an lvalue reference, we duplicate the +file descriptor objects since the DMABufObject will live on. When +managed through an rvalue object, we know the object's lifetime is +intended to be limited to this encoding process, so we can avoid the +file descriptor duplication and move the fd values into the encoder. + +* platform/graphics/gbm/DMABufObject.h: +(WebCore::DMABufObject::encode const): +(WebCore::DMABufObject::encode): +(WebCore::DMABufObject::decode): + 2022-04-14 Youenn Fablet Expose workers as service worker clients and implement registration matching for dedicated workers Modified: trunk/Source/WebCore/platform/graphics/gbm/DMABufObject.h (292863 => 292864) --- trunk/Source/WebCore/platform/graphics/gbm/DMABufObject.h 2022-04-14 14:12:02 UTC (rev 292863) +++ trunk/Source/WebCore/platform/graphics/gbm/DMABufObject.h 2022-04-14 14:13:38 UTC (rev 292864) @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -49,6 +50,10 @@ DMABufObject(DMABufObject&&) = default; DMABufObject& operator=(DMABufObject&&) = default; +template void encode(Encoder&) const &; +template void encode(Encoder&) &&; +template static std::optional decode(Decoder&); + uintptr_t handle { 0 }; DMABufFormat format { }; uint32_t width { 0 }; @@ -60,4 +65,88 @@ std::array modifier { 0, 0, 0, 0 }; }; +template +void DMABufObject::encode(Encoder& encoder) const & +{ +encoder << handle << uint32_t(format.fourcc) << width << height; +encoder << releaseFlag.fd.duplicate(); + +for (unsigned i = 0; i < DMABufFormat::c_maxPlanes; ++i) { +encoder << fd[i].duplicate(); +encoder << offset[i] << stride[i] << modifier[i]; +} +} + +template +void DMABufObject::encode(Encoder& encoder) && +{ +encoder << handle << uint32_t(format.fourcc) << width << height; +encoder << WTFMove(releaseFlag.fd); + +for (unsigned i = 0; i < DMABufFormat::c_maxPlanes; ++i) { +encoder << WTFMove(fd[i]); +encoder << offset[i] << stride[i] << modifier[i]; +} +} + +template +std::optional DMABufObject::decode(Decoder& decoder) +{ +std::optional handle; +decoder >> handle; +if (!handle) +return std::nullopt; +std::optional fourcc; +decoder >> fourcc; +if (!fourcc) +return std::nullopt; +std::optional width; +decoder >> width; +if (!width) +return std::nullopt; +std::optional height; +decoder >> height; +if (!height) +return std::nullopt; + +DMABufObject dmabufObject(*handle); +dmabufObject.format = DMABufFormat::create(*fourcc); +dmabufObject.width = *width; +dmabufObject.height = *height; + +std::optional releaseFlag; +decoder >> releaseFlag; +if (!releaseFlag) +return std::nullopt; +dmabufObject.releaseFlag.fd = WTFMove(*releaseFlag); + +for (unsigned i = 0; i < DMABufFormat::c_maxPlanes; ++i) { +std::optional fd; +decoder >> fd; +if (!fd) +return std::nullopt; +dmabufObject.fd[i] = WTFMove(*fd); + +std::optional
[webkit-changes] [292863] trunk/Source
Title: [292863] trunk/Source Revision 292863 Author z...@falconsigh.net Date 2022-04-14 07:12:02 -0700 (Thu, 14 Apr 2022) Log Message [WK2] Enable more efficient encoding of synchronous-message reply arguments https://bugs.webkit.org/show_bug.cgi?id=238740 Reviewed by Kimmo Kinnunen. Source/WebKit: Handling of synchronous messages requires construction of a CompletionHandler object that wraps a lambda function which handles logging of the passed-in reply arguments as well as subsequent encoding and dispatching of the reply into the IPC channel. Right now, for any given message the CompletionHandler type is generated from the IPC message specification, and it's essentially a function type with a void return value and const lvalue references for every non-builtin parameter type. This type is imposed onto the lambda handler and when invoked, all the reply arguments are passed on to the IPC encoding as lvalue references. This inhibits opportunities where the reply argument could instead be moved into the completion handler invocation, enabling a more efficient encoding of the passed-in value. For instance, if a Unix file descriptor was moved into the completion handler invocation, it could be trickled down into an IPC::Attachment object and dispatched over IPC without any problems. Instead, because the lvalue reference is imposed as the type, it will have to be duplicated even if the object itself is expiring or would be movable down the invocation. To cover these cases, the actual completion handler type is now deduced from the synchronous-message-handling method itself. This means that the completion handler parameter for the given handler method can now specify whether it wants to receive reply arguments by value or by either lvalue or rvalue reference. The completion handler lambda can combine these parameter types with std::forward() to pass down the actual arguments in the most optimal fashion. To avoid problems, each CompletionHandler specialization retrieved from the method siganture is validated against the CompletionHandler type generated from the IPC specification, requiring that the decayed parameter types match between the two. It's still possible to directly use the CompletionHandler type from the IPC specification as the completion handler type in the message-handling method. An rvalue reference variant of ArgumentCoder::encode() is added. Generic implementation again casts the passed-in reference into an rvalue and calls the encode() on that object. If that type provides ref-qualified encode() methods, implementations of those methods can adjust and more aggressively move things into the encoder when the method is called on an rvalue. It would also be possible to delete the ref-qualified method covering lvalues, meaning encoding would be allowed only for objects that are moved into the completion handler. For types with custom specializations of ArgumentCoder, those specializations would again have to provide rvalue variants of the encode() method and handle the passed-in values appropriately. The send() methods that were previously generated for every IPC message are removed in favor of encoding and calling Connection::sendSyncReply() in the completion-handler lambda. Missing std::forward() calls are added in parameter pack expansions as required. * GPUProcess/media/RemoteCDMProxy.cpp: (WebKit::RemoteCDMProxy::getSupportedConfiguration): * GPUProcess/media/RemoteCDMProxy.h: * GPUProcess/media/RemoteImageDecoderAVFProxy.cpp: (WebKit::RemoteImageDecoderAVFProxy::createFrameImageAtIndex): * GPUProcess/media/RemoteImageDecoderAVFProxy.h: * Platform/IPC/ArgumentCoder.h: (IPC::ArgumentCoder::encode): * Platform/IPC/HandleMessage.h: (IPC::C::): (IPC::CompletionHandlerValidation::matchingParameters): (IPC::CompletionHandlerValidation::matchingTypes): (IPC::handleMessageSynchronous): (IPC::handleMessageSynchronousWantsConnection): (IPC::handleMessageAsync): (IPC::handleMessageAsyncWantsConnection): * Platform/IPC/StreamServerConnection.h: (IPC::StreamServerConnection::sendSyncReply): * Scripts/webkit/messages.py: (message_to_struct_declaration): (generate_message_handler): * Scripts/webkit/tests/TestWithCVPixelBufferMessageReceiver.cpp: (Messages::TestWithCVPixelBuffer::ReceiveCVPixelBuffer::send): Deleted. * Scripts/webkit/tests/TestWithCVPixelBufferMessages.h: * Scripts/webkit/tests/TestWithImageDataMessageReceiver.cpp: (Messages::TestWithImageData::ReceiveImageData::send): Deleted. * Scripts/webkit/tests/TestWithImageDataMessages.h: * Scripts/webkit/tests/TestWithLegacyReceiverMessageReceiver.cpp: (Messages::TestWithLegacyReceiver::CreatePlugin::send): Deleted. (Messages::TestWithLegacyReceiver::RunJavaScriptAlert::send): Deleted. (Messages::TestWithLegacyReceiver::GetPlugins::send): Deleted. (Messages::TestWithLegacyReceiver::GetPluginProcessConnection::send): Deleted. (Messages::TestWithLegacyReceiver::TestMultipleAttributes::send): Deleted.
[webkit-changes] [292862] trunk/Source/WebKit
Title: [292862] trunk/Source/WebKit Revision 292862 Author commit-qu...@webkit.org Date 2022-04-14 06:23:44 -0700 (Thu, 14 Apr 2022) Log Message Some IPC related message forwarding functions use const lvalue references https://bugs.webkit.org/show_bug.cgi?id=238937 Patch by Kimmo Kinnunen on 2022-04-14 Reviewed by Antti Koivisto. Passing the message as const lvalue reference prevents IPC messages to be changed to support move semantics for some message arguments. Fix by using universal references in the shell function signatures. Forward the messages from one shell function to other as rvalue references via WTFMove, since the messages are always such that they are forwarded so. This also catches most such errors in the future. No new tests, refactor. * Platform/IPC/MessageSender.h: (IPC::MessageSender::send): (IPC::MessageSender::sendSync): (IPC::MessageSender::sendWithAsyncReply): * WebProcess/WebPage/DrawingArea.h: (WebKit::DrawingArea::send): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Platform/IPC/MessageSender.h trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.h Diff Modified: trunk/Source/WebKit/ChangeLog (292861 => 292862) --- trunk/Source/WebKit/ChangeLog 2022-04-14 08:48:21 UTC (rev 292861) +++ trunk/Source/WebKit/ChangeLog 2022-04-14 13:23:44 UTC (rev 292862) @@ -1,3 +1,27 @@ +2022-04-14 Kimmo Kinnunen + +Some IPC related message forwarding functions use const lvalue references +https://bugs.webkit.org/show_bug.cgi?id=238937 + +Reviewed by Antti Koivisto. + +Passing the message as const lvalue reference prevents IPC messages to be +changed to support move semantics for some message arguments. + +Fix by using universal references in the shell function signatures. +Forward the messages from one shell function to other as rvalue references +via WTFMove, since the messages are always such that they are forwarded so. +This also catches most such errors in the future. + +No new tests, refactor. + +* Platform/IPC/MessageSender.h: +(IPC::MessageSender::send): +(IPC::MessageSender::sendSync): +(IPC::MessageSender::sendWithAsyncReply): +* WebProcess/WebPage/DrawingArea.h: +(WebKit::DrawingArea::send): + 2022-04-14 Youenn Fablet Expose workers as service worker clients and implement registration matching for dedicated workers Modified: trunk/Source/WebKit/Platform/IPC/MessageSender.h (292861 => 292862) --- trunk/Source/WebKit/Platform/IPC/MessageSender.h 2022-04-14 08:48:21 UTC (rev 292861) +++ trunk/Source/WebKit/Platform/IPC/MessageSender.h 2022-04-14 13:23:44 UTC (rev 292862) @@ -35,25 +35,24 @@ public: virtual ~MessageSender(); -template bool send(const U& message, OptionSet sendOptions = { }) +template bool send(T&& message, OptionSet sendOptions = { }) { -return send(message, messageSenderDestinationID(), sendOptions); +return send(WTFMove(message), messageSenderDestinationID(), sendOptions); } -template bool send(const U& message, uint64_t destinationID, OptionSet sendOptions = { }) +template bool send(T&& message, uint64_t destinationID, OptionSet sendOptions = { }) { -static_assert(!U::isSync, "Message is sync!"); +static_assert(!T::isSync, "Message is sync!"); -auto encoder = makeUniqueRef(U::name(), destinationID); +auto encoder = makeUniqueRef(T::name(), destinationID); encoder.get() << message.arguments(); - return sendMessage(WTFMove(encoder), sendOptions); } - -template -bool send(const U& message, ObjectIdentifier destinationID, OptionSet sendOptions = { }) + +template +bool send(T&& message, ObjectIdentifier destinationID, OptionSet sendOptions = { }) { -return send(message, destinationID.toUInt64(), sendOptions); +return send(WTFMove(message), destinationID.toUInt64(), sendOptions); } using SendSyncResult = Connection::SendSyncResult; @@ -62,7 +61,7 @@ { static_assert(T::isSync, "Message is not sync!"); -return sendSync(std::forward(message), WTFMove(reply), messageSenderDestinationID(), timeout, sendSyncOptions); +return sendSync(WTFMove(message), WTFMove(reply), messageSenderDestinationID(), timeout, sendSyncOptions); } template @@ -74,10 +73,10 @@ return { }; } -template -SendSyncResult sendSync(U&& message, typename U::Reply&& reply, ObjectIdentifier destinationID, Timeout timeout = Timeout::infinity(), OptionSet sendSyncOptions = { }) +template +SendSyncResult sendSync(T&& message, typename T::Reply&& reply, ObjectIdentifier destinationID, Timeout timeout = Timeout::infinity(), OptionSet sendSyncOptions = { }) { -return sendSync(std::forward(message), WTFMove(reply), destinationID.toUInt64(), timeout, sendSyncOptions); +
[webkit-changes] [292861] trunk
Title: [292861] trunk Revision 292861 Author you...@apple.com Date 2022-04-14 01:48:21 -0700 (Thu, 14 Apr 2022) Log Message Expose workers as service worker clients and implement registration matching for dedicated workers https://bugs.webkit.org/show_bug.cgi?id=239066 Reviewed by Chris Dumez. LayoutTests/imported/w3c: * web-platform-tests/service-workers/service-worker/local-url-inherit-controller.https-expected.txt: * web-platform-tests/service-workers/service-worker/worker-client-id.https-expected.txt: * web-platform-tests/service-workers/service-worker/worker-interception-redirect.https-expected.txt: * web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt: Source/WebCore: Add support for exposing workers (dedicated and shared) as service worker clients. Add support for setting the controlling registration for dedicated workers (a follow-up patch should handle shared workers). To properly handle loads coming from a worker, we properly set clientIdentifier and registration identifier from the worker context, instead of from the worker's document. Small refactoring to pass additional data to worker through WorkerInitializationData. This is used to set the context ID and context controlling service worker. Adding a specific check in CachedResourceLoader to not reuse the cache in case the service worker modes are different. A potential issue is that the service workers are the same (0) as one request is the main request and the second request is the request triggered by service worker to answer the first request. Properly support blob URL matching directly in WorkerScriptLoader for workers. Test: http/wpt/service-workers/controlled-dedicatedworker.https.html * WebCore.xcodeproj/project.pbxproj: * dom/Document.h: * dom/ScriptExecutionContext.h: * loader/DocumentLoader.cpp: * loader/FetchOptions.h: * loader/ThreadableLoader.cpp: * loader/WorkerThreadableLoader.cpp: * loader/cache/CachedResourceLoader.cpp: * workers/DedicatedWorkerThread.cpp: * workers/Worker.cpp: * workers/Worker.h: * workers/WorkerGlobalScope.cpp: * workers/WorkerGlobalScope.h: * workers/WorkerGlobalScopeProxy.h: * workers/WorkerInitializationData.h: Added. * workers/WorkerMessagingProxy.cpp: * workers/WorkerMessagingProxy.h: * workers/WorkerOrWorkletGlobalScope.cpp: * workers/WorkerOrWorkletGlobalScope.h: * workers/WorkerScriptLoader.cpp: * workers/WorkerScriptLoader.h: * workers/WorkerThread.cpp: * workers/WorkerThread.h: * workers/service/SWClientConnection.cpp: * workers/service/ServiceWorker.h: * workers/service/ServiceWorkerClientData.cpp: * workers/service/ServiceWorkerClientType.h: * workers/service/ServiceWorkerContainer.cpp: * workers/service/context/ServiceWorkerThread.cpp: * workers/shared/SharedWorkerScriptLoader.h: * workers/shared/context/SharedWorkerThreadProxy.cpp: Source/WebKit: Reuse the same strategy for DedicatedWorkers as for Documents to match registrations and control then: - Do matching in network process - If matching, send a message to WebProcess to set the matching registration data. Add specific handling for worker registration rematching in case of redirections: - If redirection comes from service worker (via respondWith), do rematching. - If redirection comes from network, do not do rematching. * NetworkProcess/NetworkResourceLoader.cpp: * NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp: * NetworkProcess/ServiceWorker/WebSWServerConnection.cpp: * WebProcess/Network/WebLoaderStrategy.cpp: * WebProcess/Storage/WebSWClientConnection.cpp: * WebProcess/Storage/WebSWClientConnection.h: * WebProcess/Storage/WebSWClientConnection.messages.in: LayoutTests: * TestExpectations: * http/wpt/service-workers/controlled-dedicatedworker.https-expected.txt: Added. * http/wpt/service-workers/controlled-dedicatedworker.https.html: Added. * http/wpt/service-workers/resources/controlled-worker.js: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/local-url-inherit-controller.https-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/worker-client-id.https-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception-redirect.https-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/dom/Document.h trunk/Source/WebCore/dom/ScriptExecutionContext.h trunk/Source/WebCore/loader/DocumentLoader.cpp trunk/Source/WebCore/loader/FetchOptions.h trunk/Source/WebCore/loader/ThreadableLoader.cpp trunk/Source/WebCore/loader/WorkerThreadableLoader.cpp trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp
[webkit-changes] [292860] trunk
Title: [292860] trunk Revision 292860 Author you...@apple.com Date 2022-04-14 00:16:17 -0700 (Thu, 14 Apr 2022) Log Message A shared worker in a cached page should not allow the remote shared worker to continue executing https://bugs.webkit.org/show_bug.cgi?id=239286 Reviewed by Chris Dumez. Source/WebCore: SharedWorker need to react to resume/suspend in case of page cache so that the corresponding remote shared worker might get suspended if all its shared worker objects are suspended. Test: http/tests/navigation/page-cache-shared-worker.html * workers/shared/SharedWorker.cpp: * workers/shared/SharedWorker.h: * workers/shared/SharedWorkerObjectConnection.h: * workers/shared/context/SharedWorkerContextManager.cpp: * workers/shared/context/SharedWorkerContextManager.h: Source/WebKit: Store whether shared worker objects are suspended or resumed. If all objects are suspended, suspend the remote shared worker. Otherwise, keep the remote shared worker live. Add plumbing code to make this happen. * NetworkProcess/ServiceWorker/WebSWServerConnection.cpp: * NetworkProcess/SharedWorker/WebSharedWorker.cpp: * NetworkProcess/SharedWorker/WebSharedWorker.h: * NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp: * NetworkProcess/SharedWorker/WebSharedWorkerServer.h: * NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.cpp: * NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h: * NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.messages.in: * NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp: * NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.h: * WebProcess/Storage/WebSharedWorkerContextManagerConnection.messages.in: * WebProcess/Storage/WebSharedWorkerObjectConnection.cpp: * WebProcess/Storage/WebSharedWorkerObjectConnection.h: LayoutTests: * http/tests/navigation/page-cache-shared-worker-expected.txt: Added. * http/tests/navigation/page-cache-shared-worker.html: Added. * http/tests/navigation/resources/page-cache-helper-for-sharedworker.html: Added. * http/tests/navigation/resources/shared-worker-script.js: Added. * platform/mac-wk1/TestExpectations: * platform/win/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac-wk1/TestExpectations trunk/LayoutTests/platform/win/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/workers/shared/SharedWorker.cpp trunk/Source/WebCore/workers/shared/SharedWorker.h trunk/Source/WebCore/workers/shared/SharedWorkerObjectConnection.h trunk/Source/WebCore/workers/shared/context/SharedWorkerContextManager.cpp trunk/Source/WebCore/workers/shared/context/SharedWorkerContextManager.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorker.cpp trunk/Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorker.h trunk/Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp trunk/Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServer.h trunk/Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.cpp trunk/Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h trunk/Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.messages.in trunk/Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp trunk/Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.h trunk/Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.messages.in trunk/Source/WebKit/WebProcess/Storage/WebSharedWorkerObjectConnection.cpp trunk/Source/WebKit/WebProcess/Storage/WebSharedWorkerObjectConnection.h Added Paths trunk/LayoutTests/http/tests/navigation/page-cache-shared-worker-expected.txt trunk/LayoutTests/http/tests/navigation/page-cache-shared-worker.html trunk/LayoutTests/http/tests/navigation/resources/page-cache-helper-for-sharedworker.html trunk/LayoutTests/http/tests/navigation/resources/shared-worker-script.js Diff Modified: trunk/LayoutTests/ChangeLog (292859 => 292860) --- trunk/LayoutTests/ChangeLog 2022-04-14 06:19:01 UTC (rev 292859) +++ trunk/LayoutTests/ChangeLog 2022-04-14 07:16:17 UTC (rev 292860) @@ -1,3 +1,17 @@ +2022-04-14 Youenn Fablet + +A shared worker in a cached page should not allow the remote shared worker to continue executing +https://bugs.webkit.org/show_bug.cgi?id=239286 + +Reviewed by Chris Dumez. + +* http/tests/navigation/page-cache-shared-worker-expected.txt: Added. +* http/tests/navigation/page-cache-shared-worker.html: Added. +* http/tests/navigation/resources/page-cache-helper-for-sharedworker.html: Added. +* http/tests/navigation/resources/shared-worker-script.js: Added. +* platform/mac-wk1/TestExpectations: +* platform/win/TestExpectations: + 2022-04-13 Myles C. Maxfield Revert r291846 because it caused a 3% performance regression Added:
[webkit-changes] [292859] trunk
Title: [292859] trunk Revision 292859 Author mmaxfi...@apple.com Date 2022-04-13 23:19:01 -0700 (Wed, 13 Apr 2022) Log Message Revert r291846 because it caused a 3% performance regression https://bugs.webkit.org/show_bug.cgi?id=239323 Rubber-stamped by Stephanie Lewis. Source/WebCore: I'm having trouble figuring out why this caused a regression, so I'm reverting the patch wholesale while I can do more investigation. * platform/graphics/cocoa/FontCacheCoreText.cpp: (WebCore::normalizeWeight): (WebCore::denormalizeWeight): (WebCore::preparePlatformFont): (WebCore::fontCacheRegisteredFontsChangedNotificationCallback): (WebCore::FontCache::platformInit): (WebCore::variationCapabilitiesForFontDescriptor): (WebCore::normalizeGXWeight): Deleted. (WebCore::normalizeCTWeight): Deleted. (WebCore::denormalizeGXWeight): Deleted. (WebCore::denormalizeCTWeight): Deleted. (WebCore::overrideEnhanceTextLegibility): Deleted. (WebCore::setOverrideEnhanceTextLegibility): Deleted. (WebCore::shouldEnhanceTextLegibility): Deleted. * platform/graphics/cocoa/FontCacheCoreText.h: * testing/Internals.cpp: (WebCore::Internals::setOverrideEnhanceTextLegibility): Deleted. * testing/Internals.h: * testing/Internals.idl: Source/WebCore/PAL: * pal/spi/cf/CoreTextSPI.h: * pal/spi/cocoa/AccessibilitySupportSPI.h: LayoutTests: * TestExpectations: * fast/text/accessibility-bold-expected-mismatch.html: Removed. * fast/text/accessibility-bold.html: Removed. * platform/ios-wk2/TestExpectations: * platform/ios/TestExpectations: * platform/mac-wk2/TestExpectations: * platform/mac/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/platform/ios/TestExpectations trunk/LayoutTests/platform/ios-wk2/TestExpectations trunk/LayoutTests/platform/mac/TestExpectations trunk/LayoutTests/platform/mac-wk2/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/spi/cf/CoreTextSPI.h trunk/Source/WebCore/PAL/pal/spi/cocoa/AccessibilitySupportSPI.h trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.h trunk/Source/WebCore/testing/Internals.cpp trunk/Source/WebCore/testing/Internals.h trunk/Source/WebCore/testing/Internals.idl Removed Paths trunk/LayoutTests/fast/text/accessibility-bold-expected-mismatch.html trunk/LayoutTests/fast/text/accessibility-bold.html Diff Modified: trunk/LayoutTests/ChangeLog (292858 => 292859) --- trunk/LayoutTests/ChangeLog 2022-04-14 06:11:25 UTC (rev 292858) +++ trunk/LayoutTests/ChangeLog 2022-04-14 06:19:01 UTC (rev 292859) @@ -1,3 +1,19 @@ +2022-04-13 Myles C. Maxfield + +Revert r291846 because it caused a 3% performance regression +https://bugs.webkit.org/show_bug.cgi?id=239323 + + +Rubber-stamped by Stephanie Lewis. + +* TestExpectations: +* fast/text/accessibility-bold-expected-mismatch.html: Removed. +* fast/text/accessibility-bold.html: Removed. +* platform/ios-wk2/TestExpectations: +* platform/ios/TestExpectations: +* platform/mac-wk2/TestExpectations: +* platform/mac/TestExpectations: + 2022-04-13 Antoine Quint [web-animations] REGRESSION(r291527): assertion hit during teardown of document with CSS Animations Modified: trunk/LayoutTests/TestExpectations (292858 => 292859) --- trunk/LayoutTests/TestExpectations 2022-04-14 06:11:25 UTC (rev 292858) +++ trunk/LayoutTests/TestExpectations 2022-04-14 06:19:01 UTC (rev 292859) @@ -5207,9 +5207,6 @@ webkit.org/b/237108 http/tests/websocket/tests/hybi/deflate-frame-parameter.html [ Failure ] # webkit.org/b/237108 http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers.html [ Pass Failure ] -# This test is only relevant on Apple platforms. -fast/text/accessibility-bold.html [ Pass ImageOnlyFailure ] - # Only certain ports have WebGPU implementations. http/tests/webgpu [ Failure ImageOnlyFailure Pass Timeout ] Deleted: trunk/LayoutTests/fast/text/accessibility-bold-expected-mismatch.html (292858 => 292859) --- trunk/LayoutTests/fast/text/accessibility-bold-expected-mismatch.html 2022-04-14 06:11:25 UTC (rev 292858) +++ trunk/LayoutTests/fast/text/accessibility-bold-expected-mismatch.html 2022-04-14 06:19:01 UTC (rev 292859) @@ -1,15 +0,0 @@ - - - - -if (window.internals) { -window.internals.invalidateFontCache(); -window.internals.setOverrideEnhanceTextLegibility(false); -} - - - -This test makes sure that accessibility bold is applied to font-family: system-ui. The test passes if the text below is bold. -Hello this is text - - Deleted: trunk/LayoutTests/fast/text/accessibility-bold.html (292858 => 292859) --- trunk/LayoutTests/fast/text/accessibility-bold.html 2022-04-14 06:11:25 UTC (rev 292858) +++ trunk/LayoutTests/fast/text/accessibility-bold.html 2022-04-14 06:19:01 UTC (rev 292859) @@ -1,15
[webkit-changes] [292858] trunk
Title: [292858] trunk Revision 292858 Author grao...@webkit.org Date 2022-04-13 23:11:25 -0700 (Wed, 13 Apr 2022) Log Message [web-animations] REGRESSION(r291527): assertion hit during teardown of document with CSS Animations https://bugs.webkit.org/show_bug.cgi?id=239291 rdar://90699078 Reviewed by Dean Jackson. Source/WebCore: When a CSS Animation is not considered to be relevant anymore, it is removed from both AnimationTimeline::m_animations and Styleable::animations(). However, if that animation becomes relevant again, it will be added back to the associated effect stack as well as AnimationTimeline::m_animations but not to Styleable::animations(). This causes a problem because when eventually that CSS Animation's target is removed from the tree, such as during document teardown, Styleable::cancelDeclarativeAnimations() will be called an iterate over Styleable::animations() to find declarative animations to cancel. Since the CSS animation was not added to Styleable::animations(), it will not be canceled and the associated effect will not be removed from the effect stack. Later in Styleable::cancelDeclarativeAnimations(), the list of associated CSS Animation names is cleared. If during that teardown an animation resolution is performed, such as within a "beforeunload" event listener as shown in the new test, we will get into a state where there are effects left in the effect stack of the element being torn down but no associated CSS Animation names and we will hit the RELEASE_ASSERT_NOT_REACHED() at the end of compareCSSAnimations(). To fix this, we simply ensure that we add animations back to Styleable::animations() within AnimationTimeline::animationTimingDidChange() the same way we add the animations back to AnimationTimeline::m_animations. Test: webanimations/css-animation-resolution-during-teardown.html * animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::animationTimingDidChange): LayoutTests: Add a new test that would have asserted prior to the source change. * webanimations/css-animation-resolution-during-teardown-expected.txt: Added. * webanimations/css-animation-resolution-during-teardown.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationTimeline.cpp Added Paths trunk/LayoutTests/webanimations/css-animation-resolution-during-teardown-expected.txt trunk/LayoutTests/webanimations/css-animation-resolution-during-teardown.html Diff Modified: trunk/LayoutTests/ChangeLog (292857 => 292858) --- trunk/LayoutTests/ChangeLog 2022-04-14 04:50:36 UTC (rev 292857) +++ trunk/LayoutTests/ChangeLog 2022-04-14 06:11:25 UTC (rev 292858) @@ -1,3 +1,16 @@ +2022-04-13 Antoine Quint + +[web-animations] REGRESSION(r291527): assertion hit during teardown of document with CSS Animations +https://bugs.webkit.org/show_bug.cgi?id=239291 +rdar://90699078 + +Reviewed by Dean Jackson. + +Add a new test that would have asserted prior to the source change. + +* webanimations/css-animation-resolution-during-teardown-expected.txt: Added. +* webanimations/css-animation-resolution-during-teardown.html: Added. + 2022-04-13 Alan Bujtas REGRESSION (r292043): [ Mac ] fast/block/positioning/fixed-container-with-relative-parent.html is a flaky image failure Added: trunk/LayoutTests/webanimations/css-animation-resolution-during-teardown-expected.txt (0 => 292858) --- trunk/LayoutTests/webanimations/css-animation-resolution-during-teardown-expected.txt (rev 0) +++ trunk/LayoutTests/webanimations/css-animation-resolution-during-teardown-expected.txt 2022-04-14 06:11:25 UTC (rev 292858) @@ -0,0 +1 @@ +PASS Added: trunk/LayoutTests/webanimations/css-animation-resolution-during-teardown.html (0 => 292858) --- trunk/LayoutTests/webanimations/css-animation-resolution-during-teardown.html (rev 0) +++ trunk/LayoutTests/webanimations/css-animation-resolution-during-teardown.html 2022-04-14 06:11:25 UTC (rev 292858) @@ -0,0 +1,41 @@ + + @keyframes a0 { + } + div, span { +animation-name: a0; + } + slot { +animation-name: a0, a0; + } + + + window.testRunner?.dumpAsText(); + window.testRunner?.waitUntilDone(); + + _onload_ = () => { +document.body.append(document.createElement('input')); +document.body.append(document.createElement('slot')); +let br0 = document.createElement('br'); +document.body.append(br0); +let div0 = document.createElement('div'); +br0.append(div0); +document.body.offsetTop; +document.body.append(document.createElement('input')); +div0.append(document.createElement('span')); +document.execCommand('SelectAll'); +_onbeforeunload_ = () => { + document.styleSheets[0].insertRule(`slot { animation-delay: 25ms; }`); + document.designMode = 'on'; + document.execCommand('Bold'); +}; + +requestAnimationFrame(()