Timeline



May 24, 2022: Today

9:43 PM Changeset in webkit [294788] by mark.lam@apple.com
  • 4 edits in trunk/Source

Use dladdr to get labels instead of stashing them in the JITOperationAnnotation.
https://bugs.webkit.org/show_bug.cgi?id=240895

Reviewed by Saam Barati.

We no longer need to stash these label strings in the JITOperationAnnotations.

This change also fixes an ASAN crasher. As such, we can re-enable
ENABLE(JIT_OPERATION_DISASSEMBLY) even when ASAN_ENABLED.

  • Source/JavaScriptCore/assembler/JITOperationList.cpp:

(JSC::JITOperationList::addDisassemblyLabels):

  • Source/JavaScriptCore/assembler/JITOperationValidation.h:
  • Source/WTF/wtf/PlatformCallingConventions.h:
  • Source/WTF/wtf/PlatformEnable.h:

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

9:03 PM Changeset in webkit [294787] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore/offlineasm

Use jsc_llint as a LLInt local label prefix instead of _offlineasm.
https://bugs.webkit.org/show_bug.cgi?id=240885

Reviewed by Geoffrey Garen.

Code generated by the offlineasm is tightly coupled with JSC anyway. Might as well
make the local labels more informative about where the code came from in crash traces.

So, instead of this:

JavaScriptCore`vmEntryToJavaScript:

0x1028b5d90 <+0 >: pacibsp
0x1028b5d94 <+4 >: stp x29, x30, [sp, #-0x10]!
0x1028b5d98 <+8 >: mov x29, sp
0x1028b5d9c <+12 >: sub sp, x29, #0xb0
0x1028b5da0 <+16 >: mov x13, #0xc800
0x1028b5da4 <+20 >: add x17, x1, x13
0x1028b5da8 <+24 >: ldr w4, [x17]
0x1028b5dac <+28 >: cbnz w4, 0x1028b5f34 ; _offlineasm_doVMEntrycheckVMEntryPermission
0x1028b5db0 <+32 >: str x1, [sp]
0x1028b5db4 <+36 >: mov x17, #0x9e78
...
0x1028b5de8 <+88 >: sub x3, sp, x4
0x1028b5dec <+92 >: cmp sp, x3
0x1028b5df0 <+96 >: b.ls 0x1028b5ef4 ; _offlineasm_doVMEntry
throwStackOverflow
0x1028b5df4 <+100 >: mov x17, #0xca00
0x1028b5df8 <+104 >: add x13, x1, x17
0x1028b5dfc <+108 >: ldr x17, [x13]
0x1028b5e00 <+112 >: cmp x3, x17
0x1028b5e04 <+116 >: b.lo 0x1028b5ef4 ; _offlineasm_doVMEntrythrowStackOverflow

JavaScriptCore`_offlineasm_doVMEntrystackHeightOK:

0x1028b5e08 <+0 >: mov sp, x3
0x1028b5e0c <+4 >: mov x3, #0x4

JavaScriptCore`_offlineasm_doVMEntrycopyHeaderLoop:

0x1028b5e10 <+0 >: sub w3, w3, #0x1
0x1028b5e14 <+4 >: add x17, x2, x3, lsl #3
0x1028b5e18 <+8 >: ldr x5, [x17]

We now get this:

JavaScriptCore`vmEntryToJavaScript:

0x1028cdd90 <+0>: pacibsp
0x1028cdd94 <+4>: stp x29, x30, [sp, #-0x10]!
0x1028cdd98 <+8>: mov x29, sp
0x1028cdd9c <+12>: sub sp, x29, #0xb0
0x1028cdda0 <+16>: mov x13, #0xc800
0x1028cdda4 <+20>: add x17, x1, x13
0x1028cdda8 <+24>: ldr w4, [x17]
0x1028cddac <+28>: cbnz w4, 0x1028cdf34 ; jsc_llint_doVMEntrycheckVMEntryPermission
0x1028cddb0 <+32>: str x1, [sp]
0x1028cddb4 <+36>: mov x17, #0x9e78
...
0x1028cdde8 <+88>: sub x3, sp, x4
0x1028cddec <+92>: cmp sp, x3
0x1028cddf0 <+96>: b.ls 0x1028cdef4 ; jsc_llint_doVMEntry
throwStackOverflow
0x1028cddf4 <+100>: mov x17, #0xca00
0x1028cddf8 <+104>: add x13, x1, x17
0x1028cddfc <+108>: ldr x17, [x13]
0x1028cde00 <+112>: cmp x3, x17
0x1028cde04 <+116>: b.lo 0x1028cdef4 ; jsc_llint_doVMEntrythrowStackOverflow

JavaScriptCore`jsc_llint_doVMEntrystackHeightOK:

0x1028cde08 <+0>: mov sp, x3
0x1028cde0c <+4>: mov x3, #0x4

JavaScriptCore`jsc_llint_doVMEntrycopyHeaderLoop:

0x1028cde10 <+0>: sub w3, w3, #0x1
0x1028cde14 <+4>: add x17, x2, x3, lsl #3
0x1028cde18 <+8>: ldr x5, [x17]

  • Source/JavaScriptCore/offlineasm/arm.rb:
  • Source/JavaScriptCore/offlineasm/arm64.rb:
  • Source/JavaScriptCore/offlineasm/backends.rb:
  • Source/JavaScriptCore/offlineasm/config.rb:

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

8:30 PM Changeset in webkit [294786] by mark.lam@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp

[Clang only] Make every LLInt asm global label an alt entry.
https://bugs.webkit.org/show_bug.cgi?id=240890

Reviewed by Yusuke Suzuki.

This is needed to keep Clang from moving these labels around. For correctness, the AfterGate
labels rely on themselves not being move from where they are declared in source asm code. We
should enforce this with the .alt_entry directive.

  • Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:

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

7:53 PM Changeset in webkit [294785] by Diego Pino Garcia
  • 1 edit in trunk/Source/WebCore/platform/text/TextFlags.h

[GCC] Debian stable build bot broken after 250926@main
https://bugs.webkit.org/show_bug.cgi?id=240897

Reviewed by Cameron McCormack.

GCC8.3 (Debian 10) doesn't support direct brace enclosed initialization of
bitfield enums.

  • Source/WebCore/platform/text/TextFlags.h: Move initialization of bitfield enums to constructor.

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

7:12 PM Changeset in webkit [294784] by Jean-Yves Avenard
  • 8 edits in trunk/Source/WebKit

Reduce refcount of SharedMemory when sending them over IPC.
https://bugs.webkit.org/show_bug.cgi?id=240855
rdar://problem/93806688

Reviewed by Jer Noble.

In the future, we want to be able to donate memory with exclusive access to another process, this require the VM to have a refcount of 1.
No change in obeservable behaviour. Covered by existing tests.

  • Source/WebKit/Shared/WebCoreArgumentCoders.cpp:

(IPC::encodeSharedBuffer):

  • Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:

(WebKit::WebPasteboardProxy::getPasteboardBufferForType):
(WebKit::WebPasteboardProxy::readBufferFromPasteboard):

  • Source/WebKit/WebProcess/GPU/media/RemoteMediaResourceProxy.cpp:

(WebKit::RemoteMediaResourceProxy::dataReceived):

  • Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:

(WebKit::SourceBufferPrivateRemote::append):

  • Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::writeItemsToPasteboard):

  • Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::WebDragClient::declareAndWriteDragImage):

  • Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::performActionOnElement):
(WebKit::WebPage::didFinishLoadForQuickLookDocumentInMainFrame):

  • Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::getDataSelectionForPasteboard):

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

6:43 PM Changeset in webkit [294783] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.100.3

Tag WebKit-7614.1.14.100.3.

6:37 PM Changeset in webkit [294782] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.10

Tag WebKit-7614.1.14.0.10.

6:37 PM Changeset in webkit [294781] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.10

Tag WebKit-7614.1.14.1.10.

5:22 PM Changeset in webkit [294780] by Devin Rousso
  • 19 edits in trunk

Web Inspector: Timelines Tab: Screenshots: include images from console.screenshot
https://bugs.webkit.org/show_bug.cgi?id=240853

Reviewed by Patrick Angle.

This is nice for developers as it gives them a way to visualize all of their console.screenshot,
which can be used to see visual snapshots of particular nodes/areas since it's configurable (instead
of the general "snapshot the viewport after compositing").

  • Source/JavaScriptCore/inspector/protocol/Console.json:
  • Source/JavaScriptCore/inspector/ConsoleMessage.h:
  • Source/JavaScriptCore/inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::addToFrontend):

  • Source/WebInspectorUI/UserInterface/Protocol/ConsoleObserver.js:

(WI.ConsoleObserver.prototype.messageAdded):

  • Source/WebInspectorUI/UserInterface/Controllers/ConsoleManager.js:

(WI.ConsoleManager.prototype.messageWasAdded):

  • Source/WebInspectorUI/UserInterface/Models/ConsoleMessage.js:

(WI.ConsoleMessage):
(WI.ConsoleMessage.prototype.get timestamp): Added.
Add a timestamp to console messages so that the frontend can know when the message was created.

  • Source/WebCore/page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::screenshot):
Capture a timestamp before snapshotting so it doesn't skew where it's shown in the Timelines Tab.

  • Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js:

(WI.TimelineManager):
(WI.TimelineManager.prototype._processRecord):
(WI.TimelineManager.prototype._handleMessageAdded): Added.
Listen for WI.ConsoleManager.Event.MessageAdded to add console.screenshot to the Timelines Tab.

  • Source/WebCore/inspector/TimelineRecordFactory.h:
  • Source/WebCore/inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createScreenshotData):

  • Source/WebCore/inspector/agents/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::captureScreenshot):

  • Source/WebInspectorUI/UserInterface/Models/ScreenshotsTimelineRecord.js:

(WI.ScreenshotsTimelineRecord):
(WI.ScreenshotsTimelineRecord.async fromJSON):
(WI.ScreenshotsTimelineRecord.prototype.toJSON):
(WI.ScreenshotsTimelineRecord.prototype.get width): Deleted.
(WI.ScreenshotsTimelineRecord.prototype.get height): Deleted.

  • Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineOverviewGraph.js:

(WI.ScreenshotsTimelineOverviewGraph.prototype.layout):
Drop width/height from screenshot records as the dataURL will contain it (after loading).

  • LayoutTests/inspector/console/console-api-expected.txt:
  • LayoutTests/inspector/console/console-screenshot.html:
  • LayoutTests/inspector/console/console-table-expected.txt:
  • LayoutTests/inspector/timeline/timeline-event-screenshots.html:
  • LayoutTests/inspector/timeline/timeline-event-screenshots-expected.txt:
  • LayoutTests/inspector/worker/console-basic-expected.txt:

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

5:06 PM Changeset in webkit [294779] by svillar@igalia.com
  • 1 edit in trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp

Remove floating objects during tree normalization after style changes
https://bugs.webkit.org/show_bug.cgi?id=240797

Reviewed by Darin Adler.

Float boxes define their own block formatting context and thus can't have other intruding
floats. That's why this scenario is not allowed in the code, except in the case when
a regular box with floatting descendants becomes float. In that case the tree might
be temporarily in a semi-correct state until we don't remove the intruding floats.

The current code deals with that by calling rebuildFloatingObjectSetFromIntrudingFloats()
in the subsequent layout. However it's possible that before that a style change kicks in and
mutates the render tree. In that case we could be manipulating stale objects. To prevent
that we can simply directly call removeFloatingObjects() when normalizing the tree after
a style change.

  • Source/WebCore/rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange): Call removeFloatingObjects().

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

5:04 PM Changeset in webkit [294778] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] compositing/video/video-border-radius.html is a flakey image failure
https://bugs.webkit.org/show_bug.cgi?id=223383
<rdar://75529480>

Patch by Jean-Yves Avenard <jyavenard@gmail.com> on 2022-05-24
Reviewed by Eric Carlson.

The test waited on the event "canplaythrough" before performing
the screen comparison, assuming that the two videos would have
rendered their first video frame.
canplaythrough is fired, per spec, when the media engine has
buffered sufficient data to ensure a smooth playback to the end.
It provides no guarantee that playback/decoding has actually started.

So instead we wait for a frame to be actually painted with my new
favourite method of the day: requestVideoFrameCallback

  • LayoutTests/compositing/video/video-border-radius.html:
  • LayoutTests/platform/mac-wk2/TestExpectations:

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

4:54 PM Changeset in webkit [294777] by Alan Coon
  • 1 copy in tags/WebKit-7613.3.1.0.4

Tag WebKit-7613.3.1.0.4.

4:50 PM Changeset in webkit [294776] by Alan Coon
  • 1 copy in tags/WebKit-7613.3.1.1.4

Tag WebKit-7613.3.1.1.4.

4:07 PM Changeset in webkit [294775] by Devin Rousso
  • 6 edits
    2 adds in trunk

Web Inspector: Timelines Tab: Screenshots: images flash while recording is still active
https://bugs.webkit.org/show_bug.cgi?id=240852

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineOverviewGraph.js:

(WI.ScreenshotsTimelineOverviewGraph):
(WI.ScreenshotsTimelineOverviewGraph.prototype.reset):
(WI.ScreenshotsTimelineOverviewGraph.prototype.layout):

  • Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineView.js:

(WI.ScreenshotsTimelineView):
(WI.ScreenshotsTimelineView.prototype.reset):
(WI.ScreenshotsTimelineView.prototype.layout):
(WI.ScreenshotsTimelineView.prototype.selectRecord):
(WI.ScreenshotsTimelineView.prototype.clear): Deleted.
Keep a WeakMap of <img> for each WI.ScreenshotsTimelineRecord so that we don't recreate it
over and over in layout. Also, don't show the <img> until after it "load".

  • Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineView.css:

(.timeline-view.screenshots):
(.timeline-view.screenshots > img.selected):
Remove scroll snapping as it prevents the selected image from being scrolled offscreen, which is
unnecessarily hostile. The changing border color is enough to identify it as the selected image.

  • Source/WebInspectorUI/UserInterface/Base/Utilities.js:

(Map.prototype.getOrInitialize):
(WeakMap.prototype.getOrInitialize): Added.
Adjust utility function to allow for value to be a function that's only executed if the key does
not exist in the Map/WeakMap.

  • LayoutTests/inspector/unit-tests/map-utilities.html:
  • LayoutTests/inspector/unit-tests/map-utilities-expected.txt:
  • LayoutTests/inspector/unit-tests/weakmap-utilities.html: Added.
  • LayoutTests/inspector/unit-tests/weakmap-utilities-expected.txt: Added.

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

3:43 PM Changeset in webkit [294774] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.14.10.6

Tag WebKit-7614.1.14.10.6.

3:42 PM Changeset in webkit [294773] by Devin Rousso
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineOverviewGraph.js

Web Inspector: Timelines Tab: Screenshots: clicking on another screenshot doesn't select it if there's already a selected screenshot
https://bugs.webkit.org/show_bug.cgi?id=240884

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineOverviewGraph.js:

(WI.ScreenshotsTimelineOverviewGraph.prototype.layout):

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

3:34 PM Changeset in webkit [294772] by Devin Rousso
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineView.css

Web Inspector: Timelines Tab: Screenshots: images should have something to make them "pop" when not selected
https://bugs.webkit.org/show_bug.cgi?id=240850

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineView.css:

(.timeline-view.screenshots > img):
(.timeline-view.screenshots > img.selected):

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

3:31 PM Changeset in webkit [294771] by Ryan Haddad
  • 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm

[iOS] TestWebKitAPI.IndexedDB.IndexedDBSuspendImminently is consistently timing out on release
https://bugs.webkit.org/show_bug.cgi?id=240886

Unreviewed test gardening.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:

(TEST): Skip the test.

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

3:24 PM Changeset in webkit [294770] by Devin Rousso
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineView.css

Web Inspector: Timelines Tab: Screenshots: not enough space between images
https://bugs.webkit.org/show_bug.cgi?id=240849

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineView.css:

(.timeline-view.screenshots > img):
(.timeline-view.screenshots > img + img): Added.

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

3:18 PM Changeset in webkit [294769] by Ryan Haddad
  • 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm

[ iOS & MacOS Release ]TestWebKitAPI.WebpagePreferences.WebsitePoliciesAutoplayQuirksAsyncPolicyDelegate is a flaky timeout

Unreviewed test gardening.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:

(TEST): Skip the test.

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

2:55 PM Changeset in webkit [294768] by mark.lam@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp

Use the Clang .alt_entry directive to allow use of global labels in LLInt asm.
https://bugs.webkit.org/show_bug.cgi?id=240881

Reviewed by Geoffrey Garen.

With this, debugging LLInt code will be easier. LLInt code will no longer all be at an
offset from vmEntryToJavaScript. They will instead be broken up into different sections
under human readable labels.

Secondly, crash traces of LLInt crashes will now be able to give us the nearest label
for a crash site, as opposed to everything being an offset from vmEntryToJavaScript.

For example, instead of this:

JavaScriptCore`vmEntryToJavaScript:

0x1026525b8 <+0>: pacibsp
0x1026525bc <+4>: stp x29, x30, [sp, #-0x10]!
0x1026525c0 <+8>: mov x29, sp
0x1026525c4 <+12>: sub sp, x29, #0xb0
0x1026525c8 <+16>: mov x13, #0xc800
0x1026525cc <+20>: add x17, x1, x13
0x1026525d0 <+24>: ldr w4, [x17]
0x1026525d4 <+28>: cbnz w4, 0x10265275c ; vmEntryToJavaScriptGateAfter + 120
0x1026525d8 <+32>: str x1, [sp]
0x1026525dc <+36>: mov x17, #0x9e78
0x1026525e0 <+40>: add x13, x1, x17
0x1026525e4 <+44>: ldr x4, [x13]
0x1026525e8 <+48>: str x4, [sp, #0x8]
0x1026525ec <+52>: mov x13, #0x9e70
0x1026525f0 <+56>: add x17, x1, x13
0x1026525f4 <+60>: ldr x4, [x17]
0x1026525f8 <+64>: str x4, [sp, #0x10]
0x1026525fc <+68>: ldr x4, [x2, #0x8]
0x102652600 <+72>: str x4, [sp, #0x18]
0x102652604 <+76>: ldr w4, [x2, #0x20]
0x102652608 <+80>: add x4, x4, #0x5
0x10265260c <+84>: lsl x4, x4, #3
0x102652610 <+88>: sub x3, sp, x4
0x102652614 <+92>: cmp sp, x3
0x102652618 <+96>: b.ls 0x10265271c ; vmEntryToJavaScriptGateAfter + 56
0x10265261c <+100>: mov x17, #0xca00
0x102652620 <+104>: add x13, x1, x17
0x102652624 <+108>: ldr x17, [x13]
0x102652628 <+112>: cmp x3, x17
0x10265262c <+116>: b.lo 0x10265271c ; vmEntryToJavaScriptGateAfter + 56
0x102652630 <+120>: mov sp, x3
0x102652634 <+124>: mov x3, #0x4
0x102652638 <+128>: sub w3, w3, #0x1
0x10265263c <+132>: add x17, x2, x3, lsl #3
0x102652640 <+136>: ldr x5, [x17]

We now get this:

JavaScriptCore`vmEntryToJavaScript:

0x1028b5d90 <+0>: pacibsp
0x1028b5d94 <+4>: stp x29, x30, [sp, #-0x10]!
0x1028b5d98 <+8>: mov x29, sp
0x1028b5d9c <+12>: sub sp, x29, #0xb0
0x1028b5da0 <+16>: mov x13, #0xc800
0x1028b5da4 <+20>: add x17, x1, x13
0x1028b5da8 <+24>: ldr w4, [x17]
0x1028b5dac <+28>: cbnz w4, 0x1028b5f34 ; _offlineasm_doVMEntrycheckVMEntryPermission
0x1028b5db0 <+32>: str x1, [sp]
0x1028b5db4 <+36>: mov x17, #0x9e78
0x1028b5db8 <+40>: add x13, x1, x17
0x1028b5dbc <+44>: ldr x4, [x13]
0x1028b5dc0 <+48>: str x4, [sp, #0x8]
0x1028b5dc4 <+52>: mov x13, #0x9e70
0x1028b5dc8 <+56>: add x17, x1, x13
0x1028b5dcc <+60>: ldr x4, [x17]
0x1028b5dd0 <+64>: str x4, [sp, #0x10]
0x1028b5dd4 <+68>: ldr x4, [x2, #0x8]
0x1028b5dd8 <+72>: str x4, [sp, #0x18]
0x1028b5ddc <+76>: ldr w4, [x2, #0x20]
0x1028b5de0 <+80>: add x4, x4, #0x5
0x1028b5de4 <+84>: lsl x4, x4, #3
0x1028b5de8 <+88>: sub x3, sp, x4
0x1028b5dec <+92>: cmp sp, x3
0x1028b5df0 <+96>: b.ls 0x1028b5ef4 ; _offlineasm_doVMEntry
throwStackOverflow
0x1028b5df4 <+100>: mov x17, #0xca00
0x1028b5df8 <+104>: add x13, x1, x17
0x1028b5dfc <+108>: ldr x17, [x13]
0x1028b5e00 <+112>: cmp x3, x17
0x1028b5e04 <+116>: b.lo 0x1028b5ef4 ; _offlineasm_doVMEntrythrowStackOverflow

JavaScriptCore`_offlineasm_doVMEntrystackHeightOK:

0x1028b5e08 <+0>: mov sp, x3
0x1028b5e0c <+4>: mov x3, #0x4

JavaScriptCore`_offlineasm_doVMEntrycopyHeaderLoop:

0x1028b5e10 <+0>: sub w3, w3, #0x1
0x1028b5e14 <+4>: add x17, x2, x3, lsl #3
0x1028b5e18 <+8>: ldr x5, [x17]

This feature is only available when COMPILER(CLANG) is true.

  • Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:

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

2:49 PM Changeset in webkit [294767] by Elliott Williams
  • 2 edits in trunk/Source

WK_ALTERNATE_FRAMEWORKS_DIR should not affect WK_OVERRIDE_FRAMEWORKS_DIR
https://bugs.webkit.org/show_bug.cgi?id=240831

Reviewed by Tim Horton.

Resolve an inconsistency among projects regarding whether
WK_OVERRIDE_FRAMEWORKS_DIR is set for Mac Catalyst. Catalyst builds work
by setting WK_ALTERNATE_FRAMEWORKS_DIR. With this change, we update
projects so that an alternates directory never affects
WK_OVERRIDE_FRAMEWORKS_DIR.

This brings JavaScriptCore and WebGPU in
line with build settings logic in ANGLE, libwebrtc, PAL, WebCore,
WebInspectorUI, WebKitLegacy, and WebKit. Some of these projects were
changed to have these semantics years ago in <https://commits.webkit.org/r230958>.

Separating WK_ALTERNATE_FRAMEWORKS_DIR from WK_OVERRIDE_FRAMEWORKS_DIR
is valuable for distinguishing between system-installed Mac Catalyst
WebKit and self-contained WebKit builds such as STP.

  • Source/JavaScriptCore/Configurations/Base.xcconfig:
  • Source/WebGPU/Configurations/Base.xcconfig:

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

2:37 PM Changeset in webkit [294766] by pvollan@apple.com
  • 1 edit in trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp

[iOS] No message displayed when Parental content filter blocked load
https://bugs.webkit.org/show_bug.cgi?id=240724

Reviewed by Geoffrey Garen.

The request to unblock a load after it has being blocked by the Parental content filter on iOS needs to be
performed in the UI process, since it may show UI. This path does not set the blocked error description on
the content filter like we do in the other path, which is addressed in this patch. This is a regression
from moving the content filtering to the Network process.

  • Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::contentFilterDidBlock):

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

2:36 PM Changeset in webkit [294765] by Russell Epstein
  • 9 edits in branches/safari-7614.1.14.10-branch/Source

Versioning.

WebKit-7614.1.14.10.6

2:05 PM Changeset in webkit [294764] by Nikos Mouchtaris
  • 6 edits
    3 adds in trunk

Re-enable HEIC tests
https://bugs.webkit.org/show_bug.cgi?id=240843
<rdar://90658250>

Reviewed by Per Arne Vollan.

Re-enable HEIC tests as although we are not supporting them in web content, we
want to re-enable them as the process they are testing is still being used in
Mail and other apps.

  • LayoutTests/fast/images/heic-as-background-image-expected.html: Added.
  • LayoutTests/fast/images/heic-as-background-image.html: Added.
  • LayoutTests/fast/images/resources/green-400x400.heic: Added.
  • LayoutTests/platform/ios/TestExpectations:
  • LayoutTests/platform/mac/TestExpectations:
  • Source/WebCore/platform/RuntimeApplicationChecks.h:
  • Source/WebCore/platform/cocoa/RuntimeApplicationChecksCocoa.mm:

(WebCore::CocoaApplication::isWebkitTestRunner):

  • Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

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

1:54 PM Changeset in webkit [294763] by Razvan Caliman
  • 4 edits in trunk

Web Inspector: Assertion Failed: Expect an array of string values CSSCompletions.js:39
https://bugs.webkit.org/show_bug.cgi?id=240715

Reviewed by Devin Rousso.

When instantiating WI.CSSCompletions in WI.CSSKeywordCompletions.forFunction()
for "var" functions, the values array is initally empty.
An array of strings was expected.

The actual values are added immediately after instantiation via
WI.CSSCompletions.addValues(). They come from the custom completion provider
referenced by the additionalFunctionValueCompletionsProvider option.

There's no reason to have this two step approach. We can provide the result of
additionalFunctionValueCompletionsProvider("var") at WI.CSSCompletions
instantiation.

  • Source/WebInspectorUI/UserInterface/Models/CSSCompletions.js:

Updated the assertion in the constructor to accept an empty array of values.
One may be returned when requesting CSS variable name completions on a
page without any variables defined.

(WI.CSSCompletions.prototype.addValues): Deleted.

The method can be removed because there are no other callers of WI.CSSCompletions.addValues().

  • Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js:

We can concatenate the array of pre-defined values in
WI.CSSKeywordCompletions.forFunction() with the result of
additionalFunctionValueCompletionsProvider() and use the result when
instantiating WI.CSSCompletions.

  • Source/WebInspectorUI/UserInterface/Models/CSSPropertyNameCompletions.js:

(WI.CSSPropertyNameCompletions.prototype.addValues): Deleted.

It was never expected to call WI.CSSPropertyNameCompletions.addValues() else
it would screw up the fixed list of supported property names instantiated only
once when Web Inspector connects to the backend. The subclass had an assertion
on .addValues() to remind us of this pitfall. This can go away too now.

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

1:53 PM Changeset in webkit [294762] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.1-branch/Source/JavaScriptCore/b3/B3ReduceStrength.cpp

Cherry-pick r294563. rdar://problem/93536782

Refine B3ReduceStrength's range for sign extension operations.
https://bugs.webkit.org/show_bug.cgi?id=240720
<rdar://problem/93536782>

Reviewed by Yusuke Suzuki and Keith Miller.

  • Source/JavaScriptCore/b3/B3ReduceStrength.cpp:

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

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

1:47 PM Changeset in webkit [294761] by Devin Rousso
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineView.css

Web Inspector: Timelines Tab: Screenshots: white images blend in with the background
https://bugs.webkit.org/show_bug.cgi?id=240848

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineView.css:

(.timeline-view.screenshots):
(@media (prefers-color-scheme: dark) .timeline-view.screenshots): Added.

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

1:37 PM Changeset in webkit [294760] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.0-branch/Source/JavaScriptCore/b3/B3ReduceStrength.cpp

Cherry-pick r294563. rdar://problem/93536782

Refine B3ReduceStrength's range for sign extension operations.
https://bugs.webkit.org/show_bug.cgi?id=240720
<rdar://problem/93536782>

Reviewed by Yusuke Suzuki and Keith Miller.

  • Source/JavaScriptCore/b3/B3ReduceStrength.cpp:

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

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

1:14 PM Changeset in webkit [294759] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Timelines Tab: Screenshots: show placeholder text when there's no images
https://bugs.webkit.org/show_bug.cgi?id=240851

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Views/ScreenshotsTimelineView.js:

(WI.ScreenshotsTimelineView.prototype.layout):

  • Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:

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

12:43 PM Changeset in webkit [294758] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Simplify ExpansionBehavior to avoid using getters/setters
https://bugs.webkit.org/show_bug.cgi?id=240823

Patch by Kiet Ho <Kiet Ho> on 2022-05-24
Reviewed by Cameron McCormack.

  • Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp:

(WebCore::Layout::Line::applyRunExpansion):

  • Source/WebCore/platform/graphics/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

  • Source/WebCore/platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::expansionOpportunityCountInternal):

  • Source/WebCore/platform/graphics/TextRun.cpp:
  • Source/WebCore/platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::WidthIterator):
(WebCore::WidthIterator::calculateAdditionalWidth const):

  • Source/WebCore/platform/text/TextFlags.h:

(WebCore::ExpansionBehavior::ExpansionBehavior):
(WebCore::ExpansionBehavior::defaultBehavior):
(WebCore::ExpansionBehavior::allowRightOnly):
(WebCore::ExpansionBehavior::allowLeftOnly):
(WebCore::ExpansionBehavior::forceLeftOnly):
(WebCore::ExpansionBehavior::forbidAll):
(WebCore::ExpansionBehavior::left const): Deleted.
(WebCore::ExpansionBehavior::setLeft): Deleted.
(WebCore::ExpansionBehavior::right const): Deleted.
(WebCore::ExpansionBehavior::setRight): Deleted.

  • Source/WebCore/rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::expansionBehavior const):

  • Source/WebCore/rendering/LegacyLineLayout.cpp:

(WebCore::expansionBehaviorForInlineTextBox):
(WebCore::applyExpansionBehavior):

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

12:36 PM Changeset in webkit [294757] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit/NetworkProcess/cocoa

Private relay should fail closed for third party loads if the main resource was loaded over private relay
https://bugs.webkit.org/show_bug.cgi?id=240483

Reviewed by Chris Dumez.

This re-lands the change from r293861 along with r293481 except it uses ResourceRequest.firstPartyForCookies
instead of NetworkLoadParameters.topOrigin, which ought to be equivalent but the latter seems less reliable
and has been the cause of performance regressions associated with a few previous attempts at this fix.

  • Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

  • Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(WebKit::NetworkSessionCocoa::createWebSocketTask):

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

12:18 PM Changeset in webkit [294756] by commit-queue@webkit.org
  • 5 edits
    3 moves
    5 adds
    1 delete in trunk/LayoutTests

Import text-indent tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=240835

Patch by Kiet Ho <Kiet Ho> on 2022-05-24
Reviewed by Tim Nguyen.

Imported directory css/css-text/text-indent from WPT commit
2afc2f61703755c91daaf1a7ddf9ddf868c76699. This includes tests migrated from WebKit
to WPT in PR https://github.com/web-platform-tests/wpt/pull/34153.

  • LayoutTests/TestExpectations:
  • LayoutTests/fast/css3-text/css3-text-indent/text-indent-each-line-hanging.html: Removed.
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-indent/anonymous-flex-item-001-expected.html: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-indent/anonymous-flex-item-001.html: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-indent/anonymous-grid-item-001-expected.html: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-indent/anonymous-grid-item-001.html: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-indent/text-indent-each-line-hanging-expected.html: Renamed from LayoutTests/fast/css3-text/css3-text-indent/text-indent-each-line-hanging-expected.html.
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-indent/text-indent-each-line-hanging.html: Added.
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-indent/text-indent-percentage-002.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-indent/text-indent-percentage-003.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-indent/text-indent-percentage-004.html:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-indent/text-indent-with-absolute-pos-child-expected.html: Renamed from LayoutTests/fast/css3-text/css3-text-indent/text-indent-with-absolute-pos-child-expected.html.
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-indent/text-indent-with-absolute-pos-child.html: Renamed from LayoutTests/fast/css3-text/css3-text-indent/text-indent-with-absolute-pos-child.html.
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-indent/w3c-import.log:

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

12:12 PM Changeset in webkit [294755] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Start using min/max content size for flexing
https://bugs.webkit.org/show_bug.cgi?id=240872

Reviewed by Antti Koivisto.

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

  • Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.cpp:

(WebCore::LayoutIntegration::FlexLayout::updateFormattingRootGeometryAndInvalidate):
(WebCore::LayoutIntegration::FlexLayout::updateFlexItemDimensions):

  • Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.h:
  • Source/WebCore/rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutUsingFlexFormattingContext):

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

11:48 AM Changeset in webkit [294754] by Alan Bujtas
  • 2 edits
    2 adds
    4 deletes in trunk

REGRESSION (r292532): pge.com: Unable to focus on any of the inputs
https://bugs.webkit.org/show_bug.cgi?id=240832
<rdar://92538460>

Reviewed by Simon Fraser.

This is a revert of r292532. Blank float avoiders (used width = 0px) do fit even when the available space is zero. We have to find a different way to address the float fitting issue in contain-inline-size-bfc-floats-001.html (though I am not convinced that the expected result is correct anymore).

  • LayoutTests/TestExpectations:
  • LayoutTests/fast/block/float/zero-size-float-avoider-incorrect-position-expected.html: Added.
  • LayoutTests/fast/block/float/zero-size-float-avoider-incorrect-position.html: Added.
  • Source/WebCore/rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::getClearDelta):

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

10:28 AM Changeset in webkit [294753] by timothy_horton@apple.com
  • 3 edits
    2 adds in trunk

isContentEditable returns false for display:none contenteditable elements, but true for children
https://bugs.webkit.org/show_bug.cgi?id=240834

Reviewed by Ryosuke Niwa.

  • Source/WebCore/dom/Node.cpp:

(WebCore::computeEditabilityFromComputedStyle):
Remove a display: none check. This check is wrong for two reasons:

1) It only consults the style of the immediate element, not whether or not

that element is in a display: none subtree. This regressed in r160966.
This causes a confusing situation where display: none affects the editability
of only the element it is directly applied to.

2) isContentEditable is not specified to be affected by display: none.

  • LayoutTests/editing/editability/isContentEditable-in-display-none-expected.txt: Added.
  • LayoutTests/editing/editability/isContentEditable-in-display-none.html: Added.

Add a test that dumps the editability of a variety of different configurations of
contenteditable elements and their children.

Before this change, this test would have said that #nonVisible (the display: none
contenteditable element) was read-only, but its child <p> was editable. Now we
agree with Gecko and Blink who both say that both are editable.

  • LayoutTests/fast/events/event-input-contentEditable-expected.txt:
  • LayoutTests/fast/events/event-input-contentEditable.html:

Adjust this test to expect an input event to be dispatched for programmatic
editing in display: none elements. Also add a sub-test that checks the same,
but in a child element.

Before this change, we would not dispatch an input event to the display: none
contenteditable itself, but *would* dispatch an input event for input into a child element.
Now we agree with Gecko, who dispatch events in both cases.

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

9:57 AM Changeset in webkit [294752] by Martin Robinson
  • 2 edits
    2 adds in trunk

REGRESSION (r289032): rotate animation doesn't interpolate between 0 and 1turn without forced 50% https://bugs.webkit.org/show_bug.cgi?id=239906

Reviewed by Simon Fraser.

When using CoreAnimation non-matrix animations to animate rotations,
CoreAnimation will use the shortest direction between two rotation
angles. This means that a rotation from 0 to 360 will not rotate at all.
This is different from how CSS works, where it expects the animation to
do a full turn. In order to avoid problems with this difference, when an
animation includes larger angles (> 180 degrees), fall back to software
animation.

No new tests. It is difficult to make a test for this because
when pausing animations the software path is used.

  • LayoutTests/animations/3d/full-rotation-animation-expected.html: Added.
  • LayoutTests/animations/3d/full-rotation-animation.html: Added.
  • Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::transformationAnimationValueAt):
(WebCore::hasBigRotationAngle):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):

  • Source/WebCore/platform/graphics/transforms/TransformOperations.h:

(WebCore::SharedPrimitivesPrefix::primitives const):
(WebCore::SharedPrimitivesPrefix::primitives): Deleted.

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

9:39 AM Changeset in webkit [294751] by Ryan Haddad
  • 1 edit in trunk/Tools/CISupport/build-webkit-org/master.cfg

[build.webkit.org] Allow configuring multiple user credentials
https://bugs.webkit.org/show_bug.cgi?id=240826

Reviewed by Aakash Jain.

Allow configuring multiple user credentials for build.webkit.org as we
did for ews-build.webkit.org in 246332@main. This also loads credentials
from passwords.json instead of environment variables.

  • Tools/CISupport/build-webkit-org/master.cfg:

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

9:15 AM Changeset in webkit [294750] by Chris Dumez
  • 1 edit in trunk/Source/WTF/wtf/FastBitVector.cpp

Avoid unnecessary calls to fastZeroedMalloc() in FastBitVector
https://bugs.webkit.org/show_bug.cgi?id=240812

Reviewed by Yusuke Suzuki.

We were calling fastZeroedMalloc() which would allocate the memory and memset it to 0,
only to then overwrite all (or most) of that memory with memcpy().

  • Source/WTF/wtf/FastBitVector.cpp:

(WTF::FastBitVectorWordOwner::setEqualsSlow):
(WTF::FastBitVectorWordOwner::resizeSlow):

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

9:14 AM Changeset in webkit [294749] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: [ Monterey wk2 debug ] WebGL conformance tests are a flaky time out
https://bugs.webkit.org/show_bug.cgi?id=239386
<rdar://91807783>

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

8:38 AM Changeset in webkit [294748] by Jonathan Bedard
  • 1 add in trunk/Tools/Scripts/hooks/pre-commit

[GitHub] git-webkit pr doesn't sort Xcode project files before uploading
https://bugs.webkit.org/show_bug.cgi?id=239975
<rdar://92976140>

Reviewed by Chris Dumez.

  • Tools/Scripts/hooks/pre-commit: Sort Xcode project files on commit.

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

8:24 AM Changeset in webkit [294747] by Wenson Hsieh
  • 1 edit in trunk/Source/WebCore/page/ImageAnalysisQueue.cpp

ImageAnalysisTests.AnalyzeDynamicallyLoadedImages is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=240847
rdar://93268890

Reviewed by Tim Horton.

This API test was created to verify that ImageAnalysisQueue detects and enqueues images that are
inserted into the document via script, after -_startImageAnalysis: has been invoked. Currently, it
occasionally times out, when the logic in ImageAnalysisQueue::enqueueIfNeeded to reject tiny
(< 20 by 20) images from the analysis queue falsely prevents us from enqueueing the newly inserted
image element.

Note that enqueueIfNeeded is called after the image has finished loading (i.e., dispatched its
"load" event for the new image). However, in this state, the image element's renderer hasn't
necessarily been laid out yet since its image source has changed, which means that the actual size
of the renderer might still be empty (0 by 0) when invoking enqueueIfNeeded. Since we currently
consult RenderBox::size() on the RenderImage in this method, we end up bailing too early.

Instead of checking the size of the renderer, we should be checking the size of the image instead
since the image itself is what's used to generate the bitmap image, over which we'll eventually run
image analysis. Unlike the renderer, this cached image's size doesn't depend on layout, and is
guaranteed to be up to date when the image has finished loading. This also allows us to simplify the
logic here -- since null WebCore::Images are empty, checking that both the width and height of the
image are at least 20 is sufficient to avoid queueing null images for analysis.

  • Source/WebCore/page/ImageAnalysisQueue.cpp:

(WebCore::ImageAnalysisQueue::enqueueIfNeeded):

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

8:01 AM Changeset in webkit [294746] by ntim@apple.com
  • 4 edits in trunk/Source/WebCore

Remove unused RenderTheme video-related methods
https://bugs.webkit.org/show_bug.cgi?id=240862

Reviewed by Antoine Quint.

  • Source/WebCore/html/shadow/SliderThumbElement.cpp:

(WebCore::hasVerticalAppearance):

  • Source/WebCore/rendering/RenderTheme.cpp:

(WebCore::RenderTheme::formatMediaControlsTime const): Deleted.
(WebCore::RenderTheme::formatMediaControlsCurrentTime const): Deleted.
(WebCore::RenderTheme::formatMediaControlsRemainingTime const): Deleted.
(WebCore::RenderTheme::volumeSliderOffsetFromMuteButton const): Deleted.

  • Source/WebCore/rendering/RenderTheme.h:

(WebCore::RenderTheme::supportsClosedCaptioning const): Deleted.
(WebCore::RenderTheme::hasOwnDisabledStateHandlingFor const): Deleted.
(WebCore::RenderTheme::usesMediaControlStatusDisplay): Deleted.
(WebCore::RenderTheme::usesMediaControlVolumeSlider const): Deleted.
(WebCore::RenderTheme::usesVerticalVolumeSlider const): Deleted.
(WebCore::RenderTheme::mediaControlsFadeInDuration): Deleted.
(WebCore::RenderTheme::mediaControlsFadeOutDuration): Deleted.

  • Source/WebCore/rendering/RenderThemeMac.h:

(WebCore::RenderThemeMac::supportsClosedCaptioning const final): Deleted.

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

7:31 AM Changeset in webkit [294745] by commit-queue@webkit.org
  • 54 edits
    2 copies in trunk

[LBSE] Add support for <circle> & <ellipse>
https://bugs.webkit.org/show_bug.cgi?id=240793

Patch by Nikolas Zimmermann <nzimmermann@igalia.com> on 2022-05-24
Reviewed by Rob Buis.

Rename RenderSVGEllipse -> LegacyRenderSVGEllipse and adapt callees.

Re-introduce RenderSVGEllipse for LBSE, and activate renderer creation
for <circle> & <ellipse>, if LBSE is enabled at run-time.

This allows 14 more SVG 1.1 testcases to pass.

  • LayoutTests/platform/mac-monterey-wk2-lbse-text/TestExpectations:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-31-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-33-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-37-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-44-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/animate-elem-82-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/color-prop-02-f-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/color-prop-03-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-units-02-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-order-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-04-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-a-05-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/script-handle-02-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/script-handle-03-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/script-handle-04-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/struct-frag-04-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-02-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-css-03-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-01-b-expected.txt:
  • LayoutTests/platform/mac-monterey-wk2-lbse-text/svg/W3C-SVG-1.1/text-align-05-b-expected.txt:
  • Source/WebCore/Sources.txt:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:
  • Source/WebCore/rendering/svg/LegacyRenderSVGEllipse.cpp: Copied from Source/WebCore/rendering/svg/RenderSVGEllipse.cpp.

(WebCore::LegacyRenderSVGEllipse::LegacyRenderSVGEllipse):
(WebCore::LegacyRenderSVGEllipse::updateShapeFromElement):
(WebCore::LegacyRenderSVGEllipse::calculateRadiiAndCenter):
(WebCore::LegacyRenderSVGEllipse::fillShape const):
(WebCore::LegacyRenderSVGEllipse::strokeShape const):
(WebCore::LegacyRenderSVGEllipse::shapeDependentStrokeContains):
(WebCore::LegacyRenderSVGEllipse::shapeDependentFillContains const):
(WebCore::LegacyRenderSVGEllipse::isRenderingDisabled const):

  • Source/WebCore/rendering/svg/LegacyRenderSVGEllipse.h: Copied from Source/WebCore/rendering/svg/RenderSVGEllipse.h.
  • Source/WebCore/rendering/svg/RenderSVGEllipse.cpp:

(WebCore::RenderSVGEllipse::RenderSVGEllipse):
(WebCore::RenderSVGEllipse::updateShapeFromElement):
(WebCore::RenderSVGEllipse::fillShape const):
(WebCore::RenderSVGEllipse::strokeShape const):
(WebCore::RenderSVGEllipse::shapeDependentStrokeContains):
(WebCore::RenderSVGEllipse::shapeDependentFillContains const):

  • Source/WebCore/rendering/svg/RenderSVGEllipse.h:
  • Source/WebCore/svg/SVGCircleElement.cpp:

(WebCore::SVGCircleElement::createElementRenderer):

  • Source/WebCore/svg/SVGElement.cpp:

(WebCore::createSVGLayerAwareElementSet):

  • Source/WebCore/svg/SVGEllipseElement.cpp:

(WebCore::SVGEllipseElement::createElementRenderer):

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

7:22 AM Changeset in webkit [294744] by Oriol Brufau
  • 3 edits
    2 adds in trunk

Obey intrinsic min-height in nested column flex container
https://bugs.webkit.org/show_bug.cgi?id=240068

Reviewed by Sergio Villar Senin.

Fixes a regression from bug 230755. An intrinsic min-height should make
a column flex container grow enough for its contents, even if it's also
a flex item with a small definite flex-basis like 0px.

Test: imported/w3c/web-platform-tests/css/css-flexbox/flex-minimum-height-flex-items-031.html

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

6:34 AM Changeset in webkit [294743] by Claudio Saavedra
  • 1 edit in trunk/Source/WebCore/platform/sql/SQLiteStatement.cpp

[sqlite] Remove superfluous assertion
https://bugs.webkit.org/show_bug.cgi?id=240869

Reviewed by NOBODY (OOPS!).

Span::size() always returns a non-negative value, so checking
that the blob's size is greater than zero is unnecessary.

  • Source/WebCore/platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::bindBlob):

6:08 AM Changeset in webkit [294742] by Jean-Yves Avenard
  • 3 edits in trunk/LayoutTests

canvas-createPattern-video-modify.html is an intermittent failure
https://bugs.webkit.org/show_bug.cgi?id=240780
rdar://93731906

Reviewed by Youenn Fablet.

The tests relied on the event "loadeddata" to be fired to check if the first video frame got painted.
However, at present there's no guarantee that a frame would have been painted at the time this event is fired.
This issue is separately tracked in bug 240779

So instead we use the new requestVideoCallbackFrame API which is designed specifically for this case.
We also simplify the existing page, using more modern JS features.

  • LayoutTests/fast/canvas/canvas-createPattern-video-loading.html:
  • LayoutTests/fast/canvas/canvas-createPattern-video-modify.html:
  • LayoutTests/media/utilities.js:

(once):
(fetchWithXHR):
(waitForVideoFrame):
(waitForVideoFrameUntil):

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

5:31 AM EnvironmentVariables edited by Michael Catanzaro
(diff)
5:29 AM EnvironmentVariables edited by Michael Catanzaro
Add WEBKIT_GST_ENABLE_LEGACY_VAAPI (diff)
1:17 AM Changeset in webkit [294741] by Diego Pino Garcia
  • 41 edits
    4 deletes in trunk/LayoutTests/platform

[WPE] Unreviewed test gardening, update baselines

May 23, 2022: Yesterday

11:17 PM Changeset in webkit [294740] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7614.1.14.0-branch

Cherry-pick r294186. rdar://problem/93805727

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

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

11:14 PM Changeset in webkit [294739] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7614.1.14.1-branch

Cherry-pick r294186. rdar://problem/93805727

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

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

11:13 PM Changeset in webkit [294738] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.10

11:10 PM Changeset in webkit [294737] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.10

11:00 PM Changeset in webkit [294736] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION (r294291): Another nullptr crash with ::first-letter
https://bugs.webkit.org/show_bug.cgi?id=240795
<rdar://93645746>

Reviewed by Alan Bujtas.

  • LayoutTests/fast/css/first-letter-remove-crash-expected.txt: Added.
  • LayoutTests/fast/css/first-letter-remove-crash.html: Added.
  • LayoutTests/fast/css/first-letter-removed-added-expected.txt:
  • Source/WebCore/rendering/updating/RenderTreeBuilderFirstLetter.cpp:

(WebCore::RenderTreeBuilder::FirstLetter::updateStyle):

We should always find :first-letter style when we get here.

  • Source/WebCore/style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::resolveElement):

Rebuild the renderer subtree if ::first-letter pseudo-class stops applying.

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

10:38 PM Changeset in webkit [294735] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.0-branch/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp

Unreviewed build fix. rdar://problem/87980543

Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:247:36:|error: no matching constructor for initialization of 'WebCore::FEImage::SourceImage &&' (aka 'variant<Ref<WebCore::Image>, Ref<WebCore::ImageBuffer>, ObjectIdentifier<WebCore::RenderingResourceIdentifierType>> &&')

10:38 PM Changeset in webkit [294734] by Alan Coon
  • 7 edits in branches/safari-7613.3.1.0-branch/Source

Cherry-pick r294280. rdar://problem/87980543

This reverts r294694.

10:36 PM Changeset in webkit [294733] by Alan Coon
  • 9 edits in branches/safari-7613.3.1.0-branch/Source

Versioning.

WebKit-7613.3.1.0.4

10:28 PM Changeset in webkit [294732] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.1-branch/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp

Unreviewed build fix. rdar://87980543

Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:247:36:|error: no matching constructor for initialization of 'WebCore::FEImage::SourceImage &&' (aka 'variant<Ref<WebCore::Image>, Ref<WebCore::ImageBuffer>, ObjectIdentifier<WebCore::RenderingResourceIdentifierType>> &&')

10:26 PM Changeset in webkit [294731] by Alan Coon
  • 7 edits in branches/safari-7613.3.1.1-branch/Source

Cherry-pick r294280. rdar://problem/87980543

This reverts r294684.

10:24 PM Changeset in webkit [294730] by Alan Coon
  • 9 edits in branches/safari-7613.3.1.1-branch/Source

Versioning.

WebKit-7613.3.1.1.4

10:13 PM Changeset in webkit [294729] by commit-queue@webkit.org
  • 2 edits in trunk

REGRESSION (250413@main): [ iOS ] system-preview/badge.html is a consistent image failure
https://bugs.webkit.org/show_bug.cgi?id=240352
rdar://93191053

Patch by Antoine Quint <Antoine Quint> on 2022-05-23
Reviewed by Simon Fraser.

In the case of an ARKit image, we should only be returning when we don't
have a native image to record, otherwise the system image itself needs
to be recorded as well.

  • LayoutTests/platform/ios-wk2/TestExpectations:
  • Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::drawSystemImage):

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

10:09 PM Changeset in webkit [294728] by ntim@apple.com
  • 5 edits in trunk/Source/WebCore

Remove RenderSliderThumb
https://bugs.webkit.org/show_bug.cgi?id=240794

Reviewed by Antti Koivisto.

Test: imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001.html

  • Source/WebCore/html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::resolveCustomStyle):
(WebCore::SliderContainerElement::resolveCustomStyle):
(WebCore::RenderSliderThumb::RenderSliderThumb): Deleted.
(WebCore::RenderSliderThumb::updateAppearance): Deleted.
(WebCore::RenderSliderThumb::isSliderThumb const): Deleted.
(WebCore::SliderThumbElement::createElementRenderer): Deleted.

  • Source/WebCore/html/shadow/SliderThumbElement.h:
  • Source/WebCore/rendering/RenderObject.h:

(WebCore::RenderObject::isSlider const):
(WebCore::RenderObject::isSliderThumb const): Deleted.

  • Source/WebCore/rendering/RenderSlider.cpp:

(WebCore::RenderSlider::layout): Deleted.

  • Source/WebCore/rendering/RenderSlider.h:

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

9:09 PM Changeset in webkit [294727] by Diego Pino Garcia
  • 1 edit
    2 deletes in trunk/LayoutTests/platform/glib

[GLIB] Unreviewed test gardening, update expectations after r293691

9:00 PM Changeset in webkit [294726] by Ben Nham
  • 3 edits in trunk

Fix webpushd crash when removing notification permissions
https://bugs.webkit.org/show_bug.cgi?id=240737

Reviewed by Chris Dumez and Geoffrey Garen.

When removing notification permissions for an origin, webpushd crashes because of a RELEASE_ASSERT
that fires in AppBundleRequest::start when INSTALL_COORDINATION_BUNDLES isn't enabled and mock
bundles aren't enabled.

Fix this by removing the calls into AppBundleRequest when INSTALL_COORDINATION_BUNDLES isn't enabled.
Those requests are only meant to run when that feature is enabled.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: Only run the permission management test when INSTALL_COORDINATION_BUNDLES is enabled (e.g. on iOS); that is the only time it makes sense to test that codepath.
  • Source/WebKit/webpushd/WebPushDaemon.h:
  • Source/WebKit/webpushd/WebPushDaemon.mm:

(WebPushD::Daemon::deletePushRegistration):
(WebPushD::Daemon::deletePushAndNotificationRegistration):

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

8:53 PM Changeset in webkit [294725] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.14.11.3

Tag WebKit-7614.1.14.11.3.

8:50 PM Changeset in webkit [294724] by Russell Epstein
  • 9 edits in branches/safari-7614.1.14.11-branch/Source

Versioning.

WebKit-7614.1.14.11.3

8:11 PM Changeset in webkit [294723] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.14.10.5

Tag WebKit-7614.1.14.10.5.

8:10 PM Changeset in webkit [294722] by Russell Epstein
  • 9 edits in branches/safari-7614.1.14.10-branch/Source

Versioning.

WebKit-7614.1.14.10.5

8:06 PM Changeset in webkit [294721] by Diego Pino Garcia
  • 2 edits
    10 moves in trunk/LayoutTests/platform

[WPE] Unreviewed test gardening, fix missing baselines reported by test bot

8:02 PM Changeset in webkit [294720] by Alan Coon
  • 1 copy in tags/WebKit-7613.3.1.0.3

Tag WebKit-7613.3.1.0.3.

8:00 PM Changeset in webkit [294719] by Alan Coon
  • 1 delete in tags/WebKit-7613.3.1.0.3

Delete tag.

7:45 PM Changeset in webkit [294718] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.14.10.4

Tag WebKit-7614.1.14.10.4.

7:43 PM Changeset in webkit [294717] by Alan Coon
  • 1 copy in tags/WebKit-7613.3.1.1.3

Tag WebKit-7613.3.1.1.3.

7:40 PM Changeset in webkit [294716] by Devin Rousso
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js

Web Inspector: Network Table: activity is not marked as a previous session when the Network Tab is not selected
https://bugs.webkit.org/show_bug.cgi?id=240846

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView.prototype._mainResourceDidChange):
(WI.NetworkTableContentView.prototype._entryForResource):
Also mark WI.Resource that haven't yet been inserted into the WI.Table when navigating the main
resource. Use this when generating an entry for that WI.Resource for the first time, instead of
always assuming that the WI.Resource is part of the current session.

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

7:39 PM Changeset in webkit [294715] by Russell Epstein
  • 9 edits in branches/safari-7614.1.14.10-branch/Source

Versioning.

WebKit-7614.1.14.10.4

7:06 PM Changeset in webkit [294714] by Wenson Hsieh
  • 1 edit
    2 adds in trunk

Breaking out of a quoted reply block by inserting a new paragraph should reset writing direction
https://bugs.webkit.org/show_bug.cgi?id=240778
rdar://14839536

Reviewed by Devin Rousso.

The process of breaking out of a blockquote via the "InsertNewlineInQuotedContent" editor command currently works by
splitting the blockquote into two sibling elements underneath the same parent container, and then inserting a br
element in between these sibling blockquote elements. The selection is then moved to the end of the newly created
br, which inherits the writing direction (dir) of the element containing the blockquote. In the case of Mail, if
the system language is right-to-left but the quoted content is left-to-right, this can lead to some unintuitive behavior
when breaking out of quoted LTR content, since the newly created line break will inherit the right-to-left direction of
its ancestor.

To fix this, in the case where we're breaking out of a blockquote and the start of the selection is left-to-right but
the element that contains the blockquote is right-to-left, we can wrap the br in another block-level container
element with dir=auto to avoid inheriting the writing direction from the blockquote's ancestor. This means that the
writing direction of the newly inserted paragraph will automatically be determined by what the user types.

Test: editing/execCommand/reset-direction-after-breaking-blockquote.html

  • LayoutTests/editing/execCommand/reset-direction-after-breaking-blockquote-expected.txt: Added.
  • LayoutTests/editing/execCommand/reset-direction-after-breaking-blockquote.html: Added.
  • Source/WebCore/editing/BreakBlockquoteCommand.cpp:

(WebCore::BreakBlockquoteCommand::doApply):

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

6:44 PM Changeset in webkit [294713] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.0-branch/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp

Revert build fix. rdar://problem/87980543

This reverts r294685.

6:42 PM Changeset in webkit [294712] by Alan Coon
  • 1 copy in tags/WebKit-7613.3.1.0.3

Tag WebKit-7613.3.1.0.3.

6:04 PM Changeset in webkit [294711] by Alan Coon
  • 1 copy in tags/WebKit-7613.3.1.3.1

Tag WebKit-7613.3.1.3.1.

6:03 PM Changeset in webkit [294710] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7613.3.1.3-branch

Cherry-pick r294186. rdar://problem/93213436

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

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

6:03 PM Changeset in webkit [294709] by Alan Coon
  • 9 edits in branches/safari-7613.3.1.3-branch/Source

Versioning.

WebKit-7613.3.1.3.1

5:55 PM Changeset in webkit [294708] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.9

Tag WebKit-7614.1.14.1.9.

5:54 PM Changeset in webkit [294707] by Alan Coon
  • 1 copy in tags/WebKit-7613.3.1.2.1

Tag WebKit-7613.3.1.2.1.

5:53 PM Changeset in webkit [294706] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7613.3.1.2-branch

Cherry-pick r294186. rdar://problem/93213436

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

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

5:47 PM Changeset in webkit [294705] by Alan Coon
  • 9 edits in branches/safari-7613.3.1.2-branch/Source

Versioning.

WebKit-7613.3.1.2.1

5:41 PM Changeset in webkit [294704] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.9

Tag WebKit-7614.1.14.0.9.

5:33 PM Changeset in webkit [294703] by Said Abou-Hallawa
  • 1 edit in trunk/metadata/contributors.json

Add Said Abou-Hallawa's GitHub to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240840

Unreviewed.

  • metadata/contributors.json:

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

5:27 PM Changeset in webkit [294702] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk1/TestExpectations

[Gardening]: REGRESSION (r294610): [ macOS wk1 ] Two fast/forms/ tests are a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240841
<rdar://93794351>

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk1/TestExpectations:

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

5:12 PM Changeset in webkit [294701] by Alan Coon
  • 1 copy in branches/safari-7613.3.1.3-branch

New branch.

5:11 PM Changeset in webkit [294700] by Alan Coon
  • 1 copy in branches/safari-7613.3.1.2-branch

New branch.

5:00 PM Changeset in webkit [294699] by Alan Bujtas
  • 19 edits in trunk/Source/WebCore

RenderObject::containerForRepaint should be able to tell if a full repaint has already been scheduled.
https://bugs.webkit.org/show_bug.cgi?id=240721

Reviewed by Simon Fraser.

This patch is in preparation for reducing redundant repaints when an ancestor layer (between the renderer and the repaint container) has already been scheduled for one.

  • Source/WebCore/editing/SelectionGeometryGatherer.cpp:

(WebCore::SelectionGeometryGatherer::addQuad):
(WebCore::SelectionGeometryGatherer::addGapRects):

  • Source/WebCore/editing/SelectionGeometryGatherer.h:
  • Source/WebCore/page/FrameView.cpp:

(WebCore::FrameView::isEnclosedInCompositingLayer const):

  • Source/WebCore/rendering/LayoutRepainter.cpp:

(WebCore::LayoutRepainter::LayoutRepainter):
(WebCore::LayoutRepainter::repaintAfterLayout):

  • Source/WebCore/rendering/LayoutRepainter.h:
  • Source/WebCore/rendering/LegacyLineLayout.cpp:

(WebCore::LegacyLineLayout::layoutRunsAndFloats):

  • Source/WebCore/rendering/RenderElement.cpp:

(WebCore::RenderElement::issueRepaintForOutlineAuto):

  • Source/WebCore/rendering/RenderFragmentedFlow.cpp:

(WebCore::RenderFragmentedFlow::mapLocalToContainer const):

  • Source/WebCore/rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::layout):

  • Source/WebCore/rendering/RenderLayer.cpp:

(WebCore::RenderLayer::recursiveUpdateLayerPositions):
(WebCore::RenderLayer::computeRepaintRectsIncludingDescendants):
(WebCore::RenderLayer::recursiveUpdateLayerPositionsAfterScroll):
(WebCore::RenderLayer::setHasVisibleContent):
(WebCore::RenderLayer::calculateClipRects const):

  • Source/WebCore/rendering/RenderLayer.h:
  • Source/WebCore/rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::repaintOnCompositingChange):

  • Source/WebCore/rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleDidChange):

  • Source/WebCore/rendering/RenderLayerScrollableArea.cpp:

(WebCore::RenderLayerScrollableArea::scrollTo):

  • Source/WebCore/rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint const):
(WebCore::RenderObject::repaint const):
(WebCore::RenderObject::repaintRectangle const):
(WebCore::RenderObject::repaintSlowRepaintObject const):

  • Source/WebCore/rendering/RenderObject.h:
  • Source/WebCore/rendering/RenderSelectionInfo.cpp:

(WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):

  • Source/WebCore/rendering/RenderSelectionInfo.h:

(WebCore::RenderSelectionInfoBase::repaintContainer const):

  • Source/WebCore/rendering/RenderView.cpp:

(WebCore::RenderView::repaintRootContents):

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

4:58 PM Changeset in webkit [294698] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.2.4

Tag WebKit-7614.1.14.2.4.

4:57 PM Changeset in webkit [294697] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7614.1.14.2-branch

Cherry-pick r294186. rdar://problem/93213436

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

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

4:55 PM Changeset in webkit [294696] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.2-branch/Source

Versioning.

WebKit-7614.1.14.2.4

4:42 PM Changeset in webkit [294695] by Patrick Angle
  • 4 edits
    2 adds in trunk

Web Inspector: Layout panel doesn't always match visible nodes/order of nodes in document
https://bugs.webkit.org/show_bug.cgi?id=240775
rdar://93727833

Reviewed by Devin Rousso.

There were a couple issues preventing the layout panel from showing nodes that could actually have an overlay shown in
a predictable order.

First, DOMManager.prototype.nodesWithLayoutContextType provided an array of nodes sorted by nodeId, not their order in
the document. This meant that nodes created later and inserted into the page did not get placed in their logical order
relative to other containers, but at the end of the list. This is fixed with a new iterator that iterated through the
document and its tree in a way the preserves the order of elements as they would appear in a Tree view.

Second, LayoutDetailsSidebarPanel was not instrumenting the insertion/deletion of nodes, which meant that a node with a
layout context could be removed from the DOM tree, but still exist. These nodes weren't actually useful in the list
because you can't turn on the overlay for them. A similar issue existed for inserting a known node back into the DOM
tree.

Also fix an assertion reached from NodeOverlayListSection when toggling all overlays off.

  • Source/WebInspectorUI/UserInterface/Controllers/DOMManager.js:

(WI.DOMManager.prototype.attachedNodes):
(WI.DOMManager.prototype.nodesWithLayoutContextType):

  • Source/WebInspectorUI/UserInterface/Views/LayoutDetailsSidebarPanel.js:

(WI.LayoutDetailsSidebarPanel.prototype.attached):
(WI.LayoutDetailsSidebarPanel.prototype.detached):
(WI.LayoutDetailsSidebarPanel.prototype._handleNodeInserted):
(WI.LayoutDetailsSidebarPanel.prototype._handleNodeRemoved):
(WI.LayoutDetailsSidebarPanel.prototype._handleLayoutContextTypeChanged):
(WI.LayoutDetailsSidebarPanel.prototype._removeNodeFromNodeSets):
(WI.LayoutDetailsSidebarPanel.prototype._invalidateNodeSets):
(WI.LayoutDetailsSidebarPanel.prototype._refreshNodeSets):

  • Instead of iterating all the nodes twice every time something changes, iterate all the nodes once, an only do so when

doing layout to prevent multiple iterations for an eventual single layout.

  • Source/WebInspectorUI/UserInterface/Views/NodeOverlayListSection.js:

(WI.NodeOverlayListSection.prototype._handleToggleAllCheckboxChanged):

  • Fix for an assertion reachable while manually testing this patch. Toggling the overlay off when it is already off is

not allowed, and turning an overlay on that is already on is needlessly chatty over the protocol (unless changing the
settings/color, which is left untouched).

  • LayoutTests/inspector/dom/attachedNodes-expected.txt: Added.
  • LayoutTests/inspector/dom/attachedNodes.html: Added.
  • LayoutTests/inspector/css/setLayoutContextTypeChangedMode.html:
  • Update to use WI.domManager.attachedNodes() iterator.

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

4:28 PM Changeset in webkit [294694] by Alan Coon
  • 7 edits in branches/safari-7613.3.1.0-branch/Source

Revert r294280. rdar://problem/87980543

This reverts r294672.

4:27 PM Changeset in webkit [294693] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.1-branch/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp

Revert fix. rdar://problem/87980543

This reverts r294689.

4:25 PM Changeset in webkit [294692] by Chris Dumez
  • 1 edit in trunk/Source/WebCore/loader/cache/CachedRawResource.cpp

Capture WeakPtr to CachedResourceClient in lambdas in CachedRawResource::didAddClient()
https://bugs.webkit.org/show_bug.cgi?id=240828
<rdar://93781799>

Reviewed by Alex Christensen.

Capture WeakPtr to CachedResourceClient in lambdas in CachedRawResource::didAddClient()
instead of a raw pointer, for hardening.

  • Source/WebCore/loader/cache/CachedRawResource.cpp:

(WebCore::iterateRedirects):
(WebCore::CachedRawResource::didAddClient):

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

3:53 PM Changeset in webkit [294691] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/editing/IndentOutdentCommand.cpp

Null check split node parent in outdentParagraph
https://bugs.webkit.org/show_bug.cgi?id=240806

Patch by Rob Buis <rbuis@igalia.com> on 2022-05-23
Reviewed by Wenson Hsieh.

The split node parent needs an extra null check to access its parent
before safely calling hasEditableStyle.

  • Source/WebCore/editing/IndentOutdentCommand.cpp:

(WebCore::IndentOutdentCommand::outdentParagraph):

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

3:37 PM Changeset in webkit [294690] by Wenson Hsieh
  • 1 edit in trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm

[iPadOS] Align scroll position to origin on resize in Multitasking mode
https://bugs.webkit.org/show_bug.cgi?id=240815
rdar://92888214

Reviewed by Devin Rousso.

Make a minor adjustment to avoid re-centering the target unobscured content rect on the hit-tested
node in the center of the viewport, when multitasking mode is enabled; instead, we can simply
preserve the existing unobscured content rect offset.

  • Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:

We can also avoid this hit-test when usesMultitaskingModeViewportBehaviors() is enabled, since we
only need to anchor to the origin of the current unobscured rect.

(WebKit::WebPage::dynamicViewportSizeUpdate):

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

3:19 PM Changeset in webkit [294689] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.1-branch/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp

Unreviewed build fix. rdar://problem/87980543

WebKit/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:247:36:|error: no matching constructor for initialization of 'Ref<WebCore::Image>'

3:15 PM Changeset in webkit [294688] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.100-branch/Source

Cherry-pick r294467. rdar://problem/93507791

REGRESSION (r294160): Occasional infinite loops under updateLayersForInteractionRegions
https://bugs.webkit.org/show_bug.cgi?id=240610
<rdar://problem/93507791>

Reviewed by Wenson Hsieh.

  • Source/WebCore/page/InteractionRegion.cpp: (WebCore::regionForElement): Avoid emitting empty rects for interaction regions, and avoid emitting the region at all if this results in an empty set of rects.
  • Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm: (WebKit::updateLayersForInteractionRegions): Never re-use a layer with empty bounds; we should never get here, but I'd rather re-create the layer if we do than corrupt the hash table.

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

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

3:14 PM Changeset in webkit [294687] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: [ Monterey wk2 ] webgl/2.0.0/conformance/attribs/gl-vertexattribpointer-offsets.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=240830
<rdar://93786598>

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

3:13 PM Changeset in webkit [294686] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.100-branch/Source

Versioning.

WebKit-7614.1.14.100.3

3:11 PM Changeset in webkit [294685] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.0-branch/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp

Unreviewed build fix. rdar://problem/87980543

WebKit/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:247:36:|error: no matching constructor for initialization of 'Ref<WebCore::Image>'

2:40 PM Changeset in webkit [294684] by Alan Coon
  • 7 edits in branches/safari-7613.3.1.1-branch/Source

Revert r294280. rdar://problem/87980543

This reverts commit r294675.

2:36 PM Changeset in webkit [294683] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: [ Monterey wk2 ] WebGL conformance tests are a flaky time out
https://bugs.webkit.org/show_bug.cgi?id=239386

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

2:29 PM Changeset in webkit [294682] by Matt Woodrow
  • 1 edit in trunk/metadata/contributors.json

Add mattwoohdrow's GitHub to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240824

Reviewed by Jonathan Bedard.

  • metadata/contributors.json:

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

2:21 PM Changeset in webkit [294681] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: [ Monterey Release wk2 ] webgl/max-active-contexts-webglcontextlost-prevent-default.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=240821
<rdar://93782808>

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

2:03 PM Changeset in webkit [294680] by ntim@apple.com
  • 17 edits
    20 deletes in trunk

[css-ui] Remove support for *-level-indicator appearance values
https://bugs.webkit.org/show_bug.cgi?id=240446

Reviewed by Antti Koivisto.

These only were implemented on macOS to display stars, or other alternative types of progress on <meter> elements.

These were already removed in Chromium: https://codereview.chromium.org/1747763002

  • continuous-capacity-level-indicator
  • discrete-capacity-level-indicator
  • relevancy-level-indicator
  • rating-level-indicator

Test: imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001.html

  • LayoutTests/accessibility/accessibility-crash-setattribute.html:
  • LayoutTests/editing/execCommand/crash-breaking-blockquote-with-list.html:
  • LayoutTests/editing/selection/modify-by-lineboundary-toward-pseudo-element.html:
  • LayoutTests/fast/block/float/float-list-changed-before-layout-crash.html:
  • LayoutTests/fast/css/content/content-quotes-crash-with-details.html:
  • LayoutTests/fast/dom/HTMLMeterElement/meter-appearances-capacity.html: Removed.
  • LayoutTests/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html: Removed.
  • LayoutTests/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/gtk/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.png: Removed.
  • LayoutTests/platform/gtk/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • LayoutTests/platform/gtk/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.png: Removed.
  • LayoutTests/platform/gtk/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt: Removed.
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/ios/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • LayoutTests/platform/ios/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt: Removed.
  • LayoutTests/platform/mac/TestExpectations:
  • LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.png: Removed.
  • LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.png: Removed.
  • LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt: Removed.
  • LayoutTests/platform/win/TestExpectations:
  • LayoutTests/platform/win/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.png: Removed.
  • LayoutTests/platform/win/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • LayoutTests/platform/win/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.png: Removed.
  • LayoutTests/platform/win/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt: Removed.
  • LayoutTests/platform/wincairo/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • LayoutTests/platform/wincairo/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt: Removed.
  • LayoutTests/platform/wpe/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • LayoutTests/platform/wpe/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt: Removed.
  • Source/WebCore/css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/CSSValueKeywords.in:
  • Source/WebCore/platform/ThemeTypes.cpp:

(WebCore::operator<<):

  • Source/WebCore/platform/ThemeTypes.h:
  • Source/WebCore/rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::isControlStyled const):

  • Source/WebCore/rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::supportsMeter const):
(WebCore::RenderThemeMac::levelIndicatorFor const):
(WebCore::RenderThemeMac::levelIndicatorStyleFor const): Deleted.

  • Source/WebCore/rendering/RenderThemeMac.h:

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

2:03 PM Changeset in webkit [294679] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/gtk/po/uk.po

[GTK] Update Ukrainian translation
https://bugs.webkit.org/show_bug.cgi?id=240119

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-23
Unreviewed.

  • Source/WebCore/platform/gtk/po/uk.po:

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

1:47 PM Changeset in webkit [294678] by Karl Rackler
  • 3 edits in trunk/LayoutTests/platform

[Gardening]: [Mac wk1 Debug] webaudio/audioworket-out-of-memory.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=227845
<rdar://80398130>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:
  • LayoutTests/platform/mac-wk1/TestExpectations:
  • LayoutTests/platform/mac/TestExpectations:

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

1:17 PM Changeset in webkit [294677] by ntim@apple.com
  • 10 edits in trunk

[css-ui] Unexpose remaining media-* appearance values
https://bugs.webkit.org/show_bug.cgi?id=240484
<rdar://93376288>

Reviewed by Aditya Keerthi.

These are made UA sheet-only (since they're used in the mediaControls*.css sheets):

  • media-fullscreen-volume-slider
  • media-slider
  • media-volume-slider

These are made internal (only used from C++ code):

  • media-fullscreen-volume-slider-thumb
  • media-sliderthumb
  • media-volume-sliderthumb

Test: imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001.html

  • LayoutTests/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • Source/WebCore/css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/CSSValueKeywords.in:
  • Source/WebCore/css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):

  • Source/WebCore/html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::resolveCustomStyle):
(WebCore::SliderContainerElement::resolveCustomStyle):

  • Source/WebCore/platform/ThemeTypes.h:
  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation-overrides.json:
  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation.js:

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

12:56 PM Changeset in webkit [294676] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7613.3.1.1-branch

Cherry-pick r294186. rdar://problem/93213436

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

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

12:55 PM Changeset in webkit [294675] by Alan Coon
  • 7 edits in branches/safari-7613.3.1.1-branch/Source

Cherry-pick r294280. rdar://problem/87980543

REGRESSION(r249162): CanvasRenderingContext2DBase::drawImage() crashes if the image is animated and the first frame cannot be decoded
https://bugs.webkit.org/show_bug.cgi?id=239113
rdar://87980543

Reviewed by Simon Fraser.

Source/WebCore:

CanvasRenderingContext2DBase::drawImage() needs to ensure the first frame
of the animated image can be decoded correctly before creating the temporary
static image. If the first frame can't be decoded, this function should return
immediately. This matches the behavior of this function before r249162.

The animated image decodes its frames asynchronously in a work queue. But
the first frame has to be decoded synchronously in the main run loop. So
to avoid running the image decoder in two different threads we are going
to keep the first and the current frame cached when we receive a memory
pressure warning. This should not increase the memory allocation of the
animated image because the numbers of cached frames increases quickly and
we keep all of them till a memory warning is received. But the memory
pressure warning will be received a little bit more often. This depends
on the memory size of the first frame.

To make the code more robust, make ImageSource take a Ref<NativeImage>
instead of taking a RefPtr<NativeImage>.

  • html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::drawImage):
  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::destroyDecodedData):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/ImageSource.cpp: (WebCore::ImageSource::ImageSource): (WebCore::ImageSource::destroyDecodedData): (WebCore::ImageSource::setNativeImage):
  • platform/graphics/ImageSource.h: (WebCore::ImageSource::create): (WebCore::ImageSource::isDecoderAvailable const): (WebCore::ImageSource::destroyAllDecodedData): Deleted. (WebCore::ImageSource::destroyAllDecodedDataExcludeFrame): Deleted. (WebCore::ImageSource::destroyDecodedDataBeforeFrame): Deleted.

Source/WebKit:

  • GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::drawSystemImage):

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

12:55 PM Changeset in webkit [294674] by Alan Coon
  • 2 edits in branches/safari-7613.3.1.1-branch/Source/bmalloc

Cherry-pick r293952. rdar://problem/92913312

Force PAS_ASSERT to generate different crash sites for each assertion.
https://bugs.webkit.org/show_bug.cgi?id=240209

Reviewed by Yusuke Suzuki.

Clang currently optimizes all crash sites into one in each function. Hence, if we
get a crash address at the 1 crash site, we don't know which failed assertion got
us there. This patch uses an asm statement to force Clang to emit a different
crash site for each assertion.

Benchmarks show that performance is neutral on both Jetstream2 and Speedometer2.

Size-wise, there is some increase. The following is the "size" output on
JavaScriptCore on M1:

TEXT. DATA OBJC others dec hex

old 19628032 180224 0 18792448 38600704 24d0000
new 19644416 180224 0 19251200 39075840 2544000

diff 16384 0 0 458752 475136

The increase in the "others" categories are mostly in the String Table, Symbol
Table, and Function Start Addresses. These take up disk space but should not
impact RAM usage unless they are accessed by a a debugger.

  • libpas/src/libpas/pas_utils.h: (pas_assertion_failed):

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

12:55 PM Changeset in webkit [294673] by Alan Coon
  • 6 edits
    2 adds in branches/safari-7613.3.1.1-branch

Cherry-pick r289713. rdar://problem/93601919

Expose the correct role, subrole and role description properties for the <dialog> element.
https://bugs.webkit.org/show_bug.cgi?id=236359

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/dialog-properties.html

Elements with role="dialog" are exposed to accessibility clients with
role AXGroup, subrole AXApplicationDialog and role description
"web dialog". This patch implements this behavior for the <dialog>
element.

  • accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::determineAccessibilityRoleFromNode const):
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::defaultObjectInclusion const):

LayoutTests:

Tests that these AX properties have the expected values both when the
dialog is shown modal or modeless.

  • accessibility/dialog-properties-expected.txt: Added.
  • accessibility/dialog-properties.html: Added.

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

12:52 PM Changeset in webkit [294672] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7613.3.1.0-branch

Cherry-pick r294186. rdar://problem/93213436

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

Canonical link: https://commits.webkit.org/250552@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294186 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:51 PM Changeset in webkit [294671] by mmaxfield@apple.com
  • 1 edit in trunk/metadata/contributors.json

Add Mike Wyrzykowski to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240816

Unreviewed.

He is a contributor.

  • metadata/contributors.json:

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

12:46 PM Changeset in webkit [294670] by sihui_liu@apple.com
  • 4 edits in trunk/Source/WebKit/UIProcess

REGRESSION (r294469): [ iOS ] TestWebKitAPI.NSAttributedStringWebKitAdditions.DirectoriesNotCreated is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240690

Reviewed by Chris Dumez.

r294469 failed to check if WebsiteDataStore is persistent before getting and creating directories in WebProcessPool. To
fix this and to avoid future issues, we make WebsiteDataStore return null for directory getters if it's not persistent.

  • Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::GPUProcessProxy):

  • Source/WebKit/UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::webProcessDataStoreParameters):

  • Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::cookieStorageDirectory const):
(WebKit::WebsiteDataStore::containerCachesDirectory const):
(WebKit::WebsiteDataStore::parentBundleDirectory const):
(WebKit::WebsiteDataStore::networkingCachesDirectory const):
(WebKit::WebsiteDataStore::containerTemporaryDirectory const):
(WebKit::WebsiteDataStore::defaultContainerTemporaryDirectory):
(WebKit::WebsiteDataStore::cookieStorageDirectory): Deleted.
(WebKit::WebsiteDataStore::containerCachesDirectory): Deleted.
(WebKit::WebsiteDataStore::parentBundleDirectory): Deleted.
(WebKit::WebsiteDataStore::networkingCachesDirectory): Deleted.
(WebKit::WebsiteDataStore::containerTemporaryDirectory): Deleted.

  • Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:

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

12:44 PM Changeset in webkit [294669] by Alan Coon
  • 7 edits in branches/safari-7613.3.1.0-branch/Source

Cherry-pick r294280. rdar://problem/87980543

REGRESSION(r249162): CanvasRenderingContext2DBase::drawImage() crashes if the image is animated and the first frame cannot be decoded
https://bugs.webkit.org/show_bug.cgi?id=239113
rdar://87980543

Reviewed by Simon Fraser.

Source/WebCore:

CanvasRenderingContext2DBase::drawImage() needs to ensure the first frame
of the animated image can be decoded correctly before creating the temporary
static image. If the first frame can't be decoded, this function should return
immediately. This matches the behavior of this function before r249162.

The animated image decodes its frames asynchronously in a work queue. But
the first frame has to be decoded synchronously in the main run loop. So
to avoid running the image decoder in two different threads we are going
to keep the first and the current frame cached when we receive a memory
pressure warning. This should not increase the memory allocation of the
animated image because the numbers of cached frames increases quickly and
we keep all of them till a memory warning is received. But the memory
pressure warning will be received a little bit more often. This depends
on the memory size of the first frame.

To make the code more robust, make ImageSource take a Ref<NativeImage>
instead of taking a RefPtr<NativeImage>.

  • html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::drawImage):
  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::destroyDecodedData):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/ImageSource.cpp: (WebCore::ImageSource::ImageSource): (WebCore::ImageSource::destroyDecodedData): (WebCore::ImageSource::setNativeImage):
  • platform/graphics/ImageSource.h: (WebCore::ImageSource::create): (WebCore::ImageSource::isDecoderAvailable const): (WebCore::ImageSource::destroyAllDecodedData): Deleted. (WebCore::ImageSource::destroyAllDecodedDataExcludeFrame): Deleted. (WebCore::ImageSource::destroyDecodedDataBeforeFrame): Deleted.

Source/WebKit:

  • GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::drawSystemImage):

Canonical link: https://commits.webkit.org/250624@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294280 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:44 PM Changeset in webkit [294668] by Alan Coon
  • 2 edits in branches/safari-7613.3.1.0-branch/Source/bmalloc

Cherry-pick r293952. rdar://problem/92913312

Force PAS_ASSERT to generate different crash sites for each assertion.
https://bugs.webkit.org/show_bug.cgi?id=240209

Reviewed by Yusuke Suzuki.

Clang currently optimizes all crash sites into one in each function. Hence, if we
get a crash address at the 1 crash site, we don't know which failed assertion got
us there. This patch uses an asm statement to force Clang to emit a different
crash site for each assertion.

Benchmarks show that performance is neutral on both Jetstream2 and Speedometer2.

Size-wise, there is some increase. The following is the "size" output on
JavaScriptCore on M1:

TEXT. DATA OBJC others dec hex

old 19628032 180224 0 18792448 38600704 24d0000
new 19644416 180224 0 19251200 39075840 2544000

diff 16384 0 0 458752 475136

The increase in the "others" categories are mostly in the String Table, Symbol
Table, and Function Start Addresses. These take up disk space but should not
impact RAM usage unless they are accessed by a a debugger.

  • libpas/src/libpas/pas_utils.h: (pas_assertion_failed):

Canonical link: https://commits.webkit.org/250398@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293952 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:44 PM Changeset in webkit [294667] by Alan Coon
  • 6 edits
    2 adds in branches/safari-7613.3.1.0-branch

Cherry-pick r289713. rdar://problem/93601919

Expose the correct role, subrole and role description properties for the <dialog> element.
https://bugs.webkit.org/show_bug.cgi?id=236359

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/dialog-properties.html

Elements with role="dialog" are exposed to accessibility clients with
role AXGroup, subrole AXApplicationDialog and role description
"web dialog". This patch implements this behavior for the <dialog>
element.

  • accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::determineAccessibilityRoleFromNode const):
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::defaultObjectInclusion const):

LayoutTests:

Tests that these AX properties have the expected values both when the
dialog is shown modal or modeless.

  • accessibility/dialog-properties-expected.txt: Added.
  • accessibility/dialog-properties.html: Added.

Canonical link: https://commits.webkit.org/247198@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289713 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:41 PM Changeset in webkit [294666] by eric.carlson@apple.com
  • 1 edit in trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm

[macOS] 3 TestWebKitAPI.GetDisplayMediaTest API tests time out
https://bugs.webkit.org/show_bug.cgi?id=240813
rdar://92831194

Reviewed by Youenn Fablet.

  • Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest): Don't
prompt for getDisplayMedia if the UI delegate implements the old SPI.

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

12:33 PM Changeset in webkit [294665] by Alan Coon
  • 9 edits in branches/safari-7613.3.1.1-branch/Source

Versioning.

WebKit-7613.3.1.1.3

12:21 PM Changeset in webkit [294664] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore/html

MediaController should be an ContextDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=240749
<rdar://93525670>

Reviewed by Youenn Fablet.

  • html/MediaController.cpp:

(WebCore::MediaController::MediaController):

  • html/MediaController.h:

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

12:11 PM Changeset in webkit [294663] by Alan Coon
  • 9 edits in branches/safari-7613.3.1.0-branch/Source

Versioning.

WebKit-7613.3.1.0.3

11:54 AM Changeset in webkit [294662] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.10.3

Tag WebKit-7614.1.14.10.3.

11:53 AM Changeset in webkit [294661] by Jonathan Bedard
  • 6 edits in trunk/Tools/Scripts/libraries

git webkit setup opens a GitHub web page without warning
https://bugs.webkit.org/show_bug.cgi?id=240490
<rdar://93522009>

Reviewed by Alexey Proskuryakov.

  • Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:

(Tracker.credentials.prompt): Prompt user before generating token.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/terminal.py:

(Terminal.open_url): Allow caller to specify a prompt before opening URL.

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

11:50 AM Changeset in webkit [294660] by commit-queue@webkit.org
  • 2 edits in trunk/Source

Use kCGImageSourceCreateUnpremultipliedPNG on iOS family to correctly read PNG files without premultiplication.
https://bugs.webkit.org/show_bug.cgi?id=240137
<rdar://93198134>

Patch by John Cunningham <johncunningham@apple.com> on 2022-05-23
Reviewed by Simon Fraser.

  • Source/WTF/wtf/PlatformHave.h:
  • Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::createImageSourceOptions):

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

11:36 AM Changeset in webkit [294659] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.10-branch/Source

Versioning.

WebKit-7614.1.14.10.3

11:16 AM Changeset in webkit [294658] by eric.carlson@apple.com
  • 2 edits
    1 move in trunk/Tools/TestWebKitAPI

REGRESSION(r293671): [ iOS ] 2 TestWebKitAPI.MediaLoading.RangeRequestSynthesis (API-Tests) are constant failures
https://bugs.webkit.org/show_bug.cgi?id=240033
rdar://92689429

Refactor the new code, add the transport stream to the copy resources step.

Reviewed by Jer Noble.

  • Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add .ts file, copy to resources.
  • Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:

(TestWebKitAPI::TEST): Update test.

  • Tools/TestWebKitAPI/Tests/WebKit/cocoa/start-offset.ts -> Tools/TestWebKitAPI/Tests/WebKitCocoa/start-offset.ts

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

11:05 AM Changeset in webkit [294657] by Alan Coon
  • 4 edits in branches/safari-7614.1.14.0-branch

Cherry-pick r294589. rdar://problem/92006847

[MacCatalyst] REGRESSION(r290091): sometimes can hang if WKWebView is unparented before the next visible content rect update
https://bugs.webkit.org/show_bug.cgi?id=240691
<rdar://problem/92006847>

Reviewed by Wenson Hsieh.

Test: WKWebViewResize.RemovesAssertionsAfterMovingToWindow

  • Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _processWillSwapOrDidExit]): (-[WKWebView didMoveToWindow]): (-[WKWebView _acquireResizeAssertionForReason:]): Drive-by: WebProcess crashes should also clear the resize assertions. Drive-by: Add a 1s timeout in case the next visible content rect update takes too long.
  • Source/WebKit/UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
  • Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm: (-[WKWebView _hasResizeAssertion]): Added.
  • Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewResize.mm: (TEST.WKWebViewResize.RemovesAssertionsAfterMovingToWindow): Added.

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

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

11:02 AM Changeset in webkit [294656] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.9

10:58 AM Changeset in webkit [294655] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.9

10:57 AM Changeset in webkit [294654] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

[Cocoa] fast/text/international/generic-font-family-language-traditional.html is failing due to language minimization
https://bugs.webkit.org/show_bug.cgi?id=240751
<rdar://problem/93394618>

Reviewed by Chris Dumez.

We're saying the language list ["en", "zh-tw"] gets minimized to en?, which then removes the signal about whether we should render simplified or traditional Chinese.

On one hand, this is kind of good, because the whole point of minimization is to make different browser configurations in the same bucket as identical. On the other hand, it means a user with these language preferences won't get the rendering they expect.

I could change the test to just use the language list zh-tw? and I think it would still test the thing it's trying to test, so that's what this patch does.

  • LayoutTests/fast/text/international/generic-font-family-language-traditional.html:
  • LayoutTests/platform/ios/TestExpectations:
  • LayoutTests/platform/mac/TestExpectations:

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

10:54 AM Changeset in webkit [294653] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: REGRESSION (r294536): [ macOS Release wk2 ] Twelve webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex are a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240735

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

10:32 AM Changeset in webkit [294652] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: REGRESSION (r293885?): [ macOS wk2 ] webrtc/canvas-to-peer-connection.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240814
<rdar://93768909>

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

10:11 AM Changeset in webkit [294651] by Patrick Angle
  • 2 edits in trunk/Source/WebKit/UIProcess/API/Cocoa

Web Driver: Expose new isPendingTermination property on _WKAutomationSession
https://bugs.webkit.org/show_bug.cgi?id=240669
rdar://93367943

Reviewed by Devin Rousso.

  • Source/WebKit/UIProcess/API/Cocoa/_WKAutomationSession.h:
  • Source/WebKit/UIProcess/API/Cocoa/_WKAutomationSession.mm:

(-[_WKAutomationSession isPendingTermination]):

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

10:09 AM Changeset in webkit [294650] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm

Bump the priority of iOS ProcessAssertion Queue
https://bugs.webkit.org/show_bug.cgi?id=240784

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-23
Reviewed by Chris Dumez.

It is important to acquire assertions in a timely manner as otherwise the UIProcess
might think a process is unresponsive.
Bump the priority to WorkQueue::QOS::UserInitiated.

  • Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:

(assertionsWorkQueue):

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

9:55 AM Changeset in webkit [294649] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[Gardening]: [ iOS ] fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=231266
<rdar://83910715>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

9:36 AM Changeset in webkit [294648] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: REGRESSION (r294536): [ macOS Release wk2 ] Twelve webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex are a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240735

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

9:32 AM Changeset in webkit [294647] by ntim@apple.com
  • 8 edits in trunk

[css-ui] Restrict default-button CSS appearance value to useSystemAppearance
https://bugs.webkit.org/show_bug.cgi?id=240391

Reviewed by Aditya Keerthi.

This appearance value renders a button in its highlighted state to designate a button that is activated by default on macOS.

The most important reason to keep it around is for internal macOS apps, so we restrict it to webviews with useSystemAppearance.

  • LayoutTests/editing/deleting/insert-in-orphaned-selection-crash.html:
  • LayoutTests/editing/deleting/insert-in-orphaned-selection-crash-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):

  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation-overrides.json:
  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation.js:

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

9:09 AM Changeset in webkit [294646] by aakash_jain@apple.com
  • 1 edit in trunk/Tools/CISupport/ews-app/ews/views/statusbubble.py

Disable mac-debug-wk1 ews status bubble
https://bugs.webkit.org/show_bug.cgi?id=240803

Reviewed by Ryan Haddad.

  • Tools/CISupport/ews-app/ews/views/statusbubble.py:

(StatusBubble):

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

9:04 AM Changeset in webkit [294645] by Chris Dumez
  • 1 edit in trunk/Source/WebCore/Modules/webdatabase/Database.cpp

Regression(r294611): ASSERTION FAILED: m_isConstructed under WebCore::fullyQualifiedInfoTableName()
https://bugs.webkit.org/show_bug.cgi?id=240800

Unreviewed, use LazyNeverDestroyed::construct() instead of assignment to LazyNeverDestroyed::get()
to address the debug assertion on the bots.

  • Source/WebCore/Modules/webdatabase/Database.cpp:

(WebCore::fullyQualifiedInfoTableName):

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

8:58 AM Changeset in webkit [294644] by commit-queue@webkit.org
  • 1 edit in trunk/metadata/contributors.json

Update philn's emails in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240799

Patch by Philippe Normand <philn@igalia.com> on 2022-05-23
Unreviewed.

  • metadata/contributors.json: Update philn's emails and expertise.

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

8:44 AM Changeset in webkit [294643] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/gtk/po/sv.po

[GTK] Update Swedish translation
https://bugs.webkit.org/show_bug.cgi?id=240791

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-23
Unreviewed.

  • Source/WebCore/platform/gtk/po/sv.po:

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

8:35 AM Changeset in webkit [294642] by Mikhail R. Gadelha
  • 4 edits in trunk

Unskip JSTests/stress/shadow-realm-import-value.js on ARMv7 and MIPS
https://bugs.webkit.org/show_bug.cgi?id=240662

Reviewed by Yusuke Suzuki.

Fix tag and payload being swapped in the resultRegs object.

Also updated some places that can use JSRInfo::returnValueJSR instead
of manually writing the GPR order.

Patch by Geza Lore and Mikhail R. Gadelha.

  • jit/ThunkGenerators.cpp: (JSC::boundFunctionCallGenerator): (JSC::remoteFunctionCallGenerator):

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

8:13 AM WebKitEmacsTips edited by Philippe Normand
(diff)
8:02 AM Changeset in webkit [294641] by ntim@apple.com
  • 24 edits
    5 deletes in trunk

[css-ui] Remove support for appearance: media-controls-{dark/light}-bar-background
https://bugs.webkit.org/show_bug.cgi?id=240756

Reviewed by Antoine Quint.

Reverts r180965 (adapted with new code), this was originally added for old media controls, but was never used.

Marked relevant WPT as passing.

  • LayoutTests/compositing/media-controls-bar-appearance-big-expected.txt: Removed.
  • LayoutTests/compositing/media-controls-bar-appearance-big.html: Removed.
  • LayoutTests/compositing/media-controls-bar-appearance-expected.txt: Removed.
  • LayoutTests/compositing/media-controls-bar-appearance.html: Removed.
  • LayoutTests/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/ios/compositing/media-controls-bar-appearance-expected.txt: Removed.
  • Source/WebCore/css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/CSSValueKeywords.in:
  • Source/WebCore/platform/ThemeTypes.cpp:

(WebCore::operator<<):

  • Source/WebCore/platform/ThemeTypes.h:
  • Source/WebCore/platform/graphics/GraphicsLayer.cpp:

(WebCore::operator<<):

  • Source/WebCore/platform/graphics/GraphicsLayer.h:
  • Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::changeLayerTypeTo):
(WebCore::layerTypeForCustomBackdropAppearance): Deleted.
(WebCore::isCustomBackdropLayerType): Deleted.

  • Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h:
  • Source/WebCore/platform/graphics/ca/PlatformCALayer.cpp:

(WebCore::operator<<):

  • Source/WebCore/platform/graphics/ca/PlatformCALayer.h:
  • Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(WebCore::PlatformCALayerCocoa::PlatformCALayerCocoa):
(WebCore::PlatformCALayerCocoa::updateCustomAppearance):

  • Source/WebCore/platform/graphics/ca/win/PlatformCALayerWin.cpp:

(printLayer):

  • Source/WebCore/rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateConfigurationAfterStyleChange):
(WebCore::RenderLayerBacking::updateCustomAppearance): Deleted.

  • Source/WebCore/rendering/RenderLayerBacking.h:
  • Source/WebKit/Platform/spi/ios/UIKitSPI.h:
  • Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::drawInContext):

  • Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:

(WebKit::updateCustomAppearance):
(WebKit::RemoteLayerTreePropertyApplier::applyHierarchyUpdates):
(WebKit::RemoteLayerTreePropertyApplier::updateMask):

  • Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::makeNode):

  • Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::makeNode):

  • Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h:
  • Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:

(-[WKBackdropView hitTest:withEvent:]): Deleted.
(-[WKBackdropView description]): Deleted.

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

7:58 AM Changeset in webkit [294640] by ntim@apple.com
  • 2 edits in trunk/Source/WebCore/rendering

Remove RenderTheme::adjustSearchFieldDecorationStyle()
https://bugs.webkit.org/show_bug.cgi?id=240798

Reviewed by Antti Koivisto.

Let appearance: auto; handle this instead, to centralize this in one place.

  • Source/WebCore/rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::autoAppearanceForElement const):
(WebCore::RenderTheme::adjustSearchFieldDecorationStyle const): Deleted.

  • Source/WebCore/rendering/RenderTheme.h:

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

7:34 AM Changeset in webkit [294639] by commit-queue@webkit.org
  • 1 edit in trunk/metadata/contributors.json

Add github account for Kimmo Kinnunen
https://bugs.webkit.org/show_bug.cgi?id=240789

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-23
Unreviewed.

  • metadata/contributors.json:

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

6:49 AM Changeset in webkit [294638] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore/layout

Add support for block direction grow
https://bugs.webkit.org/show_bug.cgi?id=240776

Reviewed by Antti Koivisto.

This is a basic block direction grow support (e.g. default block direction (top->bottom) with flex direction of column) when
flex box's height is fixed.

  • Source/WebCore/layout/formattingContexts/FormattingConstraints.h:
  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

  • Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.cpp:

(WebCore::LayoutIntegration::FlexLayout::updateRenderers const):

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

6:41 AM WebKitGTK/2.36.x edited by Michael Catanzaro
(diff)
6:38 AM Changeset in webkit [294637] by commit-queue@webkit.org
  • 2 edits in trunk

RealtimeOutgoingVideoSourceCocoa pixelBufferPool should use video range
https://bugs.webkit.org/show_bug.cgi?id=240463
rdar://problem/93354226

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-23
Reviewed by Eric Carlson.

We switched to using a pixel conformer that was using preferredPixelFormat to using libyuv routine.
Update the pixel buffer pool to use kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange to be compliant with libyuv routines.

  • LayoutTests/platform/ios/TestExpectations:
  • Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:

(WebCore::RealtimeOutgoingVideoSourceCocoa::pixelBufferPool):

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

6:24 AM Changeset in webkit [294636] by Adrian Perez de Castro
  • 1 edit in releases/WebKitGTK/webkit-2.36/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp

Merge r294540 - [GStreamer] Block legacy VAAPI plugin
https://bugs.webkit.org/show_bug.cgi?id=240664

Patch by Philippe Normand <philn@igalia.com> on 2022-05-20
Reviewed by Xabier Rodriguez-Calvar.

The VAAPI plugin is not much maintained anymore and prone to rendering issues. In the
mid-term we will leverage the new stateless VA decoders. Disable the legacy plugin,
unless the WEBKIT_GST_ENABLE_LEGACY_VAAPI environment variable is set to 1.

  • Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::registerWebKitGStreamerElements):

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

6:23 AM Changeset in webkit [294635] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r293319 - [GStreamer] Disable new demuxers based on adaptivedemux2
https://bugs.webkit.org/show_bug.cgi?id=239701

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-25
Reviewed by Xabier Rodriguez-Calvar.

The new demuxers based on adaptivedemux2 cannot be used in WebKit yet because this new base
class does not abstract away network access. They can't work in a sandboxed media process,
so demote their rank in order to prevent decodebin3 from auto-plugging them.

  • platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::registerWebKitGStreamerElements):

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

6:14 AM Changeset in webkit [294634] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore/platform/graphics/gstreamer/mse

REGRESSION(r290375) [GStreamer] Deadlock in WebProcess termination if AppendPipeline is started
https://bugs.webkit.org/show_bug.cgi?id=240716

Patch by Olivier Blin <Olivier Blin> on 2022-05-23
Reviewed by Alicia Boya Garcia.

Since r290375, GStreamer ports are calling gst_deinit() at WebProcess
termination.

This is causing a deadlock if a MSE SourceBuffer has been instantiated.
That is because the GstTask from the appsrc element in the
AppendPipeline is still running.

To avoid the deadlock, stop the appsrc element in the AppendPipeline
when the SourceBuffer is removed from the MediaSource, since it will
not be useful anymore after being removed from its associated MediaSource.

The W3C spec of MediaSource.removeSourceBuffer mentions as a last step
that it should destroy all resources for sourceBuffer.

The MediaSource will be stopped at WebProcess termination, since
active DOM objects are stopped when detaching the frame.
This ensures that MediaSource is detached from its media element, and
that it removes its source buffers.

Drive-by fix: remove resetPipeline declaration, deleted in r238892

  • Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::stopParser):

  • Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.h:
  • Source/WebCore/platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:

(WebCore::SourceBufferPrivateGStreamer::removedFromMediaSource):

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

4:33 AM Changeset in webkit [294633] by Ziran Sun
  • 1 edit in trunk/Source/WebCore/css/html.css

Remove unnecessary appearance: auto; declarations in html.css.
https://bugs.webkit.org/show_bug.cgi?id=240764

input and select already have an appearance: auto rule.

Reviewed by Tim Nguyen.

  • Source/WebCore/css/html.css:

(#endif):
(input[type="search"]::-webkit-search-cancel-button):
(input[type="search"]::-webkit-search-decoration):
(#if defined(ENABLE_DATE_AND_TIME_INPUT_TYPES) && ENABLE_DATE_AND_TIME_INPUT_TYPES):
(input:is([type="button"], [type="submit"], [type="reset"])):
(input[type="file"]::file-selector-button):
(input[type="checkbox"]):
(#if !(defined(WTF_PLATFORM_IOS_FAMILY) && WTF_PLATFORM_IOS_FAMILY)):
(select:is([size=""], [size="0"], [size="1"])):

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

4:21 AM Changeset in webkit [294632] by commit-queue@webkit.org
  • 2 edits in trunk

[JSC] Do not use bytecode cache on $.agent worker threads

Patch by Geza Lore <Geza Lore> on 2022-05-23
https://bugs.webkit.org/show_bug.cgi?id=240642

Reviewed by Yusuke Suzuki.

Workers started via $.agent.start are not shut down in a synchronous
manner, and it is possible the main thread terminates the process while
a worker is writing its bytecode cache, which results in intermittent
test failures. As $.agent.start is only a rarely used testing facility,
we simply do not cache bytecode on these threads.

Also un-skip test on ARMv7 that used to fail because of this.

  • Source/JavaScriptCore/jsc.cpp:

(Worker::isMain const):
(Worker::Worker):
(runJSC):

  • JSTests/stress/lars-sab-workers.js:

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

3:37 AM Changeset in webkit [294631] by commit-queue@webkit.org
  • 1 edit in trunk/JSTests/stress/class-subclassing-function.js

Re-enable JSTests/stress/class-subclassing-function.js in ARM+NoLLInt
https://bugs.webkit.org/show_bug.cgi?id=240648

Patch by Joseph Griego <jgriego@igalia.com> on 2022-05-23
Reviewed by Yusuke Suzuki.

This was originally skipped in
https://bugs.webkit.org/show_bug.cgi?id=194285 because it runs out of
executable memory without LLInt; this seems to no longer be the case, at
least as far as my testing revealed, and EWS can hopefully confirm this

Re-enable the test in ARM+NoLLInt configurations.

  • JSTests/stress/class-subclassing-function.js:

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

3:34 AM Changeset in webkit [294630] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Add a runtime setting for switching on/off AudioSampleDataSource buffer adaptation
https://bugs.webkit.org/show_bug.cgi?id=240634

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-23
Reviewed by Eric Carlson.

  • Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml:
  • Source/WebCore/page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::webRTCAudioLatencyAdaptationEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebRTCAudioLatencyAdaptationEnabled):

  • Source/WebCore/platform/audio/cocoa/AudioSampleDataConverter.mm:

(WebCore::AudioSampleDataConverter::updateBufferedAmount):

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

2:06 AM Changeset in webkit [294629] by ntim@apple.com
  • 14 edits
    3 deletes in trunk

[css-ui] Remove media-play-button and media-volume-slider-mute appearance values
https://bugs.webkit.org/show_bug.cgi?id=240760

Reviewed by Antti Koivisto.

These are unimplemented/no-op on all platforms.

  • LayoutTests/fast/css-generated-content/empty-first-letter-with-columns-crash.html:
  • LayoutTests/fast/multicol/readjust-first-child-on-attach.html:

Stop using these appearance values in crashtests.

  • LayoutTests/imported/blink/fast/css-generated-content/empty-first-letter-with-columns-crash.html: Removed.

Remove duplicate test.

  • LayoutTests/imported/blink/media/video-webkit-appearance-expected.html: Removed.
  • LayoutTests/imported/blink/media/video-webkit-appearance.html: Removed.

Remove no longer relevant crashtest.

  • LayoutTests/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:

Marked subtests as passing.

  • Source/WebCore/css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/CSSValueKeywords.in:
  • Source/WebCore/css/mediaControls.css:

Clean up stylesheet and stop using unsupported appearance values.
(:is(audio, video)::-webkit-media-controls-panel):
(video:-webkit-full-page-media):
(:is(audio, video)::-webkit-media-controls-mute-button,):
(:is(audio, video)::-webkit-media-controls-overlay-play-button):
(:is(audio, video)::-webkit-media-controls-timeline-container):
(:is(audio, video)::-webkit-media-controls-current-time-display,):
(:is(audio, video)::-webkit-media-controls-timeline):
(:is(audio, video)::-webkit-media-controls-volume-slider):
(:is(audio, video)::-webkit-media-controls-seek-back-button,):
(:is(audio, video)::-webkit-media-controls-rewind-button,):
(:is(audio, video)::-webkit-media-controls-closed-captions-container,):
(:is(audio, video)::-webkit-media-controls-volume-slider-mute-button):
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): Deleted.
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): Deleted.
(audio::-webkit-media-controls-overlay-play-button, video::-webkit-media-controls-overlay-play-button): Deleted.
(audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button): Deleted.
(audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container): Deleted.
(audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): Deleted.
(audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display): Deleted.
(audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): Deleted.
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): Deleted.
(audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button): Deleted.
(audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button): Deleted.
(audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button): Deleted.
(audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button): Deleted.
(audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button): Deleted.
(audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): Deleted.
(audio::-webkit-media-controls-closed-captions-container, video::-webkit-media-controls-closed-captions-container): Deleted.
(audio::-webkit-media-controls-closed-captions-track-list, video::-webkit-media-controls-closed-captions-track-list): Deleted.
(audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): Deleted.
(audio::-webkit-media-controls-fullscreen-volume-slider, video::-webkit-media-controls-fullscreen-volume-slider): Deleted.
(audio::-webkit-media-controls-fullscreen-volume-min-button, video::-webkit-media-controls-fullscreen-volume-min-button): Deleted.
(audio::-webkit-media-controls-fullscreen-volume-max-button, video::-webkit-media-controls-fullscreen-volume-max-button): Deleted.

  • Source/WebCore/platform/ThemeTypes.cpp:

(WebCore::operator<<):

  • Source/WebCore/platform/ThemeTypes.h:
  • Source/WebCore/rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::adjustMediaControlStyle const): Deleted.

  • Source/WebCore/rendering/RenderTheme.h:

(WebCore::RenderTheme::paintMediaPlayButton): Deleted.
(WebCore::RenderTheme::paintMediaMuteButton): Deleted.

  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation-overrides.json:
  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation.js:

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

1:59 AM Changeset in webkit [294628] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

IPC stream work queues lack autoreleasepools
https://bugs.webkit.org/show_bug.cgi?id=240647
<rdar://problem/93575653>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-23
Reviewed by Simon Fraser.

Add the autorelease pool to each iteration of IPC stream message
processing.

This prevents leaks where the callgraph ends up using Objective-C
APIs that instantiate autoreleased objects. From WebKit code,
examples are things like dictionary literals from IOSurface.mm and
strings. Similarly other platform APIs use other similar, typically
small temporary autoreleased objects. Compared to GPUP held graphics
objects, even long running GPUP processes did not accumulate that much
leaked memory. The footprint would hike up 1-6 mb per hour on repeated
animation in the simplest case.

  • Source/WebKit/Platform/IPC/StreamConnectionWorkQueue.cpp:

(IPC::StreamConnectionWorkQueue::processStreams):

  • Source/WebKit/Shared/IPCStreamTester.cpp:

(WebKit::releaseUseCountHolder):
(WebKit::IPCStreamTester::checkAutoreleasePool):

  • Source/WebKit/Shared/IPCStreamTester.h:
  • Source/WebKit/Shared/IPCStreamTester.messages.in:
  • LayoutTests/ipc/stream-check-autoreleasepool-expected.txt: Added.
  • LayoutTests/ipc/stream-check-autoreleasepool.html: Added.

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

May 22, 2022:

11:45 PM Changeset in webkit [294627] by commit-queue@webkit.org
  • 1 edit in trunk/JSTests/wasm/wasm.json

WebAssembly: sync wasm.json files
https://bugs.webkit.org/show_bug.cgi?id=240741

Patch by Asumu Takikawa <asumu@igalia.com> on 2022-05-22
Reviewed by Yusuke Suzuki.

  • JSTests/wasm/wasm.json:

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

11:31 PM Changeset in webkit [294626] by Lauro Moura
  • 2 edits in trunk/Source/WebKit/Shared

Ignore SIGPIPE in subprocesses
https://bugs.webkit.org/show_bug.cgi?id=240444

Reviewed by Adrian Perez de Castro.

One common case where ignoring SIGPIPE is desired is to avoid issues
when logging to journald and it crashes. As stated in
https://www.freedesktop.org/software/systemd/man/systemd-journald.service

"In order to react gracefully in this (journald stopped) case it is
recommended that programs logging to standard output/error ignore such
errors."

  • Shared/AuxiliaryProcess.cpp: Avoid default platformInitialize on

Unix.

  • Shared/unix/AuxiliaryProcessMain.cpp:

(WebKit::AuxiliaryProcess::platformInitialize): Added, ignore SIGPIPE.

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

9:43 PM Changeset in webkit [294625] by commit-queue@webkit.org
  • 1 edit in trunk/LayoutTests/platform/glib/TestExpectations

Unreviewed, gardening glib timeouts
https://bugs.webkit.org/show_bug.cgi?id=240783

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

6:23 PM Changeset in webkit [294624] by Fujii Hironori
  • 2 edits in trunk/LayoutTests/platform

[WinCairo] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=240439

  • LayoutTests/platform/wincairo-wk1/TestExpectations:
  • LayoutTests/platform/wincairo/TestExpectations:

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

1:50 PM Changeset in webkit [294623] by Alan Bujtas
  • 6 edits
    1 add in trunk/Source/WebCore

Flex layout may use flex box's height to stretch flex items
https://bugs.webkit.org/show_bug.cgi?id=240774

Reviewed by Antti Koivisto.

This is in preparation for being able to stretch the flex items vertically (e.g. when the flex box has fixed height)

  • Source/WebCore/Headers.cmake:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:
  • Source/WebCore/layout/formattingContexts/FormattingConstraints.h:

(WebCore::Layout::ConstraintsForInFlowContent::isConstraintsForFlexContent const):

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingConstraints.h: Added.

(WebCore::Layout::ConstraintsForFlexContent::availableVerticalSpace const):
(WebCore::Layout::ConstraintsForFlexContent::ConstraintsForFlexContent):

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContent):
(WebCore::Layout::FlexFormattingContext::sizeAndPlaceFlexItems):
(WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
  • Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.cpp:

(WebCore::LayoutIntegration::FlexLayout::layout):

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

12:43 PM Changeset in webkit [294622] by Tyler Wilcock
  • 1 edit
    1 add in trunk/LayoutTests/platform/ios

AX: Update expectation for accessibility/aria-modal-with-text-crash.html on iOS
https://bugs.webkit.org/show_bug.cgi?id=240729

Reviewed by Chris Fleizach.

This test just needed a rebaseline.

  • LayoutTests/platform/ios/TestExpectations:
  • LayoutTests/platform/ios/accessibility/aria-modal-with-text-crash-expected.txt: Added.

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

11:00 AM Changeset in webkit [294621] by Patrick Angle
  • 10 edits in trunk

Unreviewed, reverting r249538 & r249598.
https://bugs.webkit.org/show_bug.cgi?id=240769

Introduced inconsistencies between backend and frontend DOM tree state.

Reverted changesets:

"Web Inspector: preserve DOM.NodeId if a node is removed and re-added"
https://bugs.webkit.org/show_bug.cgi?id=189687
https://commits.webkit.org/249538

"Web Inspector: Clean up WI.DOMNode to no longer require the shared WI.DOMManager be passed during construction"
https://bugs.webkit.org/show_bug.cgi?id=239129
https://commits.webkit.org/249598

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

7:36 AM Changeset in webkit [294620] by Antti Koivisto
  • 1 edit
    2 adds in trunk

REGRESSION(r293956): Bad color inheritance due to disallowsFastPathInheritance bit missing from RenderStyle::copyNonInheritedFrom
https://bugs.webkit.org/show_bug.cgi?id=240770

Reviewed by Alan Bujtas.

Test: fast/css/color-inheritance-dynamic.html

  • Source/WebCore/rendering/style/RenderStyle.h:

(WebCore::RenderStyle::NonInheritedFlags::copyNonInheritedFrom):

Add it.

  • LayoutTests/fast/css/color-inheritance-dynamic-expected.html: Added.
  • LayoutTests/fast/css/color-inheritance-dynamic.html: Added.

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

3:00 AM Changeset in webkit [294619] by ysuzuki@apple.com
  • 8 edits
    1 add in trunk

Clear StructureCache if it has Structure with relevant JSGlobalObjects
https://bugs.webkit.org/show_bug.cgi?id=240768
rdar://93232129

Reviewed by Saam Barati.

We need to clear Structures in StructureCache when having-a-bad-time: it is possible that Structure could have this have-a-bad-time
relevant JSGlobalObjects in its prototype chain. We are clearing it for InternalFunction's allocation cache. We should do the
same thing for JSGlobalObject's StructureCache.

This patch adds new watchpoint, structureCacheClearedWatchpoint. And use it in DFG. This watchpoint fires when the cache is cleared,
and it can happen even though JSGlobalObject is not getting have-a-bad-time.

  • JSTests/stress/global-object-have-a-bad-time-dependency.js: Added.

(shouldBe):
(cons):

  • Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • Source/JavaScriptCore/runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::fireWatchpointAndMakeAllArrayStructuresSlowPut):
(JSC::JSGlobalObject::clearStructureCache):

  • Source/JavaScriptCore/runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::structureCacheClearedWatchpoint):
(JSC::JSGlobalObject::isStructureCacheCleared const):

  • Source/JavaScriptCore/runtime/StructureCache.h:

(JSC::StructureCache::forEach):

  • Source/JavaScriptCore/runtime/WeakGCMap.h:

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

May 21, 2022:

7:34 PM Changeset in webkit [294618] by Alan Bujtas
  • 1 edit
    2 adds in trunk

Invisible border should not trigger Repaint diff when currentColor changes
https://bugs.webkit.org/show_bug.cgi?id=240763

Reviewed by Simon Fraser.

Let's check if the border is visible to decide if the currentColor should trigger Repaint diff.

Test: fast/repaint/currentColorChange-with-non-visible-border.html

  • Source/WebCore/rendering/style/BorderData.cpp:

(WebCore::BorderData::isEquivalentForPainting const):

  • LayoutTests/fast/repaint/currentColorChange-with-non-visible-border-expected.txt: Added.
  • LayoutTests/fast/repaint/currentColorChange-with-non-visible-border.html: Added.

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

4:40 PM Changeset in webkit [294617] by Wenson Hsieh
  • 2 edits in trunk/Source

REGRESSION (r290124): Unable to insert decimal point when typing in a number text field in QQ app
https://bugs.webkit.org/show_bug.cgi?id=240761
rdar://91882650

Reviewed by Chris Dumez and Tim Horton.

After the changes in r290124, we no longer treat strings that end with a full stop (e.g. "1.") as valid floating point
numbers, per section 2.5.4.3 of the HTML spec (Real numbers), which states that a decimal number that contains a full
stop character (".") must be succeeded by one or more digit characters. The HTML spec later references this when
describing how to sanitize the value of number inputs -- namely, we return the value of the input if it's a valid
floating point number, and otherwise return the empty string.

However, the QQ app still relies on the fact that strings of the form are "<n>." are valid floating point numbers; this
is because the app installs a keyup event handler that asks for the input's value, removes all non-digit and non-
full-stop characters, and then sets the text field's value to this new string. Because strings ending with a period are
no longer valid floating point numbers, it's now very difficult to type decimals of the form "N.N" into some text
fields in the QQ app, since the input is cleared out each time the user types "." at the end of the field.

This new behavior (more or less) matches Chrome and Firefox; to maintain consistent behavior with other browsers without
breaking binary compatibility, we guard this new behavior with a linked-on-or-after check.

  • Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:
  • Source/WebCore/html/parser/HTMLParserIdioms.cpp:

(WebCore::parseToDoubleForNumberType):

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

4:38 PM Changeset in webkit [294616] by timothy_horton@apple.com
  • 3 edits in trunk/Source

InteractionRegion UI-side layers should be grouped by originating element
https://bugs.webkit.org/show_bug.cgi?id=240766

Reviewed by Wenson Hsieh.

  • Source/WebCore/page/InteractionRegion.cpp:

(WebCore::regionForElement):

  • Source/WebCore/page/InteractionRegion.h:

(WebCore::operator==):
(WebCore::InteractionRegion::encode const):
(WebCore::InteractionRegion::decode):
Store and transmit an ElementIdentifier for each InteractionRegion.

  • Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm:

(WebKit::updateLayersForInteractionRegions):
Apply it to the layer.

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

4:16 PM Changeset in webkit [294615] by commit-queue@webkit.org
  • 18 edits in trunk

Perspective should not be affected by transform-origin
https://bugs.webkit.org/show_bug.cgi?id=211787
<rdar://problem/63143806>

Patch by Nikolas Zimmermann <nzimmermann@igalia.com> on 2022-05-21
Reviewed by Simon Fraser.

Fix a number of issues related to perspective handling:

  • 'perspective-origin' always used the border-box as reference box, when resolving length percentages, ignoring the choice of 'transform-box'. Fix that.
  • Proper 'transform-box' awareness throghout RenderLayerBacking (few places with issue, e.g. perspectiveOrigin() affecting repaint & coverage rects)
  • The chosen perspective transformation was not invariant under 'transform-origin' / 'transform-box' changes of the element A, that defines the perspective. However the perspective set on element A should only affect the rendering of its descendants: the choice of the 'transform-origin' / 'transform-box' of element A should have no effect on the perspective established for the children.
  • Assure that 'transform-box' changes trigger GraphicLayer geometry updates: this fully fixes 'transform-box' support for composited elements, and brings its state on-par with non-composited elements (both support all kind of transform-box / transform-origin combinations on regular layers, clipped layers, scrolled layers).

This fixes the (not yet upstreamed) test web-platform-tests/css/css-transforms/animation/transform-box-will-change-transform-layer.html.

Prepared a new WPT test (see above) for upstreaming.

  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::computeTransformedExtentViaTransformList const):

  • Source/WebCore/rendering/RenderLayer.cpp:

(WebCore::RenderLayer::perspectiveTransform const):
(WebCore::RenderLayer::perspectiveOrigin const):

  • Source/WebCore/rendering/RenderLayer.h:
  • Source/WebCore/rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateTransform):
(WebCore::RenderLayerBacking::updateChildrenTransformAndAnchorPoint):
(WebCore::RenderLayerBacking::computeTransformOriginForPainting const): Deleted.

  • Source/WebCore/rendering/RenderLayerBacking.h:
  • Source/WebCore/rendering/RenderLayerCompositor.cpp:

(WebCore::recompositeChangeRequiresGeometryUpdate):

  • Source/WebCore/rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::applySVGTransform const):

  • Source/WebCore/rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::computePerspectiveOrigin const):
(WebCore::RenderStyle::applyPerspective const):
(WebCore::RenderStyle::computeTransformOrigin const):
(WebCore::RenderStyle::applyTransformOrigin const):
(WebCore::RenderStyle::unapplyTransformOrigin const):
(WebCore::RenderStyle::applyTransform const):
(WebCore::RenderStyle::applyMotionPathTransform const):

  • Source/WebCore/rendering/style/RenderStyle.h:
  • Source/WebCore/svg/SVGGraphicsElement.cpp:

(WebCore::SVGGraphicsElement::animatedLocalTransform const):

  • LayoutTests/compositing/tiling/coverage-adjustment-secondary-quad-mapping-expected.txt:
  • LayoutTests/compositing/tiling/perspective-on-scroller-tile-coverage-expected.txt:
  • LayoutTests/platform/glib/TestExpectations:
  • LayoutTests/platform/ios-wk2/compositing/tiling/coverage-adjustment-secondary-quad-mapping-expected.txt:
  • LayoutTests/platform/ios/TestExpectations:
  • LayoutTests/platform/mac-wk1/compositing/tiling/perspective-on-scroller-tile-coverage-expected.txt:
  • LayoutTests/platform/mac/TestExpectations:
  • LayoutTests/platform/win/TestExpectations:

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

12:26 PM Changeset in webkit [294614] by timothy_horton@apple.com
  • 6 edits
    11 adds in trunk

InteractionRegion for wrapped text has multiple rects instead of one
https://bugs.webkit.org/show_bug.cgi?id=240748

Reviewed by Wenson Hsieh.

  • Source/WebCore/page/InteractionRegion.h:

(WebCore::operator==):
(WebCore::InteractionRegion::encode const):
(WebCore::InteractionRegion::decode):

  • Source/WebCore/rendering/EventRegion.cpp:

(WebCore::EventRegion::translate):
(WebCore::EventRegion::dump const):

  • Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm:

(WebKit::updateLayersForInteractionRegions):

  • Source/WebCore/page/DebugPageOverlays.cpp:

(WebCore::pathsForRegion):
(WebCore::InteractionRegionOverlay::activeRegion):
(WebCore::InteractionRegionOverlay::drawRect):

  • Source/WebCore/page/InteractionRegion.cpp:

(WebCore::regionForElement):
Maintain InteractionRegion geometry as a Region instead of a vector of rects,
so that we can smush overlapping rectangles together on a per-InteractionRegion basis.

(WebCore::operator<<):
Add dumping code for InteractionRegion (and adopt it in EventRegion).

  • LayoutTests/TestExpectations:
  • LayoutTests/interaction-region/click-handler-expected.txt: Added.
  • LayoutTests/interaction-region/click-handler.html: Added.
  • LayoutTests/interaction-region/inline-link-dark-background-expected.txt: Added.
  • LayoutTests/interaction-region/inline-link-dark-background.html: Added.
  • LayoutTests/interaction-region/inline-link-expected.txt: Added.
  • LayoutTests/interaction-region/inline-link.html: Added.
  • LayoutTests/interaction-region/split-inline-link-expected.txt: Added.
  • LayoutTests/interaction-region/split-inline-link.html: Added.
  • LayoutTests/interaction-region/wrapped-inline-link-expected.txt: Added.
  • LayoutTests/interaction-region/wrapped-inline-link.html: Added.

Add some basic interaction region tests, currently disabled by default
because they can only be run if you turn on the build-time flag.

"wrapped-inline-link.html" covers the case we are fixing by adopting Region;
the others are more generic tests that we should have had before.

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

8:15 AM Changeset in webkit [294613] by Antti Koivisto
  • 4 edits in trunk

Support invalidation for :in-range/:out-of-range
https://bugs.webkit.org/show_bug.cgi?id=238902
<rdar://91718746>

Reviewed by Alan Bujtas.

  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/input-pseudo-classes-in-has-expected.txt:
  • Source/WebCore/html/InputType.cpp:

(WebCore::InputType::setValue):

No need to invalidate style unconditionally on value change anymore.
Use Style::PseudoClassChangeInvalidation for :in-range invalidation.

  • Source/WebCore/html/SearchInputType.cpp:

(WebCore::SearchInputType::setValue):

Search cancel button style depends on emptiness of the value so invalidate that specifically.

  • Source/WebCore/html/SearchInputType.h:

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

5:38 AM Changeset in webkit [294612] by Alan Bujtas
  • 6 edits
    2 adds in trunk

Text selection does not show continuous selection when dragging across pages with widows
https://bugs.webkit.org/show_bug.cgi?id=240753
<rdar://90960113>

Reviewed by Antti Koivisto.

Use the correct variable to mark the line.

Test: fast/multicol/incorrect-is-first-line-after-page-break-with-widow.html

  • Source/WebCore/layout/integration/inline/InlineIteratorLineBox.cpp:

(WebCore::InlineIterator::LineBoxIterator::operator bool const):

  • Source/WebCore/layout/integration/inline/InlineIteratorLineBox.h:

(WebCore::InlineIterator::LineBoxIterator::operator bool const): Deleted.

  • Source/WebCore/layout/integration/inline/LayoutIntegrationPagination.cpp:

(WebCore::LayoutIntegration::adjustLinePositionsForPagination):

  • Source/WebCore/testing/Internals.cpp:

(WebCore::Internals::lineIndexAfterPageBreak):

  • Source/WebCore/testing/Internals.h:
  • Source/WebCore/testing/Internals.idl:
  • LayoutTests/fast/multicol/incorrect-is-first-line-after-page-break-with-widow-expected.txt: Added.
  • LayoutTests/fast/multicol/incorrect-is-first-line-after-page-break-with-widow.html: Added.

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

May 20, 2022:

11:19 PM Changeset in webkit [294611] by Chris Dumez
  • 139 edits in trunk/Source

Start preparing the code base for marking the StringView(const char*) constructor explicit
https://bugs.webkit.org/show_bug.cgi?id=240687

Reviewed by Darin Adler.

Start preparing the code base for marking the StringView(const char*) constructor explicit.
This encourages people to ensure ASCIILiteral / ""_s whenever possible.

  • Source/JavaScriptCore/API/JSAPIGlobalObject.mm:

(JSC::computeValidImportSpecifier):

  • Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::isWebKitInjectedScript):

  • Source/JavaScriptCore/jit/ExecutableAllocator.cpp:

(JSC::dumpJITMemory):

  • Source/JavaScriptCore/jsc.cpp:

(GlobalObject::moduleLoaderImportModule):
(GlobalObject::moduleLoaderResolve):

  • Source/JavaScriptCore/runtime/FileBasedFuzzerAgent.cpp:

(JSC::FileBasedFuzzerAgent::getPredictionInternal):

  • Source/JavaScriptCore/runtime/IntlLocale.cpp:

(JSC::IntlLocale::initializeLocale):

  • Source/JavaScriptCore/runtime/IntlObject.cpp:

(JSC::isValidTimeZoneNameFromICUTimeZone):

  • Source/JavaScriptCore/runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::logTypesForTypeLocation):

  • Source/JavaScriptCore/testRegExp.cpp:

(parseRegExpLine):

  • Source/JavaScriptCore/yarr/YarrUnicodeProperties.cpp:

(JSC::Yarr::HashTable::entry const):

  • Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):

  • Source/WebKit/UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::hasOnlySecureContent):

  • Source/WebKit/UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _defaultAnimationController]):

  • Source/WebKitLegacy/mac/WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController _defaultAnimationController]):

  • Source/WTF/wtf/DateMath.cpp:

(WTF::parseDateFromNullTerminatedCharacters):

  • Source/WTF/wtf/SortedArrayMap.h:

(WTF::operator<):

  • Source/WTF/wtf/URL.cpp:

(WTF::URL::hasSpecialScheme const):
(WTF::URL::setPath):
(WTF::protocolIsInternal):
(WTF::protocolIs):
(WTF::URL::isLocalFile const):
(WTF::protocolIsJavaScript):
(WTF::URL::protocolIsAbout const):
(WTF::portAllowed):
(WTF::mimeTypeFromDataURL):
(WTF::URL::isAboutBlank const):
(WTF::URL::isAboutSrcDoc const):

  • Source/WTF/wtf/URL.h:

(WTF::URL::protocolIsBlob const):
(WTF::URL::protocolIsData const):

  • Source/WTF/wtf/URLHelpers.cpp:

(WTF::URLHelpers::applyHostNameFunctionToURLString):

  • Source/WTF/wtf/URLParser.cpp:

(WTF::URLParser::copyBaseWindowsDriveLetter):
(WTF::URLParser::URLParser):
(WTF::URLParser::parse):

  • Source/WTF/wtf/text/ASCIILiteral.h:
  • Source/WTF/wtf/text/StringView.h:

(WTF::operator==):
(WTF::operator!=):
(WTF::equal):

  • Source/WebCore/Modules/applepay/PaymentSession.cpp:

(WebCore::isSecure):

  • Source/WebCore/Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::resolveRelativeVirtualPath):
(WebCore::DOMFileSystem::getParent):

  • Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp:

(WebCore::FetchBodyConsumer::packageFormData):

  • Source/WebCore/Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::removeAllDatabasesForFullOriginPath):

  • Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::databasesSizeForDirectory):

  • Source/WebCore/Modules/mediasource/MediaSource.cpp:

(WebCore::addVP9FullRangeVideoFlagToContentType):

  • Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::shouldIgnoreIceCandidate):

  • Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::iceServersFromConfiguration):

  • Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::isValidURLBasedPaymentMethodIdentifier):

  • Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL):

  • Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp:

(WebCore::AuthenticatorCoordinatorInternal::needsAppIdQuirks):

  • Source/WebCore/Modules/webdatabase/Database.cpp:

(WebCore::fullyQualifiedInfoTableName):

  • Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::usage):

  • Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp:

(WebCore::ThreadableWebSocketChannel::validateURL):

  • Source/WebCore/Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::connect):
(WebCore::WebSocket::didUpgradeURL):

  • Source/WebCore/Modules/websockets/WebSocketHandshake.cpp:

(WebCore::hostName):
(WebCore::WebSocketHandshake::WebSocketHandshake):
(WebCore::WebSocketHandshake::httpURLForAuthenticationAndCookies const):
(WebCore::headerHasValidHTTPVersion):

  • Source/WebCore/accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::handleAttributeChange):

  • Source/WebCore/accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::isSearchField const):

  • Source/WebCore/accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::ariaLandmarkRoleDescription const):

  • Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::rolePlatformDescription const):

  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::setPseudoElement):

  • Source/WebCore/bindings/js/ScriptModuleLoader.cpp:

(WebCore::resolveModuleSpecifier):

  • Source/WebCore/contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForPingLoad):
(WebCore::ContentExtensions::applyResultsToRequest):

  • Source/WebCore/css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::isSupportedFormat const):

  • Source/WebCore/css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatInfiniteOrNanValue const):
(WebCore::CSSPrimitiveValue::formatNumberValue const):
(WebCore::CSSPrimitiveValue::formatIntegerValue const):
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):

  • Source/WebCore/css/CSSPrimitiveValue.h:
  • Source/WebCore/css/CSSSelector.cpp:

(WebCore::CSSSelector::parsePseudoElementType):

  • Source/WebCore/css/ContainerQueryParser.cpp:

(WebCore::ContainerQueryParser::consumePlainSizeFeature):

  • Source/WebCore/css/DOMCSSNamespace.cpp:

(WebCore::valueWithoutImportant):

  • Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeDashedIdent):

  • Source/WebCore/css/parser/CSSSelectorParser.cpp:

(WebCore::consumeLangArgumentList):

  • Source/WebCore/css/typedom/CSSOMVariableReferenceValue.cpp:

(WebCore::CSSOMVariableReferenceValue::create):
(WebCore::CSSOMVariableReferenceValue::setVariable):

  • Source/WebCore/dom/ConstantPropertyMap.cpp:

(WebCore::variableDataForPositivePixelLength):
(WebCore::variableDataForPositiveDuration):

  • Source/WebCore/dom/DataTransfer.cpp:

(WebCore::normalizeType):

  • Source/WebCore/dom/Document.cpp:

(WebCore::Document::isCookieAverse const):

  • Source/WebCore/dom/Element.cpp:

(WebCore::Element::isEventHandlerAttribute const):

  • Source/WebCore/dom/TextDecoder.cpp:

(WebCore::TextDecoder::encoding const):

  • Source/WebCore/editing/cocoa/HTMLConverter.mm:

(HTMLConverterCaches::isBlockElement):
(HTMLConverter::computedAttributesForElement):
(HTMLConverter::_processText):

  • Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::stripMicrosoftPrefix):

  • Source/WebCore/editing/markup.cpp:

(WebCore::shouldPreserveMSOLists):

  • Source/WebCore/fileapi/BlobURL.cpp:
  • Source/WebCore/html/FeaturePolicy.cpp:

(WebCore::FeaturePolicy::parse):

  • Source/WebCore/html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • Source/WebCore/html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::formWouldHaveSecureSubmission):

  • Source/WebCore/html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

  • Source/WebCore/html/HTMLMediaElement.cpp:
  • Source/WebCore/html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::hasValidClassId):

  • Source/WebCore/html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::isImageType):

  • Source/WebCore/html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):

  • Source/WebCore/html/URLDecomposition.cpp:

(WebCore::URLDecomposition::setUsername):
(WebCore::URLDecomposition::setPassword):
(WebCore::URLDecomposition::setHost):
(WebCore::URLDecomposition::setHostname):

  • Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::State::fontString const):

  • Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getActiveUniform):
(WebCore::WebGLRenderingContextBase::getUniformLocation):

  • Source/WebCore/html/parser/CSSPreloadScanner.cpp:

(WebCore::hasValidImportConditions):

  • Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp:

(WebCore::extractCharset):

  • Source/WebCore/html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):

  • Source/WebCore/html/track/WebVTTParser.cpp:
  • Source/WebCore/inspector/DOMPatchSupport.cpp:
  • Source/WebCore/inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::revealFileExternally):

  • Source/WebCore/inspector/InspectorStyleSheet.cpp:

(WebCore::StyleSheetHandler::observeComment):
(WebCore::lowercasePropertyName):
(WebCore::selectorsFromSource):

  • Source/WebCore/loader/CookieJar.cpp:

(WebCore::CookieJar::shouldIncludeSecureCookies):

  • Source/WebCore/loader/CustomHeaderFields.cpp:

(WebCore::CustomHeaderFields::thirdPartyDomainsMatch const):

  • Source/WebCore/loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):

  • Source/WebCore/loader/FrameLoader.cpp:

(WebCore::FrameLoader::open):

  • Source/WebCore/loader/PolicyChecker.cpp:

(WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy):

  • Source/WebCore/loader/PrivateClickMeasurement.cpp:

(WebCore::PrivateClickMeasurement::parseAttributionRequest):

  • Source/WebCore/loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::isPDFJSResourceLoad const):

  • Source/WebCore/loader/appcache/ApplicationCacheManifestParser.cpp:

(WebCore::parseApplicationCacheManifest):

  • Source/WebCore/loader/archive/ArchiveResourceCollection.cpp:

(WebCore::ArchiveResourceCollection::archiveResourceForURL):

  • Source/WebCore/loader/cache/CachedResource.cpp:

(WebCore::CachedResource::makeRevalidationDecision const):

  • Source/WebCore/loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • Source/WebCore/page/ContextMenuController.cpp:

(WebCore::ContextMenuController::checkOrEnableIfNeeded const):

  • Source/WebCore/page/EventHandler.cpp:

(WebCore::hasDropZoneType):

  • Source/WebCore/page/Frame.cpp:

(WebCore::createRegExpForLabels):
(WebCore::matchLabelsAgainstString):

  • Source/WebCore/page/Page.cpp:

(WebCore::Page::userStyleSheetLocationChanged):
(WebCore::Page::allowsLoadFromURL const):

  • Source/WebCore/page/Quirks.cpp:

(WebCore::isYahooMail):
(WebCore::Quirks::shouldDisableContentChangeObserverTouchEventAdjustment const):
(WebCore::Quirks::shouldHideSearchFieldResultsButton const):
(WebCore::Quirks::isAmazon const):
(WebCore::Quirks::isGoogleMaps const):
(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const):
(WebCore::Quirks::shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented const):
(WebCore::Quirks::simulatedMouseEventTypeForTarget const):
(WebCore::Quirks::shouldPreventPointerMediaQueryFromEvaluatingToCoarse const):
(WebCore::Quirks::shouldAvoidResizingWhenInputViewBoundsChange const):
(WebCore::Quirks::shouldDisablePointerEventsQuirk const):
(WebCore::Quirks::needsInputModeNoneImplicitly const):
(WebCore::Quirks::needsFullscreenDisplayNoneQuirk const):
(WebCore::Quirks::shouldSilenceWindowResizeEvents const):
(WebCore::Quirks::shouldSilenceMediaQueryListChangeEvents const):
(WebCore::Quirks::shouldUseLegacySelectPopoverDismissalBehaviorInDataActivation const):
(WebCore::Quirks::shouldOpenAsAboutBlank const):
(WebCore::Quirks::shouldBypassBackForwardCache const):
(WebCore::Quirks::shouldBypassAsyncScriptDeferring const):
(WebCore::Quirks::shouldMakeEventListenerPassive):
(WebCore::Quirks::shouldDisableElementFullscreenQuirk const):
(WebCore::Quirks::needsCanPlayAfterSeekedQuirk const):
(WebCore::Quirks::shouldLayOutAtMinimumWindowWidthWhenIgnoringScalingConstraints const):
(WebCore::Quirks::shouldIgnoreContentObservationForSyntheticClick const):
(WebCore::isKinjaLoginAvatarElement):
(WebCore::Quirks::isMicrosoftTeamsRedirectURL):
(WebCore::Quirks::needsBlackFullscreenBackgroundQuirk const):
(WebCore::Quirks::needsToForceUserSelectAndUserDragWhenInstallingImageOverlay const):

  • Source/WebCore/page/SecurityOrigin.cpp:

(WebCore::schemeRequiresHost):
(WebCore::SecurityOrigin::shouldIgnoreHost):
(WebCore::shouldTreatAsUniqueOrigin):
(WebCore::isLoopbackIPAddress):
(WebCore::SecurityOrigin::isLocalHostOrLoopbackIPAddress):

  • Source/WebCore/page/SecurityPolicy.cpp:

(WebCore::SecurityPolicy::shouldHideReferrer):
(WebCore::SecurityPolicy::generateOriginHeader):

  • Source/WebCore/page/UserContentURLPattern.cpp:

(WebCore::UserContentURLPattern::parse):

  • Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm:

(WebCore::ResourceUsageThread::platformCollectCPUData):

  • Source/WebCore/page/csp/ContentSecurityPolicy.cpp:

(WebCore::shouldReportProtocolOnly):
(WebCore::ContentSecurityPolicy::upgradeInsecureRequestIfNeeded const):
(WebCore::ContentSecurityPolicy::setUpgradeInsecureRequests):

  • Source/WebCore/page/csp/ContentSecurityPolicySource.cpp:

(WebCore::ContentSecurityPolicySource::portMatches const):

  • Source/WebCore/page/csp/ContentSecurityPolicySourceList.cpp:

(WebCore::ContentSecurityPolicySourceList::isProtocolAllowedByStar const):

  • Source/WebCore/platform/MIMETypeRegistry.cpp:

(WebCore::MIMETypeRegistry::isSupportedJSONMIMEType):
(WebCore::MIMETypeRegistry::isXMLMIMEType):

  • Source/WebCore/platform/cocoa/RuntimeApplicationChecksCocoa.mm:

(WebCore::MacApplication::isSafari):

  • Source/WebCore/platform/graphics/Image.cpp:

(WebCore::Image::isPDFResource):
(WebCore::Image::isPostScriptResource):

  • Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:

(WebCore::CDMFactoryFairPlayStreaming::supportsKeySystem):

  • Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::isUnsupportedMIMEType):

  • Source/WebCore/platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm:

(WebCore::AVAssetMIMETypeCache::isUnsupportedContainerType):

  • Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::fontWithFamilySpecialCase):

  • Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp:

(WebCore::videoCodecTypeFromRFC4281Type):
(WebCore::computeMediaCapabilitiesInfo):

  • Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp:

(WebCore::SourceBufferParserWebM::isContentTypeSupported):

  • Source/WebCore/platform/mac/UserAgentMac.mm:

(WebCore::standardUserAgentWithApplicationName):

  • Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:

(WebCore::isValidCaptureDevice):

  • Source/WebCore/platform/network/CacheValidation.cpp:

(WebCore::parseCacheControlDirectives):
(WebCore::cookieRequestHeaderFieldValue):

  • Source/WebCore/platform/network/DataURLDecoder.cpp:

(WebCore::DataURLDecoder::DecodeTask::process):

  • Source/WebCore/platform/network/HTTPParsers.cpp:

(WebCore::extractCharsetFromMediaType):

  • Source/WebCore/platform/network/ParsedContentRange.cpp:

(WebCore::parseContentRange):

  • Source/WebCore/platform/network/ParsedRequestRange.cpp:

(WebCore::ParsedRequestRange::parse):

  • Source/WebCore/platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::shouldContentSniffURL):

  • Source/WebCore/platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::redirectedRequest const):

  • Source/WebCore/platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::isHTTP09 const):

  • Source/WebCore/platform/network/cf/SocketStreamHandleImpl.h:

(WebCore::SocketStreamHandleImpl::shouldUseSSL const):

  • Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp:

(WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):

  • Source/WebCore/platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::willSendRequest):

  • Source/WebCore/plugins/PluginData.cpp:

(WebCore::shouldBePubliclyVisible):

  • Source/WebCore/rendering/HitTestResult.cpp:

(WebCore::HitTestResult::absolutePDFURL const):

  • Source/WebCore/rendering/RenderListMarker.cpp:

(WebCore::listMarkerSuffix):

  • Source/WebCore/svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::scrollToFragment):

  • Source/WebCore/svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::parseOffsetValue):
(WebCore::SVGSMILElement::parseCondition):

  • Source/WebCore/workers/Worker.cpp:

(WebCore::Worker::didReceiveResponse):

  • Source/WebCore/workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::addRegistration):

  • Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::shouldAllowExternalLoad):

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

11:09 PM Changeset in webkit [294610] by Brandon
  • 36 edits
    1 copy
    4 adds in trunk

Release assert in Document::updateLayout() via HTMLTextAreaElement::childrenChanged
https://bugs.webkit.org/show_bug.cgi?id=224471

Reviewed by Ryosuke Niwa.

This patch is based on a set of patches made by Sergio Villar Senin
and Gabriel Nava Marino.

Executing some editing commands in a text area might force the recomputation of things
like caret or the visible selection position and extent. Under some circumstances (like
when the text area has no content and children) we might end up trying to update layout
when it is not safe as a side effect of updating the caret.

In order to fix that, we can switch to a model in which we update the selection asynchronously
in the case of having a non-user triggered change. That way we don't do it inside
a restricted layout scope.

The App Highlight restoration code had to be tuned as well (when restoring and scrolling to reveal
a Quick Note on iOS MacOS). It uses TemporarySelectionChange to select and scroll to reveal the highlight
range; the code assumed that this scrolling happens synchronously, since it reverts the selection to
the original range at the end of AppHighlightStorage::attemptToRestoreHighlightAndScroll when the
TemporarySelectionChange falls out of scope. That is however no longer the case. Actually no scrolling
happened after this patch because we end up only scheduling the appearance update timer before setting
the selection back to the original state with SelectionRevealMode::DoNotReveal. Since this only happens
when the user interacts in the Notes app, it seems sensible to consider it as a user triggered event.

Layout Tests

Moved some tests out of the text-based-repaint.js model because selection is now updated
and revealed asynchronously in the case of non-user triggered changes. The problem is that
by the time the repaint rects are queried the update has not happened yet. That's why
the tests were modified so that we wait until the repaint happens.

Same situation for other tests that do not involve repaint rects but trigger accesibility
tree updates. We must ensure that we let the notification be thrown before checking whether or
not has been emited. As it's done asynchronously we must let the main thread run before checking.

Last but not least, some of the tests are using setTimeout() instead of requestAnimationFrame()
because the results with the latter were not as reliable under stress/debug conditions.

  • Source/WebCore/Modules/highlight/AppHighlightStorage.cpp:

(WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll):

  • Source/WebCore/editing/Editor.cpp:

(WebCore::TemporarySelectionChange::setSelection):

  • Source/WebCore/editing/Editor.h:
  • Source/WebCore/editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::updateSelectionAppearanceNow):
(WebCore::FrameSelection::absoluteCaretBounds):
(WebCore::FrameSelection::setCaretVisibility):
(WebCore::FrameSelection::selectionBounds):
(WebCore::FrameSelection::revealSelection):
(WebCore::updateSelectionByUpdatingLayoutOrStyle): Deleted.
(WebCore::FrameSelection::selectionBounds const): Deleted.

  • Source/WebCore/editing/FrameSelection.h:
  • Source/WebCore/page/EventHandler.cpp:

(WebCore::setSelectionIfNeeded):

  • Source/WebCore/page/Page.cpp:

(WebCore::Page::doAfterUpdateRendering):

  • LayoutTests/accessibility/mac/selection-boundary-userinfo.html:
  • LayoutTests/accessibility/mac/selection-change-userinfo.html:
  • LayoutTests/accessibility/mac/selection-value-changes-for-aria-textbox.html:
  • LayoutTests/editing/selection-with-absolute-positioned-empty-content.html:
  • LayoutTests/fast/forms/textarea-scrolled-endline-caret.html:
  • LayoutTests/fast/repaint/selection-gap-absolute-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-absolute-child.html:
  • LayoutTests/fast/repaint/selection-gap-fixed-child.html:
  • LayoutTests/fast/repaint/selection-gap-flipped-absolute-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-flipped-absolute-child.html:
  • LayoutTests/fast/repaint/selection-gap-transformed-absolute-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-transformed-absolute-child.html:
  • LayoutTests/fast/repaint/selection-gap-transformed-fixed-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-transformed-fixed-child.html:
  • LayoutTests/fast/repaint/selection-paint-invalidation-expected.txt:
  • LayoutTests/fast/repaint/selection-ruby-rl-expected.txt:
  • LayoutTests/fast/repaint/selection-ruby-rl.html:
  • LayoutTests/fast/repaint/text-selection-overflow-hidden-expected.txt:
  • LayoutTests/fast/repaint/text-selection-overflow-hidden.html:
  • LayoutTests/fast/text/incorrect-deselection-across-multiple-elements.html:
  • LayoutTests/platform/gtk/TestExpectations:
  • LayoutTests/platform/gtk/fast/repaint/selection-ruby-rl-expected.txt: Copied from LayoutTests/fast/repaint/selection-ruby-rl-expected.txt.
  • LayoutTests/platform/gtk/fast/repaint/text-selection-overflow-hidden-expected.txt:
  • LayoutTests/platform/mac-wk1/TestExpectations:
  • LayoutTests/platform/mac-wk1/accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: Added.
  • LayoutTests/platform/mac-wk1/fast/repaint/4776765-expected.txt: Added.
  • LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-005-expected.txt:
  • LayoutTests/platform/mac/TestExpectations:
  • LayoutTests/platform/win/fast/repaint/4776765-expected.txt: Added.
  • LayoutTests/platform/win/fast/repaint/selection-ruby-rl-expected.txt:
  • LayoutTests/platform/win/fast/repaint/text-selection-overflow-hidden-expected.txt:

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

10:39 PM Changeset in webkit [294609] by Devin Rousso
  • 2 edits in trunk

[css-values-4] logical *vi(inline) and *vb (block) viewport units should be based on the current element's writing-mode
https://bugs.webkit.org/show_bug.cgi?id=234373
<rdar://problem/86832561>

Reviewed by Tim Nguyen.

Previously, we only looked at the root element's writing-mode. Looking at the current element's
writing-mode allows for non-root elements to have a writing-mode independent of the root element,
as well as having styles based on that. This was changed in <https://github.com/w3c/csswg-drafts/issues/6873>.

Tests: CSSViewportUnits.AllSame

CSSViewportUnits.MinimumViewportInsetWithWritingMode
CSSViewportUnits.MaximumViewportInsetWithWritingMode
CSSViewportUnits.EmptyUnobscuredSizeOverrides
CSSViewportUnits.SameUnobscuredSizeOverrides
CSSViewportUnits.DifferentUnobscuredSizeOverrides
CSSViewportUnits.SVGDocument

  • Source/WebCore/css/CSSPrimitiveValue.cpp:

(WebCore::lengthOfViewportPhysicalAxisForLogicalAxis):
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm:

(changeCSSPropertyOfElements): Added.
(TEST.CSSViewportUnits.AllSame):
(TEST.CSSViewportUnits.MinimumViewportInsetWithWritingMode):
(TEST.CSSViewportUnits.MaximumViewportInsetWithWritingMode):
(TEST.CSSViewportUnits.EmptyUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.SameUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.DifferentUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.SVGDocument):

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

9:21 PM Changeset in webkit [294608] by ggaren@apple.com
  • 1 edit in trunk/metadata/contributors.json

Trying out my git setup: Update my personal info in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240745

Reviewed by Beth Dakin.

  • metadata/contributors.json: Added some news skills I've acquired.

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

7:33 PM Changeset in webkit [294607] by commit-queue@webkit.org
  • 24 edits in trunk

Convert ExpansionBehavior to a struct of left/right expansion behaviors
https://bugs.webkit.org/show_bug.cgi?id=240554

Patch by Kiet Ho <Kiet Ho> on 2022-05-20
Reviewed by Myles C. Maxfield.

  • Tools/TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:

(TestWebKitAPI::TEST_F):

  • Source/WebKit/WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:

(WebKit::WebPopupMenu::setUpPlatformData):

No new tests, no functional changes made.

  • Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::measureText):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::drawText):
(WebCore::CanvasRenderingContext2DBase::measureTextInternal):

  • Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp:

(WebCore::Layout::Line::applyRunExpansion):

  • Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayBox.h:
  • Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp:

(WebCore::Layout::TextUtil::fallbackFontsForText):

  • Source/WebCore/platform/graphics/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

  • Source/WebCore/platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::expansionOpportunityCountInternal):

  • Source/WebCore/platform/graphics/TextRun.h:

(WebCore::TextRun::TextRun):

  • Source/WebCore/platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::WidthIterator):
(WebCore::WidthIterator::calculateAdditionalWidth const):

  • Source/WebCore/platform/text/TextFlags.h:

(WebCore::ExpansionBehavior::ExpansionBehavior):
(WebCore::ExpansionBehavior::allowLeftOnly):
(WebCore::ExpansionBehavior::forceLeftOnly):
(WebCore::ExpansionBehavior::allowRightOnly):

  • Source/WebCore/platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::paint):

  • Source/WebCore/rendering/LegacyEllipsisBox.cpp:

(WebCore::LegacyEllipsisBox::paint):
(WebCore::LegacyEllipsisBox::selectionRect const):
(WebCore::LegacyEllipsisBox::paintSelection):

  • Source/WebCore/rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::expansionBehavior const):

  • Source/WebCore/rendering/LegacyLineLayout.cpp:

(WebCore::expansionBehaviorForInlineTextBox):
(WebCore::applyExpansionBehavior):

  • Source/WebCore/rendering/RenderBlock.h:
  • Source/WebCore/rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::paintObject):
(WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths const):

  • Source/WebCore/rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):

  • Source/WebCore/rendering/RenderListBox.cpp:

(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):

  • Source/WebCore/rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::getAverageCharWidth):

  • Source/WebCore/rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::constructTextRun const):

  • Source/WebCore/rendering/svg/SVGTextMetrics.cpp:

(WebCore::SVGTextMetrics::constructTextRun):

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

7:25 PM Changeset in webkit [294606] by achristensen@apple.com
  • 1 edit
    2 adds in trunk

Fix invalid assertion in parseKeywordValue
https://bugs.webkit.org/show_bug.cgi?id=240593

Reviewed by Antti Koivisto.

Test: fast/css/parse-non-descriptor.html

  • Source/WebCore/css/parser/CSSParserFastPaths.cpp:

This function returns null, which is fine.

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

7:24 PM Changeset in webkit [294605] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Reduce branching a little under JSNodeOwner::isReachableFromOpaqueRoots()
https://bugs.webkit.org/show_bug.cgi?id=240742

Reviewed by Geoffrey Garen.

Given that JSNodeOwner::isReachableFromOpaqueRoots() already checks if the Node is
connected or not, make sure to avoid the same check under Node::opaqueRoot().

  • Source/WebCore/bindings/js/JSNodeCustom.cpp:

(WebCore::JSNodeOwner::isReachableFromOpaqueRoots):

  • Source/WebCore/dom/Node.cpp:

(WebCore::Node::traverseToOpaqueRoot const):
(WebCore::Node::opaqueRootSlow const): Deleted.

  • Source/WebCore/dom/Node.h:

(WebCore::Node::opaqueRoot const):

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

6:23 PM Changeset in webkit [294604] by Jenner@apple.com
  • 1 copy
    1 delete in trunk/LayoutTests/platform

[Gardening]: [ iOS ] fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=231266

Unreviewed test gardening.

  • LayoutTests/platform/ios/fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt: Renamed from LayoutTests/platform/ios-wk2/fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt.

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

6:06 PM Changeset in webkit [294603] by Jenner@apple.com
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[ Gardening ]: [ BigSur+ Debug wk2 EWS ] imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/quirks.window.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=237165

Unreviewed test gardening. Removal of no longer needed expectation.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

5:48 PM Changeset in webkit [294602] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.10.2

Tag WebKit-7614.1.14.10.2.

5:41 PM Changeset in webkit [294601] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.8

Tag WebKit-7614.1.14.1.8.

5:35 PM Changeset in webkit [294600] by Beth Dakin
  • 1 edit in trunk/metadata/contributors.json

Trying git workflow: updating personal info in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240747

Reviewed by Wenson Hsieh.

Adding more recent areas of expertise.

  • metadata/contributors.json:

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

5:23 PM Changeset in webkit [294599] by mmaxfield@apple.com
  • 4 edits
    89 adds in trunk

[WebGPU] Integrate Metal-cpp
https://bugs.webkit.org/show_bug.cgi?id=240746
<rdar://problem/89344870>

Reviewed by Dean Jackson.

Metal-cpp is a low-overhead C++ interface for Metal.
https://developer.apple.com/metal/cpp/

Metal-cpp isn't a library per-se, but is instead just a collection of files which users
are supposed to just copy into their project. This does just that, and hooks up all the
necessary flags and paths and everything.

This uses the "single header alternative" described on that webpage, and creates the
single file as a build step.

Metal-cpp files should not be style-checked.

  • Source/WebGPU/Configurations/WebGPU.xcconfig:
  • Source/WebGPU/WebGPU.xcodeproj/project.pbxproj:
  • Source/WebGPU/WebGPU/Metal.cpp: Added.
  • Source/WebGPU/WebGPU/config.h:
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/Foundation.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSArray.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSAutoreleasePool.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSBundle.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSData.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSDate.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSDefines.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSDictionary.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSEnumerator.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSError.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSLock.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSNotification.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSNumber.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSObjCRuntime.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSObject.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSPrivate.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSProcessInfo.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSRange.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSString.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSTypes.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSURL.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/LICENSE.txt: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLAccelerationStructure.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLAccelerationStructureCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLAccelerationStructureTypes.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLArgument.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLArgumentEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLBinaryArchive.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLBlitCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLBlitPass.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLBuffer.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCaptureManager.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCaptureScope.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCommandBuffer.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCommandQueue.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLComputeCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLComputePass.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLComputePipeline.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCounters.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDefines.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDepthStencil.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDevice.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDrawable.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDynamicLibrary.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLEvent.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFence.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionConstantValues.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionDescriptor.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionHandle.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionLog.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionStitching.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLHeaderBridge.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLHeap.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLIndirectCommandBuffer.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLIndirectCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLIntersectionFunctionTable.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLLibrary.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLLinkedFunctions.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLParallelRenderCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLPipeline.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLPixelFormat.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLPrivate.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLRasterizationRate.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLRenderCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLRenderPass.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLRenderPipeline.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLResource.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLResourceStateCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLResourceStatePass.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLSampler.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLStageInputOutputDescriptor.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLTexture.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLTypes.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLVertexDescriptor.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLVisibleFunctionTable.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/Metal.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/QuartzCore/CADefines.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/QuartzCore/CAMetalDrawable.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/QuartzCore/CAPrivate.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/QuartzCore/QuartzCore.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/README.md: Added.
  • Source/WebGPU/WebGPU/metal-cpp/SingleHeader/MakeSingleHeader.py: Added.

(HeaderPrefix):
(HeaderPrefix.init):
(HeaderPrefix.str):
(HeaderPrefix.get_commit_hash):
(HeaderPrefix.
get_commit_string):
(HeaderPrefix.get_date_string):
(
meta_data_string):
(SingleHeader):
(SingleHeader.init):
(SingleHeader.str):
(SingleHeader.append):
(SingleHeader.process):
(SingleHeader.read_header):
(SingleHeader.
strip_pragma_once):
(SingleHeader.strip_comments):
(SingleHeader.
strip_empty_lines):
(SingleHeader.substitute_include_directive):
(SingleHeader.
process_include_directives):
(SingleHeader.process_foundation_directives):
(SingleHeader.
process_header):
(create_argument_parser):
(parse_arguments):
(make_header):
(make_dir):
(write_header):

  • Tools/Scripts/webkitpy/style/checker.py:

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

5:23 PM Changeset in webkit [294598] by Alan Coon
  • 47 edits in branches/safari-7614.1.14.10-branch/Source

Cherry-pick r294496. rdar://problem/93068926

[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK
https://bugs.webkit.org/show_bug.cgi?id=240408

Reviewed by Alexey Proskuryakov.

When building with WK_OVERRIDE_FRAMEWORKS_DIR, we assume that WebKit is
being built as part of a self-contained application, e.g. Safari
Technology Preview. This means that most content is installed to the
override directory, instead of the normal /System/Library/Frameworks
directory.

However, static library content (e.g. headers and archives
for bmalloc, webrtc, WTF) is _not_ installed to the override directory,
as it is not needed at runtime. It was being installed to the default
/usr/local prefix, where it would merge with and overwrite whatever
WebKit content was already present.

To prevent overwrites and other sorts of conflict with the
system-provided WebKit, introduce WK_LIBRARY_HEADERS_FOLDER_PATH and
WK_LIBRARY_INSTALL_PATH, which expand to /usr/local/include/safari-sdk
and /usr/local/lib/safari-sdk respectively when building in this mode.
Static library headers and archives are built to these locations, where
they're still in the expected SDK location, but won't clobber system
WebKit.

  • Source/bmalloc/Configurations/Base.xcconfig:
  • Source/bmalloc/Configurations/bmalloc.xcconfig:
  • Source/bmalloc/Configurations/mbmalloc.xcconfig:
  • Source/JavaScriptCore/Configurations/Base.xcconfig:
  • Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
  • Source/JavaScriptCore/DerivedSources.make:
  • Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
  • Source/JavaScriptCore/Scripts/generate-unified-sources.sh:
  • Source/JavaScriptCore/offlineasm/config.rb:
  • Source/JavaScriptCore/offlineasm/parser.rb:
  • Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/boringssl.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libabsl.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libsrtp.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libvpx.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libwebm.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libyuv.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/usrsctp.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/yasm.xcconfig:
  • Source/WebCore/PAL/Configurations/Base.xcconfig:
  • Source/WebCore/PAL/Configurations/PAL.xcconfig:
  • Source/WebGPU/Configurations/Base.xcconfig:
  • Source/WebGPU/Configurations/WGSL.xcconfig:
  • Source/WebGPU/Configurations/WGSLUnitTests.xcconfig:
  • Source/WebGPU/Configurations/WebGPU.xcconfig:
  • Source/WebKit/Configurations/Base.xcconfig:
  • Source/WebKit/Configurations/BaseTarget.xcconfig:
  • Source/WebKit/Configurations/SandboxProfiles.xcconfig:
  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:
  • Source/WebKitLegacy/scripts/generate-unified-sources.sh:
  • Source/WebKitLegacy/mac/Configurations/Base.xcconfig:
  • Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:
  • Source/WTF/Configurations/Base.xcconfig:
  • Source/WTF/Configurations/WTF.xcconfig:
  • Source/WTF/Configurations/icu.xcconfig:
  • Source/WebCore/Configurations/Base.xcconfig:
  • Source/WebCore/Configurations/WebCore.xcconfig:
  • Source/WebCore/Configurations/WebCoreTestSupport.xcconfig:
  • Source/WebCore/DerivedSources.make:
  • Source/WebCore/Scripts/generate-unified-sources.sh:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:

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

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

5:19 PM Changeset in webkit [294597] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.10-branch/Source

Versioning.

WebKit-7614.1.14.10.2

5:11 PM Changeset in webkit [294596] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.8

Tag WebKit-7614.1.14.0.8.

5:10 PM Changeset in webkit [294595] by commit-queue@webkit.org
  • 1 edit in trunk/JSTests/stress/regexp-bol-optimize-out-of-stack.js

Reduce array length for memory limited scenarios in regexp-bol-optimize-out-of-stack.js
https://bugs.webkit.org/show_bug.cgi?id=240717

Patch by Xan López <Xan Lopez> on 2022-05-20
Reviewed by Yusuke Suzuki.

  • stress/regexp-bol-optimize-out-of-stack.js: use a smaller array size when memory is limited.

(test):

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

5:06 PM Changeset in webkit [294594] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.3.3

Tag WebKit-7614.1.14.3.3.

5:04 PM Changeset in webkit [294593] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.2.3

Tag WebKit-7614.1.14.2.3.

5:02 PM Changeset in webkit [294592] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

Unreviewed, reverting r294371.
https://bugs.webkit.org/show_bug.cgi?id=240740

Introduced page load regression

Reverted changeset:

"Private relay should fail closed for third party loads if the main resource was loaded over private relay"
https://bugs.webkit.org/show_bug.cgi?id=240483
https://commits.webkit.org/r294371

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

4:42 PM Changeset in webkit [294591] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit

Remove unused WebPage::InteractionRegions IPC
https://bugs.webkit.org/show_bug.cgi?id=240725

Reviewed by Wenson Hsieh.

  • Source/WebKit/UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::interactionRegions): Deleted.

  • Source/WebKit/UIProcess/WebPageProxy.h:
  • Source/WebKit/WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::interactionRegions): Deleted.

  • Source/WebKit/WebProcess/WebPage/WebPage.h:
  • Source/WebKit/WebProcess/WebPage/WebPage.messages.in:

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

4:40 PM Changeset in webkit [294590] by Devin Rousso
  • 5 edits in trunk

Web Inspector: only override request headers if they are provided
https://bugs.webkit.org/show_bug.cgi?id=240734

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Controllers/NetworkManager.js:

(WI.NetworkManager.prototype.async requestIntercepted):
(WI.NetworkManager.prototype.async responseIntercepted):

  • LayoutTests/http/tests/inspector/network/intercept-request-properties.html:
  • LayoutTests/http/tests/inspector/network/intercept-request-properties-expected.txt:
  • LayoutTests/http/tests/inspector/network/local-resource-override-basic.html:
  • LayoutTests/http/tests/inspector/network/local-resource-override-basic-expected.txt:

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

4:09 PM Changeset in webkit [294589] by Devin Rousso
  • 4 edits in trunk

[MacCatalyst] REGRESSION(r290091): sometimes can hang if WKWebView is unparented before the next visible content rect update
https://bugs.webkit.org/show_bug.cgi?id=240691
<rdar://problem/92006847>

Reviewed by Wenson Hsieh.

Test: WKWebViewResize.RemovesAssertionsAfterMovingToWindow

  • Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _processWillSwapOrDidExit]):
(-[WKWebView didMoveToWindow]):
(-[WKWebView _acquireResizeAssertionForReason:]):
Drive-by: WebProcess crashes should also clear the resize assertions.
Drive-by: Add a 1s timeout in case the next visible content rect update takes too long.

  • Source/WebKit/UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
  • Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm:

(-[WKWebView _hasResizeAssertion]): Added.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewResize.mm:

(TEST.WKWebViewResize.RemovesAssertionsAfterMovingToWindow): Added.

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

3:53 PM Changeset in webkit [294588] by Devin Rousso
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/LocalResourceOverridePopover.js

Web Inspector: Sources Tab: adding a new header to a request local override doesn't show it
https://bugs.webkit.org/show_bug.cgi?id=240733

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Views/LocalResourceOverridePopover.js:

(WI.LocalResourceOverridePopover.prototype.show):

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

3:37 PM Changeset in webkit [294587] by Simon Fraser
  • 24 edits
    1 copy
    2 moves
    1 add
    2 deletes in trunk/LayoutTests

Clean up some fast/text layout tests
https://bugs.webkit.org/show_bug.cgi?id=240738

Reviewed by Myles C. Maxfield.

Move Ahem-COLR.ttf from fast/text/canvas-color-fonts/resources to fast/text/resources
so a future non-canvas test can use it.

Create a fast/text/glyph-display-lists directory to host more future glyph
display list tests.

Remove platform/ios/fast/text/softHyphen-expected.txt because the test is a ref test.

  • LayoutTests/TestExpectations:
  • LayoutTests/fast/text/canvas-color-fonts/COLR-expected.html:
  • LayoutTests/fast/text/canvas-color-fonts/COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/ctm-COLR-expected.html:
  • LayoutTests/fast/text/canvas-color-fonts/ctm-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/fill-color-COLR-expected.html:
  • LayoutTests/fast/text/canvas-color-fonts/fill-color-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/fill-color-shadow-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/fill-color-shadow-ctm-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/fill-gradient-COLR-2.html:
  • LayoutTests/fast/text/canvas-color-fonts/fill-gradient-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/linedash-COLR-expected-mismatch.html:
  • LayoutTests/fast/text/canvas-color-fonts/linedash-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/linedash-outlines-expected-mismatch.html:
  • LayoutTests/fast/text/canvas-color-fonts/linedash-outlines.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-color-COLR-expected.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-color-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-color-shadow-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-color-shadow-ctm-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-gradient-COLR-2.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-gradient-COLR-3.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-gradient-COLR-4.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-gradient-COLR-5.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-gradient-COLR.html:
  • LayoutTests/fast/text/glyph-display-lists/glyph-display-list-color-expected.txt: Renamed from LayoutTests/fast/text/glyph-display-list-color-expected.txt.
  • LayoutTests/fast/text/glyph-display-lists/glyph-display-list-color.html: Renamed from LayoutTests/fast/text/glyph-display-list-color.html.
  • LayoutTests/fast/text/resources/Ahem-COLR.ttf: Renamed from LayoutTests/fast/text/canvas-color-fonts/resources/Ahem-COLR.ttf.
  • LayoutTests/platform/ios/fast/text/softHyphen-expected.txt: Removed.

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

3:10 PM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
3:00 PM Changeset in webkit [294586] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r294243 - REGRESSION(r294104): [GStreamer][VideoCapture] Webcam raw streams may hang up the video capture pipeline
https://bugs.webkit.org/show_bug.cgi?id=240456

Patch by Loïc Le Page <llepage@igalia.com> on 2022-05-16
Reviewed by Philippe Normand.

When capturing a raw stream from a webcam, the pipeline may hang up because the decodebin3 cannot fix the upstream caps.
The webcam capsfilter should not only specify the captured mime-type (video/x-raw) but also the capture image dimensions.

Manually tested.

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:
2:59 PM Changeset in webkit [294585] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r294229 - REGRESSION(r294104): [GStreamer] getUserMedia broken
https://bugs.webkit.org/show_bug.cgi?id=240420

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-16
Reviewed by Xabier Rodriguez-Calvar.

The converter handling logic was modified in order to fix getUserMedia negotiated with raw
video and also getDisplayMedia which is always raw video and thus doesn't require decoding.

This patch also introduces a small optimization, reconfiguration is now done once only,
after setting size and framerate. Before this patch it was done twice, so the pipeline was a
taking more time to produce the first frame.

  • platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:

(WebCore::GStreamerVideoCaptureSource::~GStreamerVideoCaptureSource):
(WebCore::GStreamerVideoCaptureSource::settingsDidChange): Trigger capturer reconfiguration after setting both size and framerate.
(WebCore::GStreamerVideoCaptureSource::startProducingData): Ditto.

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:

(WebCore::GStreamerVideoCapturer::createConverter): Do not decode display capture streams, these are always raw anyway.
(WebCore::GStreamerVideoCapturer::setSize): Delay reconfiguration.
(WebCore::GStreamerVideoCapturer::setFrameRate): Ditto.
(WebCore::GStreamerVideoCapturer::reconfigure): Keep track of compatible video format. This
is needed to workaround an issue in pipewiresrc caps negotiation.
(WebCore::GStreamerVideoCapturer::adjustVideoSrcMIMEType): Renamed to reconfigure().

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.h:

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

2:57 PM Changeset in webkit [294584] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r294104 - [GStreamer][VideoCapture] Add support for capturing encoded video streams from a webcam
https://bugs.webkit.org/show_bug.cgi?id=240229

Patch by Loïc Le Page <llepage@igalia.com> on 2022-05-12
Reviewed by Philippe Normand.

Takes into account encoded video streams produced by a webcam for
video capture.

Manually tested (requires a webcam with encoded video streams).

  • platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:

(WebCore::GStreamerVideoCaptureSource::generatePresets):

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:

(WebCore::GStreamerVideoCapturer::createConverter):
(WebCore::GStreamerVideoCapturer::setSize):
(WebCore::GStreamerVideoCapturer::setFrameRate):
(WebCore::GStreamerVideoCapturer::adjustVideoSrcMIMEType):

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.h:
2:55 PM Changeset in webkit [294583] by Adrian Perez de Castro
  • 7 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r293580 - [GStreamer] Pipewire display capture broken
https://bugs.webkit.org/show_bug.cgi?id=239435

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-28
Reviewed by Xabier Rodriguez-Calvar.

The pipewiresrc GStreamer element now needs both the fd and path properties set in order
to open the right Pipewire stream, so we need to get the node ID from the portal Start
response and pass it to the GStreamer element.

  • platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.h:
  • platform/mediastream/gstreamer/GStreamerDisplayCaptureDeviceManager.cpp:

(WebCore::GStreamerDisplayCaptureDeviceManager::createDisplayCaptureSource):
(WebCore::GStreamerDisplayCaptureDeviceManager::waitResponseSignal):

  • platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:

(WebCore::GStreamerVideoCaptureSource::createPipewireSource):
(WebCore::GStreamerVideoCaptureSource::GStreamerVideoCaptureSource):
(WebCore::m_deviceType):
(WebCore::GStreamerVideoCaptureSource::~GStreamerVideoCaptureSource):

  • platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h:
  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:

(WebCore::GStreamerVideoCapturer::createSource):
(WebCore::GStreamerVideoCapturer::setSize):
(WebCore::GStreamerVideoCapturer::setFrameRate):

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.h:

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

2:53 PM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
2:42 PM Changeset in webkit [294582] by Jonathan Bedard
  • 2 edits in trunk/Tools/CISupport/ews-build

[Merge-Queue] Validate reviewers in commit message
https://bugs.webkit.org/show_bug.cgi?id=240718
<rdar://problem/93665771>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/steps.py:

(ValidateCommitMessage):
(ValidateCommitMessage.init):
(ValidateCommitMessage.extract_reviewers): Extract reviewers from commit message.
(ValidateCommitMessage.is_reviewer): Check if a contributor is a reviewer.
(ValidateCommitMessage.run): Check if extracted reviewers are reviewers.

  • Tools/CISupport/ews-build/steps_unittest.py:

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

2:41 PM Changeset in webkit [294581] by Adrian Perez de Castro
  • 1 edit in trunk/Source/cmake/OptionsWPE.cmake

Unreviewed. [WPE] Bump version numbers

  • Source/cmake/OptionsWPE.cmake: Update version numbers for the next release series.

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

2:33 PM Changeset in webkit [294580] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: REGRESSION (r294536): [ macOS Release wk2 ] Twelve webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex are a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240735
<rdar://93678287>

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

2:21 PM Changeset in webkit [294579] by commit-queue@webkit.org
  • 3 edits in trunk/Source

[web-animations] provide a dedicated flag for KeyframeEffect.iterationComposite
https://bugs.webkit.org/show_bug.cgi?id=240727

Patch by Antoine Quint <Antoine Quint> on 2022-05-20
Reviewed by Dean Jackson.

Add a dedicated flag for the KeyframeEffect.iterationComposite property as
that property did not make it to Web Animations 1.0 and should not be enabled
together with KeyframeEffect.composite.

  • Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::create):

  • Source/WebCore/animation/KeyframeEffect.idl:

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

2:13 PM Changeset in webkit [294578] by commit-queue@webkit.org
  • 1 edit
    1 delete in trunk/LayoutTests

Remove redundant text-indent tests already covered by WPT
https://bugs.webkit.org/show_bug.cgi?id=240730

Patch by Kiet Ho <Kiet Ho> on 2022-05-20
Reviewed by Simon Fraser.

getComputedStyle-text-indent.html is covered by the following WPT tests:

  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/text-indent-computed.html
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/text-indent-invalid.html
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/text-indent-valid.html

getComputedStyle-text-indent-inherited.html is covered by the WPT test
LayoutTests/imported/w3c/web-platform-tests/css/css-text/inheritance.html

They are also obsolete, since they still use the prefixed keywords '-webkit-each-line' and
'-webkit-hanging', while WebKit has supported the non-prefixed keywords since
https://bugs.webkit.org/show_bug.cgi?id=223851. They were also marked as skipped since a long
time ago. Therefore there's no reason not to remove them.

  • LayoutTests/TestExpectations:
  • LayoutTests/fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent-expected.txt: Removed.
  • LayoutTests/fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent-inherited-expected.txt: Removed.
  • LayoutTests/fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent-inherited.html: Removed.
  • LayoutTests/fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent.html: Removed.

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

2:12 PM Changeset in webkit [294577] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/JavaScriptCore

Merge r292269 - AI should do int32 optimization in ValueRep
https://bugs.webkit.org/show_bug.cgi?id=238699

Reviewed by Saam Barati.

When constant folding an int52 into a ValueRep AI doesn't
do our normal int32 boxing optimization. I'm not sure if
it matters since I couldn't find a test but it probably
doesn't hurt.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

2:12 PM Changeset in webkit [294576] by Adrian Perez de Castro
  • 301 edits
    8 adds
    4 deletes in releases/WebKitGTK/webkit-2.36/Source/ThirdParty/ANGLE

Merge r291757 - Roll ANGLE to 2022-03-22 (e7f29440f02514126f30350dcd7132b68f7954d7)
https://bugs.webkit.org/show_bug.cgi?id=238171

Large autogenerated ChangeLog elided.

Tested locally with Minibrowser on M1, with test cases from the
following recent bugs:

https://bugs.webkit.org/show_bug.cgi?id=237006
https://bugs.webkit.org/show_bug.cgi?id=237906
https://bugs.webkit.org/show_bug.cgi?id=238022

and confirmed all render correctly.

Patch by Kenneth Russell <kbr@chromium.org> on 2022-03-23
Reviewed by Kimmo Kinnunen.

2:10 PM Changeset in webkit [294575] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/ThirdParty/ANGLE

Merge r290987 - ANGLE display cache does not work with explicit device ids
https://bugs.webkit.org/show_bug.cgi?id=237522

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-08
Reviewed by Kenneth Russell.
Add EGL_PLATFORM_ANGLE_DEVICE_ID_HIGH_ANGLE, EGL_PLATFORM_ANGLE_DEVICE_ID_LOW_ANGLE
to the display cache key, so that a request for a display with an explicit device does
not get resolved with a display without explicit device or with a display with another
explicit device.

WebKit tests will be added once this will be used.
ANGLE tests will be added once upstreamed.

  • src/libANGLE/Display.cpp:

(egl::Display::GetDisplayFromNativeDisplay):
(egl::Display::~Display):

2:09 PM Changeset in webkit [294574] by Adrian Perez de Castro
  • 487 edits
    1 copy
    3 moves
    17 adds
    18 deletes in releases/WebKitGTK/webkit-2.36/Source/ThirdParty/ANGLE

Merge r290479 - Roll ANGLE to Feb 18 2022 (78c64dd74ee5)
https://bugs.webkit.org/show_bug.cgi?id=235746

Reviewed by Dean Jackson.

The changelog has been rewritten to avoid
confusion. The following commits are integrated in this
roll:

78c64dd74 Roll SwiftShader from 13f7365e81be to b4a56a893496 (11 revisions)
00c4dc93a Python3: Update generate_test_spec_json.py
d98f4812c FrameCapture: Capture empty buffer generation.
7a4fd4212 Roll Chromium from d984ec3b132a to 6594a8d1e6cf (1749 revisions)
b1bdce5f2 Roll VK-GL-CTS from 834c2e16ae1c to d321c7ec84de (7 revisions)
f996d4d87 Vulkan: Fix DynamicBuffer cache reuse.
8dc9e83e3 Translator: Fix RunAtTheEndOfShader w.r.t discard
00169174c gl.xml: Remove GL_BLEND_EQUATION_EXT from GetPName.
8ade4c2f7 Vulkan: Add overlay and stats for descriptor set caches.
671fcf732 Vulkan: Add a feature to retain SPIR-V debug info
1315bc816 Vulkan: Refactor DynamicBuffer::allocate.
8d966f7dd Vulkan: Simplify SubAllocation data types.
57b8b9332 Roll vulkan-deps from 9fb91023eb58 to 4d9fe6bf1f0c (8 revisions)
ae9c94f1b Add instructions to build RenderDoc for Android on Windows
38723c28c Vulkan: Allocate space for default attrib only if it is enabled
ad462491f Refine suppression for GLSLTest.SwizzledChainedAssignIncrement.
8cb586671 Vulkan: Add uniform descriptor set caching test.
bfbe86613 Fix UpdateChromeANGLE on mac for debug angle
a0d558f09 Vulkan: Fix D/S invalidation for MSAA EGL configs
3b8910625 Roll Chromium DEPS manually.
fb6303a15 Update docs for checkout with 'fetch' tool.
afacf7f99 Roll vulkan-deps from 956ca5369840 to 9fb91023eb58 (10 revisions)
2893effa4 validationESEXT: Implement ValidateGetCompressedTexImageANGLE.
b1075951d vk_helpers: Adjust CopyImageToBuffer extent to block size.
d77f64b35 Roll SwiftShader from 5f1c00bda1c1 to 13f7365e81be (5 revisions)
bdedf146d TextureVk: Implement getCompressedTexImage.
5f3f13f69 Vulkan: Invalidate D/S for multisampled EGL configs too
eeddb0504 Metal: Incorrect parenthization for assignment expressions
ed39d49a2 Metal: Fix Hang in WebGL CTS Occlusionquery_strict test
760253ce2 Vulkan: replace uniforms FastIntegerMap with FastUnorderedMap
931863370 Vulkan: Check Serial is valid in SyncHelperNativeFence
904a47975 Python3 upgrades
c590a1aa9 Roll VK-GL-CTS from 2d1377ec02b5 to 834c2e16ae1c (1 revision)
3adace153 Don't expose detailed driver version info to webGL
255fec892 Remove reference to policy_testserver.py
e2f8ff32c Tests: Add State of Survival trace
a5badc3ef [infra] Update active lucicfg experiments.
cf4b50c5b Vulkan: Retain images before changeLayoutAndQueue
3b8b1f709 Roll SwiftShader from cbd31d271e4c to 5f1c00bda1c1 (12 revisions)
f3b6af597 Roll vulkan-deps from 3a6f074dbd38 to 956ca5369840 (55 revisions)
ad4fae642 Roll Chromium from c9825531290b to d984ec3b132a (580 revisions)
e50455877 Debug Overlay Demo
527ceb73c Vulkan: Switch XFB counter buffer to suballocation
a0bc9dab4 Vulkan: Switch stencilBlitResolveNoShaderExport to suballocation
d36df8d73 Unicode support for system_utils on Windows
54d428dd5 Tests: Add MARVEL Strike Force trace
1e29ba626 Vulkan: Enable overlay by default with debug layers
19f405318 Vulkan: Enable subgroup feature in GenerateMipmap.comp
2efbfd058 Roll VK-GL-CTS from 071bfca11aa9 to 2d1377ec02b5 (11 revisions)
c6f5a5bbe Roll Chromium from c0b2804cbd93 to c9825531290b (658 revisions)
06edae72b Vulkan: Allow duplicated block name in different shader interface
6cced91b3 FrameCapture: Remove destroyed contexts from share group
f7f269560 Vulkan: Fix two bugs exposed by moving mEmptyBuffer to suballocation
9b7a77b08 Double batch timeout for sanitizer tests.
4b45576d4 Keep ANGLE_base_vertex_base_instance available for ES 2.0
d285d6a72 Vulkan: Use VK_EXT_depth_clip_control
3f0a28ba6 Add entry points for EGL_KHR_partial_update
3b4548bb6 Traces: Add restricted_trace_perf.py script for Android
a3c785fc1 GL: Remove avoid_dxt1_srgb_texture_format feature
fd378ce5a Rebind program on glUseProgramStages
3a72994ea Vulkan: Add an end2end test
0a320d16f GetImageTest: Enable on Vulkan SwiftShader.
568724918 Roll Chromium from bf99b2cc0f6b to c0b2804cbd93 (526 revisions)
d5df23318 Vulkan: Disable EGLContextSharingTestNoSyncTextureUploads on Pixel6
038adcae4 Vulkan: Render the overlay in the graphics pipeline
b39add311 Roll VK-GL-CTS from b594e2aabae9 to 071bfca11aa9 (1 revision)
419bca3f5 Vulkan: Use Vulkan API directly for BufferPool's buffer allocation
6fd2588df Update GL_MAX_CLIP_DISTANCES_EXT validation
734365a71 Vulkan: improve command buffer reset performance
118ce6aae Support to open d3d12 shared handles
a0e3a5fb9 Roll SwiftShader from 0915ab4bddf7 to cbd31d271e4c (3 revisions)
f63d5f1c1 Revert "Don't build dEQP tests on MSVC temporarily"
4b6a5a84b Roll Chromium from 60719c9cd084 to bf99b2cc0f6b (543 revisions)
670a6e476 Ignore invalid texture type error
91f92540c Metal: Fix multisample resolves.
823522375 Vulkan: Fix incorrect DescriptorSet's bufferInfo in XFB emulation path
37f59b850 Roll VK-GL-CTS from 97ceb2222747 to b594e2aabae9 (64 revisions)
02ce52d26 Test: Add Lords Mobile trace
33d17b7fc Fix perf test runner script.
4349904b0 Add keying on backend to ANGLE Display caching.
9cfd87244 Allow surface creation in DisplayVkNull
a91d56033 Roll SwiftShader from e576ca6011cd to 0915ab4bddf7 (6 revisions)
4716e0fe8 Roll Chromium from 817a527fde8c to 60719c9cd084 (571 revisions)
71d06198c Vulkan: Fix vkCmdClearAttachments vs multiview
1b9774f57 Vulkan: Force submit updates to immutable textures
a39618436 Vulkan: Bind aligned default uniform buffer size.
6207fe88d Vulkan: Minor cleanup to DynamicDescriptorPool.
5b43a30e3 Overlay: Rearrange the font image
70c510eb2 Vulkan: Use common storage for descriptor set descs.
50fb842d5 Expand SwiftShader Win/ASAN suppression.
520458769 Vulkan: StreamVertexDataWithDivisor write beyond buffer boundary
d635feb11 [fuchsia] Tests using additional_manifest_fragments are CFv1.
8622810c4 Roll SwiftShader from ad6d7f84f2a1 to e576ca6011cd (19 revisions)
d066f9a34 Roll Chromium from 26dacbf4b527 to 817a527fde8c (500 revisions)
2df2a9ec2 Add instructions to enable Debug Overlay On Android
236a3d0f0 Tests: Add Dead Trigger 2 trace
1acfe6597 Test: Add Last Shelter: Survival trace
8b81742dd Vulkan: Move shader resources descriptor set update.
02ad19e36 Vulkan: Fix vkCmdResolveImage offsets
d9fcebb8a Vulkan: Make framebuffer fetch syncval errors more specific
939da2945 Tests: Add Magic Rush: Heroes trace
9208dcc65 Revert "Vulkan: Enable framebuffer fetch on SwiftShader"
44deda4c2 Tests: Add Dragon Mania Legends trace
959d4be5f Vulkan: Remove buffer get method from descriptors desc.
b2006a222 Roll SwiftShader from 2b76a13c38ae to ad6d7f84f2a1 (1 revision)
06150ab2f Roll Chromium from 55ed02951fa2 to 26dacbf4b527 (583 revisions)
f65e7c3ca Vulkan: Take base level into account in image views
6d30de10d Metal: Fix ANGLEUniformBlock alignment
ac20272f6 Vulkan: Fix present region rectangles
2eeb87488 Vulkan: Enable framebuffer fetch on SwiftShader
2ab8f48fe Allow glCopyTexImage2D from BGRX and RGBX to GL_LUMINANCE
c48e35b94 Add more info in BlitFramebuffer error message
2b00f4f5a Fix bug in protected content validation
706f8a311 Support gl internal format for creating EGLImage from VkImage
da87b1dbc Fix GLES Display creation on ChromeOS when Vulkan is enabled
7820ca23e Vulkan: Binding available buffer range to descriptor.
8710d7fe2 Roll SwiftShader from 6014f10de554 to 2b76a13c38ae (3 revisions)
0aca45c1f Roll Chromium from 8894f7c632dd to 55ed02951fa2 (509 revisions)
1608a9567 Vulkan: Revert client vertex data streaming to use DynamicBuffer
9e3232998 FrameCapture: Regen framebuffers on Reset
e897bf9ae Remove gl_PerVertex-related suppression
3dbba51df Reland "Vulkan: Enable ANGLE_texture_multisample"
83a3f654a Revert "Suppress GLSLTest.FramebufferFetch... on Pixel6 / Vk / Glslang"
4ac0f1436 Vulkan: Fix gl_LastFragData transformation
f1159253d Expand suppression of Mimap tests to any Win/Swiftshader config.
e56f0e293 Vulkan: Check program fetch status when switching framebuffers
600ffa6ec Suppress GLSLTest.FramebufferFetch... on Pixel6 / Vk / Glslang
4a65040b6 Add new Vulkan uniform update test.
464396c7b Roll vulkan-deps from fe093f4789c2 to 3a6f074dbd38 (8 revisions)
4c9f4519b Roll SwiftShader from 4998c7b3a2b8 to 6014f10de554 (6 revisions)
6e7a7a03e Roll Chromium from a210f891a450 to 8894f7c632dd (1053 revisions)
b756b2c27 Suppress flaky Mipmap/Multithreading tests on Win/SwS/ASAN
812d5fffa Metal: End the current render pass at glInvalidateFramebuffer.
7d7cca47f Vulkan: Update default FBO when fetch in use
25120c560 Mac: Try to diagnose crashes inside Core Animation.
139f4bd46 Revert "Vulkan: Enable ANGLE_texture_multisample"
494887100 Metal: Remove emulatedInstanceID
57933493d Roll vulkan-deps from 9ee740d2e9ef to fe093f4789c2 (5 revisions)
72529c197 Vulkan: Fix a few framebuffer fetch bugs
fe56532f5 Vulkan: Enable ANGLE_texture_multisample
bc3be5a83 Vulkan: Add a dedicated suballocation garbage list
be2da2343 Vulkan: Initialize exectuable with invalid uniform serial.
33427a4b3 Vulkan: Fix vkCmdResolveImage extents
293c0b516 Vulkan: Cache commonly used 6 ushorts stream index array data
38fada351 Vulkan: Add support for OES_primitive_bounding_box
91b383e82 Translator: Emit warning when identifier has double underscores
945a09d10 Vulkan: Fix off-by-one in DynamicBuffer.
d6fb76a68 [fuchsia] Don't try to use calling executable path to load .so's
868c0739f Vulkan: Fix image base/max level respecification case.
0a6c4310e Vulkan: Fix incorrect gl_SamplePosition on ES3.2
693b48a07 Roll SwiftShader from 4db20a80409b to 4998c7b3a2b8 (1 revision)
d1b1ef9af Roll vulkan-deps from 69f4b9c09e48 to 9ee740d2e9ef (3 revisions)
3c727e44e Allow GL_RGBX8_ANGLE for texture copy destination
069269540 Roll Chromium from 97a33ab1a078 to a210f891a450 (477 revisions)
f810e9989 Use a temporary timeout multipler for trace tests.
508a8a027 Remove old spellings for SYNC-HAZARD-WRITE_AFTER_READ skips
2d3ce72d1 Refactor shared library load to avoid allocations.
665ddccd8 Vulkan: Emulate dithering
29d087df4 Fix ANGLE_rgbx_internal_format's extension file name
471f18521 D3D11: Fix underflow with computing small strides.
84470eb3d Roll SwiftShader from 518c5780ac4f to 4db20a80409b (3 revisions)
b934fad92 Roll Chromium from 4d71de73b37d to 97a33ab1a078 (625 revisions)
a4a4fec8b Roll vulkan-deps from f703f3cc0975 to 69f4b9c09e48 (10 revisions)
69263b388 Roll vulkan-deps from 746e518a0b0e to f703f3cc0975 (1 revision)
55ef2b4f7 Update one more SYNC-HAZARD-WRITE_AFTER_READ skip
168e0ae50 Vulkan: Refactor descriptor pool code.
a994ea994 Update SYNC-HAZARD-WRITE_AFTER_READ skip
e03f17535 EGL: mutable_render_buffer deferredFlush fix
e27bb3972 Roll vulkan-deps from a19b5047ffca to 746e518a0b0e (5 revisions)
8a1f8af4d Turn on the Vulkan backend on ChromeOS
9bf5716c8 Tests: Add War Planet Online trace.
287057b3b FrameCapture: Don't track coherent buffers before capture starts.
42c8b29d0 Tests: Add Dead By Daylight trace.
46b420f66 Roll SwiftShader from bca23447ad46 to 518c5780ac4f (7 revisions)
078f7ea06 Roll Chromium from 8ff0cb4f71d8 to 4d71de73b37d (550 revisions)
c4a9d4169 Metal: Refactor to build without SPIR-V
701d51b10 Vulkan: Add SmallBufferPool for small allocations
66e01ae5a Expand error message on BindTexture validation failure
706e44b06 Tests: Add PUBG Mobile launch trace
df19e35a0 Vulkan: Use queue for mGarbageQueue
4e644b330 Vulkan: Remove ProgramExecutableVk back-pointers.
b3ed47809 Change Windows display initialization from ANSI to wide version
602b957b8 Enable robustnessEXT for SwiftShader.
8b966cfc5 Roll vulkan-deps from ae6a4b829252 to a19b5047ffca (9 revisions)
322d118fc Roll SwiftShader from 711968667748 to bca23447ad46 (4 revisions)
47d63b4e3 Roll Chromium from 7b890e4b915b to 8ff0cb4f71d8 (485 revisions)
2ad5f350c Vulkan: Fix texture array level redefinition
45237a047 Metal: Fix undefined behavior of depth write
aadc64343 Vulkan: Fix to correctly redefine gl_PerVertex in GS
25e8f02b0 [infra] Use python3 for run_presubmit recipe.
a79708899 Vulkan: Use queue instead of vector for mSharedGarbageList
39f66a9c1 Vulkan: Support different SCBs for outside and inside RP
cb96c236a Revert "Vulkan: Enable framebuffer fetch on SwiftShader."
7c1346bdc Vulkan: Consolidate uniforms code in ProgramExecutableVk.
b2d55742b Program: Add generic uniform update methods.
374e0c439 ProgramPipeline: Remove mHas members.
0dc0dc2a4 Re-land: "Vulkan: Remove "fillProgramStateMap"."
510723193 Vulkan: Enable framebuffer fetch on SwiftShader.
1316d1534 Roll vulkan-deps from 4ec99dddf407 to ae6a4b829252 (11 revisions)
f44159cdb Roll SwiftShader from 366db5aedd90 to 711968667748 (8 revisions)
83ca1fbc5 Roll Chromium from 94c8695167c4 to 7b890e4b915b (100 revisions)
54f8a8f71 Roll Chromium from 35ed79e6a83b to 94c8695167c4 (935 revisions)
aaac31b48 Unskip dEQP.GLES3/functional_shaders_operator_unary_operator_minus_*
c5498b957 FrameCapture: Reset immutable buffers correctly.
8474c8e1c FrameCapture: Add Renderbuffers to mStartingResources.
5f0badf45 Vulkan: Prevent out of bounds read in divisor emulation path.
526c93ddf FrameCapture: Detect GL_MAP_COHERENT_BIT_EXT correctly.
f5dc2a951 Roll vulkan-deps from 238eaa6f9d25 to 4ec99dddf407 (7 revisions)
8fc4d3b1e Roll SwiftShader from e823eef17385 to 366db5aedd90 (2 revisions)
d7585c22a Capture/Replay: don't capture MS depth renderbuffer pixels
d6dd0cb52 EGL: EGL_KHR_lock_surface3 backend
6a14e328b Revert "Vulkan: Remove "fillProgramStateMap"."
bd87cc1ca Skip flaky CopyTextureTest.CopyOutsideMipmap
c7f31b8ae Expand TransformFeedbackTest.SpanMultipleRenderPasses suppression
296783294 Vulkan: Fix advertised precision ranges
38deffe40 Vulkan: Remove "fillProgramStateMap".
540b2e46a Fix MultithreadingTestES3.MultithreadFenceDraw skip on SwiftShader
73c823108 Update the Capture and Replay docs
85e2991f2 Fix couple LSAN detected leaks in unit and end2end tests
adb802383 On invalidate, only sync the relevant framebuffer binding
a20cd8b73 Fix initialization for ETC2 punchthrough alpha formats
cac4e54a6 Mark GL_RGBX8_ANGLE format as filterable.
64c49da36 Roll Chromium from b7f974a39665 to 35ed79e6a83b (570 revisions)
096c268bd Add a few overrides for Samsung
339a6d181 Roll vulkan-deps from c9b583de6eb8 to 238eaa6f9d25 (8 revisions)
0f00fbae2 Translator: Make vec/matrix size getters unsigned
ca3b28b4b Metal: Fix compressed texture initialization and add DXT1 test
4a5a559d6 Update Metal/iOS status from "planned" to "in progress".
a0fbcb375 Vulkan: Remove flush from SyncHelperNativeFence::serverWait
038d28772 Roll VK-GL-CTS from bfede065f419 to 97ceb2222747 (3 revisions)
29e254689 Account for EGL 1.5 version when dealing with robustness
78d482e56 Add standalone ANGLE Pixel 6 experimental bots
a5e22715e Vulkan: Fixed TC shader and gl_PerVertex block interaction
a64d52fd2 Add ANGLE_FORMAT_PRINTF() for catching format errors
31bb03fe2 Add more tests for program pipelines.
e6ed6977c Roll SwiftShader from 2e74d5dc03df to e823eef17385 (4 revisions)
a4b312c01 Roll vulkan-deps from 70b3eb7a5ab4 to c9b583de6eb8 (1 revision)
515f60bd6 FrameCapture: Keep MEC Setup resources in Reset.
034b50587 Roll Chromium from d5bf6f7f9376 to b7f974a39665 (478 revisions)
1ab6c9f69 Hide ES 3.0+ extensions from ES 2.0 clients
2caa9d4fe Vulkan: Add missing glGetProgramPipelineiv parameters handling
d23549689 Vulkan: Rename BufferHelper::initFor* to allocateFor*
a83f7e91c Vulkan: inline some of the BufferSuballocation APIs
1b5efe51a Vulkan: Rename SubAllocation to Suballocation
659725aaa Metal: Cleanup texture caps init
3064920a9 Capture/Replay: Serialize ActiveTexturesCache.
161643215 Roll vulkan-deps from d1b842fca80d to 70b3eb7a5ab4 (4 revisions)
7ff95f28d Roll Chromium from b24759852b71 to d5bf6f7f9376 (533 revisions)
1bd1a3db1 Metal: Canvas resizing causes webpage to run out of memory
15439f8e4 Vulkan: Remove BufferMemoryAllocator
dcac02ac1 Revert "Enable robustnessEXT for SwiftShader."
ef3fffd6f Fix running tests with empty test set.
e5c9b3859 Add object label in glBindTexture() error message
b53607981 Vulkan: Support fetching from default FBO
ff5368cd2 Mark a context as shared if using global textures/semaphores
fc6b747df EGL: Fallback to native device if no display available
55d127703 Metal: Cleanup autogenerated format table
cb7ff65c1 Roll SwiftShader from f6bdbed95b37 to 2e74d5dc03df (7 revisions)
eda5aa0be Roll vulkan-deps from 4cda77455291 to d1b842fca80d (6 revisions)
17f912bd6 Roll Chromium from 8cf5fa683fa3 to b24759852b71 (537 revisions)
00a2a2f3e Merge metal format table updates from Webkit
af8dd1c38 Update documentation link
f071aaaf3 Use first test name instead of shard index for TestArtifacts
7dda50fc0 Add frontend for ANDROID_extension_pack_es31a
28f223acb Vulkan: Add missing ESSL 3.2 builtin functions
400175d8e Copy shader buffers into pipeline executables.
892511fc3 Isolate LinkValidateProgramInterfaceBlocks.
fdadc420a Fix non-bot mode sharding on Android and disable elsewhere.
fa3241b70 Vulkan: Move shader_framebuffer_fetch to FeaturesVk
9012c1288 Add Microsoft vendor Id parsing to SystemInfo
453cd955a Add EGL_ANGLE_platform_angle_display_id to D3D11 backend.
a1858b024 Tests: Add Respawnables trace.
b803b60df Enable robustnessEXT for SwiftShader.
31942507f Fix export_targets Windows presubmit with Vulkan Loader.
8eafe4912 Roll SwiftShader from d7117384b0ee to f6bdbed95b37 (1 revision)
c31e14d9c Roll vulkan-deps from d891854a594a to 4cda77455291 (30 revisions)
4572a1764 Add support for GL_MESA_framebuffer_flip_y 3/*
a76550078 Roll Chromium from 86a4c63b080e to 8cf5fa683fa3 (329 revisions)
9b231f090 Vulkan: Fix incorrect bit test when mipmapping
158ecba6a Vulkan: Remove cached Impl pointers from ContextVk.
5adee9161 Wrap some global vulkan methods which depend on env variables
652e3db46 use vpython3 in run_gtest_angle_test.py
770c81b91 Roll SwiftShader from cd848cd695a4 to d7117384b0ee (2 revisions)
9cfb4dd91 Roll Chromium from c00f3886d7aa to 86a4c63b080e (890 revisions)
0aae0d7ad Update PrintSystemInfo with missing fields.
6601b8d2e Vulkan: Fix storage buffer limits on geom/tess without Vulkan support
c4c73e827 Fix RobustBufferAccessBehaviourTest.
30254d349 Ignore VUID-RuntimeSpirv-NonWritable-06341 warning
158d47831 Vulkan: Suppress VVL message about allocation exceeding heap size
28f05f41e Capture/Replay: Add annotation for crashing test
6e2ab29d1 Avoid data race in overflow check.
4f3a50e55 Roll Chromium from 3fcf884156d8 to c00f3886d7aa (595 revisions)
6312da1ab Vulkan: Disable GL_KHR_parallel_shader_compile
9f3c306ec Fix collection of systemDeviceId on Mac/M1
9b1a6d8a4 Vulkan: Invalidate depth/stencil unconditionally
bd64b3eaa Move pipeline uniforms into the executable.
985db6409 Fix test harness config parsing in Compressed Tex tests.
f4b0a95f4 Metal: Implement EXT_shader_texture_lod
814a78af5 Roll Chromium from 3668290e6162 to 3fcf884156d8 (108 revisions)
d4412d0a0 Roll Chromium from 3d4921afbcfd to 3668290e6162 (378 revisions)
2f4f5f8aa Add EGL_ANGLE_platform_angle_device_id for the Metal backend.
0ab15998c Translator: Don't promote precision for assignment operation lvalues
cd157aae5 Revert "Use STL container for vulkan memory allocator"
89467fa56 Roll Chromium from 597c376626be to 3d4921afbcfd (999 revisions)
d4c8209b3 Fix validation of copyImageSubData related to texture completeness
4a819ee26 Update code generation script to work with specified generators
96fd9b72d Fix validation of glCompressedTexImage3D
926b43e75 Reland: Frontend: separate lock in swap prep
2d1051778 Enable a few features for Samsung
345cdcb0f Rename features for consistency.
b0e15ee48 Decide GL_KHR_parallel_shader_compile in backends
a026d0536 Add support for subgroupSize of 16 in Debug Overlay Module
f180ecc96 Supress TransformFeedbackPausedDrawThenResume on Mac AMD
5ec02c8f4 Roll SwiftShader from b57a3aaee927 to cd848cd695a4 (1 revision)
7f8e7c38e Roll vulkan-deps from 328da0f26e8e to d891854a594a (9 revisions)
0b02a592f Metal: Generated Metal shaders do not compile offline
6a2558333 Metal: Fix transform feedback issue
37cde9e99 Update GLES31 expectations file
e38dab0aa Add missing implementation for glGetnUniformuiv()
74e03b9af Expose the registryID of GPUs on Mac via SystemInfo
9d11a341c Vulkan: Fix Vulkan SCB vs multiple subpasses
b90bcb9c8 Roll vulkan-deps from 57e7495dc76d to 328da0f26e8e (4 revisions)
9f1dc3e99 Roll Chromium from b91f3880e3ec to 597c376626be (567 revisions)
acd8fc76b Vulkan: Distinguish RP and outside-RP command buffer types
eea784687 Tests: Add Angry Birds 2 launch trace
095d7c0a0 Translator: Clean up spec const / driver uniform types
5c9bd7bac Update Mac goldctl
4111f9ef1 Add standalone ANGLE Mac AMD experimental bot
9d042d686 Cleanup after iOS build fixes
99b021a15 infra: Add TSAN and UBSAN tests to CQ.
b0feea4e4 Suppress failing test on Vulkan/Intel/Linux.
60a8b5930 Vulkan: Remove std::unique_ptr usage from BufferVk::mBuffer
217dc204e Broaden TSAN EGL multithread suppression.
ae1a56b67 Vulkan: Turn on GL_EXT_shader_framebuffer_fetch for ARM
9d668d6c4 Revert "Frontend: separate lock in swap prep"
b2dac79d9 Fix typo in EGLPrintInfo end2end Test
462cdb08e Capture/Replay: Reset FBOs, RBOs, VAOs
4472b3b0d Fix TSAN suppressions.
40c5cb255 Frontend: separate lock in swap prep
c2a296149 Test Expectations: Use file order as override priority.
ece463808 tests/EGLProtectedContentTest: Add QueryContext test.
1e2856fdc Update freetype-py wheel
a203e1263 Roll SwiftShader from 0b901607cad4 to b57a3aaee927 (1 revision)
8ab13284a Roll vulkan-deps from 09edcd7c680b to 57e7495dc76d (27 revisions)
6f80fa0c3 Roll Chromium from 8712e27d7e28 to b91f3880e3ec (349 revisions)
2ebdd23b6 Cleanup TextureCubeTestES3.CubeMapPixelUnpackBuffer
caf6433ad Vulkan: Rename releaseStagingBuffer to releaseStagedUpdate
93159c020 Vulkan: Remove DynamicShadowBuffer implementation
cf3812921 Revert "Re-skip MSRTT tests on Linux/AMD/Vulkan"
3263eb01f Vulkan: Switch GPU translated vertex buffer to NonHostVisible
8589c456a Vulkan: Remove mStagingBuffer from ImageHelper and ContextVk
6da1ac814 Vulkan: Switch ReadPixels from DynamicBuffer to shared pool
ad27d5d6f Reland "Vulkan: Consolidate all vertex conversion buffers to shared pool"
535a90347 Suppress headers includes privacy checks for iOS executables
a61a7f597 Vulkan: Use correct aspectMask
4e85bdd99 Revert "Vulkan: Consolidate all vertex conversion buffers to shared pool"
cca412cd8 Vulkan: Consolidate all vertex conversion buffers to shared pool
02f6226b7 Avoid using GetCWD() on MacOS when possible
a0d0a1d65 Roll SwiftShader from c73969d73ff9 to 0b901607cad4 (6 revisions)
e98b62727 Roll Chromium from b1dc46c0f1be to 8712e27d7e28 (483 revisions)
fd0142714 Vulkan: Match chromaFilter to min/mag for YUV AHBs
ccabfd140 out\Debug -> out/Debug, like in other places
abf17f018 Metal: Support depth filtering queries for D32, D24S8
f13f440e6 Reland: Metal: Fix Webkit warnings in ANGLE build
39e1a2b2e Suppress Vulkan/SwiftShader/AsyncQueue ASAN flakes.
7126c3a3c Capture/Replay: Limit caps for QC/SwS
0e49a3dd4 Vulkan: Add std::move support for BufferHelper
43b0e92b5 Vulkan: Consolidate mHostVisibleBufferPool and mMapInvalidate
42cb6147f Revert workarounds for exception handler code-gen with CFG enabled
e4c7efeaf Capture/Replay: Fix GN build on iOS.
cabc3b982 Move atomic counter uniform range counter to executable.
e9e9a2c6a Do not pass mInstance to vkGetInstanceProcAddr
beda24596 Add support for GL_MESA_framebuffer_flip_y 2/*
c984dad5f FrameCapture: Don't remove protection from shared pages.
d76515b89 Roll SwiftShader from 433b1bf9bff2 to c73969d73ff9 (4 revisions)
1b2cb4222 Roll Chromium from 1a9dad30c65b to b1dc46c0f1be (497 revisions)
cfc4db346 Metal: Provoking vertex support for Metal DrawArrays
a00b6ca46 Roll Chromium from 04d22dcbc0f6 to 1a9dad30c65b (190 revisions)
5bd459618 Roll Chromium from 70ce2f66c417 to 04d22dcbc0f6 (183 revisions)
aad7ddb28 Skip VulkanPerformanceCounterTest.InvalidateDrawDisable
0a6b78974 Add macOS support to update_chrome_angle.py
4b3e3ed5f Re-skip MSRTT tests on Linux/AMD/Vulkan
39810def0 Roll Chromium from c764378a1f24 to 70ce2f66c417 (145 revisions)
9aca4285f Traces: Fix path in retrace script.
0331738b4 Fix extension download script, and update data.
58aeec65c Capture/Replay: GN cleanups.
85de4f81e Capture/Replay: Fix TODO in test utils.
b6399ac94 Traces: Finish writing restricted trace doc updates.
fed9ba44f Roll vulkan-deps from c32df39c11ce to 09edcd7c680b (1 revision)
65cc408c3 Roll Chromium from e45e6e1a55ae to c764378a1f24 (157 revisions)
a400e76d0 Vulkan: Don't expose MSRTT without VK_KHR_depth_stencil_resolve
9f74ec615 Skip angle_end2end_tests failing on Linux AMD RX 5500 XT
b7d2f4478 Roll Chromium from d09758fa672c to e45e6e1a55ae (153 revisions)
6f1c39b52 Vulkan: Restore color attachment mask-related blend states
95f6e6865 Roll SwiftShader from 87c78ac5eb86 to 433b1bf9bff2 (2 revisions)
a026169c9 Roll Chromium from 0635acc4de22 to d09758fa672c (93 revisions)
0a28c6c61 Capture/Replay: Capture some MultiDrawIndirect parameters
5f53268ce Capture/Replay: Gather Program sources directly from call
a92036893 Roll Chromium from 52c4c43d687f to 0635acc4de22 (149 revisions)
fce481863 Roll SwiftShader from f354daff5a2b to 87c78ac5eb86 (2 revisions)
6c9b79ead Roll Chromium from 16dc16f9ec67 to 52c4c43d687f (244 revisions)
4d893a935 Re-land: "Trace Tests: Remove auto-generated code."
542f7d808 Vulkan: Copy buffer data to correct cube map face
582651bee Roll vulkan-deps from fbeca8f4ea6a to c32df39c11ce (3 revisions)
5e0d97877 Roll Chromium from 274ab850e849 to 16dc16f9ec67 (303 revisions)
2ebd583ed Android: Remove setenv from common path
14af7a8da Log subprocess output in run_perf_tests.py
2f3e6cc07 Vulkan: Remove mShadowBuffer from BufferVk class.
7dfa69e69 Unskip MRTSigned and MRTUnsigned BlendIntegerTest
993f38896 Roll Chromium from 9ca41364d3dc to 274ab850e849 (341 revisions)
0e9353f60 Skip RenderbufferDrawStencilThenUnresolveStencil on Linux Vulkan AMD
bc9d2d7de Vulkan: Consolidate BufferHelper's code paths into one
4114fe23c Vulkan: Simplify transform feedback emulation logic
32d9e186d Roll vulkan-deps from 5568048d205e to fbeca8f4ea6a (4 revisions)
ab288fea5 Upgrade restricted traces. (Re-land)
c1f478fe0 Frame Capture: Allow for no FBO when running MEC.
eba2e620f Capture/Replay: Fix uniform program indexing.
73e764dc6 Suppress capture/replay tests.
1da7e3afb Revert "Metal: Fix Webkit warnings in ANGLE build"
bdaa046fe Roll Chromium from 81decb7250e1 to 9ca41364d3dc (272 revisions)
a7e0d520f Temporarily skip failing tests on Chromium
171bc07e2 Don't silently drop out-of-range bits in BitSetT
eca427b28 Vulkan: Add mutex to protect mVirtualBlock
c1598640b Vulkan: Improve mid-RP clear warning message
4a03668d7 Address comment in CL 3347143
cf8ac00a5 Vulkan: Fix MSRTT w.r.t stencil-only unresolve
c07df6fe8 Disable vulkan device select layer for msan build

1:49 PM Changeset in webkit [294573] by Devin Rousso
  • 12 edits in trunk

[Modern Media Controls] macCatalyst should not use touch events
https://bugs.webkit.org/show_bug.cgi?id=240704
<rdar://problem/84570717>

Reviewed by Eric Carlson.

  • Source/WebCore/Modules/modern-media-controls/controls/layout-traits.js:

(LayoutTraits.prototype.supportsTouches): Added.

  • Source/WebCore/Modules/modern-media-controls/controls/macos-layout-traits.js:

(MacOSLayoutTraits.prototype.supportsTouches): Added.
Allow LayoutTraits to indicate whether touches are supported.

  • Source/WebCore/Modules/modern-media-controls/controls/auto-hide-controller.js:

(AutoHideController):

  • Source/WebCore/Modules/modern-media-controls/controls/button.js:

(Button):

  • Source/WebCore/Modules/modern-media-controls/controls/range-button.js:

(RangeButton):

  • Source/WebCore/Modules/modern-media-controls/controls/slider.js:

(Slider.prototype._interactionEndTarget):

  • Source/WebCore/Modules/modern-media-controls/media/media-document-controller.js:

(MediaDocumentController):
Use LayoutTraits.prototype.supportsTouches instead of GestureRecognizer.SupportsTouches so that
macOS (including macCatalyst) can always act as though touches are not supported (which is fine
since mouse events are fully functional on macOS).

  • LayoutTests/media/modern-media-controls/button/button-icon-name.html:
  • LayoutTests/media/modern-media-controls/button/button.html:
  • LayoutTests/media/modern-media-controls/buttons-container/buttons-container-buttons-property.html:
  • LayoutTests/media/modern-media-controls/buttons-container/buttons-container-constructor.html:
  • LayoutTests/media/modern-media-controls/buttons-container/buttons-container-layout.html:

Add layoutDelegate/layoutTraits where needed.

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

1:43 PM Changeset in webkit [294572] by Simon Fraser
  • 5 edits in trunk/Source/WebCore/platform/graphics/displaylists

Change display list item logging to respect logging options
https://bugs.webkit.org/show_bug.cgi?id=240527

Reviewed by Myles Maxfield.

Split off from the patch in bug 240422.

We need to log display list items through a function that can take the flags
argument to avoid logging unstable resource identifiers in layout tests, so
implement dumpItem() for each item type, and respect the IncludesResourceIdentifiers
flag.

  • platform/graphics/displaylists/DisplayList.cpp:

(WebCore::DisplayList::DisplayList::asText const):
(WebCore::DisplayList::DisplayList::dump const):

  • platform/graphics/displaylists/DisplayList.h:
  • platform/graphics/displaylists/DisplayListItemType.h:
  • platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::dumpItem):
(WebCore::DisplayList::dumpItemHandle):

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::operator<<):

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

1:21 PM Changeset in webkit [294571] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

PROGRESSION (r294272): Correction to guard in Platform file caused multiple tests failures
https://bugs.webkit.org/show_bug.cgi?id=240579
<rdar://93504716>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

1:14 PM Changeset in webkit [294570] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.10.1

Tag WebKit-7614.1.14.10.1.

1:12 PM Changeset in webkit [294569] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.10-branch/Source/ThirdParty/ANGLE/Configurations

Cherry-pick r294525. rdar://problem/93580049

[ANGLE] Production builds don't need to include Metal debug info
https://bugs.webkit.org/show_bug.cgi?id=240696
<rdar://problem/93580049>

Reviewed by Tim Horton.

Metal debug info can be generated in engineering builds, but production builds don't need it.

  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig:

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

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

1:08 PM Changeset in webkit [294568] by Ross Kirsling
  • 2 edits in trunk/Tools/Scripts

test262-runner should have basic Windows compatibility
https://bugs.webkit.org/show_bug.cgi?id=240698

Reviewed by Mark Lam.

test262-runner currently has a slew of incompabilities on Windows;
this patch rectifies enough of them to achieve basic usability.

In particular:

  • When use of a module triggers a fork() call, a crash occurs on Windows. Avoid by calling Runner::main() from outside.
  • This is a WebKit-specific file; use webkitdirs.pm without hesitation and determine jsc binary path using jscPath().
  • Don't use DYLD_FRAMEWORK_PATH= prefix on Windows.
  • Remove erroneous quotes from system call.
  • Use File::Copy::copy instead of cp.
  • abs_path() of a not-yet-created file is invalid on Windows. But it's also completely unnecessary, as $resultsDir is absolute.
  • Manually flush progress meter on Windows (since \r without \n will never be flushed automatically).

Remaining limitation:

  • If --child-processes value is too high, the runner will hang. Workaround is to provide a lower number.
  • Tools/Scripts/test262-runner:
  • Tools/Scripts/test262/Runner.pm:

(processCLI):
(main):
(getBuildPath):
(runTest):
(summarizeResults):
(printHTMLResults):

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

1:06 PM Changeset in webkit [294567] by Alan Coon
  • 15 edits in branches/safari-7614.1.14.0-branch/Source

Cherry-pick r294536. rdar://problem/91660159

Drawing the PDF snapshot should take place in WebProcess
https://bugs.webkit.org/show_bug.cgi?id=240368
rdar://91660159

Reviewed by Simon Fraser.

The ImageBufferBackends should act like a drawing surface only. It has
a GraphicsContext. It can get and set pixels. And it can get a NativeImage
out of the pixels. But it should never draw itself to a GraphicsContext.
The ImageBuffer can act like an image. It can draw itself as an image or
as a pattern into a GraphicsContext.

So draw(), drawPattern() and drawConsuming() will be removed from the
ImageBufferBackend super classes and the implementation will be unified
for all platforms and moved to ConcreteImageBuffer.

By doing that, a canvas can be drawn to the PDF context in WebProcess
even if the GPUProcess for DOM rendering is enabled.

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

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

1:06 PM Changeset in webkit [294566] by Alan Coon
  • 1 edit
    4 adds in branches/safari-7614.1.14.0-branch

Cherry-pick r294530. rdar://problem/92984518

REGRESSION (r293126): Gmail formatting menu/panel in compose view becomes blank/empty while scrolling
https://bugs.webkit.org/show_bug.cgi?id=240625
<rdar://92984518>

Reviewed by Alan Bujtas.

Gmail uses the css clip property with negative offsets, which is surprising, and revealed a bug in
the compositing code for clipping.

When a stacking-context layer has overflow:hidden or clip:, we assume that the clip encloses all the
descendants, so make a GraphicsLayer with masksToBounds as a parent of the child layers. When the
layer has border-radius with uneven corners, we implement that with a shape layer which acts as a
mask on that clipping GraphicsLayer.

The content in question had CSS clip with negative offsets and border-radius, so the shape layer
mask would clip out any content outside the border shape.

So if the clip rect extends beyond the border, we need to follow a different code path, which pushes
the clipping layers onto descendants; this code path is used for non-stacking context clipping, and
for mix-blend-mode which needs to avoid the creation of the intermediate clipping layer.

So generalize the isolatesCompositedBlending() code path to also be used in the scenario of CSS
clip which extends outside the border box.

Tests: compositing/clipping/css-clip-and-border-radius.html

compositing/clipping/css-clip-non-stacking.html

  • Source/WebCore/rendering/RenderLayerCompositor.cpp: (WebCore::canUseDescendantClippingLayer): (WebCore::RenderLayerCompositor::clippedByAncestor const): (WebCore::RenderLayerCompositor::computeAncestorClippingStack const): (WebCore::RenderLayerCompositor::clipsCompositingDescendants):
  • LayoutTests/compositing/clipping/css-clip-and-border-radius-expected.html: Added.
  • LayoutTests/compositing/clipping/css-clip-and-border-radius.html: Added.
  • LayoutTests/compositing/clipping/css-clip-non-stacking-expected.html: Added.
  • LayoutTests/compositing/clipping/css-clip-non-stacking.html: Added.

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

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

12:34 PM Changeset in webkit [294565] by Tyler Wilcock
  • 3 edits in trunk

AX: Update the isolated tree when aria-selected changes
https://bugs.webkit.org/show_bug.cgi?id=240703

Reviewed by Chris Fleizach.

Fixes accessibility/selected-state-changed-notifications.html in
isolated tree mode.

  • Source/WebCore/accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::updateIsolatedTree):

  • Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::updateNodeProperty):

  • LayoutTests/accessibility/selected-state-changed-notifications.html:

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

12:01 PM Changeset in webkit [294564] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[ iOS ] accessibility/aria-modal-with-text-crash.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240722
<rdar://93669155>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

11:33 AM Changeset in webkit [294563] by mark.lam@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/b3/B3ReduceStrength.cpp

Refine B3ReduceStrength's range for sign extension operations.
https://bugs.webkit.org/show_bug.cgi?id=240720
<rdar://problem/93536782>

Reviewed by Yusuke Suzuki and Keith Miller.

  • Source/JavaScriptCore/b3/B3ReduceStrength.cpp:

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

11:18 AM Changeset in webkit [294562] by sihui_liu@apple.com
  • 5 edits in trunk/Source/WebKit/NetworkProcess

Clear SessionStorage of a page when the page is destroyed
https://bugs.webkit.org/show_bug.cgi?id=240683

Reviewed by Chris Dumez.

We should not keep SessionStorage items in memory when they will not be accessed any more.

  • Source/WebKit/NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::removeWebPageNetworkParameters):

  • Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp:

(WebKit::NetworkStorageManager::clearStorageForWebPage):

  • Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h:
  • Source/WebKit/NetworkProcess/storage/SessionStorageManager.cpp:

(WebKit::SessionStorageManager::removeNamespace):

  • Source/WebKit/NetworkProcess/storage/SessionStorageManager.h:

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

11:15 AM Changeset in webkit [294561] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.10-branch/Source

Versioning.

WebKit-7614.1.14.10.1

10:46 AM Changeset in webkit [294560] by Alan Coon
  • 1 copy in branches/safari-7614.1.14.10-branch

New branch.

10:33 AM Changeset in webkit [294559] by Tyler Wilcock
  • 2 edits in trunk/LayoutTests/accessibility/mac

Make accessibility/mac/aria-modal-auto-focus.html async so it can pass in isolated tree mode
https://bugs.webkit.org/show_bug.cgi?id=240676

Reviewed by Chris Fleizach.

  • LayoutTests/accessibility/mac/aria-modal-auto-focus-expected.txt:
  • LayoutTests/accessibility/mac/aria-modal-auto-focus.html:

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

10:26 AM Changeset in webkit [294558] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.0-branch/Source/ThirdParty/ANGLE/Configurations

Cherry-pick r294525. rdar://problem/93580049

[ANGLE] Production builds don't need to include Metal debug info
https://bugs.webkit.org/show_bug.cgi?id=240696
<rdar://problem/93580049>

Reviewed by Tim Horton.

Metal debug info can be generated in engineering builds, but production builds don't need it.

  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig:

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

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

10:22 AM Changeset in webkit [294557] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.8

10:20 AM Changeset in webkit [294556] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.3-branch/Source/ThirdParty/ANGLE/Configurations

Cherry-pick r294525. rdar://problem/93580049

[ANGLE] Production builds don't need to include Metal debug info
https://bugs.webkit.org/show_bug.cgi?id=240696
<rdar://problem/93580049>

Reviewed by Tim Horton.

Metal debug info can be generated in engineering builds, but production builds don't need it.

  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig:

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

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

10:15 AM Changeset in webkit [294555] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.3-branch/Source

Versioning.

WebKit-7614.1.14.3.3

10:15 AM Changeset in webkit [294554] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.1-branch/Source/ThirdParty/ANGLE/Configurations

Cherry-pick r294525. rdar://problem/93580049

[ANGLE] Production builds don't need to include Metal debug info
https://bugs.webkit.org/show_bug.cgi?id=240696
<rdar://problem/93580049>

Reviewed by Tim Horton.

Metal debug info can be generated in engineering builds, but production builds don't need it.

  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig:

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

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

10:14 AM Changeset in webkit [294553] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.2-branch/Source/ThirdParty/ANGLE/Configurations

Cherry-pick r294525. rdar://problem/93580049

[ANGLE] Production builds don't need to include Metal debug info
https://bugs.webkit.org/show_bug.cgi?id=240696
<rdar://problem/93580049>

Reviewed by Tim Horton.

Metal debug info can be generated in engineering builds, but production builds don't need it.

  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig:

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

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

10:13 AM Changeset in webkit [294552] by Tyler Wilcock
  • 1 edit in trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm

WebAccessibilityObjectWrapperMac::detachIsolatedObject should not unregister the wrapper for AccessibilityDetachmentType::ElementChanged detachments
https://bugs.webkit.org/show_bug.cgi?id=240628

Reviewed by Chris Fleizach.

Prior to this change, WebAccessibilityObjectWrapperMac::detachIsolatedObject unconditionally
called NSAccessibilityUnregisterUniqueIdForUIElement. This is the wrong
behavior for AccessibilityDetachmentType::ElementChanged detachments, as
this unregistering causes an element destroyed notification to be issued.

This type of detachment happens when we swap the underlying isolated
object for a wrapper as the result of a call to AXIsolatedTree::updateNode.

This unregistering caused VoiceOver focus flickering when modifying
sliders or textboxes, greatly hampering user experience.

No test included because there isn't a great way to test this.

  • Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper detachIsolatedObject:]):

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

10:09 AM Changeset in webkit [294551] by Jenner@apple.com
  • 1 move in trunk/LayoutTests/platform/ios-wk2/fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt

[ REBASELINE ][ iOS ] fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=231266

Unreviewed test gardening. Correct rebase for iOS.

  • LayoutTests/platform/ios-wk2/fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt: Renamed from LayoutTests/platform/ios-wk2/fast/events/ios/rotation/layout-viewport-during-rotation-expected.txt.

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

10:07 AM Changeset in webkit [294550] by Karl Rackler
  • 36 edits
    4 deletes in trunk

Revert "Release assert in Document::updateLayout() via HTMLTextAreaElement::childrenChanged"

This reverts commit 0a91c415adf4e01ff05b2e98934802790e57f276.

Unreviewed revert

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

10:07 AM Changeset in webkit [294549] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.2-branch/Source

Versioning.

WebKit-7614.1.14.2.3

10:06 AM Changeset in webkit [294548] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.8

10:00 AM Changeset in webkit [294547] by Tyler Wilcock
  • 3 edits in trunk/Tools/WebKitTestRunner

After commit 039ebd9, some tests run with ITM disabled despite --accessibility-isolated-tree flag being passed
https://bugs.webkit.org/show_bug.cgi?id=240627

Reviewed by Chris Fleizach.

https://github.com/WebKit/WebKit/commit/039ebd9 changed TestController::resetStateToConsistentValues to only send the "Reset" message to the testing InjectedBundle after a test completed, rather than before and after each test. This is a good and logical change, but exposed a bug in how we set InjectedBundle::m_accessibilityIsolatedTree, since we relied on this "Reset" behavior to setup this member variable.

With this patch, we instead set InjectedBundle::m_accessibilityIsolatedTree in response to the "BeginTest" message, which fixes the issue.

  • Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didReceiveMessageToPage):

  • Tools/WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):

  • Tools/WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::createTestSettingsDictionary):

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

9:35 AM Changeset in webkit [294546] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[Gardening]REGRESSION (r294317): [ iOS ] Thirteen layout tests are flaky or consistent timeouts
https://bugs.webkit.org/show_bug.cgi?id=240616
<rdar://93541706>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

8:55 AM Changeset in webkit [294545] by Jonathan Bedard
  • 3 edits in trunk/Tools/CISupport/ews-build

[EWS] Remove ChangeLog steps
https://bugs.webkit.org/show_bug.cgi?id=240542
<rdar://problem/93456184>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/factories.py:
  • Tools/CISupport/ews-build/steps.py:

(ValidateCommitterAndReviewer.start):
(SetBuildSummary.start):
(ValidateChangeLogAndReviewer): Deleted.
(FindModifiedChangeLogs): Deleted.
(CreateLocalGITCommit): Deleted.

  • Tools/CISupport/ews-build/steps_unittest.py:

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

8:28 AM Changeset in webkit [294544] by Jonathan Bedard
  • 177 deletes in trunk

Eliminate changelogs
https://bugs.webkit.org/show_bug.cgi?id=239125
<rdar://91959187>

Reviewed by Michael Catanzaro and Aakash J.

Let the past die. Kill it, if you have to.

  • ChangeLog-2012-05-22: Removed.
  • ChangeLog-2018-01-01: Removed.
  • JSTests/ChangeLog-2018-09-11: Removed.
  • JSTests/ChangeLog-2021-03-18: Removed.
  • LayoutTests/ChangeLog-2007-10-14: Removed.
  • LayoutTests/ChangeLog-2008-08-10: Removed.
  • LayoutTests/ChangeLog-2009-06-16: Removed.
  • LayoutTests/ChangeLog-2010-01-29: Removed.
  • LayoutTests/ChangeLog-2010-05-24: Removed.
  • LayoutTests/ChangeLog-2010-12-06: Removed.
  • LayoutTests/ChangeLog-2011-02-16: Removed.
  • LayoutTests/ChangeLog-2011-06-04: Removed.
  • LayoutTests/ChangeLog-2012-04-23: Removed.
  • LayoutTests/ChangeLog-2012-05-22: Removed.
  • LayoutTests/ChangeLog-2012-10-02: Removed.
  • LayoutTests/ChangeLog-2013-04-24: Removed.
  • LayoutTests/ChangeLog-2013-10-13: Removed.
  • LayoutTests/ChangeLog-2014-02-20: Removed.
  • LayoutTests/ChangeLog-2014-10-07: Removed.
  • LayoutTests/ChangeLog-2015-11-21: Removed.
  • LayoutTests/ChangeLog-2016-09-26: Removed.
  • LayoutTests/ChangeLog-2017-03-23: Removed.
  • LayoutTests/ChangeLog-2018-01-01: Removed.
  • LayoutTests/ChangeLog-2018-09-11: Removed.
  • LayoutTests/ChangeLog-2019-06-05: Removed.
  • LayoutTests/ChangeLog-2020-04-10: Removed.
  • LayoutTests/ChangeLog-2021-03-18: Removed.
  • LayoutTests/ChangeLog-2022-02-22: Removed.
  • LayoutTests/imported/w3c/ChangeLog-2016-09-26: Removed.
  • LayoutTests/imported/w3c/ChangeLog-2018-01-01: Removed.
  • LayoutTests/imported/w3c/ChangeLog-2018-09-11: Removed.
  • LayoutTests/imported/w3c/ChangeLog-2020-04-10: Removed.
  • LayoutTests/imported/w3c/ChangeLog-2021-03-18: Removed.
  • LayoutTests/imported/w3c/ChangeLog-2022-02-22: Removed.
  • PerformanceTests/ChangeLog-2018-01-01: Removed.
  • Source/JavaScriptCore/ChangeLog-2002-12-03: Removed.
  • Source/JavaScriptCore/ChangeLog-2003-10-25: Removed.
  • Source/JavaScriptCore/ChangeLog-2007-10-14: Removed.
  • Source/JavaScriptCore/ChangeLog-2008-08-10: Removed.
  • Source/JavaScriptCore/ChangeLog-2009-06-16: Removed.
  • Source/JavaScriptCore/ChangeLog-2010-05-24: Removed.
  • Source/JavaScriptCore/ChangeLog-2011-02-16: Removed.
  • Source/JavaScriptCore/ChangeLog-2012-05-22: Removed.
  • Source/JavaScriptCore/ChangeLog-2012-10-02: Removed.
  • Source/JavaScriptCore/ChangeLog-2013-04-24: Removed.
  • Source/JavaScriptCore/ChangeLog-2013-10-13: Removed.
  • Source/JavaScriptCore/ChangeLog-2014-02-20: Removed.
  • Source/JavaScriptCore/ChangeLog-2014-10-07: Removed.
  • Source/JavaScriptCore/ChangeLog-2015-11-21: Removed.
  • Source/JavaScriptCore/ChangeLog-2016-09-26: Removed.
  • Source/JavaScriptCore/ChangeLog-2017-03-23: Removed.
  • Source/JavaScriptCore/ChangeLog-2018-01-01: Removed.
  • Source/JavaScriptCore/ChangeLog-2018-09-11: Removed.
  • Source/JavaScriptCore/ChangeLog-2019-06-05: Removed.
  • Source/JavaScriptCore/ChangeLog-2020-04-10: Removed.
  • Source/JavaScriptCore/ChangeLog-2021-03-18: Removed.
  • Source/JavaScriptCore/ChangeLog-2022-02-22: Removed.
  • Source/ThirdParty/ANGLE/ChangeLog-2022-02-22: Removed.
  • Source/WTF/ChangeLog-2013-10-13: Removed.
  • Source/WTF/ChangeLog-2016-09-26: Removed.
  • Source/WTF/ChangeLog-2018-09-11: Removed.
  • Source/WTF/ChangeLog-2021-03-18: Removed.
  • Source/WebCore/ChangeLog-2002-12-03: Removed.
  • Source/WebCore/ChangeLog-2003-10-25: Removed.
  • Source/WebCore/ChangeLog-2005-08-23: Removed.
  • Source/WebCore/ChangeLog-2005-12-19: Removed.
  • Source/WebCore/ChangeLog-2006-05-10: Removed.
  • Source/WebCore/ChangeLog-2006-12-31: Removed.
  • Source/WebCore/ChangeLog-2007-10-14: Removed.
  • Source/WebCore/ChangeLog-2008-08-10: Removed.
  • Source/WebCore/ChangeLog-2009-06-16: Removed.
  • Source/WebCore/ChangeLog-2010-01-29: Removed.
  • Source/WebCore/ChangeLog-2010-05-24: Removed.
  • Source/WebCore/ChangeLog-2010-12-06: Removed.
  • Source/WebCore/ChangeLog-2011-02-16: Removed.
  • Source/WebCore/ChangeLog-2011-06-04: Removed.
  • Source/WebCore/ChangeLog-2011-10-19: Removed.
  • Source/WebCore/ChangeLog-2012-05-22: Removed.
  • Source/WebCore/ChangeLog-2012-10-02: Removed.
  • Source/WebCore/ChangeLog-2013-04-24: Removed.
  • Source/WebCore/ChangeLog-2013-10-13: Removed.
  • Source/WebCore/ChangeLog-2014-02-20: Removed.
  • Source/WebCore/ChangeLog-2014-10-07: Removed.
  • Source/WebCore/ChangeLog-2015-11-21: Removed.
  • Source/WebCore/ChangeLog-2016-09-26: Removed.
  • Source/WebCore/ChangeLog-2017-03-23: Removed.
  • Source/WebCore/ChangeLog-2018-01-01: Removed.
  • Source/WebCore/ChangeLog-2018-09-11: Removed.
  • Source/WebCore/ChangeLog-2019-06-05: Removed.
  • Source/WebCore/ChangeLog-2020-04-10: Removed.
  • Source/WebCore/ChangeLog-2021-03-18: Removed.
  • Source/WebCore/ChangeLog-2022-02-22: Removed.
  • Source/WebInspectorUI/ChangeLog-2013-06-11: Removed.
  • Source/WebInspectorUI/ChangeLog-2014-11-19: Removed.
  • Source/WebInspectorUI/ChangeLog-2015-11-21: Removed.
  • Source/WebInspectorUI/ChangeLog-2016-09-26: Removed.
  • Source/WebInspectorUI/ChangeLog-2018-01-01: Removed.
  • Source/WebInspectorUI/ChangeLog-2019-06-05: Removed.
  • Source/WebInspectorUI/ChangeLog-2021-03-18: Removed.
  • Source/WebKit/ChangeLog-2011-02-16: Removed.
  • Source/WebKit/ChangeLog-2011-06-04: Removed.
  • Source/WebKit/ChangeLog-2012-05-22: Removed.
  • Source/WebKit/ChangeLog-2012-10-02: Removed.
  • Source/WebKit/ChangeLog-2013-04-24: Removed.
  • Source/WebKit/ChangeLog-2013-10-13: Removed.
  • Source/WebKit/ChangeLog-2014-02-20: Removed.
  • Source/WebKit/ChangeLog-2014-10-07: Removed.
  • Source/WebKit/ChangeLog-2015-11-21: Removed.
  • Source/WebKit/ChangeLog-2016-09-26: Removed.
  • Source/WebKit/ChangeLog-2017-03-23: Removed.
  • Source/WebKit/ChangeLog-2018-01-01: Removed.
  • Source/WebKit/ChangeLog-2018-09-11: Removed.
  • Source/WebKit/ChangeLog-2019-06-05: Removed.
  • Source/WebKit/ChangeLog-2020-04-10: Removed.
  • Source/WebKit/ChangeLog-2021-03-18: Removed.
  • Source/WebKit/ChangeLog-2022-02-22: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2002-12-03: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2006-02-09: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2007-10-14: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2010-01-29: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2012-10-02: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2015-11-21: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2019-06-05: Removed.
  • Source/WebKitLegacy/win/ChangeLog-2009-06-16: Removed.
  • Source/WebKitLegacy/win/ChangeLog-2015-11-21: Removed.
  • Source/bmalloc/ChangeLog-2022-02-22: Removed.
  • Tools/ChangeLog-2009-06-16: Removed.
  • Tools/ChangeLog-2010-05-24: Removed.
  • Tools/ChangeLog-2011-02-16: Removed.
  • Tools/ChangeLog-2012-05-22: Removed.
  • Tools/ChangeLog-2012-10-02: Removed.
  • Tools/ChangeLog-2013-04-24: Removed.
  • Tools/ChangeLog-2014-02-20: Removed.
  • Tools/ChangeLog-2015-11-21: Removed.
  • Tools/ChangeLog-2017-03-23: Removed.
  • Tools/ChangeLog-2018-01-01: Removed.
  • Tools/ChangeLog-2018-09-11: Removed.
  • Tools/ChangeLog-2019-06-05: Removed.
  • Tools/ChangeLog-2020-04-10: Removed.
  • Tools/ChangeLog-2021-03-18: Removed.
  • Tools/ChangeLog-2022-02-22: Removed.
  • Websites/perf.webkit.org/ChangeLog-2018-01-01: Removed.

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

8:00 AM Changeset in webkit [294543] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebKit/UIProcess/API/glib/WebKitDeviceInfoPermissionRequest.cpp

[GLib] Fix typo in WebKitUserMediaPermissionRequest description
https://bugs.webkit.org/show_bug.cgi?id=240708

Patch by Olivier Blin <Olivier Blin> on 2022-05-20
Reviewed by Adrian Perez de Castro.

Mention enumerateDevices instead of enumeraceDevices.
Introduced in r237031.

  • Source/WebKit/UIProcess/API/glib/WebKitDeviceInfoPermissionRequest.cpp:

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

5:58 AM Changeset in webkit [294542] by yurys@chromium.org
  • 2 edits in trunk/Tools/Scripts/webkitpy/style/checkers

check-webkit-style: more strict upper case enum exceptions
https://bugs.webkit.org/show_bug.cgi?id=240681

Reviewed by Darin Adler.

Added a new list of common abbreviations which are allowed to be
used as all uppercase enum values.

  • Tools/Scripts/webkitpy/style/checkers/cpp.py:

(_EnumState.process_clean_line):
(_EnumState.process_clean_line.is_case_error): Extracted common
logic for inline and multiline enum declarations.
(_EnumState):

  • Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:

(NoNonVirtualDestructorsTest):

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

5:02 AM Changeset in webkit [294541] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebKit/PlatformWPE.cmake

REGRESSION(r294504) [WPE] Fix build after PDF.js changes
https://bugs.webkit.org/show_bug.cgi?id=240711

Patch by Olivier Blin <Olivier Blin> on 2022-05-20
Reviewed by Adrian Perez de Castro.

  • Source/WebKit/PlatformWPE.cmake: do not use GTK-specific variables.

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

2:25 AM Changeset in webkit [294540] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp

[GStreamer] Block legacy VAAPI plugin
https://bugs.webkit.org/show_bug.cgi?id=240664

Patch by Philippe Normand <philn@igalia.com> on 2022-05-20
Reviewed by Xabier Rodriguez-Calvar.

The VAAPI plugin is not much maintained anymore and prone to rendering issues. In the
mid-term we will leverage the new stateless VA decoders. Disable the legacy plugin,
unless the WEBKIT_GST_ENABLE_LEGACY_VAAPI environment variable is set to 1.

  • Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::registerWebKitGStreamerElements):

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

2:16 AM Changeset in webkit [294539] by ysuzuki@apple.com
  • 1 edit in trunk/Source/WTF/wtf/win/ThreadingWin.cpp

[Win] Destroy Thread::ClientData only when thread TLS is initialized
https://bugs.webkit.org/show_bug.cgi?id=240707

Reviewed by Mark Lam.

Move destruction under if (thread) check.

  • Source/WTF/wtf/win/ThreadingWin.cpp:

(WTF::Thread::ThreadHolder::~ThreadHolder):

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

2:16 AM Changeset in webkit [294538] by Adrian Perez de Castro
  • 1 edit in trunk/Source/WebCore/rendering/svg/RenderSVGBlock.cpp

Non-unified build fixes, late-ish May 2022 edition
https://bugs.webkit.org/show_bug.cgi?id=240710

Unreviewed build fix

  • Source/WebCore/rendering/svg/RenderSVGBlock.cpp: Add missing RenderView.h inclusion.

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

1:47 AM Changeset in webkit [294537] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore/platform/graphics/gstreamer

REGRESSION(r288092): Deadlock when the playback is stopping just right after startup
https://bugs.webkit.org/show_bug.cgi?id=240661

Patch by Yacine Bandou <yacine.bandou@softathome.com> on 2022-05-20
Reviewed by Philippe Normand.

r288092 causes a deadlock with the "28. ChangeType.H264.VP9" test in "https://ytlr-cert.appspot.com/2020/main.html".

The background thread locks the GStPad and sends a notify::caps signal which is caught by
VideoTrackPrivateGStreamer that calls callOnMainThreadAndWait.

At the same time the main thread destroys MediaPlayerPrivateGStreamer and sets the pipeline to NULL
that calls "gst_pad_set_active" which wants to lock the GStPad.

This commit uses AbortableTaskQueue and calls enqueueTask instead of callOnMainThreadAndWait
in order to be able to abort the waiting job and avoid using the "AndWait" variant, consequently
we avoid the deadlock.

  • platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:

(WebCore::AudioTrackPrivateGStreamer::AudioTrackPrivateGStreamer):
(WebCore::AudioTrackPrivateGStreamer::updateConfigurationFromTags):
(WebCore::AudioTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::AudioTrackPrivateGStreamer::disconnect):

  • platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:

(WebCore::VideoTrackPrivateGStreamer::VideoTrackPrivateGStreamer):
(WebCore::VideoTrackPrivateGStreamer::updateConfigurationFromTags):
(WebCore::VideoTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::VideoTrackPrivateGStreamer::disconnect):

  • platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:

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

12:17 AM Changeset in webkit [294536] by Said Abou-Hallawa
  • 15 edits in trunk/Source

Drawing the PDF snapshot should take place in WebProcess
https://bugs.webkit.org/show_bug.cgi?id=240368
rdar://91660159

Reviewed by Simon Fraser.

The ImageBufferBackends should act like a drawing surface only. It has
a GraphicsContext. It can get and set pixels. And it can get a NativeImage
out of the pixels. But it should never draw itself to a GraphicsContext.
The ImageBuffer can act like an image. It can draw itself as an image or
as a pattern into a GraphicsContext.

So draw(), drawPattern() and drawConsuming() will be removed from the
ImageBufferBackend super classes and the implementation will be unified
for all platforms and moved to ConcreteImageBuffer.

By doing that, a canvas can be drawn to the PDF context in WebProcess
even if the GPUProcess for DOM rendering is enabled.

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

12:14 AM Changeset in webkit [294535] by Diego Pino Garcia
  • 2 edits in trunk/Tools/Scripts/libraries

[git-webkit] Question 'Are you sure want to setup a fork?' always returns 'Yes'

Reviewed by Jonathan Bedard.

When the response of the user is an empty string, function 'Terminal.choose'
always returns the first option.

The reason for that is a 'startswith' comparison of an option with an empty
string. This comparison is always true, thus the first option is selected
instead of the default option.

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

Note: See TracTimeline for information about the timeline view.