[webkit-changes] [286285] trunk/Tools

2021-11-29 Thread simon . fraser
Title: [286285] trunk/Tools








Revision 286285
Author simon.fra...@apple.com
Date 2021-11-29 23:28:29 -0800 (Mon, 29 Nov 2021)


Log Message
Store image resolution in layout test snapshots, and have ImageDiff read it
https://bugs.webkit.org/show_bug.cgi?id=233609

Reviewed by Darin Adler.

On the way to fixing bug 232525, we need to communicate to ImageDiff the resolution of
layout test snapshots so that it can account for the resolution when computing pixel
tolerance values, which should be reported in CSS pixels.

So have DumpRenderTree and WebKitTestRunner, on Cocoa platforms, add image resolution
metadata, where a 2x snapshot (i.e. a hidpi test) reports a horizontal and vertical
resolution of 144dpi.

Change ImageDiff to read these values and store them in PlatformImage; a future patch will
make use of the data.

* DumpRenderTree/cg/PixelDumpSupportCG.cpp:
(printPNG):
(dumpBitmap):
* DumpRenderTree/cg/PixelDumpSupportCG.h:
(BitmapContext::scaleFactor const):
(BitmapContext::setScaleFactor):
* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
(createBitmapContextFromWebView):
* DumpRenderTree/mac/PixelDumpSupportMac.mm:
(createBitmapContextFromWebView):
* ImageDiff/ImageDiff.cpp:
(main):
* ImageDiff/PlatformImage.h:
(ImageDiff::PlatformImage::scaleFactor const):
* ImageDiff/cg/PlatformImageCG.cpp:
(ImageDiff::createImageFromDataProvider):
(ImageDiff::PlatformImage::createFromFile):
(ImageDiff::PlatformImage::createFromStdin):
(ImageDiff::PlatformImage::PlatformImage):
* WebKitTestRunner/cg/TestInvocationCG.cpp:
(WTR::dumpBitmap):
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/DumpRenderTree/cg/PixelDumpSupportCG.cpp
trunk/Tools/DumpRenderTree/cg/PixelDumpSupportCG.h
trunk/Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm
trunk/Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm
trunk/Tools/ImageDiff/ImageDiff.cpp
trunk/Tools/ImageDiff/PlatformImage.h
trunk/Tools/ImageDiff/cg/PlatformImageCG.cpp
trunk/Tools/WebKitTestRunner/cg/TestInvocationCG.cpp




Diff

Modified: trunk/Tools/ChangeLog (286284 => 286285)

--- trunk/Tools/ChangeLog	2021-11-30 05:24:37 UTC (rev 286284)
+++ trunk/Tools/ChangeLog	2021-11-30 07:28:29 UTC (rev 286285)
@@ -1,3 +1,44 @@
+2021-11-29  Simon Fraser  
+
+Store image resolution in layout test snapshots, and have ImageDiff read it
+https://bugs.webkit.org/show_bug.cgi?id=233609
+
+Reviewed by Darin Adler.
+
+On the way to fixing bug 232525, we need to communicate to ImageDiff the resolution of
+layout test snapshots so that it can account for the resolution when computing pixel
+tolerance values, which should be reported in CSS pixels.
+
+So have DumpRenderTree and WebKitTestRunner, on Cocoa platforms, add image resolution
+metadata, where a 2x snapshot (i.e. a hidpi test) reports a horizontal and vertical
+resolution of 144dpi.
+
+Change ImageDiff to read these values and store them in PlatformImage; a future patch will
+make use of the data.
+
+* DumpRenderTree/cg/PixelDumpSupportCG.cpp:
+(printPNG):
+(dumpBitmap):
+* DumpRenderTree/cg/PixelDumpSupportCG.h:
+(BitmapContext::scaleFactor const):
+(BitmapContext::setScaleFactor):
+* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
+(createBitmapContextFromWebView):
+* DumpRenderTree/mac/PixelDumpSupportMac.mm:
+(createBitmapContextFromWebView):
+* ImageDiff/ImageDiff.cpp:
+(main):
+* ImageDiff/PlatformImage.h:
+(ImageDiff::PlatformImage::scaleFactor const):
+* ImageDiff/cg/PlatformImageCG.cpp:
+(ImageDiff::createImageFromDataProvider):
+(ImageDiff::PlatformImage::createFromFile):
+(ImageDiff::PlatformImage::createFromStdin):
+(ImageDiff::PlatformImage::PlatformImage):
+* WebKitTestRunner/cg/TestInvocationCG.cpp:
+(WTR::dumpBitmap):
+(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
+
 2021-11-29  Jonathan Bedard  
 
 [webkitscmpy] Guard git-webkit with __name__


Modified: trunk/Tools/DumpRenderTree/cg/PixelDumpSupportCG.cpp (286284 => 286285)

--- trunk/Tools/DumpRenderTree/cg/PixelDumpSupportCG.cpp	2021-11-30 05:24:37 UTC (rev 286284)
+++ trunk/Tools/DumpRenderTree/cg/PixelDumpSupportCG.cpp	2021-11-30 07:28:29 UTC (rev 286285)
@@ -33,7 +33,7 @@
 
 #include "DumpRenderTree.h"
 #include "PixelDumpSupport.h"
-#include 
+#include 
 #include 
 #include 
 #include 
@@ -57,11 +57,20 @@
 static const CFStringRef kUTTypePNG = CFSTR("public.png");
 #endif
 
-static void printPNG(CGImageRef image, const char* checksum)
+static void printPNG(CGImageRef image, const char* checksum, double scaleFactor)
 {
-RetainPtr imageData = adoptCF(CFDataCreateMutable(0, 0));
-RetainPtr imageDest = adoptCF(CGImageDestinationCreateWithData(imageData.get(), kUTTypePNG, 1, 0));
-CGImageDestinationAddImage(imageDest.get(), 

[webkit-changes] [286283] trunk

2021-11-29 Thread ysuzuki
Title: [286283] trunk








Revision 286283
Author ysuz...@apple.com
Date 2021-11-29 20:43:51 -0800 (Mon, 29 Nov 2021)


Log Message
[JSC] jumpForTypedArrayOutOfBounds should use asAnyInt since it uses isAnyInt
https://bugs.webkit.org/show_bug.cgi?id=233610
rdar://85820476

Reviewed by Saam Barati.

JSTests:

* stress/anyint-index.js: Added.
(foo):

Source/_javascript_Core:

Since we are using isAnyInt, then we should use asAnyInt. asUInt32 will crash
if the value is double AnyInt etc.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpForTypedArrayOutOfBounds):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp


Added Paths

trunk/JSTests/stress/anyint-index.js




Diff

Modified: trunk/JSTests/ChangeLog (286282 => 286283)

--- trunk/JSTests/ChangeLog	2021-11-30 04:23:14 UTC (rev 286282)
+++ trunk/JSTests/ChangeLog	2021-11-30 04:43:51 UTC (rev 286283)
@@ -1,3 +1,14 @@
+2021-11-29  Yusuke Suzuki  
+
+[JSC] jumpForTypedArrayOutOfBounds should use asAnyInt since it uses isAnyInt
+https://bugs.webkit.org/show_bug.cgi?id=233610
+rdar://85820476
+
+Reviewed by Saam Barati.
+
+* stress/anyint-index.js: Added.
+(foo):
+
 2021-11-29  Saam Barati  
 
 FTL's implementation of HasIndexedProperty for InBounds accesses checks the inverse of what it should be checking when exiting by seeing a hole


Added: trunk/JSTests/stress/anyint-index.js (0 => 286283)

--- trunk/JSTests/stress/anyint-index.js	(rev 0)
+++ trunk/JSTests/stress/anyint-index.js	2021-11-30 04:43:51 UTC (rev 286283)
@@ -0,0 +1,14 @@
+let ta = new Uint8Array(1);
+
+function foo(arg0) {
+  'a'.__defineGetter__('x', () => {
+arg0;
+  });
+  arg0 **= 0;
+  ta[arg0];
+}
+
+
+for (let i = 0; i < 1; i++) {
+  foo(0);
+}


Modified: trunk/Source/_javascript_Core/ChangeLog (286282 => 286283)

--- trunk/Source/_javascript_Core/ChangeLog	2021-11-30 04:23:14 UTC (rev 286282)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-11-30 04:43:51 UTC (rev 286283)
@@ -1,3 +1,17 @@
+2021-11-29  Yusuke Suzuki  
+
+[JSC] jumpForTypedArrayOutOfBounds should use asAnyInt since it uses isAnyInt
+https://bugs.webkit.org/show_bug.cgi?id=233610
+rdar://85820476
+
+Reviewed by Saam Barati.
+
+Since we are using isAnyInt, then we should use asAnyInt. asUInt32 will crash
+if the value is double AnyInt etc.
+
+* dfg/DFGSpeculativeJIT.cpp:
+(JSC::DFG::SpeculativeJIT::jumpForTypedArrayOutOfBounds):
+
 2021-11-29  Saam Barati  
 
 FTL's implementation of HasIndexedProperty for InBounds accesses checks the inverse of what it should be checking when exiting by seeing a hole


Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (286282 => 286283)

--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp	2021-11-30 04:23:14 UTC (rev 286282)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp	2021-11-30 04:43:51 UTC (rev 286283)
@@ -3537,7 +3537,7 @@
 if (view) {
 size_t length = view->length();
 Node* indexNode = m_jit.graph().child(node, 1).node();
-if (indexNode->isAnyIntConstant() && indexNode->asUInt32() < length)
+if (indexNode->isAnyIntConstant() && static_cast(indexNode->asAnyInt()) < length)
 return JITCompiler::Jump();
 #if USE(LARGE_TYPED_ARRAYS)
 m_jit.signExtend32ToPtr(indexGPR, scratchGPR);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286282] trunk

2021-11-29 Thread wenson_hsieh
Title: [286282] trunk








Revision 286282
Author wenson_hs...@apple.com
Date 2021-11-29 20:23:14 -0800 (Mon, 29 Nov 2021)


Log Message
[Webpage translation] Avoid translating text inside image overlays
https://bugs.webkit.org/show_bug.cgi?id=233225
rdar://85713734

Reviewed by Aditya Keerthi.

Source/WebCore:

Add `translate="no"` to image overlay content; text in image overlays is meant to visually match recognized text
in the image, and should never be modified as a part of webpage translation.

Test: fast/images/text-recognition/image-overlay-do-not-translate.html

* dom/ImageOverlay.cpp:
(WebCore::ImageOverlay::updateSubtree):

LayoutTests:

Add a test to verify that `translate` is `false` on the image overlay root container element.

* fast/images/text-recognition/image-overlay-do-not-translate-expected.txt: Added.
* fast/images/text-recognition/image-overlay-do-not-translate.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ImageOverlay.cpp


Added Paths

trunk/LayoutTests/fast/images/text-recognition/image-overlay-do-not-translate-expected.txt
trunk/LayoutTests/fast/images/text-recognition/image-overlay-do-not-translate.html




Diff

Modified: trunk/LayoutTests/ChangeLog (286281 => 286282)

--- trunk/LayoutTests/ChangeLog	2021-11-30 03:25:00 UTC (rev 286281)
+++ trunk/LayoutTests/ChangeLog	2021-11-30 04:23:14 UTC (rev 286282)
@@ -1,3 +1,16 @@
+2021-11-29  Wenson Hsieh  
+
+[Webpage translation] Avoid translating text inside image overlays
+https://bugs.webkit.org/show_bug.cgi?id=233225
+rdar://85713734
+
+Reviewed by Aditya Keerthi.
+
+Add a test to verify that `translate` is `false` on the image overlay root container element.
+
+* fast/images/text-recognition/image-overlay-do-not-translate-expected.txt: Added.
+* fast/images/text-recognition/image-overlay-do-not-translate.html: Added.
+
 2021-11-29  Lauro Moura  
 
 [GLIB] Gardening SVG filter failures after r286203


Added: trunk/LayoutTests/fast/images/text-recognition/image-overlay-do-not-translate-expected.txt (0 => 286282)

--- trunk/LayoutTests/fast/images/text-recognition/image-overlay-do-not-translate-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/images/text-recognition/image-overlay-do-not-translate-expected.txt	2021-11-30 04:23:14 UTC (rev 286282)
@@ -0,0 +1,6 @@
+PASS imageOverlayContainer(image1).translate is false
+PASS imageOverlayContainer(image2).translate is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/images/text-recognition/image-overlay-do-not-translate.html (0 => 286282)

--- trunk/LayoutTests/fast/images/text-recognition/image-overlay-do-not-translate.html	(rev 0)
+++ trunk/LayoutTests/fast/images/text-recognition/image-overlay-do-not-translate.html	2021-11-30 04:23:14 UTC (rev 286282)
@@ -0,0 +1,51 @@
+
+
+
+
+body, html {
+margin: 0;
+}
+
+
+
+
+function imageOverlayContainer(image) {
+return internals.shadowRoot(image1).getElementById("image-overlay");
+}
+
+addEventListener("load", () => {
+image1 = document.getElementById("img1");
+image2 = document.getElementById("img2");
+internals.installImageOverlay(image1, [], [
+{
+topLeft : new DOMPointReadOnly(0.1, 0.1),
+topRight : new DOMPointReadOnly(0.4, 0.1),
+bottomRight : new DOMPointReadOnly(0.4, 0.4),
+bottomLeft : new DOMPointReadOnly(0.1, 0.4),
+text : "Hello",
+}
+]);
+internals.installImageOverlay(image2, [
+{
+topLeft : new DOMPointReadOnly(0.5, 0.5),
+topRight : new DOMPointReadOnly(1, 0.5),
+bottomRight : new DOMPointReadOnly(1, 1),
+bottomLeft : new DOMPointReadOnly(0.5, 1),
+children: [{
+text : "World",
+topLeft : new DOMPointReadOnly(0.5, 0.5),
+topRight : new DOMPointReadOnly(1, 0.5),
+bottomRight : new DOMPointReadOnly(1, 1),
+bottomLeft : new DOMPointReadOnly(0.5, 1),
+}],
+}
+]);
+shouldBe("imageOverlayContainer(image1).translate", "false");
+shouldBe("imageOverlayContainer(image2).translate", "false");
+});
+
+
+
\ No newline at end of file


Modified: trunk/Source/WebCore/ChangeLog (286281 => 286282)

--- trunk/Source/WebCore/ChangeLog	2021-11-30 03:25:00 UTC (rev 286281)
+++ trunk/Source/WebCore/ChangeLog	2021-11-30 04:23:14 UTC (rev 286282)
@@ -1,3 +1,19 @@
+2021-11-29  Wenson Hsieh  
+
+[Webpage translation] Avoid translating text inside image overlays
+https://bugs.webkit.org/show_bug.cgi?id=233225
+rdar://85713734
+
+Reviewed by Aditya Keerthi.
+
+Add `translate="no"` to image overlay content; text in image overlays is meant to 

[webkit-changes] [286281] trunk/LayoutTests

2021-11-29 Thread lmoura
Title: [286281] trunk/LayoutTests








Revision 286281
Author lmo...@igalia.com
Date 2021-11-29 19:25:00 -0800 (Mon, 29 Nov 2021)


Log Message
[GLIB] Gardening SVG filter failures after r286203

Unreviewed test gardening.

* platform/glib/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/glib/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (286280 => 286281)

--- trunk/LayoutTests/ChangeLog	2021-11-30 02:33:06 UTC (rev 286280)
+++ trunk/LayoutTests/ChangeLog	2021-11-30 03:25:00 UTC (rev 286281)
@@ -1,3 +1,11 @@
+2021-11-29  Lauro Moura  
+
+[GLIB] Gardening SVG filter failures after r286203
+
+Unreviewed test gardening.
+
+* platform/glib/TestExpectations:
+
 2021-11-29  Simon Fraser  
 
 Revert changes related to using a scroll animator for momentum scrolling


Modified: trunk/LayoutTests/platform/glib/TestExpectations (286280 => 286281)

--- trunk/LayoutTests/platform/glib/TestExpectations	2021-11-30 02:33:06 UTC (rev 286280)
+++ trunk/LayoutTests/platform/glib/TestExpectations	2021-11-30 03:25:00 UTC (rev 286281)
@@ -135,7 +135,6 @@
 
 imported/mozilla/svg/blend-hard-light.svg [ Pass ]
 imported/mozilla/svg/dynamic-textPath-02.svg [ Pass ]
-imported/mozilla/svg/image/image-filter-01.svg [ Pass ]
 
 inspector/page/setScreenSizeOverride.html [ Pass ]
 
@@ -258,7 +257,6 @@
 webaudio/Panner/panner-loop.html [ Timeout Pass ]
 
 # CSS backgrounds. Passing after WPT re-import in r277073.
-imported/w3c/web-platform-tests/css/css-backgrounds/background-size-percentage-root.html [ Pass ]
 imported/w3c/web-platform-tests/css/css-backgrounds/bg-color-with-gradient.html [ Pass ]
 imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-overlapping-001.html [ Pass ]
 imported/w3c/web-platform-tests/css/css-backgrounds/css3-border-image-repeat-repeat.html [ Pass ]
@@ -389,6 +387,38 @@
 # Cairo-related bugs
 #
 
+webkit.org/b/233611 fast/images/exif-orientation-svg-feimage.html [ ImageOnlyFailure ]
+webkit.org/b/233611 imported/mozilla/svg/filter-bounds-02.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 imported/mozilla/svg/filter-scaled-02.html [ ImageOnlyFailure ]
+webkit.org/b/233611 imported/mozilla/svg/filters-and-group-opacity-01.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 imported/mozilla/svg/filters/feBlend-1.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 imported/mozilla/svg/filters/feConvolveMatrix-1.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 imported/mozilla/svg/filters/feGaussianBlur-2.svg [ ImageOnlyFailure ]
+# This one below was [ Pass ] before
+webkit.org/b/233611 imported/mozilla/svg/image/image-filter-01.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 imported/mozilla/svg/text/filter-applied.svg [ ImageOnlyFailure ]
+# This one needs a [Pass] after fixed, due to root expectation being ImageOnlyFailure. Was passing after r277073.
+webkit.org/b/233611 imported/w3c/web-platform-tests/css/css-backgrounds/background-size-percentage-root.html [ ImageOnlyFailure ]
+webkit.org/b/233611 imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-matrix.html [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feComposite-background-rect-control-operators.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feCompositeOpaque.html [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feDiffuseLighting-fePointLight-primitiveUnits-objectBoundingBox.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feDiffuseLighting-feSpotLight-primitiveUnits-objectBoundingBox.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feDisplacementMap-color-interpolation-filters.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feFlood-color-interpolation.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feFlood-with-alpha-color.html [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feImage-image-primitive-subregion.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feMorphology-radius-cases.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feMorphology-zero-radius-one-axis.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/fePointLight-coordinates.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feSpecularLighting-fePointLight-primitiveUnits-objectBoundingBox.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feSpotLight-coordinates.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feTurbulence-parallel-jobs.html [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feTurbulence-stitchTiles.html [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/feTurbulence_bad_seeds.html [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/hidpi/fePointLight-coordinates.svg [ ImageOnlyFailure ]
+webkit.org/b/233611 svg/filters/hidpi/feSpotLight-coordinates.svg [ ImageOnlyFailure ]
+
 

[webkit-changes] [286280] tags/Safari-612.3.6.1.6/

2021-11-29 Thread alancoon
Title: [286280] tags/Safari-612.3.6.1.6/








Revision 286280
Author alanc...@apple.com
Date 2021-11-29 18:33:06 -0800 (Mon, 29 Nov 2021)


Log Message
Tag Safari-612.3.6.1.6.

Added Paths

tags/Safari-612.3.6.1.6/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286279] tags/Safari-612.3.6.0.4/

2021-11-29 Thread alancoon
Title: [286279] tags/Safari-612.3.6.0.4/








Revision 286279
Author alanc...@apple.com
Date 2021-11-29 18:25:52 -0800 (Mon, 29 Nov 2021)


Log Message
Tag Safari-612.3.6.0.4.

Added Paths

tags/Safari-612.3.6.0.4/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286278] trunk

2021-11-29 Thread sbarati
Title: [286278] trunk








Revision 286278
Author sbar...@apple.com
Date 2021-11-29 17:58:37 -0800 (Mon, 29 Nov 2021)


Log Message
FTL's implementation of HasIndexedProperty for InBounds accesses checks the inverse of what it should be checking when exiting by seeing a hole
https://bugs.webkit.org/show_bug.cgi?id=233408


Reviewed by Mark Lam.

JSTests:

* stress/in-by-val-has-indexed-property-ftl-3.js: Added.
* stress/in-by-val-has-indexed-property-ftl-2.js: Added.
* stress/in-by-val-has-indexed-property-ftl.js: Added.

Source/_javascript_Core:

The implementation of an InBounds HasIndexedProperty in FTL, when speculating, we
would exit when we did not see a hole, not when we did see a hole. This is
the inverse of what we need to do, we should exit when we do see a hole.

* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
* tools/JSDollarVM.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSDollarVM::finishCreation):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp
trunk/Source/_javascript_Core/tools/JSDollarVM.cpp


Added Paths

trunk/JSTests/stress/in-by-val-has-indexed-property-ftl-2.js
trunk/JSTests/stress/in-by-val-has-indexed-property-ftl-3.js
trunk/JSTests/stress/in-by-val-has-indexed-property-ftl.js




Diff

Modified: trunk/JSTests/ChangeLog (286277 => 286278)

--- trunk/JSTests/ChangeLog	2021-11-30 01:42:49 UTC (rev 286277)
+++ trunk/JSTests/ChangeLog	2021-11-30 01:58:37 UTC (rev 286278)
@@ -1,3 +1,15 @@
+2021-11-29  Saam Barati  
+
+FTL's implementation of HasIndexedProperty for InBounds accesses checks the inverse of what it should be checking when exiting by seeing a hole
+https://bugs.webkit.org/show_bug.cgi?id=233408
+
+
+Reviewed by Mark Lam.
+
+* stress/in-by-val-has-indexed-property-ftl-3.js: Added.
+* stress/in-by-val-has-indexed-property-ftl-2.js: Added.
+* stress/in-by-val-has-indexed-property-ftl.js: Added.
+
 2021-11-29  Yusuke Suzuki  
 
 [JSC] slice should be aware of TerminationException


Added: trunk/JSTests/stress/in-by-val-has-indexed-property-ftl-2.js (0 => 286278)

--- trunk/JSTests/stress/in-by-val-has-indexed-property-ftl-2.js	(rev 0)
+++ trunk/JSTests/stress/in-by-val-has-indexed-property-ftl-2.js	2021-11-30 01:58:37 UTC (rev 286278)
@@ -0,0 +1,28 @@
+//@ runDefault("--validateOptions=true", "--useConcurrentJIT=false", "--useConcurrentGC=false", "--validateBCE=true", "--thresholdForJITSoon=1", "--thresholdForJITAfterWarmUp=7", "--thresholdForOptimizeAfterWarmUp=7", "--thresholdForOptimizeAfterLongWarmUp=7", "--thresholdForOptimizeSoon=1", "--thresholdForFTLOptimizeAfterWarmUp=10")
+
+function assert(b) {
+if (!b)
+throw new Error;
+}
+
+function main() {
+let v17 = {__proto__:[42,1]};
+v17[2] = 4;
+
+let v92 = 0;
+for (let v95 = 0; v95 < 100; v95++) {
+function doEvery(e, i) {
+assert(e === 42);
+assert(i === 0);
+function doMap() {
+v139 = v92++;
+}   
+noInline(doMap);
+[0].map(doMap);
+}   
+noInline(doEvery);
+v17.every(doEvery);
+}   
+assert(v139 === 99);
+}
+main();


Added: trunk/JSTests/stress/in-by-val-has-indexed-property-ftl-3.js (0 => 286278)

--- trunk/JSTests/stress/in-by-val-has-indexed-property-ftl-3.js	(rev 0)
+++ trunk/JSTests/stress/in-by-val-has-indexed-property-ftl-3.js	2021-11-30 01:58:37 UTC (rev 286278)
@@ -0,0 +1,97 @@
+function assert(b) {
+if (!b)
+throw new Error;
+}
+
+function test1() {
+function func(b, o) {
+if (b)
+return 2 in o;
+return false;
+}
+noInline(func);
+
+let o = {__proto__:[0, 1]};
+o[3] = 42;
+
+for (let i = 0; i < 100; ++i) {
+func(true, o);
+func(false, o);
+}
+
+for (let i = 0; i < 1; ++i) {
+assert(!func(false, o));
+}
+assert(!func(true, o));
+}
+test1();
+
+function test2() {
+function func(b, o) {
+if (b)
+return 2 in o;
+return false;
+}
+noInline(func);
+
+let o = {__proto__:[0, 1]};
+o[3] = {};
+
+for (let i = 0; i < 100; ++i) {
+func(true, o);
+func(false, o);
+}
+
+for (let i = 0; i < 1; ++i) {
+assert(!func(false, o));
+}
+assert(!func(true, o));
+}
+test2();
+
+function test3() {
+function func(b, o) {
+if (b)
+return 2 in o;
+return false;
+}
+noInline(func);
+
+let o = {__proto__:[0, 1]};
+o[3] = 42.2;
+
+for (let i = 0; i < 100; ++i) {
+func(true, o);
+func(false, o);
+}
+
+for (let i = 0; i < 1; ++i) {
+assert(!func(false, o));
+}
+assert(!func(true, o));
+}
+test3();
+
+function test4() {
+function func(b, o) {
+

[webkit-changes] [286277] trunk/Source/WebKit

2021-11-29 Thread timothy_horton
Title: [286277] trunk/Source/WebKit








Revision 286277
Author timothy_hor...@apple.com
Date 2021-11-29 17:42:49 -0800 (Mon, 29 Nov 2021)


Log Message
Fix the build

* Shared/ios/WebIOSEventFactory.mm:
(WebIOSEventFactory::createWebWheelEvent):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Shared/ios/WebIOSEventFactory.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (286276 => 286277)

--- trunk/Source/WebKit/ChangeLog	2021-11-30 01:23:53 UTC (rev 286276)
+++ trunk/Source/WebKit/ChangeLog	2021-11-30 01:42:49 UTC (rev 286277)
@@ -1,3 +1,10 @@
+2021-11-29  Tim Horton  
+
+Fix the build
+
+* Shared/ios/WebIOSEventFactory.mm:
+(WebIOSEventFactory::createWebWheelEvent):
+
 2021-11-29  Brady Eidson  
 
 Make webpushd "fake registration for testing" much more complicated by adding a "mock app bundle" install


Modified: trunk/Source/WebKit/Shared/ios/WebIOSEventFactory.mm (286276 => 286277)

--- trunk/Source/WebKit/Shared/ios/WebIOSEventFactory.mm	2021-11-30 01:23:53 UTC (rev 286276)
+++ trunk/Source/WebKit/Shared/ios/WebIOSEventFactory.mm	2021-11-30 01:42:49 UTC (rev 286277)
@@ -177,7 +177,8 @@
 delta,
 { },
 timestamp,
-timestamp
+timestamp,
+{ }
 };
 }
 #endif






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


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

2021-11-29 Thread simon . fraser
Title: [286276] trunk/Source/WebCore








Revision 286276
Author simon.fra...@apple.com
Date 2021-11-29 17:23:53 -0800 (Mon, 29 Nov 2021)


Log Message
Run keyboard-animated scrolls on the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=233591

Reviewed by Tim Horton.

Calling m_scrollableArea.scrollToPositionWithAnimation() hits the FrameView/RenderLayerScrollableArea
overrides of requestAnimatedScrollToPosition() which dispatch the scroll to the scrolling thread.

This allows the ScrollAnimationSmooth for keyboard-triggered scrolls (spacebar, page up/down, home/end)
to run on the scrolling thread.

* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::singleAxisScroll):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/ScrollAnimator.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (286275 => 286276)

--- trunk/Source/WebCore/ChangeLog	2021-11-30 01:20:43 UTC (rev 286275)
+++ trunk/Source/WebCore/ChangeLog	2021-11-30 01:23:53 UTC (rev 286276)
@@ -1,5 +1,21 @@
 2021-11-29  Simon Fraser  
 
+Run keyboard-animated scrolls on the scrolling thread
+https://bugs.webkit.org/show_bug.cgi?id=233591
+
+Reviewed by Tim Horton.
+
+Calling m_scrollableArea.scrollToPositionWithAnimation() hits the FrameView/RenderLayerScrollableArea
+overrides of requestAnimatedScrollToPosition() which dispatch the scroll to the scrolling thread.
+
+This allows the ScrollAnimationSmooth for keyboard-triggered scrolls (spacebar, page up/down, home/end)
+to run on the scrolling thread.
+
+* platform/ScrollAnimator.cpp:
+(WebCore::ScrollAnimator::singleAxisScroll):
+
+2021-11-29  Simon Fraser  
+
 Revert changes related to using a scroll animator for momentum scrolling
 https://bugs.webkit.org/show_bug.cgi?id=233585
 


Modified: trunk/Source/WebCore/platform/ScrollAnimator.cpp (286275 => 286276)

--- trunk/Source/WebCore/platform/ScrollAnimator.cpp	2021-11-30 01:20:43 UTC (rev 286275)
+++ trunk/Source/WebCore/platform/ScrollAnimator.cpp	2021-11-30 01:23:53 UTC (rev 286276)
@@ -82,10 +82,8 @@
 if (m_scrollController.retargetAnimatedScrollBy(delta))
 return true;
 
-auto startOffset = offsetFromPosition(m_currentPosition);
-auto extents = scrollExtents();
-auto destinationOffset = (startOffset + delta).constrainedBetween(extents.minimumScrollOffset(), extents.maximumScrollOffset());
-return m_scrollController.startAnimatedScrollToDestination(startOffset, destinationOffset);
+m_scrollableArea.scrollToPositionWithAnimation(m_currentPosition + delta);
+return true;
 }
 
 return scrollToPositionWithoutAnimation(currentPosition() + delta);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286275] trunk

2021-11-29 Thread ysuzuki
Title: [286275] trunk








Revision 286275
Author ysuz...@apple.com
Date 2021-11-29 17:20:43 -0800 (Mon, 29 Nov 2021)


Log Message
[JSC] slice should be aware of TerminationException
https://bugs.webkit.org/show_bug.cgi?id=233593
rdar://85823844

Reviewed by Mark Lam.

JSTests:

* stress/slice-termination-exception.js: Added.
(async infiniteLoop):

Source/_javascript_Core:

Since termination exception can happen at any time, assertNoException is wrong.

* runtime/ArrayPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp


Added Paths

trunk/JSTests/stress/slice-termination-exception.js




Diff

Modified: trunk/JSTests/ChangeLog (286274 => 286275)

--- trunk/JSTests/ChangeLog	2021-11-30 01:20:09 UTC (rev 286274)
+++ trunk/JSTests/ChangeLog	2021-11-30 01:20:43 UTC (rev 286275)
@@ -1,5 +1,16 @@
 2021-11-29  Yusuke Suzuki  
 
+[JSC] slice should be aware of TerminationException
+https://bugs.webkit.org/show_bug.cgi?id=233593
+rdar://85823844
+
+Reviewed by Mark Lam.
+
+* stress/slice-termination-exception.js: Added.
+(async infiniteLoop):
+
+2021-11-29  Yusuke Suzuki  
+
 [JSC] Add Intl.NumberFormat.formatRangeToParts
 https://bugs.webkit.org/show_bug.cgi?id=233539
 


Added: trunk/JSTests/stress/slice-termination-exception.js (0 => 286275)

--- trunk/JSTests/stress/slice-termination-exception.js	(rev 0)
+++ trunk/JSTests/stress/slice-termination-exception.js	2021-11-30 01:20:43 UTC (rev 286275)
@@ -0,0 +1,9 @@
+//@ runDefault("--watchdog=100", "--watchdog-exception-ok")
+async function infiniteLoop() {
+  await undefined;
+  while (1) ;
+}
+
+infiniteLoop();
+drainMicrotasks();
+[].slice();


Modified: trunk/Source/_javascript_Core/ChangeLog (286274 => 286275)

--- trunk/Source/_javascript_Core/ChangeLog	2021-11-30 01:20:09 UTC (rev 286274)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-11-30 01:20:43 UTC (rev 286275)
@@ -1,5 +1,18 @@
 2021-11-29  Yusuke Suzuki  
 
+[JSC] slice should be aware of TerminationException
+https://bugs.webkit.org/show_bug.cgi?id=233593
+rdar://85823844
+
+Reviewed by Mark Lam.
+
+Since termination exception can happen at any time, assertNoException is wrong.
+
+* runtime/ArrayPrototype.cpp:
+(JSC::JSC_DEFINE_HOST_FUNCTION):
+
+2021-11-29  Yusuke Suzuki  
+
 [JSC] Add Intl.NumberFormat.formatRangeToParts
 https://bugs.webkit.org/show_bug.cgi?id=233540
 


Modified: trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp (286274 => 286275)

--- trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp	2021-11-30 01:20:09 UTC (rev 286274)
+++ trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp	2021-11-30 01:20:43 UTC (rev 286275)
@@ -208,51 +208,49 @@
 VM& vm = globalObject->vm();
 auto scope = DECLARE_THROW_SCOPE(vm);
 
-auto exceptionResult = [] () {
-return std::make_pair(SpeciesConstructResult::Exception, nullptr);
-};
+constexpr std::pair exceptionResult { SpeciesConstructResult::Exception, nullptr };
 
 // ECMA 9.4.2.3: https://tc39.github.io/ecma262/#sec-arrayspeciescreate
 JSValue constructor = jsUndefined();
 bool thisIsArray = isArray(globalObject, thisObject);
-RETURN_IF_EXCEPTION(scope, exceptionResult());
+RETURN_IF_EXCEPTION(scope, exceptionResult);
 if (LIKELY(thisIsArray)) {
 // Fast path in the normal case where the user has not set an own constructor and the Array.prototype.constructor is normal.
 // We need prototype check for subclasses of Array, which are Array objects but have a different prototype by default.
 bool isValid = speciesWatchpointIsValid(vm, thisObject);
-scope.assertNoException();
+RETURN_IF_EXCEPTION(scope, exceptionResult);
 if (LIKELY(isValid))
-return std::make_pair(SpeciesConstructResult::FastPath, nullptr);
+return std::pair { SpeciesConstructResult::FastPath, nullptr };
 
 constructor = thisObject->get(globalObject, vm.propertyNames->constructor);
-RETURN_IF_EXCEPTION(scope, exceptionResult());
+RETURN_IF_EXCEPTION(scope, exceptionResult);
 if (constructor.isConstructor(vm)) {
 JSObject* constructorObject = jsCast(constructor);
 bool isArrayConstructorFromAnotherRealm = globalObject != constructorObject->globalObject(vm)
 && constructorObject->inherits(vm);
 if (isArrayConstructorFromAnotherRealm)
-return std::make_pair(SpeciesConstructResult::FastPath, nullptr);
+return std::pair { SpeciesConstructResult::FastPath, nullptr };
 }
 if (constructor.isObject()) {
 constructor = constructor.get(globalObject, vm.propertyNames->speciesSymbol);
-RETURN_IF_EXCEPTION(scope, 

[webkit-changes] [286274] trunk

2021-11-29 Thread simon . fraser
Title: [286274] trunk








Revision 286274
Author simon.fra...@apple.com
Date 2021-11-29 17:20:09 -0800 (Mon, 29 Nov 2021)


Log Message
Revert changes related to using a scroll animator for momentum scrolling
https://bugs.webkit.org/show_bug.cgi?id=233585

Reviewed by Tim Horton.

Source/WebCore:

It turns out that running an animation for the momentum phase of a scroll isn't web
compatible, adds a bunch of complexity around interactions with rubberbanding, and
has issues when ScrollAnimationMomentum behavior differs from the momentum event
behavior in its response to initial velocity.

So revert these changes added in r285787, r285797, r285917, r285953, r285964.

* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::handleWheelEvent):
* platform/ScrollingEffectsController.h:
* platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::handleWheelEvent):
(WebCore::ScrollingEffectsController::startRubberBandAnimation):
(WebCore::phaseToString): Deleted.
(WebCore::adjustedVelocity): Deleted.

LayoutTests:

We can keep the tests but they don't need to change the setting any more.

* fast/scrolling/mac/momentum-animator-end-event-stops.html:
* fast/scrolling/mac/momentum-animator-in-overflow.html:
* fast/scrolling/mac/momentum-animator-maybegin-stops.html:
* fast/scrolling/mac/momentum-animator.html:
* platform/mac-wk2/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/scrolling/mac/momentum-animator-end-event-stops.html
trunk/LayoutTests/fast/scrolling/mac/momentum-animator-in-overflow.html
trunk/LayoutTests/fast/scrolling/mac/momentum-animator-maybegin-stops.html
trunk/LayoutTests/fast/scrolling/mac/momentum-animator.html
trunk/LayoutTests/platform/mac-wk2/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
trunk/Source/WebCore/platform/ScrollingEffectsController.h
trunk/Source/WebCore/platform/mac/ScrollingEffectsController.mm




Diff

Modified: trunk/LayoutTests/ChangeLog (286273 => 286274)

--- trunk/LayoutTests/ChangeLog	2021-11-30 00:20:57 UTC (rev 286273)
+++ trunk/LayoutTests/ChangeLog	2021-11-30 01:20:09 UTC (rev 286274)
@@ -1,3 +1,18 @@
+2021-11-29  Simon Fraser  
+
+Revert changes related to using a scroll animator for momentum scrolling
+https://bugs.webkit.org/show_bug.cgi?id=233585
+
+Reviewed by Tim Horton.
+
+We can keep the tests but they don't need to change the setting any more.
+
+* fast/scrolling/mac/momentum-animator-end-event-stops.html:
+* fast/scrolling/mac/momentum-animator-in-overflow.html:
+* fast/scrolling/mac/momentum-animator-maybegin-stops.html:
+* fast/scrolling/mac/momentum-animator.html:
+* platform/mac-wk2/TestExpectations:
+
 2021-11-29  Wenson Hsieh  
 
 Add a basic heuristic for sizing text in image overlay blocks


Modified: trunk/LayoutTests/fast/scrolling/mac/momentum-animator-end-event-stops.html (286273 => 286274)

--- trunk/LayoutTests/fast/scrolling/mac/momentum-animator-end-event-stops.html	2021-11-30 00:20:57 UTC (rev 286273)
+++ trunk/LayoutTests/fast/scrolling/mac/momentum-animator-end-event-stops.html	2021-11-30 01:20:09 UTC (rev 286274)
@@ -1,4 +1,4 @@
- 
+
 
 
 

[webkit-changes] [286273] trunk

2021-11-29 Thread beidson
Title: [286273] trunk








Revision 286273
Author beid...@apple.com
Date 2021-11-29 16:20:57 -0800 (Mon, 29 Nov 2021)


Log Message
Make webpushd "fake registration for testing" much more complicated by adding a "mock app bundle" install
https://bugs.webkit.org/show_bug.cgi?id=233454

Reviewed by Alex Christensen.

Covered by API tests.

Before this patch, webpushd remembered "registrations" using a simple in-memory HashMap.

In the near future, registrations will actually be represented with a placeholder app bundle on disk.

The process of installing placeholders (and checking for existing ones) is complicated and asynchronous.

This patch shifts the in-memory testing implementation from a simple HashMap to a "complicated and asynchronous"
registration mechanism that simulates how app-bundle installs will work.

Once the "real" mechanisms are in place there will be much more in-depth testing that we can do.
For now, this is a "no behavior change" patch.

* NetworkProcess/Notifications/Cocoa/WebPushDaemonConnectionCocoa.mm:
(WebKit::WebPushD::Connection::connectionReceivedEvent const):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:

* WebKit.xcodeproj/project.pbxproj:

"PushAppBundle" is an abstract base class for representing a placeholder application bundle for a registration.
Eventually there will be a native one for each platform that actually does system operations.
For now, the concrete implementation is the in-memory "Mock" app bundle.

* webpushd/PushAppBundle.h: Copied from Source/WebKit/webpushd/PushClientConnection.h.
* webpushd/PushAppBundle.mm: Copied from Source/WebKit/webpushd/PushClientConnection.h.
(WebPushD::PushAppBundleClient::~PushAppBundleClient):
(WebPushD::PushAppBundle::PushAppBundle):
(WebPushD::PushAppBundle::~PushAppBundle):
(WebPushD::PushAppBundle::detachFromClient):

An "AppBundleRequest" is a queable operation meant to do something with an "App bundle".
For now the operations are "create" and "delete"

* webpushd/AppBundleRequest.h: Added.
(WebPushD::AppBundleRequestImpl::AppBundleRequestImpl):
(WebPushD::AppBundleRequestImpl::~AppBundleRequestImpl):
(WebPushD::AppBundleRequestImpl::callCompletionHandlerAndCleanup):
(WebPushD::AppBundlePermissionsRequest::AppBundlePermissionsRequest):
(WebPushD::AppBundleDeletionRequest::AppBundleDeletionRequest):
* webpushd/AppBundleRequest.mm: Added.
(WebPushD::AppBundleRequest::AppBundleRequest):
(WebPushD::AppBundleRequest::~AppBundleRequest):
(WebPushD::AppBundleRequest::start):
(WebPushD::AppBundleRequest::cancel):
(WebPushD::AppBundleRequest::cleanupAfterCompletionHandler):
(WebPushD::AppBundlePermissionsRequest::startInternal):
(WebPushD::AppBundlePermissionsRequest::didCheckForExistingBundle):
(WebPushD::AppBundlePermissionsRequest::didCreateAppBundle):
(WebPushD::AppBundleDeletionRequest::startInternal):
(WebPushD::AppBundleDeletionRequest::didDeleteExistingBundleWithError):

* webpushd/MockAppBundleForTesting.h: Copied from Source/WebKit/webpushd/PushClientConnection.h.
(WebPushD::MockAppBundleForTesting::create):
* webpushd/MockAppBundleForTesting.mm: Added.
(WebPushD::MockAppBundleForTesting::MockAppBundleForTesting):
(WebPushD::MockAppBundleForTesting::~MockAppBundleForTesting):
(WebPushD::MockAppBundleForTesting::checkForExistingBundle):
(WebPushD::MockAppBundleForTesting::deleteExistingBundle):
(WebPushD::MockAppBundleForTesting::createBundle):
(WebPushD::MockAppBundleForTesting::stop):

* webpushd/MockAppBundleRegistry.h: Copied from Source/WebKit/webpushd/PushClientConnection.h.
* webpushd/MockAppBundleRegistry.mm: Added.
(WebPushD::MockAppBundleRegistry::singleton):
(WebPushD::MockAppBundleRegistry::getOriginsWithRegistrations):
(WebPushD::MockAppBundleRegistry::doesBundleExist):
(WebPushD::MockAppBundleRegistry::createBundle):
(WebPushD::MockAppBundleRegistry::deleteBundle):

* webpushd/PushClientConnection.h:
* webpushd/PushClientConnection.mm:
(WebPushD::ClientConnection::create):
(WebPushD::ClientConnection::enqueueAppBundleRequest):
(WebPushD::ClientConnection::maybeStartNextAppBundleRequest):
(WebPushD::ClientConnection::didCompleteAppBundleRequest):
(WebPushD::ClientConnection::connectionClosed):

* webpushd/WebPushDaemon.h:
* webpushd/WebPushDaemon.mm:
(WebPushD::Daemon::connectionAdded):
(WebPushD::Daemon::connectionRemoved):
(WebPushD::Daemon::requestSystemNotificationPermission):
(WebPushD::Daemon::getOriginsWithPushAndNotificationPermissions):
(WebPushD::Daemon::deletePushAndNotificationRegistration):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/Notifications/Cocoa/WebPushDaemonConnectionCocoa.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
trunk/Source/WebKit/webpushd/PushClientConnection.h
trunk/Source/WebKit/webpushd/PushClientConnection.mm
trunk/Source/WebKit/webpushd/WebPushDaemon.h
trunk/Source/WebKit/webpushd/WebPushDaemon.mm
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm


Added 

[webkit-changes] [286272] trunk/Source

2021-11-29 Thread ddkilzer
Title: [286272] trunk/Source








Revision 286272
Author ddkil...@apple.com
Date 2021-11-29 16:20:30 -0800 (Mon, 29 Nov 2021)


Log Message
Disable experimental web features on platforms without UI to enable them



Reviewed by Brent Fulgham.

Source/WebKit:

* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
(WebKit::RemoteLayerTreeHost::makeNode):
* WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.h:
* WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.mm:
- Fix build when ENABLE(MODEL_ELEMENT) is false.

Source/WTF:

* wtf/PlatformEnableCocoa.h:
(ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER):
(ENABLE_CSS_PAINTING_API):
(ENABLE_CSS_TYPED_OM):
(ENABLE_MODEL_ELEMENT):
(ENABLE_SEPARATED_MODEL):
- Disable if HAVE(EXPERIMENTAL_WEB_FEATURES_UI) is defined.
* wtf/PlatformHave.h:
(HAVE_EXPERIMENTAL_WEB_FEATURES_UI): Add.
- Define for tvOS and watchOS, which don't have UI to enable
  experimental web features.
(HAVE_CELESTIAL):
(HAVE_CFNETWORK_ALTERNATIVE_SERVICE):
(HAVE_NETWORK_LOADER):
(HAVE_AVSAMPLEBUFFERVIDEOOUTPUT):
- Disable if HAVE(EXPERIMENTAL_WEB_FEATURES_UI) is defined.

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/PlatformEnableCocoa.h
trunk/Source/WTF/wtf/PlatformHave.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm
trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.h
trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.mm




Diff

Modified: trunk/Source/WTF/ChangeLog (286271 => 286272)

--- trunk/Source/WTF/ChangeLog	2021-11-30 00:02:13 UTC (rev 286271)
+++ trunk/Source/WTF/ChangeLog	2021-11-30 00:20:30 UTC (rev 286272)
@@ -1,3 +1,28 @@
+2021-11-29  David Kilzer  
+
+Disable experimental web features on platforms without UI to enable them
+
+
+
+Reviewed by Brent Fulgham.
+
+* wtf/PlatformEnableCocoa.h:
+(ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER):
+(ENABLE_CSS_PAINTING_API):
+(ENABLE_CSS_TYPED_OM):
+(ENABLE_MODEL_ELEMENT):
+(ENABLE_SEPARATED_MODEL):
+- Disable if HAVE(EXPERIMENTAL_WEB_FEATURES_UI) is defined.
+* wtf/PlatformHave.h:
+(HAVE_EXPERIMENTAL_WEB_FEATURES_UI): Add.
+- Define for tvOS and watchOS, which don't have UI to enable
+  experimental web features.
+(HAVE_CELESTIAL):
+(HAVE_CFNETWORK_ALTERNATIVE_SERVICE):
+(HAVE_NETWORK_LOADER):
+(HAVE_AVSAMPLEBUFFERVIDEOOUTPUT):
+- Disable if HAVE(EXPERIMENTAL_WEB_FEATURES_UI) is defined.
+
 2021-11-29  Chris Fleizach  
 
 AX: Unify speech synthesizer platform usage for Mac/iOS


Modified: trunk/Source/WTF/wtf/PlatformEnableCocoa.h (286271 => 286272)

--- trunk/Source/WTF/wtf/PlatformEnableCocoa.h	2021-11-30 00:02:13 UTC (rev 286271)
+++ trunk/Source/WTF/wtf/PlatformEnableCocoa.h	2021-11-30 00:20:30 UTC (rev 286272)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2020 Apple Inc. All rights reserved.
+ * Copyright (C) 2006-2021 Apple Inc. All rights reserved.
  * Copyright (C) 2007-2009 Torch Mobile, Inc.
  * Copyright (C) 2010, 2011 Research In Motion Limited. All rights reserved.
  * Copyright (C) 2013 Samsung Electronics. All rights reserved.
@@ -171,7 +171,7 @@
 #define ENABLE_CONTEXT_MENU_EVENT 0
 #endif
 
-#if !defined(ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER)
+#if !defined(ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER) && HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER 1
 #endif
 
@@ -184,7 +184,7 @@
 #define ENABLE_CSS_CONIC_GRADIENTS 1
 #endif
 
-#if !defined(ENABLE_CSS_PAINTING_API)
+#if !defined(ENABLE_CSS_PAINTING_API) && HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define ENABLE_CSS_PAINTING_API 1
 #endif
 
@@ -196,7 +196,7 @@
 #define ENABLE_CSS_TRAILING_WORD 1
 #endif
 
-#if !defined(ENABLE_CSS_TYPED_OM)
+#if !defined(ENABLE_CSS_TYPED_OM) && HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define ENABLE_CSS_TYPED_OM 1
 #endif
 
@@ -405,7 +405,7 @@
 #define ENABLE_META_VIEWPORT 1
 #endif
 
-#if !defined(ENABLE_MODEL_ELEMENT)
+#if !defined(ENABLE_MODEL_ELEMENT) && HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define ENABLE_MODEL_ELEMENT 1
 #endif
 
@@ -704,7 +704,7 @@
 #define ENABLE_CSS_TRANSFORM_STYLE_OPTIMIZED_3D 1
 #endif
 
-#if !defined(ENABLE_SEPARATED_MODEL) && HAVE(UIKIT_WEBKIT_INTERNALS) && HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+#if !defined(ENABLE_SEPARATED_MODEL) && HAVE(UIKIT_WEBKIT_INTERNALS) && HAVE(CORE_ANIMATION_SEPARATED_LAYERS) && HAVE(EXPERIMENTAL_WEB_FEATURES_UI)
 #define ENABLE_SEPARATED_MODEL 1
 #endif
 


Modified: trunk/Source/WTF/wtf/PlatformHave.h (286271 => 286272)

--- trunk/Source/WTF/wtf/PlatformHave.h	2021-11-30 00:02:13 UTC (rev 286271)
+++ trunk/Source/WTF/wtf/PlatformHave.h	2021-11-30 00:20:30 UTC (rev 286272)
@@ -81,6 +81,10 @@
 #define HAVE_ARM_NEON_INTRINSICS 0
 #endif
 
+#if !defined(HAVE_EXPERIMENTAL_WEB_FEATURES_UI) && 

[webkit-changes] [286271] trunk/Tools

2021-11-29 Thread jbedard
Title: [286271] trunk/Tools








Revision 286271
Author jbed...@apple.com
Date 2021-11-29 16:02:13 -0800 (Mon, 29 Nov 2021)


Log Message
[webkitscmpy] Guard git-webkit with __name__
https://bugs.webkit.org/show_bug.cgi?id=233278

Reviewed by Stephanie Lewis and Dewei Zhu.

* Scripts/libraries/webkitscmpy/git-webkit:

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

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/libraries/webkitscmpy/git-webkit




Diff

Modified: trunk/Tools/ChangeLog (286270 => 286271)

--- trunk/Tools/ChangeLog	2021-11-29 23:58:33 UTC (rev 286270)
+++ trunk/Tools/ChangeLog	2021-11-30 00:02:13 UTC (rev 286271)
@@ -1,5 +1,14 @@
 2021-11-29  Jonathan Bedard  
 
+[webkitscmpy] Guard git-webkit with __name__
+https://bugs.webkit.org/show_bug.cgi?id=233278
+
+Reviewed by Dewei Zhu.
+
+* Scripts/libraries/webkitscmpy/git-webkit:
+
+2021-11-29  Jonathan Bedard  
+
 [webkitcorepy] Delete unused environment variables
 https://bugs.webkit.org/show_bug.cgi?id=233565
 


Modified: trunk/Tools/Scripts/libraries/webkitscmpy/git-webkit (286270 => 286271)

--- trunk/Tools/Scripts/libraries/webkitscmpy/git-webkit	2021-11-29 23:58:33 UTC (rev 286270)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/git-webkit	2021-11-30 00:02:13 UTC (rev 286271)
@@ -27,4 +27,5 @@
 from webkitscmpy import program
 
 
-sys.exit(program.main())
+if '__main__' == __name__:
+sys.exit(program.main())






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286270] trunk/Source

2021-11-29 Thread timothy_horton
Title: [286270] trunk/Source








Revision 286270
Author timothy_hor...@apple.com
Date 2021-11-29 15:58:33 -0800 (Mon, 29 Nov 2021)


Log Message
Plumb raw platform scrolling deltas along in wheel events
https://bugs.webkit.org/show_bug.cgi?id=233583

Reviewed by Simon Fraser.

Source/WebCore:

* platform/PlatformWheelEvent.cpp:
(WebCore::PlatformWheelEvent::createFromGesture):
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::rawPlatformDelta const):
* PAL/pal/spi/mac/IOKitSPIMac.h:

Source/WebKit:

* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
* Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::WebWheelEvent):
(WebKit::WebWheelEvent::encode const):
(WebKit::WebWheelEvent::decode):
* Shared/WebWheelEvent.h:
(WebKit::WebWheelEvent::rawPlatformDelta const):
* Shared/WebWheelEventCoalescer.cpp:
(WebKit::WebWheelEventCoalescer::coalesce):
* Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebWheelEvent):
Extract and plumb raw unaccelerated (in the HID sense) deltas in scroll
events for use in a future patch.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h
trunk/Source/WebCore/platform/PlatformWheelEvent.cpp
trunk/Source/WebCore/platform/PlatformWheelEvent.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Shared/WebEventConversion.cpp
trunk/Source/WebKit/Shared/WebWheelEvent.cpp
trunk/Source/WebKit/Shared/WebWheelEvent.h
trunk/Source/WebKit/Shared/WebWheelEventCoalescer.cpp
trunk/Source/WebKit/Shared/mac/WebEventFactory.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (286269 => 286270)

--- trunk/Source/WebCore/ChangeLog	2021-11-29 23:46:29 UTC (rev 286269)
+++ trunk/Source/WebCore/ChangeLog	2021-11-29 23:58:33 UTC (rev 286270)
@@ -1,3 +1,16 @@
+2021-11-29  Tim Horton  
+
+Plumb raw platform scrolling deltas along in wheel events
+https://bugs.webkit.org/show_bug.cgi?id=233583
+
+Reviewed by Simon Fraser.
+
+* platform/PlatformWheelEvent.cpp:
+(WebCore::PlatformWheelEvent::createFromGesture):
+* platform/PlatformWheelEvent.h:
+(WebCore::PlatformWheelEvent::rawPlatformDelta const):
+* PAL/pal/spi/mac/IOKitSPIMac.h:
+
 2021-11-29  Wenson Hsieh  
 
 Add a basic heuristic for sizing text in image overlay blocks


Modified: trunk/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h (286269 => 286270)

--- trunk/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h	2021-11-29 23:46:29 UTC (rev 286269)
+++ trunk/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h	2021-11-29 23:58:33 UTC (rev 286270)
@@ -83,7 +83,22 @@
 };
 typedef uint32_t IOHIDEventType;
 
+typedef uint32_t IOHIDEventField;
+
+#ifdef __LP64__
+typedef double IOHIDFloat;
+#else
+typedef float IOHIDFloat;
+#endif
+
+#define IOHIDEventFieldBase(type) (type << 16)
+
+#define kIOHIDEventFieldScrollBase IOHIDEventFieldBase(kIOHIDEventTypeScroll)
+static const IOHIDEventField kIOHIDEventFieldScrollX = (kIOHIDEventFieldScrollBase | 0);
+static const IOHIDEventField kIOHIDEventFieldScrollY = (kIOHIDEventFieldScrollBase | 1);
+
 uint64_t IOHIDEventGetTimeStamp(IOHIDEventRef);
+IOHIDFloat IOHIDEventGetFloatValue(IOHIDEventRef, IOHIDEventField);
 
 WTF_EXTERN_C_END
 


Modified: trunk/Source/WebCore/platform/PlatformWheelEvent.cpp (286269 => 286270)

--- trunk/Source/WebCore/platform/PlatformWheelEvent.cpp	2021-11-29 23:46:29 UTC (rev 286269)
+++ trunk/Source/WebCore/platform/PlatformWheelEvent.cpp	2021-11-29 23:58:33 UTC (rev 286270)
@@ -76,6 +76,7 @@
 
 #if PLATFORM(COCOA)
 platformWheelEvent.m_ioHIDEventTimestamp = platformWheelEvent.m_timestamp;
+platformWheelEvent.m_rawPlatformDelta = platformWheelEvent.m_rawPlatformDelta;
 platformWheelEvent.m_unacceleratedScrollingDeltaY = deltaY;
 #endif // PLATFORM(COCOA)
 


Modified: trunk/Source/WebCore/platform/PlatformWheelEvent.h (286269 => 286270)

--- trunk/Source/WebCore/platform/PlatformWheelEvent.h	2021-11-29 23:46:29 UTC (rev 286269)
+++ trunk/Source/WebCore/platform/PlatformWheelEvent.h	2021-11-29 23:58:33 UTC (rev 286270)
@@ -160,6 +160,8 @@
 FloatSize unacceleratedScrollingDelta() const { return { m_unacceleratedScrollingDeltaX, m_unacceleratedScrollingDeltaY }; }
 
 WallTime ioHIDEventTimestamp() const { return m_ioHIDEventTimestamp; }
+
+std::optional rawPlatformDelta() const { return m_rawPlatformDelta; }
 #endif
 
 #if ENABLE(ASYNC_SCROLLING)
@@ -209,6 +211,7 @@
 #endif
 #if PLATFORM(COCOA)
 WallTime m_ioHIDEventTimestamp;
+std::optional m_rawPlatformDelta;
 unsigned m_scrollCount { 0 };
 float m_unacceleratedScrollingDeltaX { 0 };
 float m_unacceleratedScrollingDeltaY { 0 };


Modified: trunk/Source/WebKit/ChangeLog (286269 => 286270)

--- trunk/Source/WebKit/ChangeLog	2021-11-29 23:46:29 UTC (rev 286269)
+++ trunk/Source/WebKit/ChangeLog	2021-11-29 23:58:33 UTC (rev 286270)
@@ -1,3 +1,25 @@
+2021-11-29  Tim Horton  
+
+Plumb raw platform scrolling deltas 

[webkit-changes] [286269] branches/safari-612.3.6.1-branch/Source

2021-11-29 Thread alancoon
Title: [286269] branches/safari-612.3.6.1-branch/Source








Revision 286269
Author alanc...@apple.com
Date 2021-11-29 15:46:29 -0800 (Mon, 29 Nov 2021)


Log Message
Versioning.

WebKit-7612.3.6.1.6

Modified Paths

branches/safari-612.3.6.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-612.3.6.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
branches/safari-612.3.6.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
branches/safari-612.3.6.1-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-612.3.6.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig
branches/safari-612.3.6.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-612.3.6.1-branch/Source/WebKit/Configurations/Version.xcconfig
branches/safari-612.3.6.1-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: branches/safari-612.3.6.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig (286268 => 286269)

--- branches/safari-612.3.6.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-11-29 23:30:34 UTC (rev 286268)
+++ branches/safari-612.3.6.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-11-29 23:46:29 UTC (rev 286269)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 5;
+NANO_VERSION = 6;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (286268 => 286269)

--- branches/safari-612.3.6.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-11-29 23:30:34 UTC (rev 286268)
+++ branches/safari-612.3.6.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-11-29 23:46:29 UTC (rev 286269)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 5;
+NANO_VERSION = 6;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (286268 => 286269)

--- branches/safari-612.3.6.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-11-29 23:30:34 UTC (rev 286268)
+++ branches/safari-612.3.6.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-11-29 23:46:29 UTC (rev 286269)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 5;
+NANO_VERSION = 6;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.1-branch/Source/WebCore/Configurations/Version.xcconfig (286268 => 286269)

--- branches/safari-612.3.6.1-branch/Source/WebCore/Configurations/Version.xcconfig	2021-11-29 23:30:34 UTC (rev 286268)
+++ branches/safari-612.3.6.1-branch/Source/WebCore/Configurations/Version.xcconfig	2021-11-29 23:46:29 UTC (rev 286269)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 5;
+NANO_VERSION = 6;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (286268 => 286269)

--- branches/safari-612.3.6.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-11-29 23:30:34 UTC (rev 286268)
+++ branches/safari-612.3.6.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-11-29 23:46:29 UTC (rev 286269)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 5;
+NANO_VERSION = 6;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (286268 => 286269)

--- branches/safari-612.3.6.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-11-29 23:30:34 UTC (rev 286268)
+++ branches/safari-612.3.6.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-11-29 23:46:29 UTC (rev 286269)
@@ -2,7 +2,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 5;
+NANO_VERSION = 6;
 FULL_VERSION = 

[webkit-changes] [286268] branches/safari-612.3.6.0-branch/Source

2021-11-29 Thread alancoon
Title: [286268] branches/safari-612.3.6.0-branch/Source








Revision 286268
Author alanc...@apple.com
Date 2021-11-29 15:30:34 -0800 (Mon, 29 Nov 2021)


Log Message
Versioning.

WebKit-7612.3.6.0.4

Modified Paths

branches/safari-612.3.6.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-612.3.6.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
branches/safari-612.3.6.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
branches/safari-612.3.6.0-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-612.3.6.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig
branches/safari-612.3.6.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-612.3.6.0-branch/Source/WebKit/Configurations/Version.xcconfig
branches/safari-612.3.6.0-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: branches/safari-612.3.6.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig (286267 => 286268)

--- branches/safari-612.3.6.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-11-29 23:18:36 UTC (rev 286267)
+++ branches/safari-612.3.6.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-11-29 23:30:34 UTC (rev 286268)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 0;
-NANO_VERSION = 3;
+NANO_VERSION = 4;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (286267 => 286268)

--- branches/safari-612.3.6.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-11-29 23:18:36 UTC (rev 286267)
+++ branches/safari-612.3.6.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-11-29 23:30:34 UTC (rev 286268)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 0;
-NANO_VERSION = 3;
+NANO_VERSION = 4;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (286267 => 286268)

--- branches/safari-612.3.6.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-11-29 23:18:36 UTC (rev 286267)
+++ branches/safari-612.3.6.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-11-29 23:30:34 UTC (rev 286268)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 0;
-NANO_VERSION = 3;
+NANO_VERSION = 4;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.0-branch/Source/WebCore/Configurations/Version.xcconfig (286267 => 286268)

--- branches/safari-612.3.6.0-branch/Source/WebCore/Configurations/Version.xcconfig	2021-11-29 23:18:36 UTC (rev 286267)
+++ branches/safari-612.3.6.0-branch/Source/WebCore/Configurations/Version.xcconfig	2021-11-29 23:30:34 UTC (rev 286268)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 0;
-NANO_VERSION = 3;
+NANO_VERSION = 4;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (286267 => 286268)

--- branches/safari-612.3.6.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-11-29 23:18:36 UTC (rev 286267)
+++ branches/safari-612.3.6.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-11-29 23:30:34 UTC (rev 286268)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 0;
-NANO_VERSION = 3;
+NANO_VERSION = 4;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (286267 => 286268)

--- branches/safari-612.3.6.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-11-29 23:18:36 UTC (rev 286267)
+++ branches/safari-612.3.6.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-11-29 23:30:34 UTC (rev 286268)
@@ -2,7 +2,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 0;
-NANO_VERSION = 3;
+NANO_VERSION = 4;
 FULL_VERSION = 

[webkit-changes] [286267] trunk/Source/WebKit

2021-11-29 Thread cdumez
Title: [286267] trunk/Source/WebKit








Revision 286267
Author cdu...@apple.com
Date 2021-11-29 15:18:36 -0800 (Mon, 29 Nov 2021)


Log Message
Add WebKitAdditions bits for captive portal mode
https://bugs.webkit.org/show_bug.cgi?id=233569


Reviewed by Geoffrey Garen.

* UIProcess/API/Cocoa/WKWebpagePreferences.h:
* UIProcess/API/Cocoa/WKWebpagePreferences.mm:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.h
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm
trunk/Source/WebKit/mac/replace-webkit-additions-includes.py




Diff

Modified: trunk/Source/WebKit/ChangeLog (286266 => 286267)

--- trunk/Source/WebKit/ChangeLog	2021-11-29 23:10:37 UTC (rev 286266)
+++ trunk/Source/WebKit/ChangeLog	2021-11-29 23:18:36 UTC (rev 286267)
@@ -1,3 +1,14 @@
+2021-11-29  Chris Dumez  
+
+Add WebKitAdditions bits for captive portal mode
+https://bugs.webkit.org/show_bug.cgi?id=233569
+
+
+Reviewed by Geoffrey Garen.
+
+* UIProcess/API/Cocoa/WKWebpagePreferences.h:
+* UIProcess/API/Cocoa/WKWebpagePreferences.mm:
+
 2021-11-29  Per Arne Vollan  
 
 [WP] Sandbox telemetry is missing for some system calls


Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.h (286266 => 286267)

--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.h	2021-11-29 23:10:37 UTC (rev 286266)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.h	2021-11-29 23:18:36 UTC (rev 286267)
@@ -71,4 +71,8 @@
 */
 @property (nonatomic) BOOL allowsContentJavaScript WK_API_AVAILABLE(macos(11.0), ios(14.0));
 
+#if USE(APPLE_INTERNAL_SDK)
+#import 
+#endif
+
 @end


Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm (286266 => 286267)

--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm	2021-11-29 23:10:37 UTC (rev 286266)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm	2021-11-29 23:18:36 UTC (rev 286267)
@@ -460,4 +460,8 @@
 return WebKit::mouseEventPolicy(_websitePolicies->mouseEventPolicy());
 }
 
+#if USE(APPLE_INTERNAL_SDK)
+#import 
+#endif
+
 @end


Modified: trunk/Source/WebKit/mac/replace-webkit-additions-includes.py (286266 => 286267)

--- trunk/Source/WebKit/mac/replace-webkit-additions-includes.py	2021-11-29 23:10:37 UTC (rev 286266)
+++ trunk/Source/WebKit/mac/replace-webkit-additions-includes.py	2021-11-29 23:18:36 UTC (rev 286267)
@@ -86,8 +86,7 @@
 return 1
 
 # We currently only support WebKitAdditions in Framework headers on macOS 13+ and iOS 16+.
-if not is_supported_os():
-return 0
+should_do_replacement = is_supported_os()
 
 additions_import_pattern = re.compile(r"\#if USE\(APPLE_INTERNAL_SDK\)\n#import \n#endif")
 try:
@@ -95,7 +94,10 @@
 header_contents = header.read()
 match = additions_import_pattern.search(header_contents)
 while match:
-header_contents = header_contents[:match.start()] + read_content_from_webkit_additions(built_products_directory, sdk_root_directory, match.groups()[0]) + header_contents[match.end():]
+if should_do_replacement:
+header_contents = header_contents[:match.start()] + read_content_from_webkit_additions(built_products_directory, sdk_root_directory, match.groups()[0]) + header_contents[match.end():]
+else:
+header_contents = header_contents[:match.start()] + header_contents[match.end():]
 match = additions_import_pattern.search(header_contents)
 try:
 with open(header_path, "w") as header:






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286266] trunk/Source/WebKit

2021-11-29 Thread pvollan
Title: [286266] trunk/Source/WebKit








Revision 286266
Author pvol...@apple.com
Date 2021-11-29 15:10:37 -0800 (Mon, 29 Nov 2021)


Log Message
[WP] Sandbox telemetry is missing for some system calls
https://bugs.webkit.org/show_bug.cgi?id=233594


Reviewed by Brent Fulgham.

Sandbox telemetry is missing for some system calls, since telemetry rules are automatically overridden in some cases.
This patch is addressing this by disabling system call inference.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in




Diff

Modified: trunk/Source/WebKit/ChangeLog (286265 => 286266)

--- trunk/Source/WebKit/ChangeLog	2021-11-29 22:47:33 UTC (rev 286265)
+++ trunk/Source/WebKit/ChangeLog	2021-11-29 23:10:37 UTC (rev 286266)
@@ -1,3 +1,16 @@
+2021-11-29  Per Arne Vollan  
+
+[WP] Sandbox telemetry is missing for some system calls
+https://bugs.webkit.org/show_bug.cgi?id=233594
+
+
+Reviewed by Brent Fulgham.
+
+Sandbox telemetry is missing for some system calls, since telemetry rules are automatically overridden in some cases.
+This patch is addressing this by disabling system call inference.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
+
 2021-11-29  Wenson Hsieh  
 
 WKContentView should allow -captureTextFromCamera: with a caret selection unless the sender is the callout bar


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in (286265 => 286266)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-11-29 22:47:33 UTC (rev 286265)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-11-29 23:10:37 UTC (rev 286266)
@@ -1193,6 +1193,8 @@
 (global-name "com.apple.webkit.camera")
 )
 
+(disable-syscall-inference)
+
 (when (defined? 'syscall-unix)
 (deny syscall-unix (with send-signal SIGKILL))
 (allow syscall-unix
@@ -1206,6 +1208,10 @@
 (syscall-number SYS_bsdthread_terminate)
 (syscall-number SYS_change_fdguard_np)
 (syscall-number SYS_chdir)
+(syscall-number SYS_close)
+(syscall-number SYS_close_nocancel)
+(syscall-number SYS_csops) ;; used by Corefoundation initialization
+(syscall-number SYS_csops_audittoken) ;; used by WK to get entitlments
 (syscall-number SYS_exit)
 (syscall-number SYS_faccessat) ;; 
 (syscall-number SYS_fcntl)
@@ -1235,6 +1241,7 @@
 (syscall-number SYS_guarded_open_dprotected_np) ; 
 (syscall-number SYS_guarded_open_np)
 (syscall-number SYS_guarded_pwrite_np)
+(syscall-number SYS_ioctl) ;; needed by tcgetattr (TIOCGETA) - debugging
 (syscall-number SYS_issetugid)
 (syscall-number SYS_kdebug_trace64)
 (syscall-number SYS_kdebug_typefilter)
@@ -1253,9 +1260,13 @@
 (syscall-number SYS_msync)
 (syscall-number SYS_munmap)
 (syscall-number SYS_objc_bp_assist_cfg_np)
+(syscall-number SYS_open)
+(syscall-number SYS_open_nocancel)
+(syscall-number SYS_openat)
 (syscall-number SYS_os_fault_with_payload)
 (syscall-number SYS_pathconf)
 (syscall-number SYS_pread)
+(syscall-number SYS_proc_info)
 (syscall-number SYS_psynch_cvbroad)
 (syscall-number SYS_psynch_cvclrprepost)
 (syscall-number SYS_psynch_cvsignal)
@@ -1268,17 +1279,23 @@
 (syscall-number SYS_read_nocancel)
 (syscall-number SYS_readlink)
 (syscall-number SYS_rename)
+(syscall-number SYS_sem_close)
+(syscall-number SYS_sem_open)
 (syscall-number SYS_shared_region_check_np)
 (syscall-number SYS_shared_region_map_and_slide_2_np) ;; 
+(syscall-number SYS_shm_open)
 (syscall-number SYS_sigaction)
 (syscall-number SYS_stat64)
 (syscall-number SYS_statfs64)
+(syscall-number SYS_sysctl)
+(syscall-number SYS_sysctlbyname)
 (syscall-number SYS_thread_selfid)
 (syscall-number SYS_ulock_wait)
 (syscall-number SYS_ulock_wait2) ;; 
 (syscall-number SYS_ulock_wake)
 (syscall-number SYS_workq_kernreturn)
-(syscall-number SYS_workq_open))
+(syscall-number SYS_workq_open)
+(syscall-number SYS_write_nocancel))
 
 (allow syscall-unix (with telemetry)
 (syscall-number SYS_fgetxattr)
@@ -1293,7 +1310,7 @@
 (syscall-number SYS_thread_selfusage)
 )
 
-(allow syscall-unix (with telemetry-backtrace)
+(allow syscall-unix (with report) (with telemetry-backtrace)
 (syscall-number SYS___pthread_kill)
 (syscall-number SYS___pthread_markcancel)
 (syscall-number SYS___pthread_sigmask)
@@ -1300,13 +1317,9 @@
 (syscall-number 

[webkit-changes] [286265] trunk

2021-11-29 Thread wenson_hsieh
Title: [286265] trunk








Revision 286265
Author wenson_hs...@apple.com
Date 2021-11-29 14:47:33 -0800 (Mon, 29 Nov 2021)


Log Message
Add a basic heuristic for sizing text in image overlay blocks
https://bugs.webkit.org/show_bug.cgi?id=233343
rdar://85755755

Reviewed by Tim Horton.

Source/WebCore:

Address a FIXME by implementing a simple heuristic for sizing text in image overlay blocks. Each image overlay
block has a predetermined target width and height; currently, we hard-code the font size in each of these blocks
to be 80% of the target height. While this works in some cases, it also causes content in these blocks to
overflow the container if there's too much text.

Avoid this problem by finding the largest font size, such that text in each container fits within the target
bounds without overflowing vertically (we don't need to worry about horizontal overflow because horizontally
overflowing text will simply wrap to the next line).

Because of line wrapping, it's difficult to analytically compute this font size, so I'm instead using binary
search (up to a fixed number of iterations) to converge on this largest size that avoids exceeding the target
height. See below for more details.

Test: fast/images/text-recognition/image-overlay-blocks.html

* dom/ImageOverlay.cpp:
(WebCore::ImageOverlay::updateWithTextRecognitionResult):

Implement the main logic of the binary search. Establish a goal of ending up with text that fills at least 90%
of the available space in the container (with a max of just slightly over 100%, so that we stop early if we
happen to only barely exceed the target height). Then, starting with a font size that's 80% of the target
height, converge on a font size between 0% and 100% of the target height that achieves this goal. In practice,
most of the injected blocks of text will stop after a single iteration (due to the "80%-of-height" font size
being sufficient to mostly fill available vertical space).

Each FontSizeAdjustmentState here represents a single block container. At the beginning of each iteration, we
ensure that layout is up to date, and set the font size to be between the current min and max value (scaling by
target height to get font size). Using `linesBoundingBox()`, we compute the height of the rendered text relative
to its parent (which we know a-priori to be as tall as the target height). If this height is at least 90% of the
target height, we finish and remove the font size adjustment state from the vector of pending font adjustments;
otherwise, we adjust the min and max to either increase or decrease the font size as needed, and continue the
loop. We finally bail after an arbitrarily-chosen 10 iterations, if the text in the container is still too
small.

* testing/Internals.cpp:
(WebCore::Internals::installImageOverlay):

Augment this testing-only internals hook so that we can inject arbitrary image overlay block content inside
image overlays.

* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

Add a new layout test. See WebCore/ChangeLog for more details.

* fast/images/text-recognition/image-overlay-blocks-expected.html: Added.
* fast/images/text-recognition/image-overlay-blocks.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ImageOverlay.cpp
trunk/Source/WebCore/testing/Internals.cpp
trunk/Source/WebCore/testing/Internals.h
trunk/Source/WebCore/testing/Internals.idl


Added Paths

trunk/LayoutTests/fast/images/text-recognition/image-overlay-blocks-expected.html
trunk/LayoutTests/fast/images/text-recognition/image-overlay-blocks.html




Diff

Modified: trunk/LayoutTests/ChangeLog (286264 => 286265)

--- trunk/LayoutTests/ChangeLog	2021-11-29 22:38:41 UTC (rev 286264)
+++ trunk/LayoutTests/ChangeLog	2021-11-29 22:47:33 UTC (rev 286265)
@@ -1,3 +1,16 @@
+2021-11-29  Wenson Hsieh  
+
+Add a basic heuristic for sizing text in image overlay blocks
+https://bugs.webkit.org/show_bug.cgi?id=233343
+rdar://85755755
+
+Reviewed by Tim Horton.
+
+Add a new layout test. See WebCore/ChangeLog for more details.
+
+* fast/images/text-recognition/image-overlay-blocks-expected.html: Added.
+* fast/images/text-recognition/image-overlay-blocks.html: Added.
+
 2021-11-29  Chris Dumez  
 
 REGRESSION(r283855) [GTK][WPE] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower.html fails


Added: trunk/LayoutTests/fast/images/text-recognition/image-overlay-blocks-expected.html (0 => 286265)

--- trunk/LayoutTests/fast/images/text-recognition/image-overlay-blocks-expected.html	(rev 0)
+++ trunk/LayoutTests/fast/images/text-recognition/image-overlay-blocks-expected.html	2021-11-29 22:47:33 UTC (rev 286265)
@@ -0,0 +1,23 @@
+
+
+
+
+body, html {
+margin: 0;
+}
+
+.cover-block-container {
+position: absolute;
+top: 0;
+left: 0;
+width: 200px;
+height: 

[webkit-changes] [286264] trunk

2021-11-29 Thread cdumez
Title: [286264] trunk








Revision 286264
Author cdu...@apple.com
Date 2021-11-29 14:38:41 -0800 (Mon, 29 Nov 2021)


Log Message
REGRESSION(r283855) [GTK][WPE] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower.html fails
https://bugs.webkit.org/show_bug.cgi?id=233529

Reviewed by Philippe Normand.

Source/WebCore:

The non-USE(ACCELERATE) implementation for VectorMath::multiplyByScalarThenAddToVector() was wrong, causing the test
to fail on non Cocoa ports. The implementation was wrongly calling multiplyByScalarThenAddToOutput() instead of
multiplyByScalar() before calling add().

* platform/audio/VectorMath.cpp:
(WebCore::VectorMath::multiplyByScalarThenAddToVector):

LayoutTests:

Unskip test that is now passing.

* platform/glib/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/glib/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/audio/VectorMath.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (286263 => 286264)

--- trunk/LayoutTests/ChangeLog	2021-11-29 22:29:50 UTC (rev 286263)
+++ trunk/LayoutTests/ChangeLog	2021-11-29 22:38:41 UTC (rev 286264)
@@ -1,3 +1,14 @@
+2021-11-29  Chris Dumez  
+
+REGRESSION(r283855) [GTK][WPE] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower.html fails
+https://bugs.webkit.org/show_bug.cgi?id=233529
+
+Reviewed by Philippe Normand.
+
+Unskip test that is now passing.
+
+* platform/glib/TestExpectations:
+
 2021-11-29  Chris Fleizach  
 
 AX: Unify speech synthesizer platform usage for Mac/iOS


Modified: trunk/LayoutTests/platform/glib/TestExpectations (286263 => 286264)

--- trunk/LayoutTests/platform/glib/TestExpectations	2021-11-29 22:29:50 UTC (rev 286263)
+++ trunk/LayoutTests/platform/glib/TestExpectations	2021-11-29 22:38:41 UTC (rev 286264)
@@ -1236,8 +1236,6 @@
 
 webkit.org/b/232726 webaudio/AudioBuffer/huge-buffer.html [ Pass Slow ]
 
-webkit.org/b/233529 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower.html [ Failure ]
-
 #
 # End of WebAudio-related bugs
 #


Modified: trunk/Source/WebCore/ChangeLog (286263 => 286264)

--- trunk/Source/WebCore/ChangeLog	2021-11-29 22:29:50 UTC (rev 286263)
+++ trunk/Source/WebCore/ChangeLog	2021-11-29 22:38:41 UTC (rev 286264)
@@ -1,3 +1,17 @@
+2021-11-29  Chris Dumez  
+
+REGRESSION(r283855) [GTK][WPE] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower.html fails
+https://bugs.webkit.org/show_bug.cgi?id=233529
+
+Reviewed by Philippe Normand.
+
+The non-USE(ACCELERATE) implementation for VectorMath::multiplyByScalarThenAddToVector() was wrong, causing the test
+to fail on non Cocoa ports. The implementation was wrongly calling multiplyByScalarThenAddToOutput() instead of
+multiplyByScalar() before calling add().
+
+* platform/audio/VectorMath.cpp:
+(WebCore::VectorMath::multiplyByScalarThenAddToVector):
+
 2021-11-29  Fujii Hironori  
 
 REGRESSION(r286205) [WinCairo] WebGL tests are failing


Modified: trunk/Source/WebCore/platform/audio/VectorMath.cpp (286263 => 286264)

--- trunk/Source/WebCore/platform/audio/VectorMath.cpp	2021-11-29 22:29:50 UTC (rev 286263)
+++ trunk/Source/WebCore/platform/audio/VectorMath.cpp	2021-11-29 22:38:41 UTC (rev 286264)
@@ -145,7 +145,7 @@
 
 void multiplyByScalarThenAddToVector(const float* inputVector1, float scalar, const float* inputVector2, float* outputVector, size_t numberOfElementsToProcess)
 {
-multiplyByScalarThenAddToOutput(inputVector1, scalar, outputVector, numberOfElementsToProcess);
+multiplyByScalar(inputVector1, scalar, outputVector, numberOfElementsToProcess);
 add(outputVector, inputVector2, outputVector, numberOfElementsToProcess);
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286263] trunk/Tools

2021-11-29 Thread jbedard
Title: [286263] trunk/Tools








Revision 286263
Author jbed...@apple.com
Date 2021-11-29 14:29:50 -0800 (Mon, 29 Nov 2021)


Log Message
[webkitcorepy] Delete unused environment variables
https://bugs.webkit.org/show_bug.cgi?id=233565


Reviewed by Dewei Zhu.

* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/environment.py:
(Environment.__init__): Keep track of sure environment files.
(Environment.load): Ditto.
(Environment.secure): Delete all unused environment files, since they may contain credentials.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/environment_unittest.py:
(TestEnvironment.test_secure):

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

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/libraries/webkitcorepy/setup.py
trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py
trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/environment.py
trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/environment_unittest.py




Diff

Modified: trunk/Tools/ChangeLog (286262 => 286263)

--- trunk/Tools/ChangeLog	2021-11-29 22:04:59 UTC (rev 286262)
+++ trunk/Tools/ChangeLog	2021-11-29 22:29:50 UTC (rev 286263)
@@ -1,3 +1,20 @@
+2021-11-29  Jonathan Bedard  
+
+[webkitcorepy] Delete unused environment variables
+https://bugs.webkit.org/show_bug.cgi?id=233565
+
+
+Reviewed by Dewei Zhu.
+
+* Scripts/libraries/webkitcorepy/setup.py: Bump version.
+* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
+* Scripts/libraries/webkitcorepy/webkitcorepy/environment.py:
+(Environment.__init__): Keep track of sure environment files.
+(Environment.load): Ditto.
+(Environment.secure): Delete all unused environment files, since they may contain credentials.
+* Scripts/libraries/webkitcorepy/webkitcorepy/tests/environment_unittest.py:
+(TestEnvironment.test_secure):
+
 2021-11-29  Lauro Moura  
 
 [webkitcorepy] Environment: Sort values before comparing in unittest


Modified: trunk/Tools/Scripts/libraries/webkitcorepy/setup.py (286262 => 286263)

--- trunk/Tools/Scripts/libraries/webkitcorepy/setup.py	2021-11-29 22:04:59 UTC (rev 286262)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/setup.py	2021-11-29 22:29:50 UTC (rev 286263)
@@ -30,7 +30,7 @@
 
 setup(
 name='webkitcorepy',
-version='0.12.2',
+version='0.12.3',
 description='Library containing various Python support classes and functions.',
 long_description=readme(),
 classifiers=[


Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py (286262 => 286263)

--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py	2021-11-29 22:04:59 UTC (rev 286262)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py	2021-11-29 22:29:50 UTC (rev 286263)
@@ -44,7 +44,7 @@
 from webkitcorepy.editor import Editor
 from webkitcorepy.file_lock import FileLock
 
-version = Version(0, 12, 2)
+version = Version(0, 12, 3)
 
 from webkitcorepy.autoinstall import Package, AutoInstall
 if sys.version_info > (3, 0):


Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/environment.py (286262 => 286263)

--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/environment.py	2021-11-29 22:04:59 UTC (rev 286262)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/environment.py	2021-11-29 22:29:50 UTC (rev 286263)
@@ -38,6 +38,7 @@
 self._mapping = dict()
 self.path = path
 self._divider = divider
+self._paths = set()
 
 def load(self, *prefixes):
 if not self.path:
@@ -46,6 +47,7 @@
 prefix, key = file.split(self._divider, 1) if self._divider in file else (None, file)
 if prefix and prefix not in prefixes:
 continue
+self._paths.add(os.path.join(self.path, file))
 with open(os.path.join(self.path, file), 'r') as fl:
 self._mapping[key] = fl.read().rstrip('\n')
 return self
@@ -55,6 +57,19 @@
 return os.environ[key]
 return self._mapping.get(key)
 
+def secure(self, *extra_paths):
+'''Delete unused environment files in self.path along with the provided extra paths'''
+
+for file in os.listdir(self.path):
+path = os.path.join(self.path, file)
+if path not in self._paths:
+os.remove(path)
+for path in extra_paths:
+if os.path.isfile(path):
+os.remove(path)
+if os.path.exists(path):
+raise OSError("Failed to delete '{}' when securing credentials".format(path))
+
 def __getitem__(self, key):
 result = self.get(key)
 if not result:


Modified: 

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

2021-11-29 Thread Hironori . Fujii
Title: [286262] trunk/Source/WebCore








Revision 286262
Author hironori.fu...@sony.com
Date 2021-11-29 14:04:59 -0800 (Mon, 29 Nov 2021)


Log Message
REGRESSION(r286205) [WinCairo] WebGL tests are failing
https://bugs.webkit.org/show_bug.cgi?id=233589

Unreviewed crash fix.

EGL_BIND_TO_TEXTURE_TARGET_ANGLE isn't available for Windows.
Restored the previous code.

* platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLOpenGL::drawingBufferTextureTarget):
Set m_drawingBufferTextureTarget to EGL_TEXTURE_2D for
PLATFORM(WIN) instead of querying with EGL_BIND_TO_TEXTURE_TARGET_ANGLE.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (286261 => 286262)

--- trunk/Source/WebCore/ChangeLog	2021-11-29 21:34:35 UTC (rev 286261)
+++ trunk/Source/WebCore/ChangeLog	2021-11-29 22:04:59 UTC (rev 286262)
@@ -1,3 +1,18 @@
+2021-11-29  Fujii Hironori  
+
+REGRESSION(r286205) [WinCairo] WebGL tests are failing
+https://bugs.webkit.org/show_bug.cgi?id=233589
+
+Unreviewed crash fix.
+
+EGL_BIND_TO_TEXTURE_TARGET_ANGLE isn't available for Windows.
+Restored the previous code.
+
+* platform/graphics/angle/GraphicsContextGLANGLE.cpp:
+(WebCore::GraphicsContextGLOpenGL::drawingBufferTextureTarget):
+Set m_drawingBufferTextureTarget to EGL_TEXTURE_2D for
+PLATFORM(WIN) instead of querying with EGL_BIND_TO_TEXTURE_TARGET_ANGLE.
+
 2021-11-29  Chris Fleizach  
 
 AX: Unify speech synthesizer platform usage for Mac/iOS


Modified: trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp (286261 => 286262)

--- trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp	2021-11-29 21:34:35 UTC (rev 286261)
+++ trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp	2021-11-29 22:04:59 UTC (rev 286262)
@@ -79,8 +79,12 @@
 
 GCGLenum GraphicsContextGLOpenGL::drawingBufferTextureTarget()
 {
+#if PLATFORM(WIN)
+m_drawingBufferTextureTarget = EGL_TEXTURE_2D;
+#else
 if (m_drawingBufferTextureTarget == -1)
 EGL_GetConfigAttrib(platformDisplay(), platformConfig(), EGL_BIND_TO_TEXTURE_TARGET_ANGLE, _drawingBufferTextureTarget);
+#endif
 
 switch (m_drawingBufferTextureTarget) {
 case EGL_TEXTURE_2D:






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286261] trunk/Tools

2021-11-29 Thread lmoura
Title: [286261] trunk/Tools








Revision 286261
Author lmo...@igalia.com
Date 2021-11-29 13:34:35 -0800 (Mon, 29 Nov 2021)


Log Message
[webkitcorepy] Environment: Sort values before comparing in unittest
https://bugs.webkit.org/show_bug.cgi?id=233582

Reviewed by Jonathan Bedard.

While Python3.6+'s dicts happen to keep insertion order, `os.listdir`
does not guarantee the order of the listed items[1]. This may cause
the Environment unittest to fail when comparing to the fixed expected
data, as it has been happending in some GTK/WPE bots.

[1] https://docs.python.org/3/library/os.html#os.listdir

* Scripts/libraries/webkitcorepy/webkitcorepy/tests/environment_unittest.py:
(TestEnvironment.test_list):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/environment_unittest.py




Diff

Modified: trunk/Tools/ChangeLog (286260 => 286261)

--- trunk/Tools/ChangeLog	2021-11-29 21:24:56 UTC (rev 286260)
+++ trunk/Tools/ChangeLog	2021-11-29 21:34:35 UTC (rev 286261)
@@ -1,3 +1,20 @@
+2021-11-29  Lauro Moura  
+
+[webkitcorepy] Environment: Sort values before comparing in unittest
+https://bugs.webkit.org/show_bug.cgi?id=233582
+
+Reviewed by Jonathan Bedard.
+
+While Python3.6+'s dicts happen to keep insertion order, `os.listdir`
+does not guarantee the order of the listed items[1]. This may cause
+the Environment unittest to fail when comparing to the fixed expected
+data, as it has been happending in some GTK/WPE bots.
+
+[1] https://docs.python.org/3/library/os.html#os.listdir
+
+* Scripts/libraries/webkitcorepy/webkitcorepy/tests/environment_unittest.py:
+(TestEnvironment.test_list):
+
 2021-11-29  Wenson Hsieh  
 
 WKContentView should allow -captureTextFromCamera: with a caret selection unless the sender is the callout bar


Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/environment_unittest.py (286260 => 286261)

--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/environment_unittest.py	2021-11-29 21:24:56 UTC (rev 286260)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/environment_unittest.py	2021-11-29 21:34:35 UTC (rev 286261)
@@ -59,16 +59,16 @@
 
 Environment.instance(self.path).load()
 self.assertEqual(
-list(Environment.instance(self.path).keys()),
-['KEY_A', 'KEY_B'] + list(os.environ.keys()),
+sorted(list(Environment.instance(self.path).keys())),
+sorted(['KEY_A', 'KEY_B'] + list(os.environ.keys())),
 )
 self.assertEqual(
-list(Environment.instance(self.path).values()),
-['value_a', 'value_b'] + list(os.environ.values()),
+sorted(list(Environment.instance(self.path).values())),
+sorted(['value_a', 'value_b'] + list(os.environ.values())),
 )
 self.assertEqual(
-list(Environment.instance(self.path).items()),
-[('KEY_A', 'value_a'), ('KEY_B', 'value_b')] + list(os.environ.items()),
+sorted(list(Environment.instance(self.path).items())),
+sorted([('KEY_A', 'value_a'), ('KEY_B', 'value_b')] + list(os.environ.items())),
 )
 finally:
 Environment._instance = None






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286260] trunk

2021-11-29 Thread wenson_hsieh
Title: [286260] trunk








Revision 286260
Author wenson_hs...@apple.com
Date 2021-11-29 13:24:56 -0800 (Mon, 29 Nov 2021)


Log Message
WKContentView should allow -captureTextFromCamera: with a caret selection unless the sender is the callout bar
https://bugs.webkit.org/show_bug.cgi?id=233378
rdar://85478344

Reviewed by Tim Horton.

Source/WebKit:

Allow clients to query whether or not the "capture text from camera" action should be enabled on WKWebView in
contexts outside of the callout bar. Currently, WKContentView returns NO for this action when there is a non-
collapsed selection range, but this behavior is only intended for the callout bar; in the case where the action
is (for instance) triggered by a button in the web view chrome, it doesn't make sense to only enable it when the
selection is a caret.

Additionally, adjust the check to use focused element information instead of editor state, such that WebKit
clients can easily query this API (`-canPerformAction:withSender:`) inside of input delegate callbacks when
beginning an input session to know whether or not "capture text from camera" should be allowed.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView canPerformActionForWebView:withSender:]):

Tools:

Adjust an API test to exercise the changes. See WebKit/ChangeLog for more details.

* TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (286259 => 286260)

--- trunk/Source/WebKit/ChangeLog	2021-11-29 20:48:59 UTC (rev 286259)
+++ trunk/Source/WebKit/ChangeLog	2021-11-29 21:24:56 UTC (rev 286260)
@@ -1,3 +1,24 @@
+2021-11-29  Wenson Hsieh  
+
+WKContentView should allow -captureTextFromCamera: with a caret selection unless the sender is the callout bar
+https://bugs.webkit.org/show_bug.cgi?id=233378
+rdar://85478344
+
+Reviewed by Tim Horton.
+
+Allow clients to query whether or not the "capture text from camera" action should be enabled on WKWebView in
+contexts outside of the callout bar. Currently, WKContentView returns NO for this action when there is a non-
+collapsed selection range, but this behavior is only intended for the callout bar; in the case where the action
+is (for instance) triggered by a button in the web view chrome, it doesn't make sense to only enable it when the
+selection is a caret.
+
+Additionally, adjust the check to use focused element information instead of editor state, such that WebKit
+clients can easily query this API (`-canPerformAction:withSender:`) inside of input delegate callbacks when
+beginning an input session to know whether or not "capture text from camera" should be allowed.
+
+* UIProcess/ios/WKContentViewInteraction.mm:
+(-[WKContentView canPerformActionForWebView:withSender:]):
+
 2021-11-29  Chris Fleizach  
 
 AX: Unify speech synthesizer platform usage for Mac/iOS


Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (286259 => 286260)

--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2021-11-29 20:48:59 UTC (rev 286259)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2021-11-29 21:24:56 UTC (rev 286260)
@@ -3939,10 +3939,15 @@
 }
 
 #if ENABLE(IMAGE_ANALYSIS)
-if (action == @selector(captureTextFromCamera:) && (!editorState.isContentEditable || editorState.selectionIsRange))
-return NO;
-#endif
+if (action == @selector(captureTextFromCamera:)) {
+if (!mayContainSelectableText(_focusedElementInformation.elementType) || _focusedElementInformation.isReadOnly)
+return NO;
 
+if ([sender isKindOfClass:UIMenuController.class] && editorState.selectionIsRange)
+return NO;
+}
+#endif // ENABLE(IMAGE_ANALYSIS)
+
 return [super canPerformAction:action withSender:sender];
 }
 


Modified: trunk/Tools/ChangeLog (286259 => 286260)

--- trunk/Tools/ChangeLog	2021-11-29 20:48:59 UTC (rev 286259)
+++ trunk/Tools/ChangeLog	2021-11-29 21:24:56 UTC (rev 286260)
@@ -1,3 +1,15 @@
+2021-11-29  Wenson Hsieh  
+
+WKContentView should allow -captureTextFromCamera: with a caret selection unless the sender is the callout bar
+https://bugs.webkit.org/show_bug.cgi?id=233378
+rdar://85478344
+
+Reviewed by Tim Horton.
+
+Adjust an API test to exercise the changes. See WebKit/ChangeLog for more details.
+
+* TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:
+
 2021-11-29  Yusuke Suzuki  
 
 [JSC] Move m_incomingPolymorphicCalls out of CodeBlock::JITData


Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm (286259 => 286260)

--- 

[webkit-changes] [286259] trunk

2021-11-29 Thread cfleizach
Title: [286259] trunk








Revision 286259
Author cfleiz...@apple.com
Date 2021-11-29 12:48:59 -0800 (Mon, 29 Nov 2021)


Log Message
AX: Unify speech synthesizer platform usage for Mac/iOS
https://bugs.webkit.org/show_bug.cgi?id=231895


Reviewed by Andres Gonzalez.

LayoutTests/imported/w3c:

Update expectations now that the test passes.

* web-platform-tests/speech-api/SpeechSynthesis-speak-events-expected.txt:

Source/WebCore:

AVSpeechSynthesizer has been fully supported on macOS for a number of years. This allows us to unify platform usage.
Fix a number of tests that had been marked failing/flaky related to speech synthesis.

* Modules/speech/SpeechSynthesis.cpp:
(WebCore::SpeechSynthesis::SpeechSynthesis):
(WebCore::SpeechSynthesis::startSpeakingImmediately):
(WebCore::SpeechSynthesis::speak):
* SourcesCocoa.txt:
* WebCore.xcodeproj/project.pbxproj:
* page/SpeechSynthesisClient.h:
* platform/PlatformSpeechSynthesizer.h:
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::variationAxes):
* platform/ios/PlatformSpeechSynthesizerIOS.mm: Removed.
* platform/mac/PlatformSpeechSynthesizerMac.mm: Removed.
* Source/WebCore/platform/cocoa/PlatformSpeechSynthesizerCocoa.mm: Added.

Source/WebCore/PAL:

* PAL.xcodeproj/project.pbxproj:
* pal/cocoa/AVFoundationSoftLink.h:
* pal/cocoa/AVFoundationSoftLink.mm:
* pal/spi/cocoa/AXSpeechManagerSPI.h:
* pal/spi/mac/SpeechSynthesisSPI.h: Removed.

Source/WebKit:

Create a new message for resetting speech synthesis state when the DOMWindow changes
but the Page (and its referenced speech synthesis) stays the same.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::speechSynthesisResetState):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp:
(WebKit::WebSpeechSynthesisClient::resetState):
* WebProcess/WebCoreSupport/WebSpeechSynthesisClient.h:

Source/WTF:

* wtf/PlatformHave.h:

LayoutTests:

* fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt:
* platform/mac-catalina-wk1/TestExpectations: Added.
* platform/mac-wk1/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt
trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/speech-api/SpeechSynthesis-speak-events-expected.txt
trunk/LayoutTests/platform/mac/TestExpectations
trunk/LayoutTests/platform/mac-wk1/TestExpectations
trunk/LayoutTests/platform/mac-wk2/TestExpectations
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/PlatformHave.h
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/speech/SpeechSynthesis.cpp
trunk/Source/WebCore/PAL/ChangeLog
trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
trunk/Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h
trunk/Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm
trunk/Source/WebCore/PAL/pal/spi/cocoa/AXSpeechManagerSPI.h
trunk/Source/WebCore/SourcesCocoa.txt
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/page/SpeechSynthesisClient.h
trunk/Source/WebCore/platform/PlatformSpeechSynthesizer.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Source/WebKit/UIProcess/WebPageProxy.h
trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebSpeechSynthesisClient.h


Added Paths

trunk/LayoutTests/platform/mac-catalina-wk1/TestExpectations
trunk/Source/WebCore/platform/cocoa/PlatformSpeechSynthesizerCocoa.mm


Removed Paths

trunk/Source/WebCore/PAL/pal/spi/mac/SpeechSynthesisSPI.h
trunk/Source/WebCore/platform/ios/PlatformSpeechSynthesizerIOS.mm
trunk/Source/WebCore/platform/mac/PlatformSpeechSynthesizerMac.mm




Diff

Modified: trunk/LayoutTests/ChangeLog (286258 => 286259)

--- trunk/LayoutTests/ChangeLog	2021-11-29 20:37:40 UTC (rev 286258)
+++ trunk/LayoutTests/ChangeLog	2021-11-29 20:48:59 UTC (rev 286259)
@@ -1,3 +1,17 @@
+2021-11-29  Chris Fleizach  
+
+AX: Unify speech synthesizer platform usage for Mac/iOS
+https://bugs.webkit.org/show_bug.cgi?id=231895
+
+
+Reviewed by Andres Gonzalez.
+
+* fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt:
+* platform/mac-catalina-wk1/TestExpectations: Added.
+* platform/mac-wk1/TestExpectations:
+* platform/mac-wk2/TestExpectations:
+* platform/mac/TestExpectations:
+
 2021-11-29  Myles C. Maxfield  
 
 [Cocoa] REGRESSION(r281291): Text Style fonts don't have the correct weight set


Modified: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt (286258 => 286259)

--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt	2021-11-29 20:37:40 UTC (rev 286258)
+++ 

[webkit-changes] [286258] trunk/Source/WebKit

2021-11-29 Thread bfulgham
Title: [286258] trunk/Source/WebKit








Revision 286258
Author bfulg...@apple.com
Date 2021-11-29 12:37:40 -0800 (Mon, 29 Nov 2021)


Log Message
REGRESSION(286219): Build fix.
https://bugs.webkit.org/show_bug.cgi?id=233388


Unreviewed build fix after r286219.


* WebKit.xcodeproj/project.pbxproj: Don't make duplicate copies of WebContent resources when building
  the CaptivePortal version of the WCP.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj




Diff

Modified: trunk/Source/WebKit/ChangeLog (286257 => 286258)

--- trunk/Source/WebKit/ChangeLog	2021-11-29 20:36:37 UTC (rev 286257)
+++ trunk/Source/WebKit/ChangeLog	2021-11-29 20:37:40 UTC (rev 286258)
@@ -1,3 +1,14 @@
+2021-11-29  Brent Fulgham  
+
+REGRESSION(286219): Build fix.
+https://bugs.webkit.org/show_bug.cgi?id=233388
+
+
+Unreviewed build fix after r286219.
+
+* WebKit.xcodeproj/project.pbxproj: Don't make duplicate copies of WebContent resources when building
+  the CaptivePortal version of the WCP.
+
 2021-11-29  Myles C. Maxfield  
 
 [WebGPU] Delete ObjectRegistry in favor of ObjectHeap


Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (286257 => 286258)

--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2021-11-29 20:36:37 UTC (rev 286257)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2021-11-29 20:37:40 UTC (rev 286258)
@@ -2937,72 +2937,72 @@
 		1C20935E22318CB26A39 /* NSAttributedString.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NSAttributedString.h; sourceTree = ""; };
 		1C20935F22318CB26A39 /* NSAttributedString.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = NSAttributedString.mm; sourceTree = ""; };
 		1C2184012233872800BAC700 /* NSAttributedStringPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSAttributedStringPrivate.h; sourceTree = ""; };
-		1C55A572275457C300EB7E95 /* RemoteQuerySetMessagesReplies.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RemoteQuerySetMessagesReplies.h; path = RemoteQuerySetMessagesReplies.h; sourceTree = ""; };
-		1C55A573275457C400EB7E95 /* RemoteTextureMessages.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RemoteTextureMessages.h; path = RemoteTextureMessages.h; sourceTree = ""; };
-		1C55A574275457C400EB7E95 /* RemoteRenderPipelineMessageReceiver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RemoteRenderPipelineMessageReceiver.cpp; path = RemoteRenderPipelineMessageReceiver.cpp; sourceTree = ""; };
-		1C55A575275457C400EB7E95 /* RemotePipelineLayoutMessagesReplies.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RemotePipelineLayoutMessagesReplies.h; path = RemotePipelineLayoutMessagesReplies.h; sourceTree = ""; };
-		1C55A576275457C400EB7E95 /* RemoteRenderPipelineMessagesReplies.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RemoteRenderPipelineMessagesReplies.h; path = RemoteRenderPipelineMessagesReplies.h; sourceTree = ""; };
-		1C55A577275457C400EB7E95 /* RemoteComputePipelineMessageReceiver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RemoteComputePipelineMessageReceiver.cpp; path = RemoteComputePipelineMessageReceiver.cpp; sourceTree = ""; };
-		1C55A578275457C400EB7E95 /* RemoteRenderBundleMessagesReplies.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RemoteRenderBundleMessagesReplies.h; path = RemoteRenderBundleMessagesReplies.h; sourceTree = ""; };
-		1C55A579275457C400EB7E95 /* RemoteRenderBundleEncoderMessagesReplies.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RemoteRenderBundleEncoderMessagesReplies.h; path = RemoteRenderBundleEncoderMessagesReplies.h; sourceTree = ""; };
-		1C55A57A275457C500EB7E95 /* RemoteExternalTextureMessages.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RemoteExternalTextureMessages.h; path = RemoteExternalTextureMessages.h; sourceTree = ""; };
-		1C55A57B275457C500EB7E95 /* RemoteComputePassEncoderMessages.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RemoteComputePassEncoderMessages.h; path = RemoteComputePassEncoderMessages.h; sourceTree = ""; };
-		1C55A57C275457C500EB7E95 /* RemoteDeviceMessages.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RemoteDeviceMessages.h; path = RemoteDeviceMessages.h; sourceTree = ""; };
-		1C55A57D275457C500EB7E95 /* RemoteRenderBundleEncoderMessageReceiver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RemoteRenderBundleEncoderMessageReceiver.cpp; path = RemoteRenderBundleEncoderMessageReceiver.cpp; sourceTree = ""; };
-		1C55A57E275457C500EB7E95 /* RemoteExternalTextureMessageReceiver.cpp */ = {isa = 

[webkit-changes] [286257] trunk

2021-11-29 Thread tyler_w
Title: [286257] trunk








Revision 286257
Author tyle...@apple.com
Date 2021-11-29 12:36:37 -0800 (Mon, 29 Nov 2021)


Log Message
Mark myself (Tyler Wilcock) as committer

Unreviewed.

* metadata/contributors.json:

Modified Paths

trunk/ChangeLog
trunk/metadata/contributors.json




Diff

Modified: trunk/ChangeLog (286256 => 286257)

--- trunk/ChangeLog	2021-11-29 20:33:49 UTC (rev 286256)
+++ trunk/ChangeLog	2021-11-29 20:36:37 UTC (rev 286257)
@@ -1,3 +1,11 @@
+2021-11-29  Tyler Wilcock  
+
+Mark myself (Tyler Wilcock) as committer
+
+Unreviewed.
+
+* metadata/contributors.json:
+
 2021-11-29  Angelos Oikonomopoulos  
 
 Fix ATOMICS_REQUIRE_LIBATOMIC testcase on 32-bits


Modified: trunk/metadata/contributors.json (286256 => 286257)

--- trunk/metadata/contributors.json	2021-11-29 20:33:49 UTC (rev 286256)
+++ trunk/metadata/contributors.json	2021-11-29 20:36:37 UTC (rev 286257)
@@ -6514,7 +6514,8 @@
   "name" : "Tyler Wilcock",
   "nicks" : [
  "twilco"
-  ]
+  ],
+  "status" : "committer"
},
{
   "emails" : [






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286255] trunk

2021-11-29 Thread ysuzuki
Title: [286255] trunk








Revision 286255
Author ysuz...@apple.com
Date 2021-11-29 12:29:00 -0800 (Mon, 29 Nov 2021)


Log Message
[JSC] Add Intl.NumberFormat.formatRangeToParts
JSTests:

https://bugs.webkit.org/show_bug.cgi?id=233539

Reviewed by Ross Kirsling.

* stress/intl-numberformat-format-large.js:
(nf.formatRangeToParts.shouldBe.JSON.stringify.nf.formatRangeToParts):
(nf.formatRangeToParts.shouldBe.JSON.stringify.nf2.formatRangeToParts):
* stress/intl-numberformat-format-range-v3.js:
(nf.formatRange.nf.formatRangeToParts.methods.forEach):
(nf.formatRange.string_appeared_here.forEach): Deleted.
* stress/intl-numberformat-format-string-v3.js:
(nf.formatRangeToParts.shouldBe.JSON.stringify.nf.formatRangeToParts):
(nf.formatRangeToParts.shouldBe.JSON.stringify.nf2.formatRangeToParts):
* stress/intl-numberformat-format-string.js:
(nf.formatRangeToParts.shouldBe.JSON.stringify.nf.formatRangeToParts):
(nf.formatRangeToParts.shouldBe.JSON.stringify.nf2.formatRangeToParts):

Source/_javascript_Core:

https://bugs.webkit.org/show_bug.cgi?id=233540

Reviewed by Ross Kirsling.

This patch implements Intl.NumberFormat#formatRangeToParts if ICU is 69 or greater.
It also cleans up / optimizes existing Intl.NumberFormat#formatToParts implementation.

We first collect all fields generated by ICU. And then, flattening nested fields into
non-overlapping sequence of parts via flattenFields.

* runtime/IntlNumberFormat.cpp:
(JSC::flattenFields):
(JSC::numberFieldsPracticallyEqual):
(JSC::IntlNumberFormat::formatRangeToPartsInternal):
(JSC::IntlNumberFormat::formatRangeToParts const):
(JSC::IntlNumberFormat::formatToPartsInternal):
(JSC::IntlNumberFormat::formatToParts const):
* runtime/IntlNumberFormat.h:
* runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatPrototype::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):
* runtime/IntlRelativeTimeFormat.cpp:
(JSC::IntlRelativeTimeFormat::formatToParts const):

Modified Paths

trunk/JSTests/ChangeLog
trunk/JSTests/stress/intl-numberformat-format-large.js
trunk/JSTests/stress/intl-numberformat-format-range-v3.js
trunk/JSTests/stress/intl-numberformat-format-string-v3.js
trunk/JSTests/stress/intl-numberformat-format-string.js
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/IntlNumberFormat.cpp
trunk/Source/_javascript_Core/runtime/IntlNumberFormat.h
trunk/Source/_javascript_Core/runtime/IntlNumberFormatPrototype.cpp
trunk/Source/_javascript_Core/runtime/IntlRelativeTimeFormat.cpp
trunk/Source/WTF/wtf/Range.h




Diff

Modified: trunk/JSTests/ChangeLog (286254 => 286255)

--- trunk/JSTests/ChangeLog	2021-11-29 20:24:55 UTC (rev 286254)
+++ trunk/JSTests/ChangeLog	2021-11-29 20:29:00 UTC (rev 286255)
@@ -1,5 +1,25 @@
 2021-11-29  Yusuke Suzuki  
 
+[JSC] Add Intl.NumberFormat.formatRangeToParts
+https://bugs.webkit.org/show_bug.cgi?id=233539
+
+Reviewed by Ross Kirsling.
+
+* stress/intl-numberformat-format-large.js:
+(nf.formatRangeToParts.shouldBe.JSON.stringify.nf.formatRangeToParts):
+(nf.formatRangeToParts.shouldBe.JSON.stringify.nf2.formatRangeToParts):
+* stress/intl-numberformat-format-range-v3.js:
+(nf.formatRange.nf.formatRangeToParts.methods.forEach):
+(nf.formatRange.string_appeared_here.forEach): Deleted.
+* stress/intl-numberformat-format-string-v3.js:
+(nf.formatRangeToParts.shouldBe.JSON.stringify.nf.formatRangeToParts):
+(nf.formatRangeToParts.shouldBe.JSON.stringify.nf2.formatRangeToParts):
+* stress/intl-numberformat-format-string.js:
+(nf.formatRangeToParts.shouldBe.JSON.stringify.nf.formatRangeToParts):
+(nf.formatRangeToParts.shouldBe.JSON.stringify.nf2.formatRangeToParts):
+
+2021-11-29  Yusuke Suzuki  
+
 [JSC] Public Class Field initialization is slow
 https://bugs.webkit.org/show_bug.cgi?id=232479
 


Modified: trunk/JSTests/stress/intl-numberformat-format-large.js (286254 => 286255)

--- trunk/JSTests/stress/intl-numberformat-format-large.js	2021-11-29 20:24:55 UTC (rev 286254)
+++ trunk/JSTests/stress/intl-numberformat-format-large.js	2021-11-29 20:29:00 UTC (rev 286255)
@@ -13,3 +13,8 @@
 shouldBe(nf.formatRange(start, end), `987,654,321,987,654,321–987,654,321,987,654,322`);
 shouldBe(nf2.formatRange(start, end), `987,654,321,987,654,321~987,654,321,987,654,322`);
 }
+if (nf.formatRangeToParts) {
+shouldBe(JSON.stringify(nf.formatRangeToParts(0, 3)), `[{"type":"integer","value":"0","source":"startRange"},{"type":"literal","value":"–","source":"shared"},{"type":"integer","value":"30","source":"endRange"},{"type":"group","value":",","source":"endRange"},{"type":"integer","value":"000","source":"endRange"}]`);
+shouldBe(JSON.stringify(nf.formatRangeToParts(start, end)), 

[webkit-changes] [286254] trunk

2021-11-29 Thread mmaxfield
Title: [286254] trunk








Revision 286254
Author mmaxfi...@apple.com
Date 2021-11-29 12:24:55 -0800 (Mon, 29 Nov 2021)


Log Message
[Cocoa] REGRESSION(r281291): Text Style fonts don't have the correct weight set
https://bugs.webkit.org/show_bug.cgi?id=233070

Reviewed by Cameron McCormack.

Source/WebCore:

Text style fonts (like font: -apple-system-body) weren't having their weights detected correctly. When the
bold-fonts accessibility setting is enabled, our detection logic was indicating that the fonts weren't
bold when they actually were. This patch fixes the detection logic to use kCTFontCSSWeightAttribute
instead.

Test: platform/ios/ios/fast/text/opticalFontWithWeight.html

* rendering/RenderThemeCocoa.mm:
(WebCore::cssWeightOfSystemFont):

LayoutTests:

* platform/ios-14/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt:
* platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt:
* platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt
trunk/LayoutTests/platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt
trunk/LayoutTests/platform/ios-14/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderThemeCocoa.mm




Diff

Modified: trunk/LayoutTests/ChangeLog (286253 => 286254)

--- trunk/LayoutTests/ChangeLog	2021-11-29 20:18:44 UTC (rev 286253)
+++ trunk/LayoutTests/ChangeLog	2021-11-29 20:24:55 UTC (rev 286254)
@@ -1,3 +1,14 @@
+2021-11-29  Myles C. Maxfield  
+
+[Cocoa] REGRESSION(r281291): Text Style fonts don't have the correct weight set
+https://bugs.webkit.org/show_bug.cgi?id=233070
+
+Reviewed by Cameron McCormack.
+
+* platform/ios-14/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt:
+* platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt:
+* platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt:
+
 2021-11-29  Arcady Goldmints-Orlov  
 
 [GLIB] Update test expectations and baselines. Unreviewed test gardening.


Modified: trunk/LayoutTests/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt (286253 => 286254)

--- trunk/LayoutTests/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt	2021-11-29 20:18:44 UTC (rev 286253)
+++ trunk/LayoutTests/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt	2021-11-29 20:24:55 UTC (rev 286254)
@@ -4,8 +4,8 @@
   RenderBlock {HTML} at (0,0) size 800x844
 RenderBody {BODY} at (8,8) size 784x820
   RenderBlock {H2} at (0,0) size 784x24
-RenderText {#text} at (0,1) size 119x22
-  text run at (0,1) width 119: "Normal Weight"
+RenderText {#text} at (0,1) size 118x22
+  text run at (0,1) width 118: "Normal Weight"
   RenderBlock {P} at (0,40) size 784x20
 RenderText {#text} at (0,0) size 670x20
   text run at (0,0) width 670: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
@@ -40,8 +40,8 @@
 RenderText {#text} at (0,0) size 685x20
   text run at (0,0) width 685: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
   RenderBlock {H2} at (0,456) size 784x24
-RenderText {#text} at (0,1) size 97x22
-  text run at (0,1) width 97: "Bold Weight"
+RenderText {#text} at (0,1) size 96x22
+  text run at (0,1) width 96: "Bold Weight"
   RenderBlock {P} at (0,496) size 784x20
 RenderText {#text} at (0,0) size 716x20
   text run at (0,0) width 716: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"


Modified: trunk/LayoutTests/platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt (286253 => 286254)

--- trunk/LayoutTests/platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt	2021-11-29 20:18:44 UTC (rev 286253)
+++ trunk/LayoutTests/platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt	2021-11-29 20:24:55 UTC (rev 286254)
@@ -4,8 +4,8 @@
   RenderBlock {HTML} at (0,0) size 800x844
 RenderBody {BODY} at (8,8) size 784x820
   RenderBlock {H2} at (0,0) size 784x24
-RenderText {#text} at (0,1) size 119x22
-  text run at (0,1) width 119: "Normal Weight"
+RenderText {#text} at (0,1) size 118x22
+  text run at (0,1) width 118: "Normal Weight"
   RenderBlock {P} at (0,40) size 784x20
 RenderText {#text} at (0,0) size 670x20
   text run at (0,0) width 670: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
@@ -40,8 +40,8 @@
 RenderText {#text} at (0,0) size 685x20
   text run at (0,0) width 685: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing 

[webkit-changes] [286253] trunk/Source/JavaScriptCore

2021-11-29 Thread commit-queue
Title: [286253] trunk/Source/_javascript_Core








Revision 286253
Author commit-qu...@webkit.org
Date 2021-11-29 12:18:44 -0800 (Mon, 29 Nov 2021)


Log Message
[GTK] 2.35.1 fails to build for Fedora: undefined reference to 'llint_link_call'
https://bugs.webkit.org/show_bug.cgi?id=233574

Unreviewed, add missing attributes.

Patch by Michael Catanzaro  on 2021-11-29

* llint/LLIntSlowPaths.h:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/llint/LLIntSlowPaths.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (286252 => 286253)

--- trunk/Source/_javascript_Core/ChangeLog	2021-11-29 20:11:24 UTC (rev 286252)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-11-29 20:18:44 UTC (rev 286253)
@@ -1,3 +1,12 @@
+2021-11-29  Michael Catanzaro  
+
+[GTK] 2.35.1 fails to build for Fedora: undefined reference to 'llint_link_call'
+https://bugs.webkit.org/show_bug.cgi?id=233574
+
+Unreviewed, add missing attributes.
+
+* llint/LLIntSlowPaths.h:
+
 2021-11-29  Yusuke Suzuki  
 
 [JSC] Public Class Field initialization is slow


Modified: trunk/Source/_javascript_Core/llint/LLIntSlowPaths.h (286252 => 286253)

--- trunk/Source/_javascript_Core/llint/LLIntSlowPaths.h	2021-11-29 20:11:24 UTC (rev 286252)
+++ trunk/Source/_javascript_Core/llint/LLIntSlowPaths.h	2021-11-29 20:18:44 UTC (rev 286253)
@@ -38,8 +38,8 @@
 
 extern "C" SlowPathReturnType llint_trace_operand(CallFrame*, const Instruction*, int fromWhere, int operand) REFERENCED_FROM_ASM;
 extern "C" SlowPathReturnType llint_trace_value(CallFrame*, const Instruction*, int fromWhere, VirtualRegister operand) REFERENCED_FROM_ASM;
-extern "C" SlowPathReturnType llint_link_call(CallFrame*, JSCell*, CallLinkInfo*, JSCell*);
-extern "C" SlowPathReturnType llint_virtual_call(CallFrame*, JSCell*, CallLinkInfo*, JSCell*);
+extern "C" SlowPathReturnType llint_link_call(CallFrame*, JSCell*, CallLinkInfo*, JSCell*) REFERENCED_FROM_ASM;
+extern "C" SlowPathReturnType llint_virtual_call(CallFrame*, JSCell*, CallLinkInfo*, JSCell*) REFERENCED_FROM_ASM;
 extern "C" void llint_write_barrier_slow(CallFrame*, JSCell*) REFERENCED_FROM_ASM WTF_INTERNAL;
 
 #define LLINT_SLOW_PATH_DECL(name) \






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286252] trunk/Source

2021-11-29 Thread mmaxfield
Title: [286252] trunk/Source








Revision 286252
Author mmaxfi...@apple.com
Date 2021-11-29 12:11:24 -0800 (Mon, 29 Nov 2021)


Log Message
[WebGPU] Provide default values for descriptor struct members
https://bugs.webkit.org/show_bug.cgi?id=233431

Reviewed by Alex Christensen.

Source/WebCore/PAL:

The purpose of this is to be defensive. Ideally these wouldn't actually be used, but it's
a good idea to be safe and have them specified anyway.

I didn't provide default values for members whose types already have something well-defined,
like variants or optionals. But I did for ints and enums.

Where possible, I've matched the default values listed in the spec.

* pal/graphics/WebGPU/WebGPUBindGroupEntry.h:
* pal/graphics/WebGPU/WebGPUBindGroupLayoutEntry.h:
* pal/graphics/WebGPU/WebGPUBlendComponent.h:
* pal/graphics/WebGPU/WebGPUBufferBinding.h:
* pal/graphics/WebGPU/WebGPUBufferBindingLayout.h:
* pal/graphics/WebGPU/WebGPUBufferDescriptor.h:
* pal/graphics/WebGPU/WebGPUCanvasConfiguration.h:
* pal/graphics/WebGPU/WebGPUColor.h:
* pal/graphics/WebGPU/WebGPUColorTargetState.h:
* pal/graphics/WebGPU/WebGPUCompilationMessage.h:
* pal/graphics/WebGPU/WebGPUComputePassTimestampWrites.h:
* pal/graphics/WebGPU/WebGPUDepthStencilState.h:
* pal/graphics/WebGPU/WebGPUExtent3D.h:
* pal/graphics/WebGPU/WebGPUExternalTextureDescriptor.h:
* pal/graphics/WebGPU/WebGPUImageCopyTexture.h:
* pal/graphics/WebGPU/WebGPUImageCopyTextureTagged.h:
* pal/graphics/WebGPU/WebGPUImageDataLayout.h:
* pal/graphics/WebGPU/WebGPUMultisampleState.h:
* pal/graphics/WebGPU/WebGPUOrigin2D.h:
* pal/graphics/WebGPU/WebGPUOrigin3D.h:
* pal/graphics/WebGPU/WebGPUPipelineDescriptorBase.h:
* pal/graphics/WebGPU/WebGPUPrimitiveState.h:
* pal/graphics/WebGPU/WebGPUQuerySetDescriptor.h:
* pal/graphics/WebGPU/WebGPURenderBundleEncoderDescriptor.h:
* pal/graphics/WebGPU/WebGPURenderPassColorAttachment.h:
* pal/graphics/WebGPU/WebGPURenderPassDepthStencilAttachment.h:
* pal/graphics/WebGPU/WebGPURenderPassDescriptor.h:
* pal/graphics/WebGPU/WebGPURenderPassLayout.h:
* pal/graphics/WebGPU/WebGPURenderPassTimestampWrites.h:
* pal/graphics/WebGPU/WebGPURequestAdapterOptions.h:
* pal/graphics/WebGPU/WebGPUSamplerBindingLayout.h:
* pal/graphics/WebGPU/WebGPUSamplerDescriptor.h:
* pal/graphics/WebGPU/WebGPUStencilFaceState.h:
* pal/graphics/WebGPU/WebGPUStorageTextureBindingLayout.h:
* pal/graphics/WebGPU/WebGPUTextureBindingLayout.h:
* pal/graphics/WebGPU/WebGPUTextureDescriptor.h:
* pal/graphics/WebGPU/WebGPUTextureViewDescriptor.h:
* pal/graphics/WebGPU/WebGPUVertexAttribute.h:
* pal/graphics/WebGPU/WebGPUVertexBufferLayout.h:

Source/WebKit:

No new tests because there is no behavior change.

* Shared/WebGPU/WebGPUBindGroupEntry.h:
* Shared/WebGPU/WebGPUBindGroupLayoutEntry.h:
* Shared/WebGPU/WebGPUBlendComponent.h:
* Shared/WebGPU/WebGPUBufferBinding.h:
* Shared/WebGPU/WebGPUBufferBindingLayout.h:
* Shared/WebGPU/WebGPUBufferDescriptor.h:
* Shared/WebGPU/WebGPUCanvasConfiguration.h:
* Shared/WebGPU/WebGPUColor.h:
* Shared/WebGPU/WebGPUColorTargetState.h:
* Shared/WebGPU/WebGPUCompilationMessage.h:
* Shared/WebGPU/WebGPUComputePassTimestampWrites.h:
* Shared/WebGPU/WebGPUDepthStencilState.h:
* Shared/WebGPU/WebGPUExtent3D.h:
* Shared/WebGPU/WebGPUExternalTextureDescriptor.h:
* Shared/WebGPU/WebGPUImageCopyTexture.h:
* Shared/WebGPU/WebGPUImageCopyTextureTagged.h:
* Shared/WebGPU/WebGPUImageDataLayout.h:
* Shared/WebGPU/WebGPUMultisampleState.h:
* Shared/WebGPU/WebGPUOrigin2D.h:
* Shared/WebGPU/WebGPUOrigin3D.h:
* Shared/WebGPU/WebGPUPrimitiveState.h:
* Shared/WebGPU/WebGPUQuerySetDescriptor.h:
* Shared/WebGPU/WebGPURenderBundleEncoderDescriptor.h:
* Shared/WebGPU/WebGPURenderPassColorAttachment.h:
* Shared/WebGPU/WebGPURenderPassDepthStencilAttachment.h:
* Shared/WebGPU/WebGPURenderPassLayout.h:
* Shared/WebGPU/WebGPURenderPassTimestampWrites.h:
* Shared/WebGPU/WebGPURequestAdapterOptions.h:
* Shared/WebGPU/WebGPUSamplerBindingLayout.h:
* Shared/WebGPU/WebGPUSamplerDescriptor.h:
* Shared/WebGPU/WebGPUStencilFaceState.h:
* Shared/WebGPU/WebGPUStorageTextureBindingLayout.h:
* Shared/WebGPU/WebGPUTextureBindingLayout.h:
* Shared/WebGPU/WebGPUTextureDescriptor.h:
* Shared/WebGPU/WebGPUTextureViewDescriptor.h:
* Shared/WebGPU/WebGPUVertexAttribute.h:
* Shared/WebGPU/WebGPUVertexBufferLayout.h:

Modified Paths

trunk/Source/WebCore/PAL/ChangeLog
trunk/Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUBindGroupEntry.h
trunk/Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUBindGroupLayoutEntry.h
trunk/Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUBlendComponent.h
trunk/Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUBufferBinding.h
trunk/Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUBufferBindingLayout.h
trunk/Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUBufferDescriptor.h
trunk/Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUCanvasConfiguration.h
trunk/Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUColor.h
trunk/Source/WebCore/PAL/pal/graphics/WebGPU/WebGPUColorTargetState.h

[webkit-changes] [286251] trunk

2021-11-29 Thread ysuzuki
Title: [286251] trunk








Revision 286251
Author ysuz...@apple.com
Date 2021-11-29 12:04:08 -0800 (Mon, 29 Nov 2021)


Log Message
[JSC] Public Class Field initialization is slow
https://bugs.webkit.org/show_bug.cgi?id=232479

Reviewed by Alexey Shvayka.

JSTests:

* microbenchmarks/class-fields-classic-constructor-assignments.js: Added.
(Classic_Constructor_Assignments):
(bench):
* microbenchmarks/class-fields-private-fields.js: Added.
(ES2022_Private_Fields):
(bench):
* microbenchmarks/class-fields-public-fields.js: Added.
(ES2022_Public_Fields):
(bench):
* stress/class-fields-getter-override.js: Added.
(shouldThrow):
(defineCGetter.):
(B):
(define0Getter.):
(define0Getter):
(D):
* stress/custom-get-set-proto-chain-put.js:
(let.object.of.getObjects):
* stress/freeze-and-seal-should-prevent-extensions.js:
* stress/object-assign-fast-path.js:
* stress/ordinary-set-exceptions.js:
(shouldThrow):
* stress/put-non-reified-static-function-or-custom.js:
* wasm/js-api/test_basic_api.js:
(const.c.in.constructorProperties.switch):

Source/_javascript_Core:

Class public field implementation did not have optimization for initializing class fields: using
runtime call to initialize fields instead of IC. This patch leverages put_by_id / put_by_val with
direct flag so that we can enable IC.

Currently, we are not changing original putDirect semantics since it is out of this patch's scope.
We will look into it and probably changing it in a separate patch, but not in this patch.

 ToT Patched

class-fields-classic-constructor-assignments
   17.1491+-2.6327   15.0906+-0.6795  might be 1.1364x faster
class-fields-public-fields409.4328+-8.3140 ^ 20.2752+-2.0835^ definitely 20.1938x faster
class-fields-private-fields27.2621+-1.3858   25.1810+-3.9873  might be 1.0826x faster

* bytecompiler/NodesCodegen.cpp:
(JSC::DefineFieldNode::emitBytecode):
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::putDirectWithReify):
* runtime/JSObject.cpp:
(JSC::JSObject::putDirectCustomAccessor):
(JSC::JSObject::putDirectNonIndexAccessor):
* runtime/JSObject.h:
(JSC::JSObject::putDirect):
(JSC::JSObject::putDirectRespectingExtensibility):
* runtime/JSObjectInlines.h:
(JSC::JSObject::putInlineFast):
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::putOwnDataProperty):
(JSC::JSObject::putOwnDataPropertyMayBeIndex):

Source/WTF:

* wtf/text/ASCIILiteral.h:

Modified Paths

trunk/JSTests/ChangeLog
trunk/JSTests/stress/custom-get-set-proto-chain-put.js
trunk/JSTests/stress/freeze-and-seal-should-prevent-extensions.js
trunk/JSTests/stress/object-assign-fast-path.js
trunk/JSTests/stress/ordinary-set-exceptions.js
trunk/JSTests/stress/put-non-reified-static-function-or-custom.js
trunk/JSTests/wasm/js-api/test_basic_api.js
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/bytecompiler/NodesCodegen.cpp
trunk/Source/_javascript_Core/runtime/CommonSlowPaths.h
trunk/Source/_javascript_Core/runtime/JSObject.cpp
trunk/Source/_javascript_Core/runtime/JSObject.h
trunk/Source/_javascript_Core/runtime/JSObjectInlines.h
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/text/ASCIILiteral.h


Added Paths

trunk/JSTests/microbenchmarks/class-fields-classic-constructor-assignments.js
trunk/JSTests/microbenchmarks/class-fields-private-fields.js
trunk/JSTests/microbenchmarks/class-fields-public-fields.js
trunk/JSTests/stress/class-fields-getter-override.js




Diff

Modified: trunk/JSTests/ChangeLog (286250 => 286251)

--- trunk/JSTests/ChangeLog	2021-11-29 19:57:11 UTC (rev 286250)
+++ trunk/JSTests/ChangeLog	2021-11-29 20:04:08 UTC (rev 286251)
@@ -1,5 +1,38 @@
 2021-11-29  Yusuke Suzuki  
 
+[JSC] Public Class Field initialization is slow
+https://bugs.webkit.org/show_bug.cgi?id=232479
+
+Reviewed by Alexey Shvayka.
+
+* microbenchmarks/class-fields-classic-constructor-assignments.js: Added.
+(Classic_Constructor_Assignments):
+(bench):
+* microbenchmarks/class-fields-private-fields.js: Added.
+(ES2022_Private_Fields):
+(bench):
+* microbenchmarks/class-fields-public-fields.js: Added.
+(ES2022_Public_Fields):
+(bench):
+* stress/class-fields-getter-override.js: Added.
+(shouldThrow):
+(defineCGetter.):
+(B):
+(define0Getter.):
+(define0Getter):
+(D):
+* stress/custom-get-set-proto-chain-put.js:
+(let.object.of.getObjects):
+* stress/freeze-and-seal-should-prevent-extensions.js:
+* stress/object-assign-fast-path.js:
+* stress/ordinary-set-exceptions.js:
+(shouldThrow):
+* stress/put-non-reified-static-function-or-custom.js:
+* wasm/js-api/test_basic_api.js:
+(const.c.in.constructorProperties.switch):
+
+2021-11-29  

[webkit-changes] [286250] trunk/Source/WebKit

2021-11-29 Thread cdumez
Title: [286250] trunk/Source/WebKit








Revision 286250
Author cdu...@apple.com
Date 2021-11-29 11:57:11 -0800 (Mon, 29 Nov 2021)


Log Message
Make support for WebKitAdditions in Framework headers conditional based on deployment target
https://bugs.webkit.org/show_bug.cgi?id=233566

Reviewed by Wenson Hsieh.

Only support using WebKitAdditions in framework headers on macOS 12+, iOS 16+, tvOS 16+ and
watchOS 9+.

* mac/replace-webkit-additions-includes.py:
(is_supported_os):
(main):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/mac/replace-webkit-additions-includes.py




Diff

Modified: trunk/Source/WebKit/ChangeLog (286249 => 286250)

--- trunk/Source/WebKit/ChangeLog	2021-11-29 19:55:59 UTC (rev 286249)
+++ trunk/Source/WebKit/ChangeLog	2021-11-29 19:57:11 UTC (rev 286250)
@@ -1,3 +1,17 @@
+2021-11-29  Chris Dumez  
+
+Make support for WebKitAdditions in Framework headers conditional based on deployment target
+https://bugs.webkit.org/show_bug.cgi?id=233566
+
+Reviewed by Wenson Hsieh.
+
+Only support using WebKitAdditions in framework headers on macOS 12+, iOS 16+, tvOS 16+ and
+watchOS 9+.
+
+* mac/replace-webkit-additions-includes.py:
+(is_supported_os):
+(main):
+
 2021-11-24  Antoine Quint  
 
 [Model] clean up compile-time flags and condition IDL methods behind them


Modified: trunk/Source/WebKit/mac/replace-webkit-additions-includes.py (286249 => 286250)

--- trunk/Source/WebKit/mac/replace-webkit-additions-includes.py	2021-11-29 19:55:59 UTC (rev 286249)
+++ trunk/Source/WebKit/mac/replace-webkit-additions-includes.py	2021-11-29 19:57:11 UTC (rev 286250)
@@ -42,6 +42,26 @@
 return ""
 
 
+def is_supported_os():
+os_version_string = os.environ.get("MACOSX_DEPLOYMENT_TARGET")
+if os_version_string is not None:
+os_version = float('.'.join(os_version_string.split('.')[:2]))
+return os_version >= 13.0
+os_version_string = os.environ.get("IPHONEOS_DEPLOYMENT_TARGET")
+if os_version_string is not None:
+os_version = float('.'.join(os_version_string.split('.')[:2]))
+return os_version >= 16.0
+os_version_string = os.environ.get("WATCHOS_DEPLOYMENT_TARGET")
+if os_version_string is not None:
+os_version = float('.'.join(os_version_string.split('.')[:2]))
+return os_version >= 9.0
+os_version_string = os.environ.get("TVOS_DEPLOYMENT_TARGET")
+if os_version_string is not None:
+os_version = float('.'.join(os_version_string.split('.')[:2]))
+return os_version >= 16.0
+raise RuntimeError('Unrecognized deployment target')
+
+
 def main(argv=None):
 if not argv:
 argv = sys.argv
@@ -65,6 +85,10 @@
 print("(%s): SDK root directory unspecified" % argv[0])
 return 1
 
+# We currently only support WebKitAdditions in Framework headers on macOS 13+ and iOS 16+.
+if not is_supported_os():
+return 0
+
 additions_import_pattern = re.compile(r"\#if USE\(APPLE_INTERNAL_SDK\)\n#import \n#endif")
 try:
 with open(header_path, "r") as header:






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286249] trunk

2021-11-29 Thread ysuzuki
Title: [286249] trunk








Revision 286249
Author ysuz...@apple.com
Date 2021-11-29 11:55:59 -0800 (Mon, 29 Nov 2021)


Log Message
[JSC] private name operation should use RETURN_IF_EXCEPTION
https://bugs.webkit.org/show_bug.cgi?id=233577
rdar://85813869

Reviewed by Mark Lam.

JSTests:

* stress/termination-error-in-private-name.js: Added.
(C):

Source/_javascript_Core:

Because of TerminatedExecutionError, error can be thrown at any time.

* jit/JITOperations.cpp:
(JSC::JSC_DEFINE_JIT_OPERATION):
(JSC::putPrivateNameOptimize):
(JSC::putPrivateName):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/jit/JITOperations.cpp
trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp


Added Paths

trunk/JSTests/stress/termination-error-in-private-name.js




Diff

Modified: trunk/JSTests/ChangeLog (286248 => 286249)

--- trunk/JSTests/ChangeLog	2021-11-29 19:51:39 UTC (rev 286248)
+++ trunk/JSTests/ChangeLog	2021-11-29 19:55:59 UTC (rev 286249)
@@ -1,5 +1,16 @@
 2021-11-29  Yusuke Suzuki  
 
+[JSC] private name operation should use RETURN_IF_EXCEPTION
+https://bugs.webkit.org/show_bug.cgi?id=233577
+rdar://85813869
+
+Reviewed by Mark Lam.
+
+* stress/termination-error-in-private-name.js: Added.
+(C):
+
+2021-11-29  Yusuke Suzuki  
+
 [JSC] GetTypedArrayLengthAsInt52 can get Array::Generic ArrayMode
 https://bugs.webkit.org/show_bug.cgi?id=233571
 rdar://85812164


Added: trunk/JSTests/stress/termination-error-in-private-name.js (0 => 286249)

--- trunk/JSTests/stress/termination-error-in-private-name.js	(rev 0)
+++ trunk/JSTests/stress/termination-error-in-private-name.js	2021-11-29 19:55:59 UTC (rev 286249)
@@ -0,0 +1,14 @@
+//@ runDefault("--watchdog=2", "--watchdog-exception-ok")
+
+class C {
+  #field;
+
+  constructor() {
+gc();
+#field in this;
+  }
+}
+
+for (let i = 0; i < 1000; i++) {
+  new C();
+}


Modified: trunk/Source/_javascript_Core/ChangeLog (286248 => 286249)

--- trunk/Source/_javascript_Core/ChangeLog	2021-11-29 19:51:39 UTC (rev 286248)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-11-29 19:55:59 UTC (rev 286249)
@@ -1,5 +1,22 @@
 2021-11-29  Yusuke Suzuki  
 
+[JSC] private name operation should use RETURN_IF_EXCEPTION
+https://bugs.webkit.org/show_bug.cgi?id=233577
+rdar://85813869
+
+Reviewed by Mark Lam.
+
+Because of TerminatedExecutionError, error can be thrown at any time.
+
+* jit/JITOperations.cpp:
+(JSC::JSC_DEFINE_JIT_OPERATION):
+(JSC::putPrivateNameOptimize):
+(JSC::putPrivateName):
+* llint/LLIntSlowPaths.cpp:
+(JSC::LLInt::LLINT_SLOW_PATH_DECL):
+
+2021-11-29  Yusuke Suzuki  
+
 [JSC] Move m_incomingPolymorphicCalls out of CodeBlock::JITData
 https://bugs.webkit.org/show_bug.cgi?id=233415
 


Modified: trunk/Source/_javascript_Core/jit/JITOperations.cpp (286248 => 286249)

--- trunk/Source/_javascript_Core/jit/JITOperations.cpp	2021-11-29 19:51:39 UTC (rev 286248)
+++ trunk/Source/_javascript_Core/jit/JITOperations.cpp	2021-11-29 19:55:59 UTC (rev 286249)
@@ -528,7 +528,7 @@
 JSValue propertyValue = JSValue::decode(encodedProperty);
 ASSERT(propertyValue.isSymbol());
 auto property = propertyValue.toPropertyKey(globalObject);
-EXCEPTION_ASSERT(!scope.exception());
+RETURN_IF_EXCEPTION(scope, { });
 
 PropertySlot slot(baseObject, PropertySlot::InternalMethodType::HasProperty);
 bool found = JSObject::getPrivateFieldSlot(baseObject, globalObject, property, slot);
@@ -562,7 +562,7 @@
 JSValue propertyValue = JSValue::decode(encodedProperty);
 ASSERT(propertyValue.isSymbol());
 auto property = propertyValue.toPropertyKey(globalObject);
-EXCEPTION_ASSERT(!scope.exception());
+RETURN_IF_EXCEPTION(scope, { });
 
 return JSValue::encode(jsBoolean(asObject(baseValue)->hasPrivateField(globalObject, property)));
 }
@@ -1324,7 +1324,7 @@
 RETURN_IF_EXCEPTION(scope, void());
 
 auto propertyName = subscript.toPropertyKey(globalObject);
-EXCEPTION_ASSERT(!scope.exception());
+RETURN_IF_EXCEPTION(scope, void());
 
 // Private fields can only be accessed within class lexical scope
 // and class methods are always in strict mode
@@ -1358,7 +1358,7 @@
 RETURN_IF_EXCEPTION(scope, void());
 
 auto propertyName = subscript.toPropertyKey(globalObject);
-EXCEPTION_ASSERT(!scope.exception());
+RETURN_IF_EXCEPTION(scope, void());
 
 scope.release();
 


Modified: trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp (286248 => 286249)

--- trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp	2021-11-29 19:51:39 UTC (rev 286248)
+++ trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp	2021-11-29 19:55:59 UTC (rev 286249)
@@ -1468,7 +1468,7 @@
 auto propertyValue = 

[webkit-changes] [286248] trunk

2021-11-29 Thread ysuzuki
Title: [286248] trunk








Revision 286248
Author ysuz...@apple.com
Date 2021-11-29 11:51:39 -0800 (Mon, 29 Nov 2021)


Log Message
[JSC] Move m_incomingPolymorphicCalls out of CodeBlock::JITData
https://bugs.webkit.org/show_bug.cgi?id=233415

Reviewed by Mark Lam and Darin Adler.

Source/_javascript_Core:

This patch moves m_incomingPolymorphicCalls from CodeBlock::JITData to CodeBlock since it is now used
in LLInt too if JIT is enabled. To keep CodeBlock small, this patch shrinks sizeof(SentinelLinkedList).

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::linkIncomingPolymorphicCall):
(JSC::CodeBlock::unlinkIncomingCalls):
* bytecode/CodeBlock.h:

Source/WTF:

Make sizeof(SentinelLinkedList) small. We do not need to have two sentinel for the list.

* wtf/SentinelLinkedList.h:
(WTF::SentinelLinkedList::SentinelLinkedList):
(WTF::RawNode>::begin):
(WTF::RawNode>::end):
(WTF::RawNode>::push):
(WTF::RawNode>::append):
(WTF::RawNode>::takeFrom):
(WTF::RawNode>::SentinelLinkedList): Deleted.

Tools:

Add tests for SentinelLinkedList.

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/SentinelLinkedList.cpp: Added.
(TestWebKitAPI::TestNode::TestNode):
(TestWebKitAPI::TestNode::value const):
(TestWebKitAPI::TEST):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp
trunk/Source/_javascript_Core/bytecode/CodeBlock.h
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/SentinelLinkedList.h
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/CMakeLists.txt
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj


Added Paths

trunk/Tools/TestWebKitAPI/Tests/WTF/SentinelLinkedList.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (286247 => 286248)

--- trunk/Source/_javascript_Core/ChangeLog	2021-11-29 19:43:17 UTC (rev 286247)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-11-29 19:51:39 UTC (rev 286248)
@@ -1,5 +1,20 @@
 2021-11-29  Yusuke Suzuki  
 
+[JSC] Move m_incomingPolymorphicCalls out of CodeBlock::JITData
+https://bugs.webkit.org/show_bug.cgi?id=233415
+
+Reviewed by Mark Lam and Darin Adler.
+
+This patch moves m_incomingPolymorphicCalls from CodeBlock::JITData to CodeBlock since it is now used
+in LLInt too if JIT is enabled. To keep CodeBlock small, this patch shrinks sizeof(SentinelLinkedList).
+
+* bytecode/CodeBlock.cpp:
+(JSC::CodeBlock::linkIncomingPolymorphicCall):
+(JSC::CodeBlock::unlinkIncomingCalls):
+* bytecode/CodeBlock.h:
+
+2021-11-29  Yusuke Suzuki  
+
 [JSC] GetTypedArrayLengthAsInt52 can get Array::Generic ArrayMode
 https://bugs.webkit.org/show_bug.cgi?id=233571
 rdar://85812164


Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp (286247 => 286248)

--- trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp	2021-11-29 19:43:17 UTC (rev 286247)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp	2021-11-29 19:51:39 UTC (rev 286248)
@@ -2134,10 +2134,7 @@
 void CodeBlock::linkIncomingPolymorphicCall(CallFrame* callerFrame, PolymorphicCallNode* incoming)
 {
 noticeIncomingCall(callerFrame);
-{
-ConcurrentJSLocker locker(m_lock);
-ensureJITData(locker).m_incomingPolymorphicCalls.push(incoming);
-}
+m_incomingPolymorphicCalls.push(incoming);
 }
 #endif // ENABLE(JIT)
 
@@ -2149,19 +2146,12 @@
 
 void CodeBlock::unlinkIncomingCalls()
 {
-while (m_incomingCalls.begin() != m_incomingCalls.end())
+while (!m_incomingCalls.isEmpty())
 m_incomingCalls.begin()->unlink(vm());
 #if ENABLE(JIT)
-JITData* jitData = nullptr;
-{
-ConcurrentJSLocker locker(m_lock);
-jitData = m_jitData.get();
-}
-if (jitData) {
-while (jitData->m_incomingPolymorphicCalls.begin() != jitData->m_incomingPolymorphicCalls.end())
-jitData->m_incomingPolymorphicCalls.begin()->unlink(vm());
-}
-#endif // ENABLE(JIT)
+while (!m_incomingPolymorphicCalls.isEmpty())
+m_incomingPolymorphicCalls.begin()->unlink(vm());
+#endif
 }
 
 CodeBlock* CodeBlock::newReplacement()


Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.h (286247 => 286248)

--- trunk/Source/_javascript_Core/bytecode/CodeBlock.h	2021-11-29 19:43:17 UTC (rev 286247)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.h	2021-11-29 19:51:39 UTC (rev 286248)
@@ -260,7 +260,6 @@
 friend class LLIntOffsetsExtractor;
 
 FixedVector m_stubInfos;
-SentinelLinkedList> m_incomingPolymorphicCalls;
 bool m_hasCalleeSaveRegisters { false };
 RegisterAtOffsetList m_calleeSaveRegisters;
 
@@ -954,6 +953,9 @@
 
 const void* m_instructionsRawPointer { nullptr };
 SentinelLinkedList> m_incomingCalls;
+#if ENABLE(JIT)
+SentinelLinkedList> m_incomingPolymorphicCalls;
+#endif
 StructureWatchpointMap m_llintGetByIdWatchpointMap;
 RefPtr m_jitCode;
 #if 

[webkit-changes] [286247] branches/safari-612-branch/Source

2021-11-29 Thread alancoon
Title: [286247] branches/safari-612-branch/Source








Revision 286247
Author alanc...@apple.com
Date 2021-11-29 11:43:17 -0800 (Mon, 29 Nov 2021)


Log Message
Cherry-pick r285648. rdar://problem/85171163

Log memory usage metadata when WebContent crosses critical or warning level memory thresholds
https://bugs.webkit.org/show_bug.cgi?id=232976

Reviewed by Darin Adler.

Source/WebCore:

WebCore::logMemoryStatistics was changed to:

 - Emit VM tag names as public strings to the log. There isn't anything privacy sensitive
   about our 256 fixed VM tags, and emitting them to the logs as as private string (as we
   were doing before) made those log lines useless.
 - Use WebCore::memoryUsageStatistics to gather memory metadata, since other WebCore
   callsites were already using that and it reduces code duplication.
 - Only log JS object type counts on internal OS builds. Previously we also logged those
   counts on public OS builds, but that was useless since all the class names were redacted
   in the log.

* page/MemoryRelease.cpp:
(WebCore::logMemoryStatistics):
(WebCore::logMemoryStatisticsReasonDescription):
(WebCore::pageCount): Deleted.
(WebCore::logMemoryStatisticsAtTimeOfDeath): Deleted.
* page/MemoryRelease.h:
* page/PerformanceLogging.cpp:
(WebCore::PerformanceLogging::memoryUsageStatistics):
(WebCore::PerformanceLogging::didReachPointOfInterest):
* page/PerformanceLogging.h:
* page/cocoa/PerformanceLoggingCocoa.mm:
(WebCore::PerformanceLogging::getPlatformMemoryUsageStatistics):

Source/WebKit:

Added callbacks to log memory usage metadata the first time a process hits these milestones:

 - exceeded inactive memory limit while active (on Mac)
 - exceeded warning process limit threshold (on other non-Mac Apple platforms)
 - exceeded critical process limit threshold (on other non-Mac Apple platforms)

The reason for this is we  receive a large number of out of memory reports with very little
info in the logs. We want to log more metadata about memory usage (similar to what we do on
Mac in `WebCore::logMemoryStatisticsAtTimeOfDeath`) to help us debug those reports.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/WebProcess.h:

Source/WTF:

Fixed several issues with memory usage tracking:

 - pagesPerVMTag now properly accounts for swapped-out pages in its footprint calculation,
   as footprint(1) already does.
 - displayNamePerVMTag now includes all of the most common VM tags associated with WebKit.
 - MemoryPressureHandler now knows the specific type of pressure event that occurred. This
   allows it to differentiate between the entire system being at a warning pressure level
   vs. just this process hitting its warning memory level limit.

* wtf/MemoryPressureHandler.cpp:
(WTF::MemoryPressureHandler::setMemoryPressureStatus):
(WTF::MemoryPressureHandler::memoryPressureStatusChanged):
(WTF::MemoryPressureHandler::setUnderMemoryPressure): Deleted.
* wtf/MemoryPressureHandler.h:
(WTF::MemoryPressureHandler::setMemoryPressureStatusChangedCallback):
(WTF::MemoryPressureHandler::isUnderMemoryPressure const):
* wtf/ResourceUsage.h:
* wtf/cocoa/MemoryPressureHandlerCocoa.mm:
(WTF::MemoryPressureHandler::install):
* wtf/cocoa/ResourceUsageCocoa.cpp:
(WTF::displayNameForVMTag):
(WTF::pagesPerVMTag):
* wtf/unix/MemoryPressureHandlerUnix.cpp:
(WTF::MemoryPressureHandler::triggerMemoryPressureEvent):
* wtf/win/MemoryPressureHandlerWin.cpp:
(WTF::MemoryPressureHandler::windowsMeasurementTimerFired):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285648 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612-branch/Source/WTF/wtf/MemoryPressureHandler.cpp
branches/safari-612-branch/Source/WTF/wtf/MemoryPressureHandler.h
branches/safari-612-branch/Source/WTF/wtf/ResourceUsage.h
branches/safari-612-branch/Source/WTF/wtf/cocoa/MemoryPressureHandlerCocoa.mm
branches/safari-612-branch/Source/WTF/wtf/cocoa/ResourceUsageCocoa.cpp
branches/safari-612-branch/Source/WTF/wtf/unix/MemoryPressureHandlerUnix.cpp
branches/safari-612-branch/Source/WTF/wtf/win/MemoryPressureHandlerWin.cpp
branches/safari-612-branch/Source/WebCore/page/MemoryRelease.cpp
branches/safari-612-branch/Source/WebCore/page/MemoryRelease.h
branches/safari-612-branch/Source/WebCore/page/PerformanceLogging.cpp
branches/safari-612-branch/Source/WebCore/page/PerformanceLogging.h
branches/safari-612-branch/Source/WebCore/page/cocoa/PerformanceLoggingCocoa.mm
branches/safari-612-branch/Source/WebKit/WebProcess/WebProcess.cpp
branches/safari-612-branch/Source/WebKit/WebProcess/WebProcess.h




Diff

Modified: branches/safari-612-branch/Source/WTF/wtf/MemoryPressureHandler.cpp (286246 => 286247)

--- 

[webkit-changes] [286244] branches/safari-612-branch

2021-11-29 Thread repstein
Title: [286244] branches/safari-612-branch








Revision 286244
Author repst...@apple.com
Date 2021-11-29 11:38:27 -0800 (Mon, 29 Nov 2021)


Log Message
Cherry-pick r285823. rdar://problem/85236459

`Cross-Origin-Embedder-Policy: require-corp` prevents loading of data URL images
https://bugs.webkit.org/show_bug.cgi?id=233131


Reviewed by Geoffrey Garen.

Source/WebCore:

When doing an initial data URL  load, we properly wouldn't perform a cross-origin resource policy check.
This is per the Fetch specification that says to use a scheme fetch [1] when the request URL is a data URL.
When the protocol is data, the scheme fetch algorithm would return a response without performing an HTTP
Fetch. The HTTP check [2] is the algorithm that actually performs a cross-origin resource policy check, at
step 7.

The issue with our implementation was that data URL  loads would perform a cross-origin resource policy
check in the case where the image is loaded from our memory cache, due to a check we had in
CachedResourceLoader::requestResource(). As a result, data URL  loads would fail when served from the
memory cache, when CORP is enforced. To address the issue and match the specification, we now disable this
CORP check when the request URL is a data URL.

[1] https://fetch.spec.whatwg.org/#scheme-fetch
[2] https://fetch.spec.whatwg.org/#concept-http-fetch

Test: http/wpt/html/cross-origin-embedder-policy/require-corp-data-url.html

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):

LayoutTests:

Add layout test coverage. This test is based on a reduce test case from Cameron McCormack.

* http/wpt/html/cross-origin-embedder-policy/require-corp-data-url-expected.txt: Added.
* http/wpt/html/cross-origin-embedder-policy/require-corp-data-url.html: Added.
* http/wpt/html/cross-origin-embedder-policy/require-corp-data-url.html.headers: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285823 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612-branch/LayoutTests/ChangeLog
branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/loader/cache/CachedResourceLoader.cpp


Added Paths

branches/safari-612-branch/LayoutTests/http/wpt/html/cross-origin-embedder-policy/require-corp-data-url-expected.txt
branches/safari-612-branch/LayoutTests/http/wpt/html/cross-origin-embedder-policy/require-corp-data-url.html
branches/safari-612-branch/LayoutTests/http/wpt/html/cross-origin-embedder-policy/require-corp-data-url.html.headers




Diff

Modified: branches/safari-612-branch/LayoutTests/ChangeLog (286243 => 286244)

--- branches/safari-612-branch/LayoutTests/ChangeLog	2021-11-29 19:38:23 UTC (rev 286243)
+++ branches/safari-612-branch/LayoutTests/ChangeLog	2021-11-29 19:38:27 UTC (rev 286244)
@@ -1,3 +1,60 @@
+2021-11-16  Russell Epstein  
+
+Cherry-pick r285823. rdar://problem/85236459
+
+`Cross-Origin-Embedder-Policy: require-corp` prevents loading of data URL images
+https://bugs.webkit.org/show_bug.cgi?id=233131
+
+
+Reviewed by Geoffrey Garen.
+
+Source/WebCore:
+
+When doing an initial data URL  load, we properly wouldn't perform a cross-origin resource policy check.
+This is per the Fetch specification that says to use a scheme fetch [1] when the request URL is a data URL.
+When the protocol is data, the scheme fetch algorithm would return a response without performing an HTTP
+Fetch. The HTTP check [2] is the algorithm that actually performs a cross-origin resource policy check, at
+step 7.
+
+The issue with our implementation was that data URL  loads would perform a cross-origin resource policy
+check in the case where the image is loaded from our memory cache, due to a check we had in
+CachedResourceLoader::requestResource(). As a result, data URL  loads would fail when served from the
+memory cache, when CORP is enforced. To address the issue and match the specification, we now disable this
+CORP check when the request URL is a data URL.
+
+[1] https://fetch.spec.whatwg.org/#scheme-fetch
+[2] https://fetch.spec.whatwg.org/#concept-http-fetch
+
+Test: http/wpt/html/cross-origin-embedder-policy/require-corp-data-url.html
+
+* loader/cache/CachedResourceLoader.cpp:
+(WebCore::CachedResourceLoader::requestResource):
+
+LayoutTests:
+
+Add layout test coverage. This test is based on a reduce test case from Cameron McCormack.
+
+* http/wpt/html/cross-origin-embedder-policy/require-corp-data-url-expected.txt: Added.
+* http/wpt/html/cross-origin-embedder-policy/require-corp-data-url.html: Added.
+* http/wpt/html/cross-origin-embedder-policy/require-corp-data-url.html.headers: Added.
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285823 

[webkit-changes] [286243] branches/safari-612-branch/Source/WebKit

2021-11-29 Thread repstein
Title: [286243] branches/safari-612-branch/Source/WebKit








Revision 286243
Author repst...@apple.com
Date 2021-11-29 11:38:23 -0800 (Mon, 29 Nov 2021)


Log Message
Cherry-pick r283386. rdar://problem/83953959

Protect WebFrame during invalidatePolicyListener()
https://bugs.webkit.org/show_bug.cgi?id=229981


Reviewed by Alex Christensen.

* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::invalidatePolicyListeners): Protect the WebFrame while
policy handlers are run.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283386 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/WebFrame.cpp




Diff

Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286242 => 286243)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-11-29 19:38:20 UTC (rev 286242)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-11-29 19:38:23 UTC (rev 286243)
@@ -1,3 +1,31 @@
+2021-11-16  Kocsen Chung  
+
+Cherry-pick r283386. rdar://problem/83953959
+
+Protect WebFrame during invalidatePolicyListener()
+https://bugs.webkit.org/show_bug.cgi?id=229981
+
+
+Reviewed by Alex Christensen.
+
+* WebProcess/WebPage/WebFrame.cpp:
+(WebKit::WebFrame::invalidatePolicyListeners): Protect the WebFrame while
+policy handlers are run.
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283386 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-10-01  Brent Fulgham  
+
+Protect WebFrame during invalidatePolicyListener()
+https://bugs.webkit.org/show_bug.cgi?id=229981
+
+
+Reviewed by Alex Christensen.
+
+* WebProcess/WebPage/WebFrame.cpp:
+(WebKit::WebFrame::invalidatePolicyListeners): Protect the WebFrame while
+policy handlers are run.
+
 2021-11-12  Russell Epstein  
 
 Revert r285690. rdar://problem/83381842


Modified: branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/WebFrame.cpp (286242 => 286243)

--- branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/WebFrame.cpp	2021-11-29 19:38:20 UTC (rev 286242)
+++ branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/WebFrame.cpp	2021-11-29 19:38:23 UTC (rev 286243)
@@ -237,6 +237,8 @@
 
 void WebFrame::invalidatePolicyListener()
 {
+Ref protectedThis { *this };
+
 if (!m_policyListenerID)
 return;
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286242] branches/safari-612-branch/Source/WebCore

2021-11-29 Thread repstein
Title: [286242] branches/safari-612-branch/Source/WebCore








Revision 286242
Author repst...@apple.com
Date 2021-11-29 11:38:20 -0800 (Mon, 29 Nov 2021)


Log Message
Apply patch. rdar://problem/83971417

Modified Paths

branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
branches/safari-612-branch/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm
branches/safari-612-branch/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h




Diff

Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286241 => 286242)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-11-29 19:38:17 UTC (rev 286241)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-11-29 19:38:20 UTC (rev 286242)
@@ -1,5 +1,96 @@
 2021-11-15  Alan Coon  
 
+Apply patch. rdar://problem/83971417
+
+2021-11-09  Alan Coon  
+
+Apply patch. rdar://problem/83971417
+
+2021-10-26  Russell Epstein  
+
+Cherry-pick r284669. rdar://problem/83971417
+
+WebGL low-power and high-performance contexts should use different ANGLE Metal EGLDisplays
+https://bugs.webkit.org/show_bug.cgi?id=231012
+
+
+Patch by Kimmo Kinnunen  on 2021-10-22
+Reviewed by Dean Jackson.
+
+Source/WebCore:
+
+Use per-power preference EGLDisplay when creating Metal
+contexts.
+
+Adds a new API test.
+
+* platform/RuntimeApplicationChecks.cpp:
+(WebCore::setAuxiliaryProcessTypeForTesting):
+* platform/RuntimeApplicationChecks.h:
+Add a test function to reset the process type after test has set a specific type and then
+run to completion. process for the duration of the test. The volatile context flag in
+GraphicsContextGLOpenGL depends on condition isWebProcess || isGPUProcess.
+* platform/graphics/angle/GraphicsContextGLANGLE.cpp:
+(WebCore::GraphicsContextGLOpenGL::releaseThreadResources):
+* platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
+(WebCore::initializeEGLDisplay):
+(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
+(WebCore::GraphicsContextGLOpenGL::setContextVisibility):
+(WebCore::GraphicsContextGLOpenGL::displayWasReconfigured):
+* platform/graphics/opengl/GraphicsContextGLOpenGL.h:
+
+Tools:
+
+Add a API test to test GraphicsContextGLOpenGL
+Cocoa implementation regarding the bug where
+the GraphicsContextGLOpenGL instances would use
+the GPU that was selected by the first instance.
+
+* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
+* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
+* TestWebKitAPI/Tests/WebCore/cocoa/TestGraphicsContextGLOpenGLCocoa.mm: Added.
+(TestWebKitAPI::WebCore::TestedGraphicsContextGLOpenGL::create):
+(TestWebKitAPI::WebCore::TestedGraphicsContextGLOpenGL::TestedGraphicsContextGLOpenGL):
+(TestWebKitAPI::hasMultipleGPUs):
+(TestWebKitAPI::TEST):
+* TestWebKitAPI/WebCoreUtilities.h: Added.
+(TestWebKitAPI::ScopedSetAuxiliaryProcessTypeForTesting::ScopedSetAuxiliaryProcessTypeForTesting):
+(TestWebKitAPI::ScopedSetAuxiliaryProcessTypeForTesting::~ScopedSetAuxiliaryProcessTypeForTesting):
+Add a utility state setter to set the process type for the
+duration of a test.
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-10-22  Kimmo Kinnunen  
+
+WebGL low-power and high-performance contexts should use different ANGLE Metal EGLDisplays
+https://bugs.webkit.org/show_bug.cgi?id=231012
+
+
+Reviewed by Dean Jackson.
+
+Use per-power preference EGLDisplay when creating Metal
+contexts.
+
+Adds a new API test.
+
+* platform/RuntimeApplicationChecks.cpp:
+(WebCore::setAuxiliaryProcessTypeForTesting):
+* platform/RuntimeApplicationChecks.h:
+Add a test function to reset the process type after test has set a specific type and then
+run to completion. process for the duration of the test. The volatile context flag in
+GraphicsContextGLOpenGL depends on condition isWebProcess || isGPUProcess.
+* platform/graphics/angle/GraphicsContextGLANGLE.cpp:
+(WebCore::GraphicsContextGLOpenGL::releaseThreadResources):
+* 

[webkit-changes] [286245] branches/safari-612-branch/Source

2021-11-29 Thread repstein
Title: [286245] branches/safari-612-branch/Source








Revision 286245
Author repst...@apple.com
Date 2021-11-29 11:38:30 -0800 (Mon, 29 Nov 2021)


Log Message
Cherry-pick r285130. rdar://problem/85166839

[macOS] Opening local html files is failing
https://bugs.webkit.org/show_bug.cgi?id=232572


Reviewed by Brent Fulgham.

Source/WebKit:

On some macOS versions, opening local html files is failing. In order for the WebContent process
to successfully issue the file extension to the Networking process, the flags for the extension
in the WebContent process must include the user intent flag when the extension is issued with an
audit token.

* Shared/Cocoa/SandboxExtensionCocoa.mm:
(WebKit::SandboxExtensionImpl::sandboxExtensionForType):

Source/WTF:

Declare sandbox flag.

* wtf/spi/darwin/SandboxSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285130 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612-branch/Source/WTF/ChangeLog
branches/safari-612-branch/Source/WTF/wtf/spi/darwin/SandboxSPI.h
branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/Shared/Cocoa/SandboxExtensionCocoa.mm




Diff

Modified: branches/safari-612-branch/Source/WTF/ChangeLog (286244 => 286245)

--- branches/safari-612-branch/Source/WTF/ChangeLog	2021-11-29 19:38:27 UTC (rev 286244)
+++ branches/safari-612-branch/Source/WTF/ChangeLog	2021-11-29 19:38:30 UTC (rev 286245)
@@ -1,3 +1,44 @@
+2021-11-18  Russell Epstein  
+
+Cherry-pick r285130. rdar://problem/85166839
+
+[macOS] Opening local html files is failing
+https://bugs.webkit.org/show_bug.cgi?id=232572
+
+
+Reviewed by Brent Fulgham.
+
+Source/WebKit:
+
+On some macOS versions, opening local html files is failing. In order for the WebContent process
+to successfully issue the file extension to the Networking process, the flags for the extension
+in the WebContent process must include the user intent flag when the extension is issued with an
+audit token.
+
+* Shared/Cocoa/SandboxExtensionCocoa.mm:
+(WebKit::SandboxExtensionImpl::sandboxExtensionForType):
+
+Source/WTF:
+
+Declare sandbox flag.
+
+* wtf/spi/darwin/SandboxSPI.h:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285130 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-01  Per Arne  
+
+[macOS] Opening local html files is failing
+https://bugs.webkit.org/show_bug.cgi?id=232572
+
+
+Reviewed by Brent Fulgham.
+
+Declare sandbox flag.
+
+* wtf/spi/darwin/SandboxSPI.h:
+
 2021-11-11  Alan Coon  
 
 Cherry-pick r285565. rdar://problem/83159358


Modified: branches/safari-612-branch/Source/WTF/wtf/spi/darwin/SandboxSPI.h (286244 => 286245)

--- branches/safari-612-branch/Source/WTF/wtf/spi/darwin/SandboxSPI.h	2021-11-29 19:38:27 UTC (rev 286244)
+++ branches/safari-612-branch/Source/WTF/wtf/spi/darwin/SandboxSPI.h	2021-11-29 19:38:30 UTC (rev 286245)
@@ -62,6 +62,7 @@
 
 extern const uint32_t SANDBOX_EXTENSION_NO_REPORT;
 extern const uint32_t SANDBOX_EXTENSION_CANONICAL;
+extern const uint32_t SANDBOX_EXTENSION_USER_INTENT;
 
 char *sandbox_extension_issue_file(const char *extension_class, const char *path, uint32_t flags);
 char *sandbox_extension_issue_generic(const char *extension_class, uint32_t flags);


Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286244 => 286245)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-11-29 19:38:27 UTC (rev 286244)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-11-29 19:38:30 UTC (rev 286245)
@@ -1,3 +1,48 @@
+2021-11-18  Russell Epstein  
+
+Cherry-pick r285130. rdar://problem/85166839
+
+[macOS] Opening local html files is failing
+https://bugs.webkit.org/show_bug.cgi?id=232572
+
+
+Reviewed by Brent Fulgham.
+
+Source/WebKit:
+
+On some macOS versions, opening local html files is failing. In order for the WebContent process
+to successfully issue the file extension to the Networking process, the flags for the extension
+in the WebContent process must include the user intent flag when the extension is issued with an
+audit token.
+
+* Shared/Cocoa/SandboxExtensionCocoa.mm:
+(WebKit::SandboxExtensionImpl::sandboxExtensionForType):
+
+Source/WTF:
+
+Declare sandbox flag.
+
+* wtf/spi/darwin/SandboxSPI.h:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285130 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-01  Per Arne  
+
+[macOS] Opening local html files is failing
+https://bugs.webkit.org/show_bug.cgi?id=232572
+
+
+Reviewed by Brent Fulgham.
+
+On some macOS versions, opening local html files is failing. In order for the 

[webkit-changes] [286246] branches/safari-612-branch/Source

2021-11-29 Thread repstein
Title: [286246] branches/safari-612-branch/Source








Revision 286246
Author repst...@apple.com
Date 2021-11-29 11:38:34 -0800 (Mon, 29 Nov 2021)


Log Message
Apply patch. rdar://problem/83673859

Modified Paths

branches/safari-612-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj
branches/safari-612-branch/Source/WebCore/platform/audio/cocoa/AudioSampleBufferList.h
branches/safari-612-branch/Source/WebCore/platform/audio/ios/AudioSessionIOS.h
branches/safari-612-branch/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm
branches/safari-612-branch/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp




Diff

Modified: branches/safari-612-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj (286245 => 286246)

--- branches/safari-612-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2021-11-29 19:38:30 UTC (rev 286245)
+++ branches/safari-612-branch/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2021-11-29 19:38:34 UTC (rev 286246)
@@ -4358,7 +4358,7 @@
 		CD336F6417FA0A4D00DDDCD0 /* VideoTrackPrivateAVF.h in Headers */ = {isa = PBXBuildFile; fileRef = CD336F6317FA0A4D00DDDCD0 /* VideoTrackPrivateAVF.h */; };
 		CD336F6717FA0AC600DDDCD0 /* VideoTrackPrivateAVFObjC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD336F6517FA0AC600DDDCD0 /* VideoTrackPrivateAVFObjC.cpp */; };
 		CD336F6817FA0AC600DDDCD0 /* VideoTrackPrivateAVFObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = CD336F6617FA0AC600DDDCD0 /* VideoTrackPrivateAVFObjC.h */; };
-		CD36C1622607E78600C8C529 /* AudioSessionIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = CD36C1612607E78600C8C529 /* AudioSessionIOS.h */; };
+		CD36C1622607E78600C8C529 /* AudioSessionIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = CD36C1612607E78600C8C529 /* AudioSessionIOS.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		CD36C16B260A65CC00C8C529 /* SharedRoutingArbitrator.h in Headers */ = {isa = PBXBuildFile; fileRef = CD36C168260A63D300C8C529 /* SharedRoutingArbitrator.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		CD3A495F17A9D01B00274E42 /* MediaSource.h in Headers */ = {isa = PBXBuildFile; fileRef = CD3A495617A9D01B00274E42 /* MediaSource.h */; };
 		CD3A496217A9D01B00274E42 /* SourceBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = CD3A495917A9D01B00274E42 /* SourceBuffer.h */; };


Modified: branches/safari-612-branch/Source/WebCore/platform/audio/cocoa/AudioSampleBufferList.h (286245 => 286246)

--- branches/safari-612-branch/Source/WebCore/platform/audio/cocoa/AudioSampleBufferList.h	2021-11-29 19:38:30 UTC (rev 286245)
+++ branches/safari-612-branch/Source/WebCore/platform/audio/cocoa/AudioSampleBufferList.h	2021-11-29 19:38:34 UTC (rev 286246)
@@ -45,7 +45,7 @@
 
 static inline size_t audioBufferListSizeForStream(const CAAudioStreamDescription&);
 
-static void applyGain(AudioBufferList&, float, AudioStreamDescription::PCMFormat);
+WEBCORE_EXPORT static void applyGain(AudioBufferList&, float, AudioStreamDescription::PCMFormat);
 void applyGain(float);
 
 OSStatus copyFrom(const AudioSampleBufferList&, size_t count = SIZE_MAX);


Modified: branches/safari-612-branch/Source/WebCore/platform/audio/ios/AudioSessionIOS.h (286245 => 286246)

--- branches/safari-612-branch/Source/WebCore/platform/audio/ios/AudioSessionIOS.h	2021-11-29 19:38:30 UTC (rev 286245)
+++ branches/safari-612-branch/Source/WebCore/platform/audio/ios/AudioSessionIOS.h	2021-11-29 19:38:34 UTC (rev 286246)
@@ -44,6 +44,9 @@
 
 void setHostProcessAttribution(audit_token_t) final;
 
+using CategoryChangedObserver = WTF::Observer;
+WEBCORE_EXPORT static void addAudioSessionCategoryChangedObserver(const CategoryChangedObserver&);
+
 private:
 // AudioSession
 CategoryType category() const final;


Modified: branches/safari-612-branch/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm (286245 => 286246)

--- branches/safari-612-branch/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm	2021-11-29 19:38:30 UTC (rev 286245)
+++ branches/safari-612-branch/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm	2021-11-29 19:38:34 UTC (rev 286246)
@@ -97,6 +97,18 @@
 
 namespace WebCore {
 
+static WeakHashSet& audioSessionCategoryChangedObservers()
+{
+static NeverDestroyed> observers;
+return observers;
+}
+
+void AudioSessionIOS::addAudioSessionCategoryChangedObserver(const CategoryChangedObserver& observer)
+{
+audioSessionCategoryChangedObservers().add(observer);
+observer(AudioSession::sharedSession(), AudioSession::sharedSession().category());
+}
+
 static void setEligibleForSmartRouting(bool eligible)
 {
 #if PLATFORM(IOS)
@@ -205,6 +217,8 @@
 #if !PLATFORM(IOS_FAMILY_SIMULATOR) && !PLATFORM(MACCATALYST)
 ASSERT(!error);
 #endif
+for (auto& observer : audioSessionCategoryChangedObservers())
+observer(*this, category());
 }
 
 AudioSession::CategoryType AudioSessionIOS::category() const


Modified: 

[webkit-changes] [286241] branches/safari-612-branch

2021-11-29 Thread repstein
Title: [286241] branches/safari-612-branch








Revision 286241
Author repst...@apple.com
Date 2021-11-29 11:38:17 -0800 (Mon, 29 Nov 2021)


Log Message
Cherry-pick r285728. rdar://problem/85236241

[Web Animations] Accelerated animations with a single keyframe don't account for prior forward-filling animations
https://bugs.webkit.org/show_bug.cgi?id=233041


Reviewed by Dean Jackson.

Source/WebCore:

Test: webanimations/accelerated-animation-after-forward-filling-animation.html

When starting an accelerated animation, we would fill any implicit keyframes based on the unanimated style.
We now also apply all animations below this animation in the target's effect stack such that a previous
forward-filling animation is accounted for.

* animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::applyPendingAcceleratedActions):

LayoutTests:

Add a new test that runs a forward-filling animation for `transform`, waits for its completion,
then runs another `transform` animation with an implicit initial keyframe, ensuring that the
result of the first forward-filling animation is accounted for when computing the initial
keyframe.

This test would fail prior to this patch.

* webanimations/accelerated-animation-after-forward-filling-animation-expected.html: Added.
* webanimations/accelerated-animation-after-forward-filling-animation.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285728 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612-branch/LayoutTests/ChangeLog
branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/animation/KeyframeEffect.cpp


Added Paths

branches/safari-612-branch/LayoutTests/webanimations/accelerated-animation-after-forward-filling-animation-expected.html
branches/safari-612-branch/LayoutTests/webanimations/accelerated-animation-after-forward-filling-animation.html




Diff

Modified: branches/safari-612-branch/LayoutTests/ChangeLog (286240 => 286241)

--- branches/safari-612-branch/LayoutTests/ChangeLog	2021-11-29 19:38:13 UTC (rev 286240)
+++ branches/safari-612-branch/LayoutTests/ChangeLog	2021-11-29 19:38:17 UTC (rev 286241)
@@ -1,3 +1,56 @@
+2021-11-15  Alan Coon  
+
+Cherry-pick r285728. rdar://problem/85236241
+
+[Web Animations] Accelerated animations with a single keyframe don't account for prior forward-filling animations
+https://bugs.webkit.org/show_bug.cgi?id=233041
+
+
+Reviewed by Dean Jackson.
+
+Source/WebCore:
+
+Test: webanimations/accelerated-animation-after-forward-filling-animation.html
+
+When starting an accelerated animation, we would fill any implicit keyframes based on the unanimated style.
+We now also apply all animations below this animation in the target's effect stack such that a previous
+forward-filling animation is accounted for.
+
+* animation/KeyframeEffect.cpp:
+(WebCore::KeyframeEffect::applyPendingAcceleratedActions):
+
+LayoutTests:
+
+Add a new test that runs a forward-filling animation for `transform`, waits for its completion,
+then runs another `transform` animation with an implicit initial keyframe, ensuring that the
+result of the first forward-filling animation is accounted for when computing the initial
+keyframe.
+
+This test would fail prior to this patch.
+
+* webanimations/accelerated-animation-after-forward-filling-animation-expected.html: Added.
+* webanimations/accelerated-animation-after-forward-filling-animation.html: Added.
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-12  Antoine Quint  
+
+[Web Animations] Accelerated animations with a single keyframe don't account for prior forward-filling animations
+https://bugs.webkit.org/show_bug.cgi?id=233041
+
+
+Reviewed by Dean Jackson.
+
+Add a new test that runs a forward-filling animation for `transform`, waits for its completion,
+then runs another `transform` animation with an implicit initial keyframe, ensuring that the
+result of the first forward-filling animation is accounted for when computing the initial
+keyframe.
+
+This test would fail prior to this patch.
+
+* webanimations/accelerated-animation-after-forward-filling-animation-expected.html: Added.
+* webanimations/accelerated-animation-after-forward-filling-animation.html: Added.
+
 2021-11-11  Alan Coon  
 
 Cherry-pick r285565. rdar://problem/83159358


Added: branches/safari-612-branch/LayoutTests/webanimations/accelerated-animation-after-forward-filling-animation-expected.html (0 => 286241)

--- branches/safari-612-branch/LayoutTests/webanimations/accelerated-animation-after-forward-filling-animation-expected.html	 

[webkit-changes] [286237] branches/safari-612-branch/Source/WebCore

2021-11-29 Thread repstein
Title: [286237] branches/safari-612-branch/Source/WebCore








Revision 286237
Author repst...@apple.com
Date 2021-11-29 11:38:05 -0800 (Mon, 29 Nov 2021)


Log Message
Revert r285680. rdar://problem/85004449

Modified Paths

branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h
branches/safari-612-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm




Diff

Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286236 => 286237)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-11-29 19:38:01 UTC (rev 286236)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-11-29 19:38:05 UTC (rev 286237)
@@ -1,3 +1,7 @@
+2021-11-12  Russell Epstein  
+
+Revert r285680. rdar://problem/85004449
+
 2021-11-11  Alan Coon  
 
 Cherry-pick r285531. rdar://problem/83381842


Modified: branches/safari-612-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h (286236 => 286237)

--- branches/safari-612-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h	2021-11-29 19:38:01 UTC (rev 286236)
+++ branches/safari-612-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h	2021-11-29 19:38:05 UTC (rev 286237)
@@ -419,7 +419,6 @@
 mutable long long m_cachedTotalBytes { 0 };
 unsigned m_pendingStatusChanges { 0 };
 int m_cachedItemStatus;
-int m_runLoopNestingLevel { 0 };
 MediaPlayer::BufferingPolicy m_bufferingPolicy { MediaPlayer::BufferingPolicy::Default };
 bool m_cachedLikelyToKeepUp { false };
 bool m_cachedBufferEmpty { false };
@@ -439,6 +438,7 @@
 mutable bool m_allowsWirelessVideoPlayback { true };
 bool m_shouldPlayToPlaybackTarget { false };
 #endif
+bool m_runningModalPaint { false };
 bool m_waitForVideoOutputMediaDataWillChangeTimedOut { false };
 bool m_haveBeenAskedToPaint { false };
 };


Modified: branches/safari-612-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (286236 => 286237)

--- branches/safari-612-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm	2021-11-29 19:38:01 UTC (rev 286236)
+++ branches/safari-612-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm	2021-11-29 19:38:05 UTC (rev 286237)
@@ -2563,31 +2563,21 @@
 {
 if (m_waitForVideoOutputMediaDataWillChangeTimedOut)
 return;
+[m_videoOutput requestNotificationOfMediaDataChangeWithAdvanceInterval:0];
 
 // Wait for 1 second.
 MonotonicTime start = MonotonicTime::now();
 
-std::optional> timeoutTimer;
+RunLoop::Timer timeoutTimer { RunLoop::main(), [] {
+RunLoop::main().stop();
+} };
+timeoutTimer.startOneShot(1_s);
 
-if (!m_runLoopNestingLevel) {
-[m_videoOutput requestNotificationOfMediaDataChangeWithAdvanceInterval:0];
-
-timeoutTimer.emplace(RunLoop::main(), [&] {
-RunLoop::main().stop();
-});
-timeoutTimer->startOneShot(1_s);
-}
-
-++m_runLoopNestingLevel;
+m_runningModalPaint = true;
 RunLoop::run();
---m_runLoopNestingLevel;
+m_runningModalPaint = false;
 
-if (m_runLoopNestingLevel) {
-RunLoop::main().stop();
-return;
-}
-
-bool satisfied = timeoutTimer->isActive();
+bool satisfied = timeoutTimer.isActive();
 if (!satisfied) {
 ERROR_LOG(LOGIDENTIFIER, "timed out");
 m_waitForVideoOutputMediaDataWillChangeTimedOut = true;
@@ -2597,7 +2587,7 @@
 
 void MediaPlayerPrivateAVFoundationObjC::outputMediaDataWillChange()
 {
-if (m_runLoopNestingLevel)
+if (m_runningModalPaint)
 RunLoop::main().stop();
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286240] branches/safari-612-branch/Source/WebKit/NetworkProcess/cocoa/ NetworkSessionCocoa.h

2021-11-29 Thread repstein
Title: [286240] branches/safari-612-branch/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h








Revision 286240
Author repst...@apple.com
Date 2021-11-29 11:38:13 -0800 (Mon, 29 Nov 2021)


Log Message
Unreviewed build fix. rdar://problem/83159358

error: out-of-line definition of 'isolatedSession' does not match any declaration in 'WebKit::SessionSet'

Modified Paths

branches/safari-612-branch/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h




Diff

Modified: branches/safari-612-branch/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h (286239 => 286240)

--- branches/safari-612-branch/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h	2021-11-29 19:38:11 UTC (rev 286239)
+++ branches/safari-612-branch/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h	2021-11-29 19:38:13 UTC (rev 286240)
@@ -82,7 +82,7 @@
 SessionWrapper& initializeEphemeralStatelessSessionIfNeeded(NavigatingToAppBoundDomain, NetworkSessionCocoa&);
 
 #if !HAVE(CFNETWORK_SESSION_PARTITIONING_BASED_ON_FIRST_PARTY_DOMAIN)
-SessionWrapper& isolatedSession(WebCore::StoredCredentialsPolicy, const WebCore::RegistrableDomain&, NavigatingToAppBoundDomain, NetworkSessionCocoa&);
+SessionWrapper& isolatedSession(WebCore::StoredCredentialsPolicy, const WebCore::RegistrableDomain, NavigatingToAppBoundDomain, NetworkSessionCocoa&); 
 HashMap> isolatedSessions;
 #endif
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286238] branches/safari-612-branch/Source/WebCore

2021-11-29 Thread repstein
Title: [286238] branches/safari-612-branch/Source/WebCore








Revision 286238
Author repst...@apple.com
Date 2021-11-29 11:38:08 -0800 (Mon, 29 Nov 2021)


Log Message
Revert r285691. rdar://problem/83381842

Modified Paths

branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/Modules/speech/cocoa/SpeechRecognizerCocoa.mm




Diff

Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286237 => 286238)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-11-29 19:38:05 UTC (rev 286237)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-11-29 19:38:08 UTC (rev 286238)
@@ -1,5 +1,9 @@
 2021-11-12  Russell Epstein  
 
+Revert r285691. rdar://problem/83381842
+
+2021-11-12  Russell Epstein  
+
 Revert r285680. rdar://problem/85004449
 
 2021-11-11  Alan Coon  


Modified: branches/safari-612-branch/Source/WebCore/Modules/speech/cocoa/SpeechRecognizerCocoa.mm (286237 => 286238)

--- branches/safari-612-branch/Source/WebCore/Modules/speech/cocoa/SpeechRecognizerCocoa.mm	2021-11-29 19:38:05 UTC (rev 286237)
+++ branches/safari-612-branch/Source/WebCore/Modules/speech/cocoa/SpeechRecognizerCocoa.mm	2021-11-29 19:38:08 UTC (rev 286238)
@@ -28,7 +28,6 @@
 
 #if HAVE(SPEECHRECOGNIZER)
 
-#import "AudioStreamDescription.h"
 #import "MediaUtilities.h"
 #import "SpeechRecognitionUpdate.h"
 #import "WebSpeechRecognizerTaskMock.h"






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286235] branches/safari-612-branch/Source/WebKit

2021-11-29 Thread repstein
Title: [286235] branches/safari-612-branch/Source/WebKit








Revision 286235
Author repst...@apple.com
Date 2021-11-29 11:37:57 -0800 (Mon, 29 Nov 2021)


Log Message
Cherry-pick r285550. rdar://problem/85075538

REGRESSION (Safari 15): AudioContext.currentTime speeds up (and audio won't play) when Bluetooth speaker connected
https://bugs.webkit.org/show_bug.cgi?id=232728


Reviewed by Jer Noble.

This was a regression from us moving WebAudio to the GPUProcess in Safari 15. The issue occurred because the
WebProcess (writer) would get further and further ahead of the GPUProcess (reader) after a hardware sample
rate change.

When rendering on https://mdn.github.io/webaudio-examples/audiocontext-states/ with a hardware sample rate of
96Khz, RemoteAudioDestination::render() would get called with a numberOfFrame=128. Each time
RemoteAudioDestination::render() was called, it would signal the IPC semaphore, causing the WebProcess to
produce one WebAudio rendering quantum (128 frames). This would match perfectly and there would be no issues.
However, if during playback, the hardware sample rate changes (which can happen when connecting to bluetooth
speakers), CoreAudio would start calling RemoteAudioDestination::render() with a different numberOfFrame.
For example, when switching the hardware sample rate to 44.1Khz, numberOfFrames would be 278. Every time it
is called, render() would signal the semaphore 3 times, causing the WebProcess to produce 3 WebAudio rendering
quantums (3 * 128 = 384 frames). So each time render() is called, the WebProcess would generate `384 - 278 = 105`
frames too many, causing it to get further and further ahead of the GPUProcess. One symptom would be that
AudioContext.currentTime would progress too fast. Also, eventually, our RingBuffer between the 2 process would
fill up and lead to rendering issues.

To address the issue, I updated RemoteAudioDestination::render() to keep track of how many extra samples it
requested from the WebProcess previously. This avoids signalling the IPC semaphore too many times and the
WebProcess can no longer get too far ahead of the GPUProcess. The logic matches what was already done in
RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::render().

* GPUProcess/media/RemoteAudioDestinationManager.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285550 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/GPUProcess/media/RemoteAudioDestinationManager.cpp




Diff

Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286234 => 286235)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-11-29 19:37:54 UTC (rev 286234)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-11-29 19:37:57 UTC (rev 286235)
@@ -1,5 +1,74 @@
 2021-11-11  Alan Coon  
 
+Cherry-pick r285550. rdar://problem/85075538
+
+REGRESSION (Safari 15): AudioContext.currentTime speeds up (and audio won't play) when Bluetooth speaker connected
+https://bugs.webkit.org/show_bug.cgi?id=232728
+
+
+Reviewed by Jer Noble.
+
+This was a regression from us moving WebAudio to the GPUProcess in Safari 15. The issue occurred because the
+WebProcess (writer) would get further and further ahead of the GPUProcess (reader) after a hardware sample
+rate change.
+
+When rendering on https://mdn.github.io/webaudio-examples/audiocontext-states/ with a hardware sample rate of
+96Khz, RemoteAudioDestination::render() would get called with a numberOfFrame=128. Each time
+RemoteAudioDestination::render() was called, it would signal the IPC semaphore, causing the WebProcess to
+produce one WebAudio rendering quantum (128 frames). This would match perfectly and there would be no issues.
+However, if during playback, the hardware sample rate changes (which can happen when connecting to bluetooth
+speakers), CoreAudio would start calling RemoteAudioDestination::render() with a different numberOfFrame.
+For example, when switching the hardware sample rate to 44.1Khz, numberOfFrames would be 278. Every time it
+is called, render() would signal the semaphore 3 times, causing the WebProcess to produce 3 WebAudio rendering
+quantums (3 * 128 = 384 frames). So each time render() is called, the WebProcess would generate `384 - 278 = 105`
+frames too many, causing it to get further and further ahead of the GPUProcess. One symptom would be that
+AudioContext.currentTime would progress too fast. Also, eventually, our RingBuffer between the 2 process would
+fill up and lead to rendering issues.
+
+To address the issue, I updated RemoteAudioDestination::render() to keep track of how many extra samples it
+requested from the WebProcess previously. This avoids signalling the IPC 

[webkit-changes] [286234] branches/safari-612-branch/Source/WebCore

2021-11-29 Thread repstein
Title: [286234] branches/safari-612-branch/Source/WebCore








Revision 286234
Author repst...@apple.com
Date 2021-11-29 11:37:54 -0800 (Mon, 29 Nov 2021)


Log Message
Cherry-pick r285531. rdar://problem/83381842

Fix macCatalyst build after r285509
https://bugs.webkit.org/show_bug.cgi?id=232863

Unreviewed.

* Modules/speech/cocoa/SpeechRecognizerCocoa.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285531 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/Modules/speech/cocoa/SpeechRecognizerCocoa.mm




Diff

Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286233 => 286234)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-11-29 19:37:50 UTC (rev 286233)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-11-29 19:37:54 UTC (rev 286234)
@@ -1,5 +1,29 @@
 2021-11-11  Alan Coon  
 
+Cherry-pick r285531. rdar://problem/83381842
+
+Fix macCatalyst build after r285509
+https://bugs.webkit.org/show_bug.cgi?id=232863
+
+Unreviewed.
+
+
+* Modules/speech/cocoa/SpeechRecognizerCocoa.mm:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-09  Sihui Liu  
+
+Fix macCatalyst build after r285509
+https://bugs.webkit.org/show_bug.cgi?id=232863
+
+Unreviewed.
+
+* Modules/speech/cocoa/SpeechRecognizerCocoa.mm:
+
+2021-11-11  Alan Coon  
+
 Cherry-pick r285330. rdar://problem/85004449
 
 Nested run loops under MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange can cause hang when timeout fires


Modified: branches/safari-612-branch/Source/WebCore/Modules/speech/cocoa/SpeechRecognizerCocoa.mm (286233 => 286234)

--- branches/safari-612-branch/Source/WebCore/Modules/speech/cocoa/SpeechRecognizerCocoa.mm	2021-11-29 19:37:50 UTC (rev 286233)
+++ branches/safari-612-branch/Source/WebCore/Modules/speech/cocoa/SpeechRecognizerCocoa.mm	2021-11-29 19:37:54 UTC (rev 286234)
@@ -28,6 +28,7 @@
 
 #if HAVE(SPEECHRECOGNIZER)
 
+#import "AudioStreamDescription.h"
 #import "MediaUtilities.h"
 #import "SpeechRecognitionUpdate.h"
 #import "WebSpeechRecognizerTaskMock.h"






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286236] branches/safari-612-branch

2021-11-29 Thread repstein
Title: [286236] branches/safari-612-branch








Revision 286236
Author repst...@apple.com
Date 2021-11-29 11:38:01 -0800 (Mon, 29 Nov 2021)


Log Message
Cherry-pick r285565. rdar://problem/83159358

[macOS] Enable NSURLSession partitioning based on first-party domain at CFNetwork level
https://bugs.webkit.org/show_bug.cgi?id=230750


Reviewed by Alex Christensen.

Source/WebKit:

* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(overrideAttributionContext): Deleted.
Stop disabling CFNetwork NSURLSession partitioning based on first-party domain on
macOS.

* NetworkProcess/cocoa/NetworkSessionCocoa.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):
(WebKit::NetworkSessionCocoa::hasIsolatedSession const):
(WebKit::NetworkSessionCocoa::clearIsolatedSessions):
(WebKit::NetworkSessionCocoa::invalidateAndCancelSessionSet):
Disable ITP session partitioning of certain prevalent domains on platforms where
CFNetwork already does full partitioning of all domains (now that it is enabled
on macOS 12+ and iOS15+).

Source/WTF:

Add HAVE(CFNETWORK_SESSION_PARTITIONING_BASED_ON_FIRST_PARTY_DOMAIN) build time flag that is true
on newer Apple OSes where CFNetwork does NSURLSession partitioning based on first-party domain for
us.

* wtf/PlatformHave.h:

LayoutTests:

Skip a few ITP session partitioning tests on newer OSes now that session partitioning
happens for all first-party domains at CFNetwork level on these OSes.

* platform/ios-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285565 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612-branch/LayoutTests/ChangeLog
branches/safari-612-branch/LayoutTests/platform/ios-wk2/TestExpectations
branches/safari-612-branch/LayoutTests/platform/mac-wk2/TestExpectations
branches/safari-612-branch/Source/WTF/ChangeLog
branches/safari-612-branch/Source/WTF/wtf/PlatformHave.h
branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm
branches/safari-612-branch/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h
branches/safari-612-branch/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm




Diff

Modified: branches/safari-612-branch/LayoutTests/ChangeLog (286235 => 286236)

--- branches/safari-612-branch/LayoutTests/ChangeLog	2021-11-29 19:37:57 UTC (rev 286235)
+++ branches/safari-612-branch/LayoutTests/ChangeLog	2021-11-29 19:38:01 UTC (rev 286236)
@@ -1,5 +1,65 @@
 2021-11-11  Alan Coon  
 
+Cherry-pick r285565. rdar://problem/83159358
+
+[macOS] Enable NSURLSession partitioning based on first-party domain at CFNetwork level
+https://bugs.webkit.org/show_bug.cgi?id=230750
+
+
+Reviewed by Alex Christensen.
+
+Source/WebKit:
+
+* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
+(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
+(overrideAttributionContext): Deleted.
+Stop disabling CFNetwork NSURLSession partitioning based on first-party domain on
+macOS.
+
+* NetworkProcess/cocoa/NetworkSessionCocoa.h:
+* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+(WebKit::NetworkSessionCocoa::sessionWrapperForTask):
+(WebKit::NetworkSessionCocoa::hasIsolatedSession const):
+(WebKit::NetworkSessionCocoa::clearIsolatedSessions):
+(WebKit::NetworkSessionCocoa::invalidateAndCancelSessionSet):
+Disable ITP session partitioning of certain prevalent domains on platforms where
+CFNetwork already does full partitioning of all domains (now that it is enabled
+on macOS 12+ and iOS15+).
+
+Source/WTF:
+
+Add HAVE(CFNETWORK_SESSION_PARTITIONING_BASED_ON_FIRST_PARTY_DOMAIN) build time flag that is true
+on newer Apple OSes where CFNetwork does NSURLSession partitioning based on first-party domain for
+us.
+
+* wtf/PlatformHave.h:
+
+LayoutTests:
+
+Skip a few ITP session partitioning tests on newer OSes now that session partitioning
+happens for all first-party domains at CFNetwork level on these OSes.
+
+* platform/ios-wk2/TestExpectations:
+* platform/mac-wk2/TestExpectations:
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-09  Chris Dumez  
+
+[macOS] Enable NSURLSession partitioning based on first-party domain at CFNetwork level
+https://bugs.webkit.org/show_bug.cgi?id=230750
+
+
+Reviewed by Alex Christensen.
+
+Skip a few ITP session partitioning tests on newer OSes now that session partitioning
+happens for all first-party domains at CFNetwork level on these OSes.
+
+* 

[webkit-changes] [286232] branches/safari-612-branch/Source/WebCore

2021-11-29 Thread repstein
Title: [286232] branches/safari-612-branch/Source/WebCore








Revision 286232
Author repst...@apple.com
Date 2021-11-29 11:37:47 -0800 (Mon, 29 Nov 2021)


Log Message
Cherry-pick r285330. rdar://problem/85004449

Nested run loops under MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange can cause hang when timeout fires
https://bugs.webkit.org/show_bug.cgi?id=232695


Reviewed by Jer Noble.

It's possible for MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange
to be called re-entrantly, if the RunLoop::run call ends up processing
an event that also wants to synchronously update the media image. This
can cause a hang:

1. Enter the outer waitForVideoOutputMediaDataWillChange call.
2. Set up the outer timeout timer.
3. Call RunLoop::run.
3.1. Enter the inner waitForVideoOutputMediaDataWillChange call.
3.2. Set up the inner timeout timer.
3.3. Call RunLoop::run.
3.3.1. Wait for new RunLoop events, and none arrive.
3.3.2. The outer timeout timer fires, calling RunLoop::stop.
3.4. Return from waitForVideoOutputMediaDataWillChange, cancelling
 the inner timeout timer.
3.5. Wait for more events on the run loop, forever.

To avoid this, we can set up a single timeout timer, and track the
nesting level of our RunLoop::run calls. The innermost RunLoop::run call
will finish either by the timer firing (which calls RunLoop::stop) or by
the video data updating (which also calls RunLoop::stop, under
outputMediaDataWillChange). Either way, once the innermost
RunLoop::run call is finished, we know we can stop processing all of
the ancestor RunLoop:run calls.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange):
(WebCore::MediaPlayerPrivateAVFoundationObjC::outputMediaDataWillChange):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285330 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h
branches/safari-612-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm




Diff

Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286231 => 286232)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-11-29 19:37:43 UTC (rev 286231)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-11-29 19:37:47 UTC (rev 286232)
@@ -1,5 +1,85 @@
 2021-11-11  Alan Coon  
 
+Cherry-pick r285330. rdar://problem/85004449
+
+Nested run loops under MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange can cause hang when timeout fires
+https://bugs.webkit.org/show_bug.cgi?id=232695
+
+
+Reviewed by Jer Noble.
+
+It's possible for MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange
+to be called re-entrantly, if the RunLoop::run call ends up processing
+an event that also wants to synchronously update the media image. This
+can cause a hang:
+
+1. Enter the outer waitForVideoOutputMediaDataWillChange call.
+2. Set up the outer timeout timer.
+3. Call RunLoop::run.
+3.1. Enter the inner waitForVideoOutputMediaDataWillChange call.
+3.2. Set up the inner timeout timer.
+3.3. Call RunLoop::run.
+3.3.1. Wait for new RunLoop events, and none arrive.
+3.3.2. The outer timeout timer fires, calling RunLoop::stop.
+3.4. Return from waitForVideoOutputMediaDataWillChange, cancelling
+ the inner timeout timer.
+3.5. Wait for more events on the run loop, forever.
+
+To avoid this, we can set up a single timeout timer, and track the
+nesting level of our RunLoop::run calls. The innermost RunLoop::run call
+will finish either by the timer firing (which calls RunLoop::stop) or by
+the video data updating (which also calls RunLoop::stop, under
+outputMediaDataWillChange). Either way, once the innermost
+RunLoop::run call is finished, we know we can stop processing all of
+the ancestor RunLoop:run calls.
+
+* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
+* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+(WebCore::MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange):
+(WebCore::MediaPlayerPrivateAVFoundationObjC::outputMediaDataWillChange):
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-04  Cameron McCormack  
+
+Nested run loops 

[webkit-changes] [286233] branches/safari-612-branch/Source/WebKit

2021-11-29 Thread repstein
Title: [286233] branches/safari-612-branch/Source/WebKit








Revision 286233
Author repst...@apple.com
Date 2021-11-29 11:37:50 -0800 (Mon, 29 Nov 2021)


Log Message
Cherry-pick r285509. rdar://problem/83381842

Fix wrong frame count of CARingBuffer in SpeechRecognitionRemoteRealtimeMediaSource
https://bugs.webkit.org/show_bug.cgi?id=232863


Reviewed by Youenn Fablet.

SpeechRecognitionRealtimeMediaSourceManager::Source uses shared ring buffer to pass audio data to
SpeechRecognitionRemoteRealtimeMediaSource. We used to ask CARingBuffer in
SpeechRecognitionRealtimeMediaSourceManager::Source to allocate with m_numberOfFrames and send m_numberOfFrames
to SpeechRecognitionRemoteRealtimeMediaSource (so SpeechRecognitionRemoteRealtimeMediaSource can create a
corresponding CARingBuffer). This is wrong because CARingBuffer::allocate() rounds up frameCount to power of
two, which means m_numberOfFrames may be not the number used. We should get the actual frameCount in the
setStorage callback of SharedRingBufferStorage, and pass that value to SpeechRecognitionRemoteRealtimeMediaSource.

Manually tested.

* UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp:
(WebKit::SpeechRecognitionRemoteRealtimeMediaSource::setStorage):
* WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp:
(WebKit::SpeechRecognitionRealtimeMediaSourceManager::Source::Source):
(WebKit::SpeechRecognitionRealtimeMediaSourceManager::Source::storageChanged):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285509 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp
branches/safari-612-branch/Source/WebKit/WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp




Diff

Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286232 => 286233)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-11-29 19:37:47 UTC (rev 286232)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-11-29 19:37:50 UTC (rev 286233)
@@ -1,3 +1,55 @@
+2021-11-11  Alan Coon  
+
+Cherry-pick r285509. rdar://problem/83381842
+
+Fix wrong frame count of CARingBuffer in SpeechRecognitionRemoteRealtimeMediaSource
+https://bugs.webkit.org/show_bug.cgi?id=232863
+
+
+Reviewed by Youenn Fablet.
+
+SpeechRecognitionRealtimeMediaSourceManager::Source uses shared ring buffer to pass audio data to
+SpeechRecognitionRemoteRealtimeMediaSource. We used to ask CARingBuffer in
+SpeechRecognitionRealtimeMediaSourceManager::Source to allocate with m_numberOfFrames and send m_numberOfFrames
+to SpeechRecognitionRemoteRealtimeMediaSource (so SpeechRecognitionRemoteRealtimeMediaSource can create a
+corresponding CARingBuffer). This is wrong because CARingBuffer::allocate() rounds up frameCount to power of
+two, which means m_numberOfFrames may be not the number used. We should get the actual frameCount in the
+setStorage callback of SharedRingBufferStorage, and pass that value to SpeechRecognitionRemoteRealtimeMediaSource.
+
+Manually tested.
+
+* UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp:
+(WebKit::SpeechRecognitionRemoteRealtimeMediaSource::setStorage):
+* WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp:
+(WebKit::SpeechRecognitionRealtimeMediaSourceManager::Source::Source):
+(WebKit::SpeechRecognitionRealtimeMediaSourceManager::Source::storageChanged):
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-09  Sihui Liu  
+
+Fix wrong frame count of CARingBuffer in SpeechRecognitionRemoteRealtimeMediaSource
+https://bugs.webkit.org/show_bug.cgi?id=232863
+
+
+Reviewed by Youenn Fablet.
+
+SpeechRecognitionRealtimeMediaSourceManager::Source uses shared ring buffer to pass audio data to
+SpeechRecognitionRemoteRealtimeMediaSource. We used to ask CARingBuffer in
+SpeechRecognitionRealtimeMediaSourceManager::Source to allocate with m_numberOfFrames and send m_numberOfFrames
+to SpeechRecognitionRemoteRealtimeMediaSource (so SpeechRecognitionRemoteRealtimeMediaSource can create a
+corresponding CARingBuffer). This is wrong because CARingBuffer::allocate() rounds up frameCount to power of
+two, which means m_numberOfFrames may be not the number used. We should get the actual frameCount in the
+setStorage callback of SharedRingBufferStorage, and pass that value to SpeechRecognitionRemoteRealtimeMediaSource.
+
+Manually tested.
+
+* UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp:
+(WebKit::SpeechRecognitionRemoteRealtimeMediaSource::setStorage):
+   

[webkit-changes] [286231] branches/safari-612-branch

2021-11-29 Thread repstein
Title: [286231] branches/safari-612-branch








Revision 286231
Author repst...@apple.com
Date 2021-11-29 11:37:43 -0800 (Mon, 29 Nov 2021)


Log Message
Cherry-pick r284434. rdar://problem/77969801

WebM with invalid size should fail to load with error
https://bugs.webkit.org/show_bug.cgi?id=231886
rdar://77969801

Reviewed by Jer Noble.

Source/WebCore:

libwebm for some elements are using a std::string or a std::vector
to store their content. Those have infallible memory allocators.
We limit the size we allow the parser to use to some reasonable values.

Test: media/media-webm-invalid-check.html

* platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::SourceBufferParserWebM::OnElementBegin):

LayoutTests:

* media/content/invalid-size.webm: Added.
* media/media-webm-invalid-check-expected.txt: Added.
* media/media-webm-invalid-check.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284434 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612-branch/LayoutTests/ChangeLog
branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp


Added Paths

branches/safari-612-branch/LayoutTests/media/content/invalid-size.webm
branches/safari-612-branch/LayoutTests/media/media-webm-invalid-check-expected.txt
branches/safari-612-branch/LayoutTests/media/media-webm-invalid-check.html




Diff

Modified: branches/safari-612-branch/LayoutTests/ChangeLog (286230 => 286231)

--- branches/safari-612-branch/LayoutTests/ChangeLog	2021-11-29 19:37:39 UTC (rev 286230)
+++ branches/safari-612-branch/LayoutTests/ChangeLog	2021-11-29 19:37:43 UTC (rev 286231)
@@ -1,3 +1,45 @@
+2021-11-11  Alan Coon  
+
+Cherry-pick r284434. rdar://problem/77969801
+
+WebM with invalid size should fail to load with error
+https://bugs.webkit.org/show_bug.cgi?id=231886
+rdar://77969801
+
+Reviewed by Jer Noble.
+
+Source/WebCore:
+
+libwebm for some elements are using a std::string or a std::vector
+to store their content. Those have infallible memory allocators.
+We limit the size we allow the parser to use to some reasonable values.
+
+Test: media/media-webm-invalid-check.html
+
+* platform/graphics/cocoa/SourceBufferParserWebM.cpp:
+(WebCore::SourceBufferParserWebM::OnElementBegin):
+
+LayoutTests:
+
+* media/content/invalid-size.webm: Added.
+* media/media-webm-invalid-check-expected.txt: Added.
+* media/media-webm-invalid-check.html: Added.
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-10-18  Jean-Yves Avenard  
+
+WebM with invalid size should fail to load with error
+https://bugs.webkit.org/show_bug.cgi?id=231886
+rdar://77969801
+
+Reviewed by Jer Noble.
+
+* media/content/invalid-size.webm: Added.
+* media/media-webm-invalid-check-expected.txt: Added.
+* media/media-webm-invalid-check.html: Added.
+
 2021-11-09  Alan Coon  
 
 Cherry-pick r285389. rdar://problem/84380291


Added: branches/safari-612-branch/LayoutTests/media/content/invalid-size.webm (0 => 286231)

--- branches/safari-612-branch/LayoutTests/media/content/invalid-size.webm	(rev 0)
+++ branches/safari-612-branch/LayoutTests/media/content/invalid-size.webm	2021-11-29 19:37:43 UTC (rev 286231)
@@ -0,0 +1 @@
+Eߣ\xFFB\x82AA\xC0t]@\xFF\xFFw\x80\xBBS\xACM\x9Bt\x8DM\xBB\xF9\xFB\xFF\xFF\x86a\x86a\x86\xACI\xA9f\x88*Ա
\ No newline at end of file


Added: branches/safari-612-branch/LayoutTests/media/media-webm-invalid-check-expected.txt (0 => 286231)

--- branches/safari-612-branch/LayoutTests/media/media-webm-invalid-check-expected.txt	(rev 0)
+++ branches/safari-612-branch/LayoutTests/media/media-webm-invalid-check-expected.txt	2021-11-29 19:37:43 UTC (rev 286231)
@@ -0,0 +1,6 @@
+
+RUN(video.src = ""
+EVENT(error)
+Properly failed to load media OK
+END OF TEST
+


Added: branches/safari-612-branch/LayoutTests/media/media-webm-invalid-check.html (0 => 286231)

--- branches/safari-612-branch/LayoutTests/media/media-webm-invalid-check.html	(rev 0)
+++ branches/safari-612-branch/LayoutTests/media/media-webm-invalid-check.html	2021-11-29 19:37:43 UTC (rev 286231)
@@ -0,0 +1,24 @@
+
+
+
+media-webm-no-duration
+
+window.addEventListener('load', async event => {
+try {
+window.video = document.querySelector('video');
+run('video.src = ""
+waitFor(video, 'error').then(e => {
+passTest('Properly failed to load media');
+endTest();
+});
+

[webkit-changes] [286230] branches/safari-612-branch

2021-11-29 Thread repstein
Title: [286230] branches/safari-612-branch








Revision 286230
Author repst...@apple.com
Date 2021-11-29 11:37:39 -0800 (Mon, 29 Nov 2021)


Log Message
Cherry-pick r283300. rdar://problem/85259264

DFG strength reduction on % operator should handle an INT_MIN divisor.
https://bugs.webkit.org/show_bug.cgi?id=230391


Reviewed by Robin Morisset.

JSTests:

* stress/dfg-strength-reduction-on-mod-should-handle-INT_MIN.js: Added.

Source/_javascript_Core:

* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283300 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-612-branch/JSTests/ChangeLog
branches/safari-612-branch/Source/_javascript_Core/ChangeLog
branches/safari-612-branch/Source/_javascript_Core/dfg/DFGStrengthReductionPhase.cpp


Added Paths

branches/safari-612-branch/JSTests/stress/dfg-strength-reduction-on-mod-should-handle-INT_MIN.js




Diff

Modified: branches/safari-612-branch/JSTests/ChangeLog (286229 => 286230)

--- branches/safari-612-branch/JSTests/ChangeLog	2021-11-29 19:30:03 UTC (rev 286229)
+++ branches/safari-612-branch/JSTests/ChangeLog	2021-11-29 19:37:39 UTC (rev 286230)
@@ -1,3 +1,35 @@
+2021-11-11  Alan Coon  
+
+Cherry-pick r283300. rdar://problem/85259264
+
+DFG strength reduction on % operator should handle an INT_MIN divisor.
+https://bugs.webkit.org/show_bug.cgi?id=230391
+
+
+Reviewed by Robin Morisset.
+
+JSTests:
+
+* stress/dfg-strength-reduction-on-mod-should-handle-INT_MIN.js: Added.
+
+Source/_javascript_Core:
+
+* dfg/DFGStrengthReductionPhase.cpp:
+(JSC::DFG::StrengthReductionPhase::handleNode):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283300 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-09-29  Mark Lam  
+
+DFG strength reduction on % operator should handle an INT_MIN divisor.
+https://bugs.webkit.org/show_bug.cgi?id=230391
+
+
+Reviewed by Robin Morisset.
+
+* stress/dfg-strength-reduction-on-mod-should-handle-INT_MIN.js: Added.
+
 2021-10-25  Yusuke Suzuki  
 
 [JSC] Don't branch around register allocation in DFG enumerator get by val


Added: branches/safari-612-branch/JSTests/stress/dfg-strength-reduction-on-mod-should-handle-INT_MIN.js (0 => 286230)

--- branches/safari-612-branch/JSTests/stress/dfg-strength-reduction-on-mod-should-handle-INT_MIN.js	(rev 0)
+++ branches/safari-612-branch/JSTests/stress/dfg-strength-reduction-on-mod-should-handle-INT_MIN.js	2021-11-29 19:37:39 UTC (rev 286230)
@@ -0,0 +1,11 @@
+function foo(num) {
+num |= 0;
+let x1 = num % -2147483648;
+let x2 = x1 % 5;
+
+if (x2 > 5)
+throw "Error";
+}
+
+for (let i = 0; i < 1; i++)
+foo(i);


Modified: branches/safari-612-branch/Source/_javascript_Core/ChangeLog (286229 => 286230)

--- branches/safari-612-branch/Source/_javascript_Core/ChangeLog	2021-11-29 19:30:03 UTC (rev 286229)
+++ branches/safari-612-branch/Source/_javascript_Core/ChangeLog	2021-11-29 19:37:39 UTC (rev 286230)
@@ -1,3 +1,36 @@
+2021-11-11  Alan Coon  
+
+Cherry-pick r283300. rdar://problem/85259264
+
+DFG strength reduction on % operator should handle an INT_MIN divisor.
+https://bugs.webkit.org/show_bug.cgi?id=230391
+
+
+Reviewed by Robin Morisset.
+
+JSTests:
+
+* stress/dfg-strength-reduction-on-mod-should-handle-INT_MIN.js: Added.
+
+Source/_javascript_Core:
+
+* dfg/DFGStrengthReductionPhase.cpp:
+(JSC::DFG::StrengthReductionPhase::handleNode):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@283300 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-09-29  Mark Lam  
+
+DFG strength reduction on % operator should handle an INT_MIN divisor.
+https://bugs.webkit.org/show_bug.cgi?id=230391
+
+
+Reviewed by Robin Morisset.
+
+* dfg/DFGStrengthReductionPhase.cpp:
+(JSC::DFG::StrengthReductionPhase::handleNode):
+
 2021-10-25  Yusuke Suzuki  
 
 [JSC] Don't branch around register allocation in DFG enumerator get by val


Modified: branches/safari-612-branch/Source/_javascript_Core/dfg/DFGStrengthReductionPhase.cpp (286229 => 286230)

--- branches/safari-612-branch/Source/_javascript_Core/dfg/DFGStrengthReductionPhase.cpp	2021-11-29 19:30:03 UTC (rev 286229)
+++ branches/safari-612-branch/Source/_javascript_Core/dfg/DFGStrengthReductionPhase.cpp	2021-11-29 19:37:39 UTC (rev 286230)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013-2019 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2021 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -197,8 +197,15 

[webkit-changes] [286239] branches/safari-612-branch/Source/WebKit

2021-11-29 Thread repstein
Title: [286239] branches/safari-612-branch/Source/WebKit








Revision 286239
Author repst...@apple.com
Date 2021-11-29 11:38:11 -0800 (Mon, 29 Nov 2021)


Log Message
Revert r285690. rdar://problem/83381842

Modified Paths

branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp
branches/safari-612-branch/Source/WebKit/WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp




Diff

Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286238 => 286239)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-11-29 19:38:08 UTC (rev 286238)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-11-29 19:38:11 UTC (rev 286239)
@@ -1,3 +1,7 @@
+2021-11-12  Russell Epstein  
+
+Revert r285690. rdar://problem/83381842
+
 2021-11-11  Alan Coon  
 
 Cherry-pick r285565. rdar://problem/83159358


Modified: branches/safari-612-branch/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp (286238 => 286239)

--- branches/safari-612-branch/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp	2021-11-29 19:38:08 UTC (rev 286238)
+++ branches/safari-612-branch/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp	2021-11-29 19:38:11 UTC (rev 286239)
@@ -77,13 +77,8 @@
 
 void SpeechRecognitionRemoteRealtimeMediaSource::setStorage(const SharedMemory::Handle& handle, const WebCore::CAAudioStreamDescription& description, uint64_t numberOfFrames)
 {
-if (!numberOfFrames) {
-m_ringBuffer = nullptr;
-m_buffer = nullptr;
-return;
-}
+m_description = description;
 
-m_description = description;
 m_ringBuffer = WebCore::CARingBuffer::adoptStorage(makeUniqueRef(handle), description, numberOfFrames).moveToUniquePtr();
 m_buffer = makeUnique(description);
 }


Modified: branches/safari-612-branch/Source/WebKit/WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp (286238 => 286239)

--- branches/safari-612-branch/Source/WebKit/WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp	2021-11-29 19:38:08 UTC (rev 286238)
+++ branches/safari-612-branch/Source/WebKit/WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp	2021-11-29 19:38:11 UTC (rev 286239)
@@ -63,7 +63,7 @@
 , m_source(WTFMove(source))
 , m_connection(WTFMove(connection))
 #if PLATFORM(COCOA)
-, m_ringBuffer(makeUniqueRef(std::bind(::storageChanged, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)))
+, m_ringBuffer(makeUniqueRef(std::bind(::storageChanged, this, std::placeholders::_1)))
 #endif
 {
 m_source->addObserver(*this);
@@ -113,7 +113,9 @@
 if (m_description != description) {
 ASSERT(description.platformDescription().type == PlatformDescription::CAAudioStreamBasicType);
 m_description = *WTF::get(description.platformDescription().description);
-m_ringBuffer.allocate(m_description.streamDescription(), m_description.sampleRate() * 2);
+
+m_numberOfFrames = m_description.sampleRate() * 2;
+m_ringBuffer.allocate(m_description.streamDescription(), m_numberOfFrames);
 }
 
 ASSERT(is(audioData));
@@ -129,7 +131,7 @@
 
 #if PLATFORM(COCOA)
 
-void storageChanged(SharedMemory* storage, const WebCore::CAAudioStreamDescription& description, size_t numberOfFrames)
+void storageChanged(SharedMemory* storage)
 {
 DisableMallocRestrictionsForCurrentThreadScope scope;
 SharedMemory::Handle handle;
@@ -140,7 +142,7 @@
 #else
 uint64_t dataSize = 0;
 #endif
-m_connection->send(Messages::SpeechRecognitionRemoteRealtimeMediaSourceManager::SetStorage(m_identifier, SharedMemory::IPCHandle { WTFMove(handle),  dataSize }, description, numberOfFrames), 0);
+m_connection->send(Messages::SpeechRecognitionRemoteRealtimeMediaSourceManager::SetStorage(m_identifier, SharedMemory::IPCHandle { WTFMove(handle),  dataSize }, m_description, m_numberOfFrames), 0);
 }
 
 #endif
@@ -160,6 +162,7 @@
 Ref m_connection;
 
 #if PLATFORM(COCOA)
+uint64_t m_numberOfFrames { 0 };
 CARingBuffer m_ringBuffer;
 CAAudioStreamDescription m_description { };
 #endif






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286229] trunk/LayoutTests

2021-11-29 Thread commit-queue
Title: [286229] trunk/LayoutTests








Revision 286229
Author commit-qu...@webkit.org
Date 2021-11-29 11:30:03 -0800 (Mon, 29 Nov 2021)


Log Message
[GLIB] Update test expectations and baselines. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=233530

Patch by Arcady Goldmints-Orlov  on 2021-11-29

* platform/glib/TestExpectations:
* platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt: Added.
* platform/glib/storage/domstorage/sessionstorage/blocked-file-access-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/glib/TestExpectations
trunk/LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt


Added Paths

trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt
trunk/LayoutTests/platform/glib/storage/
trunk/LayoutTests/platform/glib/storage/domstorage/
trunk/LayoutTests/platform/glib/storage/domstorage/sessionstorage/
trunk/LayoutTests/platform/glib/storage/domstorage/sessionstorage/blocked-file-access-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (286228 => 286229)

--- trunk/LayoutTests/ChangeLog	2021-11-29 19:10:22 UTC (rev 286228)
+++ trunk/LayoutTests/ChangeLog	2021-11-29 19:30:03 UTC (rev 286229)
@@ -1,3 +1,13 @@
+2021-11-29  Arcady Goldmints-Orlov  
+
+[GLIB] Update test expectations and baselines. Unreviewed test gardening.
+https://bugs.webkit.org/show_bug.cgi?id=233530
+
+* platform/glib/TestExpectations:
+* platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt: Added.
+* platform/glib/storage/domstorage/sessionstorage/blocked-file-access-expected.txt: Added.
+* platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
+
 2021-11-29  Andreu Botella  
 
 Form payloads with text/plain enctype should have a final \r\n


Modified: trunk/LayoutTests/platform/glib/TestExpectations (286228 => 286229)

--- trunk/LayoutTests/platform/glib/TestExpectations	2021-11-29 19:10:22 UTC (rev 286228)
+++ trunk/LayoutTests/platform/glib/TestExpectations	2021-11-29 19:30:03 UTC (rev 286229)
@@ -603,6 +603,8 @@
 webkit.org/b/231516 fast/css/calc-parsing.html [ Pass Failure ]
 webkit.org/b/231516 imported/w3c/web-platform-tests/css/css-values/hypot-pow-sqrt-invalid.html [ Pass Failure ]
 
+webkit.org/b/233478 imported/w3c/web-platform-tests/css/css-transforms/backface-visibility-hidden-child-will-change-transform.html [ ImageOnlyFailure ]
+
 #
 # End of CSS-related bugs
 #
@@ -1234,6 +1236,8 @@
 
 webkit.org/b/232726 webaudio/AudioBuffer/huge-buffer.html [ Pass Slow ]
 
+webkit.org/b/233529 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower.html [ Failure ]
+
 #
 # End of WebAudio-related bugs
 #


Added: trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt (0 => 286229)

--- trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt	(rev 0)
+++ trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-inline-value-expected.txt	2021-11-29 19:30:03 UTC (rev 286229)
@@ -0,0 +1,43 @@
+
+FAIL Interpolation between translateX(0px) and translateX(50px) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "translateX(25px)" but got "matrix(1, 0, 0, 1, 25, 0)"
+FAIL Interpolation between translateX(0%) and translateX(50%) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "translateX(25%)" but got "matrix(1, 0, 0, 1, 0, 0)"
+FAIL Interpolation between translateY(0%) and translateX(50%) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected expected "translate(25%)" but got "matrix(1, 0, 0, 1, 0, 0)"
+FAIL Interpolation between translateX(50px) and translateY(50px) gives the correct computed value halfway according to commitStyles. assert_equals: The value at 50% progress is as expected 

[webkit-changes] [286228] trunk

2021-11-29 Thread ysuzuki
Title: [286228] trunk








Revision 286228
Author ysuz...@apple.com
Date 2021-11-29 11:10:22 -0800 (Mon, 29 Nov 2021)


Log Message
[JSC] GetTypedArrayLengthAsInt52 can get Array::Generic ArrayMode
https://bugs.webkit.org/show_bug.cgi?id=233571
rdar://85812164

Reviewed by Mark Lam.

JSTests:

* stress/get-typed-array-length-as-int52-generic.js: Added.
(foo.bar):
(foo):

Source/_javascript_Core:

If speculation is not populated enough, then GetTypedArrayLengthAsInt52 can get Array::Generic.
In that case, we should convert it to Array::ForceExit as it is done in GetArrayLength.
And blessArrayOperation inserts ForceOSRExit. So GetTypedArrayLengthAsInt52 won't be compiled.

* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayLengthAsInt52):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayLengthAsInt52):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGClobberize.h
trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp
trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp
trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp


Added Paths

trunk/JSTests/stress/get-typed-array-length-as-int52-generic.js




Diff

Modified: trunk/JSTests/ChangeLog (286227 => 286228)

--- trunk/JSTests/ChangeLog	2021-11-29 19:06:33 UTC (rev 286227)
+++ trunk/JSTests/ChangeLog	2021-11-29 19:10:22 UTC (rev 286228)
@@ -1,3 +1,15 @@
+2021-11-29  Yusuke Suzuki  
+
+[JSC] GetTypedArrayLengthAsInt52 can get Array::Generic ArrayMode
+https://bugs.webkit.org/show_bug.cgi?id=233571
+rdar://85812164
+
+Reviewed by Mark Lam.
+
+* stress/get-typed-array-length-as-int52-generic.js: Added.
+(foo.bar):
+(foo):
+
 2021-11-24  Michael Catanzaro  
 
 Skip new stress test get-array-length-reuse.js if memory-limited


Added: trunk/JSTests/stress/get-typed-array-length-as-int52-generic.js (0 => 286228)

--- trunk/JSTests/stress/get-typed-array-length-as-int52-generic.js	(rev 0)
+++ trunk/JSTests/stress/get-typed-array-length-as-int52-generic.js	2021-11-29 19:10:22 UTC (rev 286228)
@@ -0,0 +1,12 @@
+//@ skip if not $jitTests
+//@ runDefault("--jitPolicyScale=0", "--useLLInt=0")
+function foo() {
+  function bar() {}
+  bar(...arguments);
+  arguments.length = undefined;
+  bar(...arguments);
+  for (let _ of new Uint8Array());
+}
+
+for (let i = 0; i < 15000; i++)
+  foo();


Modified: trunk/Source/_javascript_Core/ChangeLog (286227 => 286228)

--- trunk/Source/_javascript_Core/ChangeLog	2021-11-29 19:06:33 UTC (rev 286227)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-11-29 19:10:22 UTC (rev 286228)
@@ -1,3 +1,24 @@
+2021-11-29  Yusuke Suzuki  
+
+[JSC] GetTypedArrayLengthAsInt52 can get Array::Generic ArrayMode
+https://bugs.webkit.org/show_bug.cgi?id=233571
+rdar://85812164
+
+Reviewed by Mark Lam.
+
+If speculation is not populated enough, then GetTypedArrayLengthAsInt52 can get Array::Generic.
+In that case, we should convert it to Array::ForceExit as it is done in GetArrayLength.
+And blessArrayOperation inserts ForceOSRExit. So GetTypedArrayLengthAsInt52 won't be compiled.
+
+* dfg/DFGClobberize.h:
+(JSC::DFG::clobberize):
+* dfg/DFGFixupPhase.cpp:
+(JSC::DFG::FixupPhase::fixupNode):
+* dfg/DFGSpeculativeJIT64.cpp:
+(JSC::DFG::SpeculativeJIT::compileGetTypedArrayLengthAsInt52):
+* ftl/FTLLowerDFGToB3.cpp:
+(JSC::FTL::DFG::LowerDFGToB3::compileGetTypedArrayLengthAsInt52):
+
 2021-11-29  Zan Dobersek  
 
 [RISCV64] Populate RISCV64Assembler with instruction-generation methods


Modified: trunk/Source/_javascript_Core/dfg/DFGClobberize.h (286227 => 286228)

--- trunk/Source/_javascript_Core/dfg/DFGClobberize.h	2021-11-29 19:06:33 UTC (rev 286227)
+++ trunk/Source/_javascript_Core/dfg/DFGClobberize.h	2021-11-29 19:10:22 UTC (rev 286228)
@@ -1456,7 +1456,7 @@
 }
 
 default:
-ASSERT(mode.isSomeTypedArrayView());
+DFG_ASSERT(graph, node, mode.isSomeTypedArrayView());
 read(MiscFields);
 def(HeapLocation(ArrayLengthLoc, MiscFields, node->child1()), LazyNode(node));
 return;
@@ -1465,10 +1465,16 @@
 
 case GetTypedArrayLengthAsInt52: {
 ArrayMode mode = node->arrayMode();
-RELEASE_ASSERT(mode.isSomeTypedArrayView());
-read(MiscFields);
-def(HeapLocation(TypedArrayLengthInt52Loc, MiscFields, node->child1()), LazyNode(node));
-return;
+DFG_ASSERT(graph, node, mode.isSomeTypedArrayView() || mode.type() == Array::ForceExit);
+switch (mode.type()) {
+case Array::ForceExit:
+write(SideState);
+return;
+default:
+read(MiscFields);

[webkit-changes] [286227] trunk/Source

2021-11-29 Thread graouts
Title: [286227] trunk/Source








Revision 286227
Author grao...@webkit.org
Date 2021-11-29 11:06:33 -0800 (Mon, 29 Nov 2021)


Log Message
[Model] clean up compile-time flags and condition IDL methods behind them
https://bugs.webkit.org/show_bug.cgi?id=233407

Reviewed by Tim Horton.

Source/WebCore:

We condition the availability of IDL methods recently added to HTMLModelElement by
the new set of ENABLE_MODEL_ELEMENT_XXX_CONTROL flags.

* Modules/model-element/HTMLModelElement.cpp:
* Modules/model-element/HTMLModelElement.h:
* Modules/model-element/HTMLModelElement.idl:
* Modules/model-element/ModelPlayer.h:
* Modules/model-element/dummy/DummyModelPlayer.cpp:
* Modules/model-element/dummy/DummyModelPlayer.h:
* Modules/model-element/scenekit/SceneKitModelPlayer.h:
* Modules/model-element/scenekit/SceneKitModelPlayer.mm:

Source/WebCore/PAL:

We adopt the changes made to flags in wtf/PlatformEnableCocoa.h and wtf/PlatformHave.h.
We also remove the use of existing flags in QuartzCoreSPI.h since they're not actually
valid.

* pal/spi/cocoa/QuartzCoreSPI.h:
* pal/spi/ios/SystemPreviewSPI.h:
* pal/spi/mac/SystemPreviewSPI.h:

Source/WebKit:

On top of adopting the changes made to flags in wtf/PlatformEnableCocoa.h and wtf/PlatformHave.h,
we condition the definition of code related to IDL methods recently added to HTMLModelElement by
the new set of ENABLE_MODEL_ELEMENT_XXX_CONTROL flags, uncluding WebPageProxy messages allowing
for this feature to work.

* Shared/ModelIdentifier.h:
(WebKit::ModelIdentifier::encode const):
(WebKit::ModelIdentifier::decode):
* UIProcess/Cocoa/ModelElementControllerCocoa.mm:
(WebKit::previewHasCameraSupport):
(WebKit::ModelElementController::getCameraForModelElement):
(WebKit::ModelElementController::setCameraForModelElement):
(WebKit::previewHasAnimationSupport):
(WebKit::ModelElementController::isPlayingAnimationForModelElement):
(WebKit::ModelElementController::setAnimationIsPlayingForModelElement):
(WebKit::ModelElementController::isLoopingAnimationForModelElement):
(WebKit::ModelElementController::setIsLoopingAnimationForModelElement):
(WebKit::ModelElementController::animationDurationForModelElement):
(WebKit::ModelElementController::animationCurrentTimeForModelElement):
(WebKit::ModelElementController::setAnimationCurrentTimeForModelElement):
(WebKit::previewHasAudioSupport):
(WebKit::ModelElementController::hasAudioForModelElement):
(WebKit::ModelElementController::isMutedForModelElement):
(WebKit::ModelElementController::setIsMutedForModelElement):
* UIProcess/ModelElementController.h:
* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
(WebKit::RemoteLayerTreeHost::makeNode):
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/WKModelInteractionGestureRecognizer.h:
* UIProcess/ios/WKModelInteractionGestureRecognizer.mm:
* UIProcess/ios/WKModelView.h:
* UIProcess/ios/WKModelView.mm:
* WebProcess/Model/ARKitInlinePreviewModelPlayer.h:
* WebProcess/Model/ARKitInlinePreviewModelPlayer.mm:
* WebProcess/Model/WebModelPlayerProvider.cpp:
(WebKit::WebModelPlayerProvider::createModelPlayer):
* WebProcess/Model/ios/ARKitInlinePreviewModelPlayerIOS.h:
* WebProcess/Model/ios/ARKitInlinePreviewModelPlayerIOS.mm:
* WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.h:
* WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm:
(WebKit::ARKitInlinePreviewModelPlayerMac::supportsMouseInteraction):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::setWebsiteDataStoreParameters):

Source/WTF:

We refactor and augment the flags related to the  element. First, we change the
following existing flags from ENABLE to HAVE since they are about the availability of
specific APIs in ARKit, and more specific ASVInlinePreview. The changes are as follows:

ENABLE_ARKIT_INLINE_PREVIEW_IOS => HAVE_ASV_INLINE_PREVIEW_IOS
ENABLE_ARKIT_INLINE_PREVIEW_MAC => HAVE_ASV_INLINE_PREVIEW_MAC
ENABLE_ARKIT_INLINE_PREVIEW_CAMERA_TRANSFORM => HAVE_ASV_INLINE_PREVIEW_CAMERA_CONTROL
ENABLE_ARKIT_INLINE_PREVIEW_ANIMATIONS_CONTROL => HAVE_ASV_INLINE_PREVIEW_ANIMATION_CONTROL
ENABLE_ARKIT_INLINE_PREVIEW_AUDIO_CONTROL => HAVE_ASV_INLINE_PREVIEW_AUDIO_CONTROL

We retain the ENABLE_ARKIT_INLINE_PREVIEW flag however as, even when the ASVInlinePreview API is
available, we may elect to not use this API.

Then, we add three new flags to specify whether some  features exposed to the Web are enabled,
all currently conditioned by the matching HAVE_ASV_INLINE_PREVIEW_ flags, but those could be subject
to more complex rules when other  backends expose supporting APIs for these features.

ENABLE_MODEL_ELEMENT_CAMERA_CONTROL
ENABLE_MODEL_ELEMENT_ANIMATION_CONTROL
ENABLE_MODEL_ELEMENT_AUDIO_CONTROL

Finally, we modify the macOS version used to define the HAVE_ASV_INLINE_PREVIEW_XXX_CONTROL flags.

* wtf/PlatformEnableCocoa.h:
* wtf/PlatformHave.h:

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/PlatformEnableCocoa.h

[webkit-changes] [286226] trunk

2021-11-29 Thread antti
Title: [286226] trunk








Revision 286226
Author an...@apple.com
Date 2021-11-29 10:43:28 -0800 (Mon, 29 Nov 2021)


Log Message
[:has() pseudo-class] id invalidation support
https://bugs.webkit.org/show_bug.cgi?id=233557

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

* web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has-expected.txt:

Source/WebCore:

The existing invalidation code doesn't automatically cover id mutations for has since it doesn't use rulesets
(because id mutations are rare and have not been worth optimizing).

* style/ChildChangeInvalidation.cpp:
(WebCore::Style::ChildChangeInvalidation::invalidateForChangedElement):

Invalidate for ids.
Only look for descendant matching :has rulesets for non-children.

* style/IdChangeInvalidation.cpp:
(WebCore::Style::IdChangeInvalidation::invalidateStyle):

Invalidate with RuleSets.

* style/RuleFeature.cpp:
(WebCore::Style::RuleFeatureSet::recursivelyCollectFeaturesFromSelector):

Collect ids for building rulesets for :has case only, similar to tags.

(WebCore::Style::RuleFeatureSet::collectFeatures):
(WebCore::Style::RuleFeatureSet::add):

Use some lambdas to reduce copy code.

(WebCore::Style::RuleFeatureSet::clear):
(WebCore::Style::RuleFeatureSet::shrinkToFit):
* style/RuleFeature.h:
* style/StyleScopeRuleSets.cpp:
(WebCore::Style::ScopeRuleSets::idInvalidationRuleSets const):
* style/StyleScopeRuleSets.h:

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/style/ChildChangeInvalidation.cpp
trunk/Source/WebCore/style/IdChangeInvalidation.cpp
trunk/Source/WebCore/style/RuleFeature.cpp
trunk/Source/WebCore/style/RuleFeature.h
trunk/Source/WebCore/style/StyleScopeRuleSets.cpp
trunk/Source/WebCore/style/StyleScopeRuleSets.h




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286225 => 286226)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-11-29 18:38:23 UTC (rev 286225)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-11-29 18:43:28 UTC (rev 286226)
@@ -1,3 +1,12 @@
+2021-11-29  Antti Koivisto  
+
+[:has() pseudo-class] id invalidation support
+https://bugs.webkit.org/show_bug.cgi?id=233557
+
+Reviewed by Simon Fraser.
+
+* web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has-expected.txt:
+
 2021-11-29  Andreu Botella  
 
 Form payloads with text/plain enctype should have a final \r\n


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has-expected.txt (286225 => 286226)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has-expected.txt	2021-11-29 18:38:23 UTC (rev 286225)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/attribute-or-elemental-selectors-in-has-expected.txt	2021-11-29 18:43:28 UTC (rev 286226)
@@ -12,7 +12,7 @@
 PASS remove .descendant from #div_grandchild: div#div_subject.color
 PASS set descendant to #div_grandchild[attrname]: div#div_subject.color
 PASS clear #div_grandchild[attrname]: div#div_subject.color
-FAIL change #div_grandchild to #div_descendant: div#div_subject.color assert_equals: expected "rgb(255, 255, 0)" but got "rgb(128, 128, 128)"
+PASS change #div_grandchild to #div_descendant: div#div_subject.color
 PASS change #div_descendant to #div_grandchild: div#div_subject.color
 PASS add descendant to #div_subject: div#div_subject.color
 PASS remove descendant from #div_subject: div#div_subject.color
@@ -22,9 +22,9 @@
 PASS remove div.child from #div_subject: div#div_subject.color
 PASS add "div > div.descendant" to #div_subject: div#div_subject.color
 PASS remove "div > div.descendant" from #div_subject: div#div_subject.color
-FAIL add div#div_descendant to #div_subject: div#div_subject.color assert_equals: expected "rgb(255, 255, 0)" but got "rgb(128, 128, 128)"
+PASS add div#div_descendant to #div_subject: div#div_subject.color
 PASS remove div#div_descendant from #div_subject: div#div_subject.color
-FAIL add "div#div_descendant" to #div_subject: div#div_subject.color assert_equals: expected "rgb(255, 255, 0)" but got "rgb(128, 128, 128)"
+PASS add "div#div_descendant" to #div_subject: div#div_subject.color
 PASS remove "div#div_descendant" from #div_subject: div#div_subject.color
 PASS add div[attrname] to #div_subject: div#div_subject.color
 PASS remove div[attrname] from #div_subject: div#div_subject.color


Modified: trunk/Source/WebCore/ChangeLog (286225 => 286226)

--- trunk/Source/WebCore/ChangeLog	2021-11-29 18:38:23 UTC (rev 286225)
+++ trunk/Source/WebCore/ChangeLog	2021-11-29 18:43:28 UTC (rev 286226)
@@ -1,3 +1,41 @@
+2021-11-29  Antti Koivisto  
+
+[:has() pseudo-class] id invalidation support
+

[webkit-changes] [286224] trunk/Source

2021-11-29 Thread mmaxfield
Title: [286224] trunk/Source








Revision 286224
Author mmaxfi...@apple.com
Date 2021-11-29 10:21:51 -0800 (Mon, 29 Nov 2021)


Log Message
[WebGPU] IPC class refactorings
https://bugs.webkit.org/show_bug.cgi?id=233546

Reviewed by Dean Jackson.

Source/WebCore/PAL:

Make classes fast allocated.

GPUImpl gets a create() function with no arguments, for ease of callers.

* pal/graphics/WebGPU/Impl/WebGPUAdapterImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUBindGroupImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUBindGroupLayoutImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUBufferImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUCommandBufferImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUCommandEncoderImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUComputePassEncoderImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUComputePipelineImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUConvertToBackingContext.h:
* pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUDowncastConvertToBackingContext.h:
* pal/graphics/WebGPU/Impl/WebGPUExternalTextureImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUImpl.cpp:
(PAL::WebGPU::GPUImpl::create):
* pal/graphics/WebGPU/Impl/WebGPUImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUPipelineLayoutImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUQuerySetImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUQueueImpl.h:
* pal/graphics/WebGPU/Impl/WebGPURenderBundleEncoderImpl.h:
* pal/graphics/WebGPU/Impl/WebGPURenderBundleImpl.h:
* pal/graphics/WebGPU/Impl/WebGPURenderPassEncoderImpl.h:
* pal/graphics/WebGPU/Impl/WebGPURenderPipelineImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUSamplerImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUShaderModuleImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUTextureImpl.h:
* pal/graphics/WebGPU/Impl/WebGPUTextureViewImpl.h:

Source/WebKit:

Make classes fast allocated. Also, make the root() function recursive, instead of hardcoding
each class's distance from the root.

RemoteGPUProxy has to be in the WebKit namespace, rather than the WebKit::WebGPU namespace,
because it will be a message receiver, and our code generator doesn't know anything about the
nested namespace.

Also make sure that async functions call their callbacks in every codepath.

No new tests because there is no behavior change.

* GPUProcess/graphics/WebGPU/RemoteAdapter.h:
* GPUProcess/graphics/WebGPU/RemoteBindGroup.h:
* GPUProcess/graphics/WebGPU/RemoteBindGroupLayout.h:
* GPUProcess/graphics/WebGPU/RemoteBuffer.h:
* GPUProcess/graphics/WebGPU/RemoteCommandBuffer.h:
* GPUProcess/graphics/WebGPU/RemoteCommandEncoder.h:
* GPUProcess/graphics/WebGPU/RemoteComputePassEncoder.h:
* GPUProcess/graphics/WebGPU/RemoteComputePipeline.h:
* GPUProcess/graphics/WebGPU/RemoteDevice.h:
* GPUProcess/graphics/WebGPU/RemoteExternalTexture.h:
* GPUProcess/graphics/WebGPU/RemoteGPU.h:
* GPUProcess/graphics/WebGPU/RemotePipelineLayout.h:
* GPUProcess/graphics/WebGPU/RemoteQuerySet.h:
* GPUProcess/graphics/WebGPU/RemoteQueue.h:
* GPUProcess/graphics/WebGPU/RemoteRenderBundle.h:
* GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.h:
* GPUProcess/graphics/WebGPU/RemoteRenderPassEncoder.h:
* GPUProcess/graphics/WebGPU/RemoteRenderPipeline.h:
* GPUProcess/graphics/WebGPU/RemoteSampler.h:
* GPUProcess/graphics/WebGPU/RemoteShaderModule.h:
* GPUProcess/graphics/WebGPU/RemoteTexture.h:
* GPUProcess/graphics/WebGPU/RemoteTextureView.h:
* GPUProcess/graphics/WebGPU/WebGPUObjectHeap.h:
* GPUProcess/graphics/WebGPU/WebGPUObjectRegistry.h:
* WebProcess/GPU/graphics/WebGPU/RemoteAdapterProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteBindGroupLayoutProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteBindGroupProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteBufferProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteCommandBufferProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteCommandEncoderProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteComputePassEncoderProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteComputePipelineProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteDeviceProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteExternalTextureProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp:
(WebKit::RemoteGPUProxy::requestAdapter):
(WebKit::WebGPU::RemoteGPUProxy::RemoteGPUProxy): Deleted.
(WebKit::WebGPU::RemoteGPUProxy::~RemoteGPUProxy): Deleted.
(WebKit::WebGPU::RemoteGPUProxy::requestAdapter): Deleted.
* WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemotePipelineLayoutProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteQuerySetProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteQueueProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleEncoderProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteRenderBundleProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteRenderPassEncoderProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteRenderPipelineProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteSamplerProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteShaderModuleProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteTextureProxy.h:
* WebProcess/GPU/graphics/WebGPU/RemoteTextureViewProxy.h:
* 

[webkit-changes] [286223] trunk

2021-11-29 Thread simon . fraser
Title: [286223] trunk








Revision 286223
Author simon.fra...@apple.com
Date 2021-11-29 10:17:28 -0800 (Mon, 29 Nov 2021)


Log Message
Remove some unused event names
https://bugs.webkit.org/show_bug.cgi?id=233485

Reviewed by Sam Weinig.

Source/WebCore:

'webkitspeechchange' was added in r69100 and should have been removed in r172259.

'webkitregionoversetchange' was added in r151777 and should have been removed in r59.

'webkitwillreveal*' were added in r163092 and should have been removed in r218651.

* dom/EventNames.h:
* html/HTMLAttributeNames.in:
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::createWindowEventHandlerNameMap):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::createEventHandlerNameMap):

Source/WebInspectorUI:

* UserInterface/Models/ScriptTimelineRecord.js:
(WI.ScriptTimelineRecord.EventType.displayName):

Modified Paths

trunk/LayoutTests/fast/dom/event-handler-attributes.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/EventNames.h
trunk/Source/WebCore/html/HTMLAttributeNames.in
trunk/Source/WebCore/html/HTMLBodyElement.cpp
trunk/Source/WebCore/html/HTMLElement.cpp
trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Models/ScriptTimelineRecord.js




Diff

Modified: trunk/LayoutTests/fast/dom/event-handler-attributes.html (286222 => 286223)

--- trunk/LayoutTests/fast/dom/event-handler-attributes.html	2021-11-29 18:15:49 UTC (rev 286222)
+++ trunk/LayoutTests/fast/dom/event-handler-attributes.html	2021-11-29 18:17:28 UTC (rev 286223)
@@ -455,10 +455,6 @@
 page/DOMWindow.idl:[NotEnumerable, Conditional=IOS_GESTURE_EVENTS] attribute EventHandler ongesturestart;
 page/DOMWindow.idl:[NotEnumerable, Conditional=ORIENTATION_EVENTS] attribute EventHandler onorientationchange;
 page/DOMWindow.idl:[NotEnumerable, Conditional=PROXIMITY_EVENTS] attribute EventHandler onwebkitdeviceproximity;
-page/DOMWindow.idl:[NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealbottom;
-page/DOMWindow.idl:[NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealleft;
-page/DOMWindow.idl:[NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealright;
-page/DOMWindow.idl:[NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealtop;
 page/DOMWindow.idl:[NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcecancelled;
 page/DOMWindow.idl:[NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcechanged;
 page/DOMWindow.idl:[NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceclick;
@@ -470,10 +466,6 @@
 dom/Document.idl:[NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchend;
 dom/Document.idl:[NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchmove;
 dom/Document.idl:[NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchstart;
-dom/Document.idl:[NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealbottom;
-dom/Document.idl:[NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealleft;
-dom/Document.idl:[NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealright;
-dom/Document.idl:[NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealtop;
 dom/Document.idl:[NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcecancelled;
 dom/Document.idl:[NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcechanged;
 dom/Document.idl:[NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforceclick;
@@ -489,10 +481,6 @@
 dom/Element.idl:[NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchend;
 dom/Element.idl:[NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchmove;
 dom/Element.idl:[NotEnumerable, Conditional=TOUCH_EVENTS] attribute EventHandler ontouchstart;
-dom/Element.idl:[NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealbottom;
-dom/Element.idl:[NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealleft;
-dom/Element.idl:[NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealright;
-dom/Element.idl:[NotEnumerable, Conditional=WILL_REVEAL_EDGE_EVENTS] attribute EventHandler onwebkitwillrevealtop;
 dom/Element.idl:[NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcecancelled;
 dom/Element.idl:[NotEnumerable, Conditional=MOUSE_FORCE_EVENTS] attribute EventHandler onwebkitmouseforcechanged;
 

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

2021-11-29 Thread commit-queue
Title: [286222] trunk/Source/WebCore








Revision 286222
Author commit-qu...@webkit.org
Date 2021-11-29 10:15:49 -0800 (Mon, 29 Nov 2021)


Log Message
[GTK] 2.33.1 tarball fails to build on i386
https://bugs.webkit.org/show_bug.cgi?id=233564

Unreviewed.

Patch by Michael Catanzaro  on 2021-11-29

* platform/graphics/SourceBufferPrivate.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/SourceBufferPrivate.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (286221 => 286222)

--- trunk/Source/WebCore/ChangeLog	2021-11-29 18:15:12 UTC (rev 286221)
+++ trunk/Source/WebCore/ChangeLog	2021-11-29 18:15:49 UTC (rev 286222)
@@ -1,3 +1,12 @@
+2021-11-29  Michael Catanzaro  
+
+[GTK] 2.33.1 tarball fails to build on i386
+https://bugs.webkit.org/show_bug.cgi?id=233564
+
+Unreviewed.
+
+* platform/graphics/SourceBufferPrivate.h:
+
 2021-11-29  Andreu Botella  
 
 Form payloads with text/plain enctype should have a final \r\n


Modified: trunk/Source/WebCore/platform/graphics/SourceBufferPrivate.h (286221 => 286222)

--- trunk/Source/WebCore/platform/graphics/SourceBufferPrivate.h	2021-11-29 18:15:12 UTC (rev 286221)
+++ trunk/Source/WebCore/platform/graphics/SourceBufferPrivate.h	2021-11-29 18:15:49 UTC (rev 286222)
@@ -44,6 +44,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 
 namespace WebCore {






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286221] trunk

2021-11-29 Thread commit-queue
Title: [286221] trunk








Revision 286221
Author commit-qu...@webkit.org
Date 2021-11-29 10:15:12 -0800 (Mon, 29 Nov 2021)


Log Message
Form payloads with text/plain enctype should have a final \r\n
https://bugs.webkit.org/show_bug.cgi?id=220783

Patch by Andreu Botella  on 2021-11-29
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-empty-file.window-expected.txt:
* web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-usv-expected.txt:
* web-platform-tests/html/semantics/forms/form-submission-0/submit-entity-body-expected.txt:
* web-platform-tests/html/semantics/forms/form-submission-0/text-plain.window-expected.txt:

Source/WebCore:

According to the HTML specification, the text/plain form enctype should not only have
entries separated by a \r\n linebreak, but it should also have a final \r\n linebreak.
Firefox and Chrome follow this, while WebKit skips the final linebreak for non-mailto form
submissions. This change adds it in every case.

Tests: imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-empty-file.window.html
   imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/submit-entity-body.html
   imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/text-plain.window.html
   http/tests/misc/form-post-textplain-cross-site.html
   http/tests/misc/form-post-textplain.html

* platform/network/FormDataBuilder.cpp:
(WebCore::FormDataBuilder::addKeyValuePairAsFormData): Changed to add a trailing newline.
* loader/FormSubmission.cpp:
(WebCore::appendMailtoPostFormDataToURL): Changed to remove the extra trailing newline that
was added to text/plain mailto payloads.

LayoutTests:

* http/tests/misc/resources/form-post-textplain.py:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/http/tests/misc/resources/form-post-textplain.py
trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-empty-file.window-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-usv-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/submit-entity-body-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/text-plain.window-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/loader/FormSubmission.cpp
trunk/Source/WebCore/platform/network/FormDataBuilder.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (286220 => 286221)

--- trunk/LayoutTests/ChangeLog	2021-11-29 18:10:34 UTC (rev 286220)
+++ trunk/LayoutTests/ChangeLog	2021-11-29 18:15:12 UTC (rev 286221)
@@ -1,3 +1,12 @@
+2021-11-29  Andreu Botella  
+
+Form payloads with text/plain enctype should have a final \r\n
+https://bugs.webkit.org/show_bug.cgi?id=220783
+
+Reviewed by Darin Adler.
+
+* http/tests/misc/resources/form-post-textplain.py:
+
 2021-11-29  Rob Buis  
 
 Only handle ident tokens in consumeWillChange


Modified: trunk/LayoutTests/http/tests/misc/resources/form-post-textplain.py (286220 => 286221)

--- trunk/LayoutTests/http/tests/misc/resources/form-post-textplain.py	2021-11-29 18:10:34 UTC (rev 286220)
+++ trunk/LayoutTests/http/tests/misc/resources/form-post-textplain.py	2021-11-29 18:15:12 UTC (rev 286221)
@@ -20,7 +20,7 @@
 else:
 sys.stdout.write('FAIL: Content-type should be text/plain, but was \'{}\''.format(content_type))
 
-if data == 'f1=This is field #1 &!@$%\r\n=\'<>\r\nf2=This is field #2 ""':
+if data == 'f1=This is field #1 &!@$%\r\n=\'<>\r\nf2=This is field #2 ""\r\n':
 sys.stdout.write('SUCCESS')
 else:
 sys.stdout.write('FAILURE: {}'.format(data))


Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286220 => 286221)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-11-29 18:10:34 UTC (rev 286220)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-11-29 18:15:12 UTC (rev 286221)
@@ -1,3 +1,15 @@
+2021-11-29  Andreu Botella  
+
+Form payloads with text/plain enctype should have a final \r\n
+https://bugs.webkit.org/show_bug.cgi?id=220783
+
+Reviewed by Darin Adler.
+
+* web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-empty-file.window-expected.txt:
+* web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-usv-expected.txt:
+* web-platform-tests/html/semantics/forms/form-submission-0/submit-entity-body-expected.txt:
+* web-platform-tests/html/semantics/forms/form-submission-0/text-plain.window-expected.txt:
+
 2021-11-29  Youenn Fablet  
 
 Apply WebPreferences on ServiceWorker settings


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-data-set-empty-file.window-expected.txt (286220 => 

[webkit-changes] [286220] trunk

2021-11-29 Thread commit-queue
Title: [286220] trunk








Revision 286220
Author commit-qu...@webkit.org
Date 2021-11-29 10:10:34 -0800 (Mon, 29 Nov 2021)


Log Message
Only handle ident tokens in consumeWillChange
https://bugs.webkit.org/show_bug.cgi?id=233459

Patch by Rob Buis  on 2021-11-29
Reviewed by Antti Koivisto.

Source/WebCore:

Only handle ident tokens in consumeWillChange.

Test: fast/css/variables/will-change-variable-resolve-crash.html

* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeWillChange):

LayoutTests:

* fast/css/variables/will-change-variable-resolve-crash-expected.txt: Added.
* fast/css/variables/will-change-variable-resolve-crash.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp


Added Paths

trunk/LayoutTests/fast/css/variables/will-change-variable-resolve-crash-expected.txt
trunk/LayoutTests/fast/css/variables/will-change-variable-resolve-crash.html




Diff

Modified: trunk/LayoutTests/ChangeLog (286219 => 286220)

--- trunk/LayoutTests/ChangeLog	2021-11-29 17:58:55 UTC (rev 286219)
+++ trunk/LayoutTests/ChangeLog	2021-11-29 18:10:34 UTC (rev 286220)
@@ -1,3 +1,13 @@
+2021-11-29  Rob Buis  
+
+Only handle ident tokens in consumeWillChange
+https://bugs.webkit.org/show_bug.cgi?id=233459
+
+Reviewed by Antti Koivisto.
+
+* fast/css/variables/will-change-variable-resolve-crash-expected.txt: Added.
+* fast/css/variables/will-change-variable-resolve-crash.html: Added.
+
 2021-10-27  Sergio Villar Senin  
 
 [css-flexbox] Do not shrink tables bellow their intrinsic sizes


Added: trunk/LayoutTests/fast/css/variables/will-change-variable-resolve-crash-expected.txt (0 => 286220)

--- trunk/LayoutTests/fast/css/variables/will-change-variable-resolve-crash-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/css/variables/will-change-variable-resolve-crash-expected.txt	2021-11-29 18:10:34 UTC (rev 286220)
@@ -0,0 +1 @@
+This test passes if it doesn't crash.


Added: trunk/LayoutTests/fast/css/variables/will-change-variable-resolve-crash.html (0 => 286220)

--- trunk/LayoutTests/fast/css/variables/will-change-variable-resolve-crash.html	(rev 0)
+++ trunk/LayoutTests/fast/css/variables/will-change-variable-resolve-crash.html	2021-11-29 18:10:34 UTC (rev 286220)
@@ -0,0 +1,7 @@
+
+
+  if (window.testRunner)
+testRunner.dumpAsText();
+  document.styleSheets[0].insertRule(`html { will-change: var(--v0); --v0: .; text-emphasis-style: "\x00";}`);
+  document.write("This test passes if it doesn't crash.");
+


Modified: trunk/Source/WebCore/ChangeLog (286219 => 286220)

--- trunk/Source/WebCore/ChangeLog	2021-11-29 17:58:55 UTC (rev 286219)
+++ trunk/Source/WebCore/ChangeLog	2021-11-29 18:10:34 UTC (rev 286220)
@@ -1,3 +1,17 @@
+2021-11-29  Rob Buis  
+
+Only handle ident tokens in consumeWillChange
+https://bugs.webkit.org/show_bug.cgi?id=233459
+
+Reviewed by Antti Koivisto.
+
+Only handle ident tokens in consumeWillChange.
+
+Test: fast/css/variables/will-change-variable-resolve-crash.html
+
+* css/parser/CSSPropertyParser.cpp:
+(WebCore::consumeWillChange):
+
 2021-11-29  Youenn Fablet  
 
 Apply WebPreferences on ServiceWorker settings


Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (286219 => 286220)

--- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp	2021-11-29 17:58:55 UTC (rev 286219)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp	2021-11-29 18:10:34 UTC (rev 286220)
@@ -508,6 +508,8 @@
 case CSSValueAuto:
 return nullptr;
 default:
+if (range.peek().type() != IdentToken)
+return nullptr;
 CSSPropertyID propertyID = cssPropertyID(range.peek().value());
 if (propertyID == CSSPropertyWillChange)
 return nullptr;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286219] trunk/Source/WebKit

2021-11-29 Thread bfulgham
Title: [286219] trunk/Source/WebKit








Revision 286219
Author bfulg...@apple.com
Date 2021-11-29 09:58:55 -0800 (Mon, 29 Nov 2021)


Log Message
Create a new XPC service with specific entitlements to support Captive Portal use cases
https://bugs.webkit.org/show_bug.cgi?id=233388


Reviewed by Per Arne Vollan.

This initial patch builds a new XPC service with entitlements tailored to our Captive Portal
use case.

* Configurations/WebContentService.CaptivePortal.xcconfig: Added.
* Configurations/WebContentService.xcconfig:
* Scripts/process-entitlements.sh: Add new sections for captive portal mode
* WebKit.xcodeproj/project.pbxproj: Add new configuration file.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Configurations/WebContentService.xcconfig
trunk/Source/WebKit/Scripts/process-entitlements.sh
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj


Added Paths

trunk/Source/WebKit/Configurations/WebContentService.CaptivePortal.xcconfig




Diff

Modified: trunk/Source/WebKit/ChangeLog (286218 => 286219)

--- trunk/Source/WebKit/ChangeLog	2021-11-29 17:18:10 UTC (rev 286218)
+++ trunk/Source/WebKit/ChangeLog	2021-11-29 17:58:55 UTC (rev 286219)
@@ -1,3 +1,19 @@
+2021-11-29  Brent Fulgham  
+
+Create a new XPC service with specific entitlements to support Captive Portal use cases
+https://bugs.webkit.org/show_bug.cgi?id=233388
+
+
+Reviewed by Per Arne Vollan.
+
+This initial patch builds a new XPC service with entitlements tailored to our Captive Portal
+use case.
+
+* Configurations/WebContentService.CaptivePortal.xcconfig: Added.
+* Configurations/WebContentService.xcconfig:
+* Scripts/process-entitlements.sh: Add new sections for captive portal mode
+* WebKit.xcodeproj/project.pbxproj: Add new configuration file.
+
 2021-11-29  Youenn Fablet  
 
 Apply WebPreferences on ServiceWorker settings


Added: trunk/Source/WebKit/Configurations/WebContentService.CaptivePortal.xcconfig (0 => 286219)

--- trunk/Source/WebKit/Configurations/WebContentService.CaptivePortal.xcconfig	(rev 0)
+++ trunk/Source/WebKit/Configurations/WebContentService.CaptivePortal.xcconfig	2021-11-29 17:58:55 UTC (rev 286219)
@@ -0,0 +1,26 @@
+// Copyright (C) 2021 Apple Inc. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+//notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+//notice, this list of conditions and the following disclaimer in the
+//documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+
+#include "WebContentService.xcconfig"
+
+WK_XPC_SERVICE_VARIANT = CaptivePortal;


Modified: trunk/Source/WebKit/Configurations/WebContentService.xcconfig (286218 => 286219)

--- trunk/Source/WebKit/Configurations/WebContentService.xcconfig	2021-11-29 17:18:10 UTC (rev 286218)
+++ trunk/Source/WebKit/Configurations/WebContentService.xcconfig	2021-11-29 17:58:55 UTC (rev 286219)
@@ -27,6 +27,7 @@
 PRODUCT_NAME_ = $(PRODUCT_NAME_Normal);
 PRODUCT_NAME_Normal = com.apple.WebKit.WebContent;
 PRODUCT_NAME_Development = com.apple.WebKit.WebContent.Development;
+PRODUCT_NAME_CaptivePortal = com.apple.WebKit.WebContent.CaptivePortal;
 
 PRODUCT_BUNDLE_IDENTIFIER = $(PRODUCT_NAME);
 INFOPLIST_FILE[sdk=embedded*] = WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-iOS.plist;


Modified: trunk/Source/WebKit/Scripts/process-entitlements.sh (286218 => 286219)

--- trunk/Source/WebKit/Scripts/process-entitlements.sh	2021-11-29 17:18:10 UTC (rev 286218)
+++ trunk/Source/WebKit/Scripts/process-entitlements.sh	2021-11-29 17:58:55 UTC (rev 286219)
@@ -41,6 +41,42 @@
 mac_process_webcontent_or_plugin_entitlements
 }
 
+function mac_process_webcontent_captiveportal_entitlements()
+{
+if [[ "${WK_USE_RESTRICTED_ENTITLEMENTS}" == YES ]]
+then
+plistbuddy Add :com.apple.private.webkit.use-xpc-endpoint bool YES
+plistbuddy 

[webkit-changes] [286218] trunk

2021-11-29 Thread youenn
Title: [286218] trunk








Revision 286218
Author you...@apple.com
Date 2021-11-29 09:18:10 -0800 (Mon, 29 Nov 2021)


Log Message
Apply WebPreferences on ServiceWorker settings
https://bugs.webkit.org/show_bug.cgi?id=233466
LayoutTests/imported/w3c:



Reviewed by Chris Dumez.

* web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https-expected.txt:

Source/WebCore:

Reviewed by Chris Dumez.

Migrate WebLock flag to a page setting.
Update ServiceWorkerThreadProxy to expose its method to create a service worker dummy page.
Covered by existing web lock service worker tests.

* Modules/web-locks/NavigatorLocks.idl:
* Modules/web-locks/WebLock.idl:
* Modules/web-locks/WebLockManager.idl:
* page/RuntimeEnabledFeatures.h:
* workers/service/context/ServiceWorkerThreadProxy.cpp:
* workers/service/context/ServiceWorkerThreadProxy.h:

Source/WebKit:

Reviewed by Chris Dumez.

Make WebPage::updateSettingsGenerated as static to reuse it in service worker code path
just after creation of the dummy Page attached to each service worker.
This allows correct initialization of the settings that are then used by the service worker.

* Scripts/PreferencesTemplates/WebPageUpdatePreferences.cpp.erb:
* WebProcess/Storage/WebSWContextManagerConnection.cpp:
* WebProcess/Storage/WebSWContextManagerConnection.h:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:

Source/WTF:

Reviewed by Chris Dumez.

* Scripts/Preferences/WebPreferencesExperimental.yaml:

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https-expected.txt
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/web-locks/NavigatorLocks.idl
trunk/Source/WebCore/Modules/web-locks/WebLock.idl
trunk/Source/WebCore/Modules/web-locks/WebLockManager.idl
trunk/Source/WebCore/page/RuntimeEnabledFeatures.h
trunk/Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp
trunk/Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Scripts/PreferencesTemplates/WebPageUpdatePreferences.cpp.erb
trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp
trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286217 => 286218)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-11-29 17:14:46 UTC (rev 286217)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-11-29 17:18:10 UTC (rev 286218)
@@ -1,3 +1,13 @@
+2021-11-29  Youenn Fablet  
+
+Apply WebPreferences on ServiceWorker settings
+https://bugs.webkit.org/show_bug.cgi?id=233466
+
+
+Reviewed by Chris Dumez.
+
+* web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https-expected.txt:
+
 2021-11-27  Sam Weinig  
 
 [CSS Color 4] Add support for oklab() and oklch() colors


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https-expected.txt (286217 => 286218)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https-expected.txt	2021-11-29 17:14:46 UTC (rev 286217)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https-expected.txt	2021-11-29 17:18:10 UTC (rev 286218)
@@ -21,6 +21,6 @@
 FAIL dedicated worker: scheme = blob, value = (\) assert_equals: expected false but got true
 PASS shared worker: withCoopCoep = false
 FAIL shared worker: withCoopCoep = true null is not an object (evaluating 'worker.port.postMessage')
-FAIL service worker: withCoopCoep = false assert_equals: expected (boolean) false but got (undefined) undefined
-FAIL service worker: withCoopCoep = true assert_equals: expected (boolean) true but got (undefined) undefined
+PASS service worker: withCoopCoep = false
+FAIL service worker: withCoopCoep = true assert_equals: expected true but got false
 


Modified: trunk/Source/WTF/ChangeLog (286217 => 286218)

--- trunk/Source/WTF/ChangeLog	2021-11-29 17:14:46 UTC (rev 286217)
+++ trunk/Source/WTF/ChangeLog	2021-11-29 17:18:10 UTC (rev 286218)
@@ -1,3 +1,12 @@
+2021-11-29  Youenn Fablet  
+
+Apply WebPreferences on ServiceWorker settings
+https://bugs.webkit.org/show_bug.cgi?id=233466
+
+Reviewed by Chris Dumez.
+
+* Scripts/Preferences/WebPreferencesExperimental.yaml:
+
 2021-11-29  Nikolas Zimmermann  
 
 [LBSE] Add runtime flag for Layer-based SVG engine (LBSE)


Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (286217 

[webkit-changes] [286217] trunk/Tools

2021-11-29 Thread lmoura
Title: [286217] trunk/Tools








Revision 286217
Author lmo...@igalia.com
Date 2021-11-29 09:14:46 -0800 (Mon, 29 Nov 2021)


Log Message
[webkitflaskpy] Make sure flask is registered before importing webkitflaskpy
https://bugs.webkit.org/show_bug.cgi?id=233561

Reviewed by Jonathan Bedard.

bug29 moved AuthedBlueprint to webkitflaskpy, but flask needs to
be registered before being imported to make sure AutoInstall takes
care of it. This avoids `ModuleNotFound: flask` errors running the
tests from a clean tree.

* Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py




Diff

Modified: trunk/Tools/ChangeLog (286216 => 286217)

--- trunk/Tools/ChangeLog	2021-11-29 16:54:12 UTC (rev 286216)
+++ trunk/Tools/ChangeLog	2021-11-29 17:14:46 UTC (rev 286217)
@@ -1,3 +1,17 @@
+2021-11-29  Lauro Moura  
+
+[webkitflaskpy] Make sure flask is registered before importing webkitflaskpy
+https://bugs.webkit.org/show_bug.cgi?id=233561
+
+Reviewed by Jonathan Bedard.
+
+bug29 moved AuthedBlueprint to webkitflaskpy, but flask needs to
+be registered before being imported to make sure AutoInstall takes
+care of it. This avoids `ModuleNotFound: flask` errors running the
+tests from a clean tree.
+
+* Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py:
+
 2021-11-29  Angelos Oikonomopoulos  
 
 Consider Source/cmake relevant for JSC


Modified: trunk/Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py (286216 => 286217)

--- trunk/Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py	2021-11-29 16:54:12 UTC (rev 286216)
+++ trunk/Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py	2021-11-29 17:14:46 UTC (rev 286217)
@@ -45,8 +45,6 @@
 
 version = Version(0, 2, 0)
 
-from webkitflaskpy.authed_blueprint import AuthedBlueprint
-
 AutoInstall.register(Package('click', Version(7, 1, 2)))
 AutoInstall.register(Package('flask', Version(1, 1, 2)))
 AutoInstall.register(Package('itsdangerous', Version(1, 1, 0)))
@@ -54,4 +52,6 @@
 AutoInstall.register(Package('markupsafe', Version(1, 1, 1)))
 AutoInstall.register(Package('werkzeug', Version(1, 0, 1)))
 
+from webkitflaskpy.authed_blueprint import AuthedBlueprint  # noqa: E402
+
 name = 'webkitflaskpy'






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286216] trunk/Source

2021-11-29 Thread repstein
Title: [286216] trunk/Source








Revision 286216
Author repst...@apple.com
Date 2021-11-29 08:54:12 -0800 (Mon, 29 Nov 2021)


Log Message
Versioning.

WebKit-7613.1.11

Modified Paths

trunk/Source/_javascript_Core/Configurations/Version.xcconfig
trunk/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
trunk/Source/WebCore/Configurations/Version.xcconfig
trunk/Source/WebCore/PAL/Configurations/Version.xcconfig
trunk/Source/WebGPU/Configurations/Version.xcconfig
trunk/Source/WebInspectorUI/Configurations/Version.xcconfig
trunk/Source/WebKit/Configurations/Version.xcconfig
trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: trunk/Source/_javascript_Core/Configurations/Version.xcconfig (286215 => 286216)

--- trunk/Source/_javascript_Core/Configurations/Version.xcconfig	2021-11-29 16:50:12 UTC (rev 286215)
+++ trunk/Source/_javascript_Core/Configurations/Version.xcconfig	2021-11-29 16:54:12 UTC (rev 286216)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
-TINY_VERSION = 10;
+TINY_VERSION = 11;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (286215 => 286216)

--- trunk/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-11-29 16:50:12 UTC (rev 286215)
+++ trunk/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-11-29 16:54:12 UTC (rev 286216)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
-TINY_VERSION = 10;
+TINY_VERSION = 11;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (286215 => 286216)

--- trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-11-29 16:50:12 UTC (rev 286215)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-11-29 16:54:12 UTC (rev 286216)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
-TINY_VERSION = 10;
+TINY_VERSION = 11;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/WebCore/Configurations/Version.xcconfig (286215 => 286216)

--- trunk/Source/WebCore/Configurations/Version.xcconfig	2021-11-29 16:50:12 UTC (rev 286215)
+++ trunk/Source/WebCore/Configurations/Version.xcconfig	2021-11-29 16:54:12 UTC (rev 286216)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
-TINY_VERSION = 10;
+TINY_VERSION = 11;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/WebCore/PAL/Configurations/Version.xcconfig (286215 => 286216)

--- trunk/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-11-29 16:50:12 UTC (rev 286215)
+++ trunk/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-11-29 16:54:12 UTC (rev 286216)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
-TINY_VERSION = 10;
+TINY_VERSION = 11;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/WebGPU/Configurations/Version.xcconfig (286215 => 286216)

--- trunk/Source/WebGPU/Configurations/Version.xcconfig	2021-11-29 16:50:12 UTC (rev 286215)
+++ trunk/Source/WebGPU/Configurations/Version.xcconfig	2021-11-29 16:54:12 UTC (rev 286216)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
-TINY_VERSION = 10;
+TINY_VERSION = 11;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/WebInspectorUI/Configurations/Version.xcconfig (286215 => 286216)

--- trunk/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-11-29 16:50:12 UTC (rev 286215)
+++ trunk/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-11-29 16:54:12 UTC (rev 286216)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
-TINY_VERSION = 10;
+TINY_VERSION = 11;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/WebKit/Configurations/Version.xcconfig (286215 => 286216)

--- trunk/Source/WebKit/Configurations/Version.xcconfig	2021-11-29 16:50:12 UTC (rev 286215)
+++ trunk/Source/WebKit/Configurations/Version.xcconfig	2021-11-29 16:54:12 UTC (rev 286216)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 613;
 MINOR_VERSION = 1;
-TINY_VERSION = 10;
+TINY_VERSION = 11;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig (286215 => 286216)

--- trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig	2021-11-29 16:50:12 UTC (rev 286215)
+++ trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig	2021-11-29 16:54:12 UTC (rev 286216)
@@ -23,7 

[webkit-changes] [286215] branches/safari-613.1.10-branch/

2021-11-29 Thread repstein
Title: [286215] branches/safari-613.1.10-branch/








Revision 286215
Author repst...@apple.com
Date 2021-11-29 08:50:12 -0800 (Mon, 29 Nov 2021)


Log Message
New branch.

Added Paths

branches/safari-613.1.10-branch/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286214] trunk/Source/WebKit

2021-11-29 Thread cdumez
Title: [286214] trunk/Source/WebKit








Revision 286214
Author cdu...@apple.com
Date 2021-11-29 08:42:34 -0800 (Mon, 29 Nov 2021)


Log Message
Make WebKitCaptivePortalModeEnabled user default work on macOS
https://bugs.webkit.org/show_bug.cgi?id=233560

Reviewed by Anders Carlsson.

Make WebKitCaptivePortalModeEnabled user default work on macOS, not just iOS. This helps with testing.

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
* UIProcess/WebProcessPool.cpp:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
trunk/Source/WebKit/UIProcess/WebProcessPool.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (286213 => 286214)

--- trunk/Source/WebKit/ChangeLog	2021-11-29 16:03:48 UTC (rev 286213)
+++ trunk/Source/WebKit/ChangeLog	2021-11-29 16:42:34 UTC (rev 286214)
@@ -1,3 +1,15 @@
+2021-11-29  Chris Dumez  
+
+Make WebKitCaptivePortalModeEnabled user default work on macOS
+https://bugs.webkit.org/show_bug.cgi?id=233560
+
+Reviewed by Anders Carlsson.
+
+Make WebKitCaptivePortalModeEnabled user default work on macOS, not just iOS. This helps with testing.
+
+* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+* UIProcess/WebProcessPool.cpp:
+
 2021-11-29  Kimmo Kinnunen  
 
 GPUP GraphicsContextGL creation failure cannot be detected


Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (286213 => 286214)

--- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2021-11-29 16:03:48 UTC (rev 286213)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2021-11-29 16:42:34 UTC (rev 286214)
@@ -960,8 +960,6 @@
 return qos;
 }
 
-#if PLATFORM(IOS_FAMILY)
-
 bool captivePortalModeEnabledBySystem()
 {
 static std::optional cachedCaptivePortalModeEnabledGlobally;
@@ -973,6 +971,8 @@
 return *cachedCaptivePortalModeEnabledGlobally;
 }
 
+#if PLATFORM(IOS_FAMILY)
+
 void WebProcessPool::applicationIsAboutToSuspend()
 {
 WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "applicationIsAboutToSuspend: Terminating non-critical processes");


Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (286213 => 286214)

--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp	2021-11-29 16:03:48 UTC (rev 286213)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp	2021-11-29 16:42:34 UTC (rev 286214)
@@ -2122,7 +2122,7 @@
 }
 #endif
 
-#if !PLATFORM(IOS_FAMILY)
+#if !PLATFORM(COCOA)
 bool captivePortalModeEnabledBySystem()
 {
 return false;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286213] trunk/Tools

2021-11-29 Thread angelos
Title: [286213] trunk/Tools








Revision 286213
Author ange...@igalia.com
Date 2021-11-29 08:03:48 -0800 (Mon, 29 Nov 2021)


Log Message
Consider Source/cmake relevant for JSC
https://bugs.webkit.org/show_bug.cgi?id=233552

Reviewed by Aakash Jain.

Changes in Source/cmake may well be relevant for JSC.

* CISupport/ews-build/steps.py:
(CheckPatchRelevance):

Modified Paths

trunk/Tools/CISupport/ews-build/steps.py
trunk/Tools/ChangeLog




Diff

Modified: trunk/Tools/CISupport/ews-build/steps.py (286212 => 286213)

--- trunk/Tools/CISupport/ews-build/steps.py	2021-11-29 15:34:21 UTC (rev 286212)
+++ trunk/Tools/CISupport/ews-build/steps.py	2021-11-29 16:03:48 UTC (rev 286213)
@@ -417,6 +417,7 @@
 re.compile(rb'JSTests/', re.IGNORECASE),
 re.compile(rb'Source/WTF/', re.IGNORECASE),
 re.compile(rb'Source/bmalloc/', re.IGNORECASE),
+re.compile(rb'Source/cmake/', re.IGNORECASE),
 re.compile(rb'.*Makefile.*', re.IGNORECASE),
 re.compile(rb'Tools/Scripts/build-webkit', re.IGNORECASE),
 re.compile(rb'Tools/Scripts/webkitdirs.pm', re.IGNORECASE),


Modified: trunk/Tools/ChangeLog (286212 => 286213)

--- trunk/Tools/ChangeLog	2021-11-29 15:34:21 UTC (rev 286212)
+++ trunk/Tools/ChangeLog	2021-11-29 16:03:48 UTC (rev 286213)
@@ -1,3 +1,15 @@
+2021-11-29  Angelos Oikonomopoulos  
+
+Consider Source/cmake relevant for JSC
+https://bugs.webkit.org/show_bug.cgi?id=233552
+
+Reviewed by Aakash Jain.
+
+Changes in Source/cmake may well be relevant for JSC.
+
+* CISupport/ews-build/steps.py:
+(CheckPatchRelevance):
+
 2021-11-29  Nikolas Zimmermann  
 
 [LBSE] Add runtime flag for Layer-based SVG engine (LBSE)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286212] trunk/Source/JavaScriptCore

2021-11-29 Thread commit-queue
Title: [286212] trunk/Source/_javascript_Core








Revision 286212
Author commit-qu...@webkit.org
Date 2021-11-29 07:34:21 -0800 (Mon, 29 Nov 2021)


Log Message
[RISCV64] Populate RISCV64Assembler with instruction-generation methods
https://bugs.webkit.org/show_bug.cgi?id=233256

Patch by Zan Dobersek  on 2021-11-29
Reviewed by Yusuke Suzuki.

Sprinkle RISCV64Assembler class with helper methods for generating the
desired instruction values.

Immediate types from the RISCV64Instructions namespace are introduced
into the class for easier usage here and in the MacroAssemblerRISCV64
class. Instruction-generating methods roughly match the different
instruction types in the RISCV64Instructions namespace.

A few optimizations are done around floating-point instructions. We can
use one base method which expects the desired FP size as a template
parameter, and the appropriate RISCV64Instructions type can then be
selected based on that size value. Different combinations for FP move
and conversion instructions are also grouped behind a single method,
with thorough compile-time validation done to prevent generating
invalid instructions.

A few helper methods intended for masking, sign-extension and
zero-extension are also added. The Condition enum is fixed to list only
RISCV-viable conditions, with the values ordered so that a simple
XOR-by-one of a given value will produce the value of the inverted
condition.

* assembler/RISCV64Assembler.h:
(JSC::RISCV64Assembler::invert):
(JSC::RISCV64Assembler::luiInsn):
(JSC::RISCV64Assembler::auipcInsn):
(JSC::RISCV64Assembler::jalInsn):
(JSC::RISCV64Assembler::jalrInsn):
(JSC::RISCV64Assembler::beqInsn):
(JSC::RISCV64Assembler::bneInsn):
(JSC::RISCV64Assembler::bltInsn):
(JSC::RISCV64Assembler::bgeInsn):
(JSC::RISCV64Assembler::bltuInsn):
(JSC::RISCV64Assembler::bgeuInsn):
(JSC::RISCV64Assembler::lbInsn):
(JSC::RISCV64Assembler::lhInsn):
(JSC::RISCV64Assembler::lwInsn):
(JSC::RISCV64Assembler::ldInsn):
(JSC::RISCV64Assembler::lbuInsn):
(JSC::RISCV64Assembler::lhuInsn):
(JSC::RISCV64Assembler::lwuInsn):
(JSC::RISCV64Assembler::sbInsn):
(JSC::RISCV64Assembler::shInsn):
(JSC::RISCV64Assembler::swInsn):
(JSC::RISCV64Assembler::sdInsn):
(JSC::RISCV64Assembler::addiInsn):
(JSC::RISCV64Assembler::sltiInsn):
(JSC::RISCV64Assembler::sltiuInsn):
(JSC::RISCV64Assembler::xoriInsn):
(JSC::RISCV64Assembler::oriInsn):
(JSC::RISCV64Assembler::andiInsn):
(JSC::RISCV64Assembler::slliInsn):
(JSC::RISCV64Assembler::srliInsn):
(JSC::RISCV64Assembler::sraiInsn):
(JSC::RISCV64Assembler::addInsn):
(JSC::RISCV64Assembler::subInsn):
(JSC::RISCV64Assembler::sllInsn):
(JSC::RISCV64Assembler::sltInsn):
(JSC::RISCV64Assembler::sltuInsn):
(JSC::RISCV64Assembler::xorInsn):
(JSC::RISCV64Assembler::srlInsn):
(JSC::RISCV64Assembler::sraInsn):
(JSC::RISCV64Assembler::orInsn):
(JSC::RISCV64Assembler::andInsn):
(JSC::RISCV64Assembler::ecallInsn):
(JSC::RISCV64Assembler::ebreakInsn):
(JSC::RISCV64Assembler::addiwInsn):
(JSC::RISCV64Assembler::slliwInsn):
(JSC::RISCV64Assembler::srliwInsn):
(JSC::RISCV64Assembler::sraiwInsn):
(JSC::RISCV64Assembler::addwInsn):
(JSC::RISCV64Assembler::subwInsn):
(JSC::RISCV64Assembler::sllwInsn):
(JSC::RISCV64Assembler::srlwInsn):
(JSC::RISCV64Assembler::srawInsn):
(JSC::RISCV64Assembler::mulInsn):
(JSC::RISCV64Assembler::mulhInsn):
(JSC::RISCV64Assembler::mulhsuInsn):
(JSC::RISCV64Assembler::mulhuInsn):
(JSC::RISCV64Assembler::divInsn):
(JSC::RISCV64Assembler::divuInsn):
(JSC::RISCV64Assembler::remInsn):
(JSC::RISCV64Assembler::remuInsn):
(JSC::RISCV64Assembler::mulwInsn):
(JSC::RISCV64Assembler::divwInsn):
(JSC::RISCV64Assembler::divuwInsn):
(JSC::RISCV64Assembler::remwInsn):
(JSC::RISCV64Assembler::remuwInsn):
(JSC::RISCV64Assembler::flwInsn):
(JSC::RISCV64Assembler::fldInsn):
(JSC::RISCV64Assembler::fswInsn):
(JSC::RISCV64Assembler::fsdInsn):
(JSC::RISCV64Assembler::fmaddInsn):
(JSC::RISCV64Assembler::fmsubInsn):
(JSC::RISCV64Assembler::fnmsubInsn):
(JSC::RISCV64Assembler::fnmaddInsn):
(JSC::RISCV64Assembler::faddInsn):
(JSC::RISCV64Assembler::fsubInsn):
(JSC::RISCV64Assembler::fmulInsn):
(JSC::RISCV64Assembler::fdivInsn):
(JSC::RISCV64Assembler::fsqrtInsn):
(JSC::RISCV64Assembler::fsgnjInsn):
(JSC::RISCV64Assembler::fsgnjnInsn):
(JSC::RISCV64Assembler::fsgnjxInsn):
(JSC::RISCV64Assembler::fminInsn):
(JSC::RISCV64Assembler::fmaxInsn):
(JSC::RISCV64Assembler::feqInsn):
(JSC::RISCV64Assembler::fltInsn):
(JSC::RISCV64Assembler::fleInsn):
(JSC::RISCV64Assembler::fclassInsn):
(JSC::RISCV64Assembler::fcvtInsn):
(JSC::RISCV64Assembler::fmvInsn):
(JSC::RISCV64Assembler::fenceInsn):
(JSC::RISCV64Assembler::lrwInsn):
(JSC::RISCV64Assembler::scwInsn):
(JSC::RISCV64Assembler::lrdInsn):
(JSC::RISCV64Assembler::scdInsn):
(JSC::RISCV64Assembler::amoswapwInsn):
(JSC::RISCV64Assembler::amoaddwInsn):
(JSC::RISCV64Assembler::amoxorwInsn):
(JSC::RISCV64Assembler::amoandwInsn):
(JSC::RISCV64Assembler::amoorwInsn):
(JSC::RISCV64Assembler::amoswapdInsn):
(JSC::RISCV64Assembler::amoadddInsn):

[webkit-changes] [286211] trunk/Source/JavaScriptCore

2021-11-29 Thread mmaxfield
Title: [286211] trunk/Source/_javascript_Core








Revision 286211
Author mmaxfi...@apple.com
Date 2021-11-29 07:08:47 -0800 (Mon, 29 Nov 2021)


Log Message
[Cocoa] Stop linking _javascript_Core.framework with libz because it doesn't use any symbols from it
https://bugs.webkit.org/show_bug.cgi?id=233550

Reviewed by Anders Carlsson.

Every compile produces a message like:

Ld /Users/mmaxfield/Build/Products/Debug/_javascript_Core.framework/Versions/A/_javascript_Core normal (in target '_javascript_Core' from project '_javascript_Core')
ld: warning: linking with (/usr/lib/libz.1.dylib) but not using any symbols from it

* _javascript_Core.xcodeproj/project.pbxproj:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (286210 => 286211)

--- trunk/Source/_javascript_Core/ChangeLog	2021-11-29 14:32:21 UTC (rev 286210)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-11-29 15:08:47 UTC (rev 286211)
@@ -1,3 +1,17 @@
+2021-11-29  Myles C. Maxfield  
+
+[Cocoa] Stop linking _javascript_Core.framework with libz because it doesn't use any symbols from it
+https://bugs.webkit.org/show_bug.cgi?id=233550
+
+Reviewed by Anders Carlsson.
+
+Every compile produces a message like:
+
+Ld /Users/mmaxfield/Build/Products/Debug/_javascript_Core.framework/Versions/A/_javascript_Core normal (in target '_javascript_Core' from project '_javascript_Core')
+ld: warning: linking with (/usr/lib/libz.1.dylib) but not using any symbols from it
+
+* _javascript_Core.xcodeproj/project.pbxproj:
+
 2021-11-26  Adrian Perez de Castro  
 
 Non-unified build fixes, late November 2021 edition


Modified: trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj (286210 => 286211)

--- trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2021-11-29 14:32:21 UTC (rev 286210)
+++ trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2021-11-29 15:08:47 UTC (rev 286211)
@@ -864,7 +864,6 @@
 		33A920BD23DA2C6D000EBAF0 /* CommonSlowPathsInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 33A920BC23DA2C6D000EBAF0 /* CommonSlowPathsInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		33B2A54722653481005A0F79 /* B3ValueInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FEC84FB1BDACDAC0080FF74 /* B3ValueInlines.h */; };
 		33B2A548226543BF005A0F79 /* FTLLowerDFGToB3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FEA0A04170513DB00BB722C /* FTLLowerDFGToB3.cpp */; };
-		371D842D17C98B6E00ECF994 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 371D842C17C98B6E00ECF994 /* libz.dylib */; };
 		37C738D21EDB56E4003F2B0B /* ParseInt.h in Headers */ = {isa = PBXBuildFile; fileRef = 37C738D11EDB5672003F2B0B /* ParseInt.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		412952771D2CF6BC00E78B89 /* builtins_generate_internals_wrapper_header.py in Headers */ = {isa = PBXBuildFile; fileRef = 412952731D2CF6AC00E78B89 /* builtins_generate_internals_wrapper_header.py */; settings = {ATTRIBUTES = (Private, ); }; };
 		412952781D2CF6BC00E78B89 /* builtins_generate_internals_wrapper_implementation.py in Headers */ = {isa = PBXBuildFile; fileRef = 412952741D2CF6AC00E78B89 /* builtins_generate_internals_wrapper_implementation.py */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -5674,7 +5673,6 @@
 932F5BD70822A1C700736975 /* libicucore.dylib in Frameworks */,
 932F5BD60822A1C700736975 /* libobjc.dylib in Frameworks */,
 A8A4748E151A8306004123FF /* libWTF.a in Frameworks */,
-371D842D17C98B6E00ECF994 /* libz.dylib in Frameworks */,
 A5098B041C16AA0200087797 /* Security.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


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

2021-11-29 Thread eocanha
Title: [286210] trunk/Source/WebCore








Revision 286210
Author eoca...@igalia.com
Date 2021-11-29 06:32:21 -0800 (Mon, 29 Nov 2021)


Log Message
[GStreamer][WPE] Control on-disk multimedia buffering via the WPE_SHELL_DISABLE_MEDIA_DISK_CACHE environment variable
https://bugs.webkit.org/show_bug.cgi?id=233492

Reviewed by Xabier Rodriguez-Calvar.

Embedded platforms often don't have a persistent storage suitable for repetitive writes (eg: caching
media files may wear out a flash drive, and RAM memory is scarce enough to use a tmpfs for caching).
Those platforms need a way to disable on-disk caching.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Honor environment variable.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (286209 => 286210)

--- trunk/Source/WebCore/ChangeLog	2021-11-29 13:05:30 UTC (rev 286209)
+++ trunk/Source/WebCore/ChangeLog	2021-11-29 14:32:21 UTC (rev 286210)
@@ -1,3 +1,16 @@
+2021-11-29  Enrique Ocaña González  
+
+[GStreamer][WPE] Control on-disk multimedia buffering via the WPE_SHELL_DISABLE_MEDIA_DISK_CACHE environment variable
+https://bugs.webkit.org/show_bug.cgi?id=233492
+
+Reviewed by Xabier Rodriguez-Calvar.
+
+Embedded platforms often don't have a persistent storage suitable for repetitive writes (eg: caching
+media files may wear out a flash drive, and RAM memory is scarce enough to use a tmpfs for caching).
+Those platforms need a way to disable on-disk caching.
+
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Honor environment variable.
+
 2021-11-29  Kimmo Kinnunen  
 
 GPUP GraphicsContextGL creation failure cannot be detected


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (286209 => 286210)

--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2021-11-29 13:05:30 UTC (rev 286209)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2021-11-29 14:32:21 UTC (rev 286210)
@@ -2595,6 +2595,22 @@
 return finalResult;
 }
 
+bool isMediaDiskCacheDisabled()
+{
+static bool result = false;
+#if PLATFORM(WPE)
+static std::once_flag once;
+std::call_once(once, []() {
+String s(std::getenv("WPE_SHELL_DISABLE_MEDIA_DISK_CACHE"));
+if (!s.isEmpty()) {
+String value = s.stripWhiteSpace().convertToLowercaseWithoutLocale();
+result = (value == "1" || value == "t" || value == "true");
+}
+});
+#endif
+return result;
+}
+
 void MediaPlayerPrivateGStreamer::updateDownloadBufferingFlag()
 {
 if (!m_pipeline)
@@ -2618,7 +2634,10 @@
 return;
 }
 
-bool shouldDownload = !m_isLiveStream && m_preload == MediaPlayer::Preload::Auto;
+bool diskCacheDisabled = isMediaDiskCacheDisabled();
+GST_DEBUG_OBJECT(pipeline(), "Media on-disk cache is %s", (diskCacheDisabled) ? "disabled" : "enabled");
+
+bool shouldDownload = !m_isLiveStream && m_preload == MediaPlayer::Preload::Auto && !diskCacheDisabled;
 if (shouldDownload) {
 GST_INFO_OBJECT(pipeline(), "Enabling on-disk buffering");
 g_object_set(m_pipeline.get(), "flags", flags | flagDownload, nullptr);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286209] trunk/Source

2021-11-29 Thread commit-queue
Title: [286209] trunk/Source








Revision 286209
Author commit-qu...@webkit.org
Date 2021-11-29 05:05:30 -0800 (Mon, 29 Nov 2021)


Log Message
GPUP GraphicsContextGL creation failure cannot be detected
https://bugs.webkit.org/show_bug.cgi?id=233517

Patch by Kimmo Kinnunen  on 2021-11-29
Reviewed by Antti Koivisto.

Source/WebCore:

Before, concrete `GraphicsContextGL` instance was created with `GraphicsContextGL::create()`
which would internally use host window as a factory if possible. If this produced null, it would
create the "default" GraphicsContextGL subclass instance.
With GPUP, it does not make sense to create "default" type, as that in-process contexts should never
be used.
It also does not make sense to create "default", as it's unclear what the "default" type is.
Instead, use the host window, i.e. the chrome client, to always create the GraphicsContextGL instance
to WebGL. If this fails, the WebGL should be unavailable.
Remove GraphicsContextGL::create() as that is not useful. The callers should either
explicitly specify what subclass to use, for example in testing, or use the polymorhpic factory
(ChromeClient) which knows the policy.

Fix a bug where GPUP WebGL would use in-process context if the lost context would be recreated.

No new tests, a refactor.

* PlatformMac.cmake:
* WebCore.xcodeproj/project.pbxproj:
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
* page/ChromeClient.h:
(WebCore::ChromeClient::createGraphicsContextGL const):
* platform/graphics/WebProcessGraphicsContextGL.h: Added.
* platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm:
(WebCore::createWebProcessGraphicsContextGL):
(WebCore::GraphicsContextGLOpenGL::create): Deleted.
* platform/graphics/opengl/GraphicsContextGLOpenGL.h:
* platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
(WebCore::createWebProcessGraphicsContextGL):
(WebCore::GraphicsContextGLOpenGL::create): Deleted.
* platform/xr/openxr/PlatformXROpenXR.cpp:
(PlatformXR::OpenXRDevice::initializeTrackingAndRendering):
* testing/WebFakeXRDevice.cpp:
(WebCore::SimulatedXRDevice::initializeTrackingAndRendering):

Source/WebKit:

If GPUP `GraphicsContextGL` creation fails, return nullptr instead of
trying to create a in-process context.

Enable `WebChromeClient::createGraphicsContextGL()` call for non-GPU process
compilation, as the function is now always called. Returning nullptr signifies failure
to create the context, not a signal to retry some other type.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createGraphicsContextGL const):
* WebProcess/WebCoreSupport/WebChromeClient.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
trunk/Source/WebCore/page/ChromeClient.h
trunk/Source/WebCore/platform/graphics/GraphicsContextGL.cpp
trunk/Source/WebCore/platform/graphics/GraphicsContextGL.h
trunk/Source/WebCore/platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm
trunk/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h
trunk/Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp
trunk/Source/WebCore/platform/xr/openxr/PlatformXROpenXR.cpp
trunk/Source/WebCore/testing/WebFakeXRDevice.cpp
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (286208 => 286209)

--- trunk/Source/WebCore/ChangeLog	2021-11-29 11:21:21 UTC (rev 286208)
+++ trunk/Source/WebCore/ChangeLog	2021-11-29 13:05:30 UTC (rev 286209)
@@ -1,3 +1,46 @@
+2021-11-29  Kimmo Kinnunen  
+
+GPUP GraphicsContextGL creation failure cannot be detected
+https://bugs.webkit.org/show_bug.cgi?id=233517
+
+Reviewed by Antti Koivisto.
+
+Before, concrete `GraphicsContextGL` instance was created with `GraphicsContextGL::create()`
+which would internally use host window as a factory if possible. If this produced null, it would
+create the "default" GraphicsContextGL subclass instance.
+With GPUP, it does not make sense to create "default" type, as that in-process contexts should never
+be used.
+It also does not make sense to create "default", as it's unclear what the "default" type is.
+Instead, use the host window, i.e. the chrome client, to always create the GraphicsContextGL instance
+to WebGL. If this fails, the WebGL should be unavailable.
+Remove GraphicsContextGL::create() as that is not useful. The callers should either
+explicitly specify what subclass to use, for example in testing, or use the polymorhpic factory
+(ChromeClient) which knows the policy.
+
+Fix a bug where GPUP WebGL would use in-process context if the lost context 

[webkit-changes] [286208] trunk

2021-11-29 Thread angelos
Title: [286208] trunk








Revision 286208
Author ange...@igalia.com
Date 2021-11-29 03:21:21 -0800 (Mon, 29 Nov 2021)


Log Message
Fix ATOMICS_REQUIRE_LIBATOMIC testcase on 32-bits
https://bugs.webkit.org/show_bug.cgi?id=233551

Unreviewed build fix.

There's a syntax error when compiling the test program
on 32-bits. This was not an issue on ARM as atomics are
built in on that platform, but broke the MIPS build.


* Source/cmake/WebKitCompilerFlags.cmake:

Modified Paths

trunk/ChangeLog
trunk/Source/cmake/WebKitCompilerFlags.cmake




Diff

Modified: trunk/ChangeLog (286207 => 286208)

--- trunk/ChangeLog	2021-11-29 10:29:38 UTC (rev 286207)
+++ trunk/ChangeLog	2021-11-29 11:21:21 UTC (rev 286208)
@@ -1,3 +1,16 @@
+2021-11-29  Angelos Oikonomopoulos  
+
+Fix ATOMICS_REQUIRE_LIBATOMIC testcase on 32-bits
+https://bugs.webkit.org/show_bug.cgi?id=233551
+
+Unreviewed build fix.
+
+There's a syntax error when compiling the test program
+on 32-bits. This was not an issue on ARM as atomics are
+built in on that platform, but broke the MIPS build.
+
+* Source/cmake/WebKitCompilerFlags.cmake:
+
 2021-11-29  Nikolas Zimmermann  
 
 [LBSE] Add runtime flag for Layer-based SVG engine (LBSE)


Modified: trunk/Source/cmake/WebKitCompilerFlags.cmake (286207 => 286208)

--- trunk/Source/cmake/WebKitCompilerFlags.cmake	2021-11-29 10:29:38 UTC (rev 286207)
+++ trunk/Source/cmake/WebKitCompilerFlags.cmake	2021-11-29 11:21:21 UTC (rev 286208)
@@ -363,7 +363,11 @@
 #endif
 uint64_t z = 42;
 bool l = compare_and_swap_uint64_weak(, 42, 56);
-int result = (j || k || l) ? 0 : 1;
+int result = (j ||
+#if CPU(ADDRESS64)
+  k ||
+#endif
+  l) ? 0 : 1;
 return result;
 }
 ")






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286207] trunk

2021-11-29 Thread svillar
Title: [286207] trunk








Revision 286207
Author svil...@igalia.com
Date 2021-11-29 02:29:38 -0800 (Mon, 29 Nov 2021)


Log Message
[css-flexbox] Do not shrink tables bellow their intrinsic sizes
https://bugs.webkit.org/show_bug.cgi?id=232383

Reviewed by Manuel Rego Casasnovas.

Source/WebCore:

Flex layout algorithm uses the flex items min|max sizes to compute the hypothetical main size which
will be used to clamp the size of the items when flexed. In the case of tables as flex items, we were
using the min-size straight away whenever that was definite. However we cannot do that because tables
must not shrink bellow their intrinsic sizes. That's why we should select the maximum of the intrinsic
size and the min-size.

This fixes a WPT test covering this case.

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computeFlexItemMinMaxSizes): Do not select a min-size smaller than the
table intrinsic size in the main axis.

LayoutTests:

* TestExpectations: Unskip table-as-item-fixed-min-width-3.html which works fine now.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (286206 => 286207)

--- trunk/LayoutTests/ChangeLog	2021-11-29 10:00:51 UTC (rev 286206)
+++ trunk/LayoutTests/ChangeLog	2021-11-29 10:29:38 UTC (rev 286207)
@@ -1,5 +1,14 @@
 2021-10-27  Sergio Villar Senin  
 
+[css-flexbox] Do not shrink tables bellow their intrinsic sizes
+https://bugs.webkit.org/show_bug.cgi?id=232383
+
+Reviewed by Manuel Rego Casasnovas.
+
+* TestExpectations: Unskip table-as-item-fixed-min-width-3.html which works fine now.
+
+2021-10-27  Sergio Villar Senin  
+
 [css-flexbox] Add support for replaced elements with intrinsic ratio and no intrinsic size
 https://bugs.webkit.org/show_bug.cgi?id=231952
 


Modified: trunk/LayoutTests/TestExpectations (286206 => 286207)

--- trunk/LayoutTests/TestExpectations	2021-11-29 10:00:51 UTC (rev 286206)
+++ trunk/LayoutTests/TestExpectations	2021-11-29 10:29:38 UTC (rev 286207)
@@ -4234,7 +4234,6 @@
 webkit.org/b/221472 imported/w3c/web-platform-tests/css/css-flexbox/abspos/flex-abspos-staticpos-margin-002.html [ ImageOnlyFailure ]
 
 # Tables as flex items.
-webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-fixed-min-width-3.html [ ImageOnlyFailure ]
 webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-1.html [ ImageOnlyFailure ]
 webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-column-2.html [ ImageOnlyFailure ]
 webkit.org/b/221473 imported/w3c/web-platform-tests/css/css-flexbox/table-as-item-inflexible-in-row-2.html [ ImageOnlyFailure ]


Modified: trunk/Source/WebCore/ChangeLog (286206 => 286207)

--- trunk/Source/WebCore/ChangeLog	2021-11-29 10:00:51 UTC (rev 286206)
+++ trunk/Source/WebCore/ChangeLog	2021-11-29 10:29:38 UTC (rev 286207)
@@ -1,5 +1,24 @@
 2021-10-27  Sergio Villar Senin  
 
+[css-flexbox] Do not shrink tables bellow their intrinsic sizes
+https://bugs.webkit.org/show_bug.cgi?id=232383
+
+Reviewed by Manuel Rego Casasnovas.
+
+Flex layout algorithm uses the flex items min|max sizes to compute the hypothetical main size which
+will be used to clamp the size of the items when flexed. In the case of tables as flex items, we were
+using the min-size straight away whenever that was definite. However we cannot do that because tables
+must not shrink bellow their intrinsic sizes. That's why we should select the maximum of the intrinsic
+size and the min-size.
+
+This fixes a WPT test covering this case.
+
+* rendering/RenderFlexibleBox.cpp:
+(WebCore::RenderFlexibleBox::computeFlexItemMinMaxSizes): Do not select a min-size smaller than the
+table intrinsic size in the main axis.
+
+2021-10-27  Sergio Villar Senin  
+
 [css-flexbox] Add support for replaced elements with intrinsic ratio and no intrinsic size
 https://bugs.webkit.org/show_bug.cgi?id=231952
 


Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (286206 => 286207)

--- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp	2021-11-29 10:00:51 UTC (rev 286206)
+++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp	2021-11-29 10:29:38 UTC (rev 286207)
@@ -1323,8 +1323,13 @@
 
 Length min = mainSizeLengthForChild(MinSize, child);
 // Intrinsic sizes in child's block axis are handled by the min-size:auto code path.
-if (min.isSpecified() || (min.isIntrinsic() && mainAxisIsChildInlineAxis(child)))
-return { computeMainAxisExtentForChild(child, MinSize, min).value_or(0_lu), maxExtent.value_or(LayoutUnit::max()) };
+if (min.isSpecified() || (min.isIntrinsic() && mainAxisIsChildInlineAxis(child))) {

[webkit-changes] [286206] trunk

2021-11-29 Thread svillar
Title: [286206] trunk








Revision 286206
Author svil...@igalia.com
Date 2021-11-29 02:00:51 -0800 (Mon, 29 Nov 2021)


Log Message
[css-flexbox] Add support for replaced elements with intrinsic ratio and no intrinsic size
https://bugs.webkit.org/show_bug.cgi?id=231952


Reviewed by Manuel Rego Casasnovas.

Source/WebCore:

It might be the case that replaced elements have intrinsic aspect ratio but no
intrinsic dimensions. Actually that's quite common for SVGs for example. We're
incorrectly assuming that flex items with no intrinsic dimensions didn't have
intrinsic aspect ratios which is wrong.

Added new checks that are able to detect those cases were we have an intrinsic
aspect ratio even though there are no intrinsic dimensions.

* rendering/RenderFlexibleBox.cpp:
(WebCore::isRenderReplacedWithIntrinsicAspectRatio):
(WebCore::childHasAspectRatio):
Consider replaced elements with intrinsic ratios and no intrinsic dimensions.
(WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const):
Let replaced elements compute the aspect ratio by themselves.
(WebCore::RenderFlexibleBox::childHasComputableAspectRatio const):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeIntrinsicAspectRatio const): New method that
computes the aspect ratio for replaced elements.
* rendering/RenderReplaced.h:

LayoutTests:

* TestExpectations: Unskipped a test case that is now passing.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp
trunk/Source/WebCore/rendering/RenderReplaced.cpp
trunk/Source/WebCore/rendering/RenderReplaced.h




Diff

Modified: trunk/LayoutTests/ChangeLog (286205 => 286206)

--- trunk/LayoutTests/ChangeLog	2021-11-29 09:41:17 UTC (rev 286205)
+++ trunk/LayoutTests/ChangeLog	2021-11-29 10:00:51 UTC (rev 286206)
@@ -1,3 +1,13 @@
+2021-10-27  Sergio Villar Senin  
+
+[css-flexbox] Add support for replaced elements with intrinsic ratio and no intrinsic size
+https://bugs.webkit.org/show_bug.cgi?id=231952
+
+
+Reviewed by Manuel Rego Casasnovas.
+
+* TestExpectations: Unskipped a test case that is now passing.
+
 2021-11-28  Matt Woodrow  
 
 Serialize computed style of background shorthand with multiple layers correctly.


Modified: trunk/LayoutTests/TestExpectations (286205 => 286206)

--- trunk/LayoutTests/TestExpectations	2021-11-29 09:41:17 UTC (rev 286205)
+++ trunk/LayoutTests/TestExpectations	2021-11-29 10:00:51 UTC (rev 286206)
@@ -4242,7 +4242,6 @@
 
 # SVGs as flex items.
 webkit.org/b/221474 imported/w3c/web-platform-tests/css/css-flexbox/svg-root-as-flex-item-002.html [ ImageOnlyFailure ]
-webkit.org/b/221474 imported/w3c/web-platform-tests/css/css-flexbox/svg-root-as-flex-item-003.html [ ImageOnlyFailure ]
 
 # The test works fine but the expected result fails due to a missing layout.
 webkit.org/b/221468 imported/w3c/web-platform-tests/css/css-flexbox/flexbox-align-self-horiz-002.xhtml [ ImageOnlyFailure ]


Modified: trunk/Source/WebCore/ChangeLog (286205 => 286206)

--- trunk/Source/WebCore/ChangeLog	2021-11-29 09:41:17 UTC (rev 286205)
+++ trunk/Source/WebCore/ChangeLog	2021-11-29 10:00:51 UTC (rev 286206)
@@ -1,3 +1,31 @@
+2021-10-27  Sergio Villar Senin  
+
+[css-flexbox] Add support for replaced elements with intrinsic ratio and no intrinsic size
+https://bugs.webkit.org/show_bug.cgi?id=231952
+
+
+Reviewed by Manuel Rego Casasnovas.
+
+It might be the case that replaced elements have intrinsic aspect ratio but no
+intrinsic dimensions. Actually that's quite common for SVGs for example. We're
+incorrectly assuming that flex items with no intrinsic dimensions didn't have
+intrinsic aspect ratios which is wrong.
+
+Added new checks that are able to detect those cases were we have an intrinsic
+aspect ratio even though there are no intrinsic dimensions.
+
+* rendering/RenderFlexibleBox.cpp:
+(WebCore::isRenderReplacedWithIntrinsicAspectRatio):
+(WebCore::childHasAspectRatio):
+Consider replaced elements with intrinsic ratios and no intrinsic dimensions.
+(WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing const):
+Let replaced elements compute the aspect ratio by themselves.
+(WebCore::RenderFlexibleBox::childHasComputableAspectRatio const):
+* rendering/RenderReplaced.cpp:
+(WebCore::RenderReplaced::computeIntrinsicAspectRatio const): New method that
+computes the aspect ratio for replaced elements.
+* rendering/RenderReplaced.h:
+
 2021-11-29  Kimmo Kinnunen  
 
 GraphicsContextGLANGLE.cpp has platform specific code


Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (286205 => 286206)

--- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp	2021-11-29 09:41:17 UTC (rev 286205)
+++ 

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

2021-11-29 Thread commit-queue
Title: [286205] trunk/Source/WebCore








Revision 286205
Author commit-qu...@webkit.org
Date 2021-11-29 01:41:17 -0800 (Mon, 29 Nov 2021)


Log Message
GraphicsContextGLANGLE.cpp has platform specific code
https://bugs.webkit.org/show_bug.cgi?id=233515

Patch by Kimmo Kinnunen  on 2021-11-29
Reviewed by Antti Koivisto.

GraphicsContextGLANGLE.cpp has platform specific code for modifying
the display buffer backing storage (IOSurface on Cocoa,
normal texture on TextureMapper variants).
This modification should be done through the reshapeDisplayBufferBacking
method call for all implementations, so that in the future
GraphicsContextGLOpenGL ANGLE variant can be renamed GraphicsContextGLANGLE
and still invoke that functionality.

No new tests, refactor.

* platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLOpenGL::reshapeFBOs):
(WebCore::GraphicsContextGLOpenGL::platformReleaseThreadResources): Deleted.
* platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::bindDisplayBufferBacking):
* platform/graphics/opengl/GraphicsContextGLOpenGL.h:
* platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp: Added.
(WebCore::GraphicsContextGLOpenGL::reshapeDisplayBufferBacking):
(WebCore::GraphicsContextGLOpenGL::platformReleaseThreadResources):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/TextureMapper.cmake
trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm
trunk/Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp
trunk/Source/WebCore/platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.h
trunk/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h
trunk/Source/WebCore/platform/graphics/texmap/ANGLEContext.cpp
trunk/Source/WebCore/platform/graphics/texmap/ANGLEContext.h
trunk/Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperGCGLPlatformLayer.h


Added Paths

trunk/Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (286204 => 286205)

--- trunk/Source/WebCore/ChangeLog	2021-11-29 08:27:04 UTC (rev 286204)
+++ trunk/Source/WebCore/ChangeLog	2021-11-29 09:41:17 UTC (rev 286205)
@@ -1,3 +1,30 @@
+2021-11-29  Kimmo Kinnunen  
+
+GraphicsContextGLANGLE.cpp has platform specific code
+https://bugs.webkit.org/show_bug.cgi?id=233515
+
+Reviewed by Antti Koivisto.
+
+GraphicsContextGLANGLE.cpp has platform specific code for modifying
+the display buffer backing storage (IOSurface on Cocoa,
+normal texture on TextureMapper variants).
+This modification should be done through the reshapeDisplayBufferBacking
+method call for all implementations, so that in the future
+GraphicsContextGLOpenGL ANGLE variant can be renamed GraphicsContextGLANGLE
+and still invoke that functionality.
+
+No new tests, refactor.
+
+* platform/graphics/angle/GraphicsContextGLANGLE.cpp:
+(WebCore::GraphicsContextGLOpenGL::reshapeFBOs):
+(WebCore::GraphicsContextGLOpenGL::platformReleaseThreadResources): Deleted.
+* platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
+(WebCore::GraphicsContextGLOpenGL::bindDisplayBufferBacking):
+* platform/graphics/opengl/GraphicsContextGLOpenGL.h:
+* platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp: Added.
+(WebCore::GraphicsContextGLOpenGL::reshapeDisplayBufferBacking):
+(WebCore::GraphicsContextGLOpenGL::platformReleaseThreadResources):
+
 2021-11-28  Said Abou-Hallawa  
 
 [GPU Process] Apply the filter to an ImageBuffer through GraphicsContext and ImageBuffer


Modified: trunk/Source/WebCore/platform/TextureMapper.cmake (286204 => 286205)

--- trunk/Source/WebCore/platform/TextureMapper.cmake	2021-11-29 08:27:04 UTC (rev 286204)
+++ trunk/Source/WebCore/platform/TextureMapper.cmake	2021-11-29 09:41:17 UTC (rev 286205)
@@ -10,6 +10,7 @@
 platform/graphics/texmap/BitmapTexture.cpp
 platform/graphics/texmap/BitmapTexturePool.cpp
 platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp
+platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp
 platform/graphics/texmap/TextureMapper.cpp
 platform/graphics/texmap/TextureMapperBackingStore.cpp
 platform/graphics/texmap/TextureMapperFPSCounter.cpp


Modified: trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp (286204 => 286205)

--- trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp	2021-11-29 08:27:04 UTC (rev 286204)
+++ trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp	2021-11-29 09:41:17 UTC (rev 286205)
@@ -76,6 +76,47 @@

[webkit-changes] [286204] trunk

2021-11-29 Thread commit-queue
Title: [286204] trunk








Revision 286204
Author commit-qu...@webkit.org
Date 2021-11-29 00:27:04 -0800 (Mon, 29 Nov 2021)


Log Message
[LBSE] Add runtime flag for Layer-based SVG engine (LBSE)
https://bugs.webkit.org/show_bug.cgi?id=233211


Patch by Nikolas Zimmermann  on 2021-11-29
Reviewed by Sam Weinig.

Add build option ('build-webkit --(no-)layer-based-svg-engine') and
runtime flag ('LayerBasedSVGEngineEnabled' in LBSE enabled builds) to
switch between the SVG engines.

The actual SVG code changes will follow in subsequent patches,
this just adds the infrastructure for LBSE.

.:

* Source/cmake/OptionsFTW.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsPlayStation.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/WTF:

* Scripts/Preferences/WebPreferencesInternal.yaml: Add 'LayerBasedSVGEngineEnabled' option.
* wtf/PlatformEnable.h: Disable LBSE by default. (Toggable with build settings in CMake-based builds)
* wtf/PlatformEnableCocoa.h: Enable for PLATFORM(MAC).

Tools:

* Scripts/webkitperl/FeatureList.pm: Add mapping from 'layer-based-svg-engine' -> 'ENABLE_LAYER_BASED_SVG_ENGINE'.

Modified Paths

trunk/ChangeLog
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml
trunk/Source/WTF/wtf/PlatformEnable.h
trunk/Source/WTF/wtf/PlatformEnableCocoa.h
trunk/Source/cmake/OptionsFTW.cmake
trunk/Source/cmake/OptionsGTK.cmake
trunk/Source/cmake/OptionsMac.cmake
trunk/Source/cmake/OptionsPlayStation.cmake
trunk/Source/cmake/OptionsWPE.cmake
trunk/Source/cmake/OptionsWin.cmake
trunk/Source/cmake/WebKitFeatures.cmake
trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitperl/FeatureList.pm




Diff

Modified: trunk/ChangeLog (286203 => 286204)

--- trunk/ChangeLog	2021-11-29 06:08:27 UTC (rev 286203)
+++ trunk/ChangeLog	2021-11-29 08:27:04 UTC (rev 286204)
@@ -1,3 +1,26 @@
+2021-11-29  Nikolas Zimmermann  
+
+[LBSE] Add runtime flag for Layer-based SVG engine (LBSE)
+https://bugs.webkit.org/show_bug.cgi?id=233211
+
+
+Reviewed by Sam Weinig.
+
+Add build option ('build-webkit --(no-)layer-based-svg-engine') and
+runtime flag ('LayerBasedSVGEngineEnabled' in LBSE enabled builds) to
+switch between the SVG engines.
+
+The actual SVG code changes will follow in subsequent patches,
+this just adds the infrastructure for LBSE.
+
+* Source/cmake/OptionsFTW.cmake:
+* Source/cmake/OptionsGTK.cmake:
+* Source/cmake/OptionsMac.cmake:
+* Source/cmake/OptionsPlayStation.cmake:
+* Source/cmake/OptionsWPE.cmake:
+* Source/cmake/OptionsWin.cmake:
+* Source/cmake/WebKitFeatures.cmake:
+
 2021-11-28  Matt Woodrow  
 
 Add mattwoodrow to contributors.json


Modified: trunk/Source/WTF/ChangeLog (286203 => 286204)

--- trunk/Source/WTF/ChangeLog	2021-11-29 06:08:27 UTC (rev 286203)
+++ trunk/Source/WTF/ChangeLog	2021-11-29 08:27:04 UTC (rev 286204)
@@ -1,3 +1,22 @@
+2021-11-29  Nikolas Zimmermann  
+
+[LBSE] Add runtime flag for Layer-based SVG engine (LBSE)
+https://bugs.webkit.org/show_bug.cgi?id=233211
+
+
+Reviewed by Sam Weinig.
+
+Add build option ('build-webkit --(no-)layer-based-svg-engine') and
+runtime flag ('LayerBasedSVGEngineEnabled' in LBSE enabled builds) to
+switch between the SVG engines.
+
+The actual SVG code changes will follow in subsequent patches,
+this just adds the infrastructure for LBSE.
+
+* Scripts/Preferences/WebPreferencesInternal.yaml: Add 'LayerBasedSVGEngineEnabled' option.
+* wtf/PlatformEnable.h: Disable LBSE by default. (Toggable with build settings in CMake-based builds)
+* wtf/PlatformEnableCocoa.h: Enable for PLATFORM(MAC).
+
 2021-11-19  Antoine Quint  
 
 [Model] add audio support


Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml (286203 => 286204)

--- trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml	2021-11-29 06:08:27 UTC (rev 286203)
+++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml	2021-11-29 08:27:04 UTC (rev 286204)
@@ -445,6 +445,20 @@
 WebKit:
   default: false
 
+LayerBasedSVGEngineEnabled:
+  type: bool
+  humanReadableName: "Layer-based SVG Engine (LBSE)"
+  humanReadableDescription: "Enable next-generation layer-based SVG Engine (LBSE)"
+  condition: ENABLE(LAYER_BASED_SVG_ENGINE)
+  webcoreOnChange: setNeedsRelayoutAllFrames
+  defaultValue:
+WebCore:
+  default: false
+WebKitLegacy:
+  default: false
+WebKit:
+  default: false
+
 LayoutFormattingContextEnabled:
   type: bool
   humanReadableName: "Full next-generation layout (LFC)"


Modified: trunk/Source/WTF/wtf/PlatformEnable.h (286203 => 286204)

--- trunk/Source/WTF/wtf/PlatformEnable.h	2021-11-29 06:08:27 UTC (rev 286203)
+++