[webkit-changes] [292900] trunk/Source/WebCore

2022-04-14 Thread zan
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

2022-04-14 Thread cdumez
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

2022-04-14 Thread wenson_hsieh
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

2022-04-14 Thread matteo_flores
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

2022-04-14 Thread wenson_hsieh
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

2022-04-14 Thread caitp
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

2022-04-14 Thread jenner
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

2022-04-14 Thread nmouchtaris
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

2022-04-14 Thread gnavamarino
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

2022-04-14 Thread ysuzuki
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

2022-04-14 Thread jbedard
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

2022-04-14 Thread jbedard
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

2022-04-14 Thread wenson_hsieh
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

2022-04-14 Thread cdumez
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

2022-04-14 Thread shvaikalesh
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

2022-04-14 Thread cdumez
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

2022-04-14 Thread jbedard
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

2022-04-14 Thread shvaikalesh
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

2022-04-14 Thread jbedard
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

2022-04-14 Thread akeerthi
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

2022-04-14 Thread cdumez
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

2022-04-14 Thread gnavamarino
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

2022-04-14 Thread repstein
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

2022-04-14 Thread commit-queue
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

2022-04-14 Thread rackler
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

2022-04-14 Thread cdumez
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

2022-04-14 Thread jenner
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

2022-04-14 Thread youenn
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

2022-04-14 Thread rackler
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

2022-04-14 Thread justin_michaud
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

2022-04-14 Thread youenn
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

2022-04-14 Thread youenn
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

2022-04-14 Thread katherine_cheney
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

2022-04-14 Thread katherine_cheney
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

2022-04-14 Thread zan
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

2022-04-14 Thread zan
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

2022-04-14 Thread zan
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

2022-04-14 Thread commit-queue
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

2022-04-14 Thread youenn
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

2022-04-14 Thread youenn
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

2022-04-14 Thread mmaxfield
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

2022-04-14 Thread graouts
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(()