Timeline
May 24, 2022:
- 11:20 PM Changeset in webkit [294790] by
-
- 44 edits2 adds2 deletes in trunk/Source/WebKit
Rename SharedBufferCopy to SharedBufferReference
https://bugs.webkit.org/show_bug.cgi?id=240796
rdar://problem/93754681
Patch by Jean-Yves Avenard <jyavenard@gmail.com> on 2022-05-24
Reviewed by Jer Noble.
- SharedBufferCopy doesn't perform a copy, but passes SharedMemory and return a SharedBuffer that wraps such SharedMemory.
Rename it to SharedBufferReference to more accurately reflect what it actually does.
- Remove SharedBufferCopy::safeBuffer() and rename SharedBufferCopy::buffer with SharedBufferCopy::unsafeBuffer. This gives better clarity that accessing SharedBufferCopy should be treated with care.
- Add SharedBufferCopy::isNull() method
- When passing a SharedBufferReferal across multiple processes, we remove the need for a new allocation and copy of the content; instead we move the underlying SharedMemory.
No change of observable behaviour.
- Source/WebKit/GPUProcess/media/RemoteCDMInstanceProxy.h:
- Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.cpp:
(WebKit::RemoteImageDecoderAVFProxy::createDecoder):
(WebKit::RemoteImageDecoderAVFProxy::setData):
- Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.h:
- Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.messages.in:
- Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::bufferingTimerFired):
(WebKit::NetworkResourceLoader::sendBuffer):
(WebKit::NetworkResourceLoader::dataReceivedThroughContentFilter):
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.cpp:
(WebKit::ServiceWorkerDownloadTask::didReceiveData):
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.h:
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.messages.in:
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
(WebKit::ServiceWorkerFetchTask::didReceiveData):
(WebKit::ServiceWorkerFetchTask::loadBodyFromPreloader):
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:
- Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.messages.in:
- Source/WebKit/Platform/IPC/SharedBufferCopy.cpp: Removed.
- Source/WebKit/Platform/IPC/SharedBufferCopy.h: Removed.
- Source/WebKit/Platform/IPC/SharedBufferReference.cpp: Added.
(IPC::SharedBufferReference::encode const):
(IPC::SharedBufferReference::decode):
(IPC::SharedBufferReference::unsafeBuffer const):
(IPC::SharedBufferReference::data const):
- Source/WebKit/Platform/IPC/SharedBufferReference.h: Added.
(IPC::SharedBufferReference::SharedBufferReference):
(IPC::SharedBufferReference::size const):
(IPC::SharedBufferReference::isEmpty const):
(IPC::SharedBufferReference::isNull const):
- Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp:
(WebKit::CGDisplayListImageBufferBackend::createBackendHandle const):
- Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
- Source/WebKit/Sources.txt:
- Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView createPDFWithConfiguration:completionHandler:]):
- Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::platformRegisterAttachment):
- Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::sendAudioComponentRegistrations):
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::CompletionHandler<void):
(WebKit::WebPageProxy::drawToPDF):
(WebKit::WebPageProxy::getLoadDecisionForIcon):
(WebKit::WebPageProxy::updateAttachmentAttributes):
(WebKit::WebPageProxy::registerAttachmentIdentifierFromData):
(WebKit::WebPageProxy::platformRegisterAttachment):
- Source/WebKit/UIProcess/WebPageProxy.h:
- Source/WebKit/UIProcess/WebPageProxy.messages.in:
- Source/WebKit/UIProcess/WebPasteboardProxy.h:
- Source/WebKit/UIProcess/WebPasteboardProxy.messages.in:
- Source/WebKit/UIProcess/WebURLSchemeTask.cpp:
(WebKit::WebURLSchemeTask::didReceiveData):
- Source/WebKit/UIProcess/gtk/WebPasteboardProxyGtk.cpp:
(WebKit::WebPasteboardProxy::readBuffer):
- Source/WebKit/UIProcess/ios/WKContentView.mm:
(-[WKContentView _wk_pageCountForPrintFormatter:]):
- Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::drawToPDFiOS):
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebKit/WebProcess/GPU/graphics/ImageBufferBackendHandle.h:
- Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:
(WebKit::RemoteImageDecoderAVF::setData):
- Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVFManager.cpp:
(WebKit::RemoteImageDecoderAVFManager::createImageDecoder):
- Source/WebKit/WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveData):
- Source/WebKit/WebProcess/Network/WebResourceLoader.h:
- Source/WebKit/WebProcess/Network/WebResourceLoader.messages.in:
- Source/WebKit/WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveData):
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveBlobChunk):
- Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
- Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::registerAttachmentIdentifier):
- Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::readBufferFromClipboard):
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::getContentsAsMHTMLData):
(WebKit::WebPage::getSelectionAsWebArchiveData):
(WebKit::WebPage::getMainResourceDataOfFrame):
(WebKit::WebPage::getResourceDataFromFrame):
(WebKit::WebPage::getWebArchiveOfFrame):
(WebKit::WebPage::getAccessibilityTreeData):
(WebKit::WebPage::drawToPDF):
(WebKit::WebPage::drawPagesToPDF):
(WebKit::WebPage::didGetLoadDecisionForIcon):
(WebKit::WebPage::urlSchemeTaskDidReceiveData):
(WebKit::WebPage::updateAttachmentAttributes):
- Source/WebKit/WebProcess/WebPage/WebPage.h:
- Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
- Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::drawToPDFiOS):
- Source/WebKit/WebProcess/WebProcess.h:
- Source/WebKit/WebProcess/WebProcess.messages.in:
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::consumeAudioComponentRegistrations):
Canonical link: https://commits.webkit.org/250949@main
- 10:57 PM Changeset in webkit [294789] by
-
- 2 edits in trunk/Source/WebCore/svg
Simplify SVGPropertyOwnerRegistry slightly
https://bugs.webkit.org/show_bug.cgi?id=240839
Reviewed by Yusuke Suzuki.
SVGPropertyOwnerRegistry::findAccessor() had to loop through the hash table entries
because it wanted the behavior of QualifiedName::matches(), which is different from
QualifiedName::operator==. However, we can achieve this by using hash traits, and
the appropriate traits already exist in the form of SVGAttributeHashTranslator.
- Source/WebCore/svg/SVGElementInlines.h:
(WebCore::SVGAttributeHashTranslator::hash): Deleted.
(WebCore::SVGAttributeHashTranslator::equal): Deleted.
- Source/WebCore/svg/properties/SVGPropertyOwnerRegistry.h:
(WebCore::SVGAttributeHashTranslator::hash):
(WebCore::SVGAttributeHashTranslator::equal):
(WebCore::SVGPropertyOwnerRegistry::attributeNameToAccessorMap):
(WebCore::SVGPropertyOwnerRegistry::findAccessor):
Canonical link: https://commits.webkit.org/250948@main
- 9:43 PM Changeset in webkit [294788] by
-
- 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
-
- 4 edits in trunk/Source/JavaScriptCore/offlineasm
Use
jsc_llintas 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_doVMEntrythrowStackOverflow
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_doVMEntrythrowStackOverflow
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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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 atimestampto console messages so that the frontend can know when the message was created.
- Source/WebCore/page/PageConsoleClient.cpp:
(WebCore::PageConsoleClient::screenshot):
Capture atimestampbefore 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 forWI.ConsoleManager.Event.MessageAddedto addconsole.screenshotto 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):
Dropwidth/heightfrom screenshot records as thedataURLwill 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 6 edits2 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 aWeakMapof<img>for eachWI.ScreenshotsTimelineRecordso that we don't recreate it
over and over inlayout. 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 forvalueto be a function that's only executed if thekeydoes
not exist in theMap/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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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_doVMEntrythrowStackOverflow
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
-
- 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
-
- 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
-
- 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
-
- 6 edits3 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
-
- 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.CSSCompletionsinWI.CSSKeywordCompletions.forFunction()
for "var" functions, thevaluesarray 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 theadditionalFunctionValueCompletionsProvideroption.
There's no reason to have this two step approach. We can provide the result of
additionalFunctionValueCompletionsProvider("var")atWI.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
instantiatingWI.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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 5 edits3 moves5 adds1 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
-
- 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
-
- 2 edits2 adds4 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
-
- 3 edits2 adds in trunk
isContentEditable returns false for
display:nonecontenteditable 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 adisplay: nonecheck. 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: nonesubtree. This regressed in r160966.
This causes a confusing situation wheredisplay: noneaffects 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
-
- 2 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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 inImageAnalysisQueue::enqueueIfNeededto reject tiny
(< 20 by 20) images from the analysis queue falsely prevents us from enqueueing the newly inserted
image element.
Note that
enqueueIfNeededis 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 invokingenqueueIfNeeded. Since we currently
consultRenderBox::size()on theRenderImagein 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 nullWebCore::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
-
- 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
-
- 54 edits2 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
-
- 3 edits2 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
-
- 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
-
- 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
- (diff)
- 5:29 AM EnvironmentVariables edited by
- Add WEBKIT_GST_ENABLE_LEGACY_VAAPI (diff)
- 1:17 AM Changeset in webkit [294741] by
-
- 41 edits4 deletes in trunk/LayoutTests/platform
[WPE] Unreviewed test gardening, update baselines
May 23, 2022:
- 11:17 PM Changeset in webkit [294740] by
-
- 8 edits2 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
-
- 8 edits2 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
-
- 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
-
- 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
-
- 3 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 1 edit2 deletes in trunk/LayoutTests/platform/glib
[GLIB] Unreviewed test gardening, update expectations after r293691
- 9:00 PM Changeset in webkit [294726] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 2 edits10 moves in trunk/LayoutTests/platform
[WPE] Unreviewed test gardening, fix missing baselines reported by test bot
- 8:02 PM Changeset in webkit [294720] by
-
- 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
-
- 1 delete in tags/WebKit-7613.3.1.0.3
Delete tag.
- 7:45 PM Changeset in webkit [294718] by
-
- 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
-
- 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
-
- 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 markWI.Resourcethat haven't yet been inserted into theWI.Tablewhen navigating the main
resource. Use this when generating an entry for thatWI.Resourcefor the first time, instead of
always assuming that theWI.Resourceis part of the current session.
Canonical link: https://commits.webkit.org/250902@main
- 7:39 PM Changeset in webkit [294715] by
-
- 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
-
- 1 edit2 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
blockquotevia the "InsertNewlineInQuotedContent" editor command currently works by
splitting theblockquoteinto two sibling elements underneath the same parent container, and then inserting abr
element in between these siblingblockquoteelements. The selection is then moved to the end of the newly created
br, which inherits the writing direction (dir) of the element containing theblockquote. 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
blockquoteand the start of the selection is left-to-right but
the element that contains theblockquoteis right-to-left, we can wrap thebrin another block-level container
element withdir=autoto avoid inheriting the writing direction from theblockquote'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
-
- 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
-
- 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
-
- 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
-
- 8 edits2 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
-
- 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
-
- 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
-
- 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
-
- 8 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 1 copy in branches/safari-7613.3.1.3-branch
New branch.
- 5:11 PM Changeset in webkit [294700] by
-
- 1 copy in branches/safari-7613.3.1.2-branch
New branch.
- 5:00 PM Changeset in webkit [294699] by
-
- 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
-
- 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
-
- 8 edits2 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
-
- 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
-
- 4 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 17 edits20 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
-
- 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
-
- 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
-
- 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
-
- 8 edits2 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
-
- 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
-
- 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
-
- 6 edits2 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
-
- 8 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 6 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 2 edits1 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
-
- 4 edits in branches/safari-7614.1.14.0-branch
Cherry-pick r294589. rdar://problem/92006847
[MacCatalyst] REGRESSION(r290091): sometimes can hang if
WKWebViewis 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 2 edits in trunk/Source/WebKit/UIProcess/API/Cocoa
Web Driver: Expose new
isPendingTerminationproperty 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
- (diff)
- 8:02 AM Changeset in webkit [294641] by
-
- 24 edits5 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
-
- 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
-
- 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
-
- 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
- (diff)
- 6:38 AM Changeset in webkit [294637] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
inputandselectalready have anappearance: autorule.
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
-
- 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
-
- 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
-
- 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
-
- 14 edits3 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
-
- 4 edits2 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 6 edits1 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
-
- 1 edit1 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
-
- 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.DOMNodeto no longer require the sharedWI.DOMManagerbe 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
-
- 1 edit2 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
-
- 8 edits1 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
-
- 1 edit2 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
-
- 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 akeyupevent 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
-
- 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
-
- 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
-
- 6 edits11 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
-
- 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
-
- 6 edits2 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