⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jan 22, 2022:

9:20 PM Changeset in webkit [288416] by Ben Nham
  • 22 edits
    1 copy in trunk/Source

Add PushSubscriptionIdentifier
https://bugs.webkit.org/show_bug.cgi?id=234797

Reviewed by Darin Adler.

Source/WebCore:

This adds a PushSubscriptionIdentifier to each PushSubscription. Implementation-wise, it
will be the rowid if the subscription in the subscription database. We need this so that
PushSubscription.unsubscribe only unsubscribes from the given subscription. Currently it
unsubscribes from any active subscription associated with the subscription's service worker
scope.

No new tests. I plan on adding a test for this case in an API test which will work with real
PushSubscription objects when I submit the patch that implements the subscription business
logic in webpushd. The current layout tests only work with fake PushSubscription objects
that aren't connected to webpushd.

  • Headers.cmake:
  • Modules/push-api/PushSubscription.cpp:

(WebCore::PushSubscription::unsubscribe):

  • Modules/push-api/PushSubscriptionData.cpp:

(WebCore::PushSubscriptionData::isolatedCopy const):

  • Modules/push-api/PushSubscriptionData.h:

(WebCore::PushSubscriptionData::encode const):
(WebCore::PushSubscriptionData::decode):
webpushd only supports modern decoding and we need to send this object to it, so use modern decoding.

  • Modules/push-api/PushSubscriptionIdentifier.h:
  • WebCore.xcodeproj/project.pbxproj:
  • testing/Internals.cpp:

(WebCore::Internals::createPushSubscription):

  • testing/ServiceWorkerInternals.cpp:

(WebCore::ServiceWorkerInternals::createPushSubscription):

  • workers/service/SWClientConnection.h:
  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::unsubscribeFromPushService):

  • workers/service/ServiceWorkerContainer.h:
  • workers/service/ServiceWorkerRegistration.cpp:

(WebCore::ServiceWorkerRegistration::unsubscribeFromPushService):

  • workers/service/ServiceWorkerRegistration.h:
  • workers/service/WorkerSWClientConnection.cpp:

(WebCore::WorkerSWClientConnection::unsubscribeFromPushService):

  • workers/service/WorkerSWClientConnection.h:

Source/WebKit:

Pass the subscription identifier in the PushSubscription.unsubscribe call to guarantee that
we only unsubscribe from the given subscription.

  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::unsubscribeFromPushService):

  • NetworkProcess/ServiceWorker/WebSWServerConnection.h:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • Scripts/webkit/messages.py:

(types_that_cannot_be_forward_declared):
(headers_for_type):

  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::unsubscribeFromPushService):

  • WebProcess/Storage/WebSWClientConnection.h:
9:01 PM Changeset in webkit [288415] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

REGRESSION(r280887) broke some svg based chart content repaint
https://bugs.webkit.org/show_bug.cgi?id=235483
<rdar://87904254>

Unreviewed, reverting r280887.

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::svgAttributeChanged):

8:37 PM Changeset in webkit [288414] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

[iOS] Unreviewed gardering

  • platform/ios/TestExpectations: blank selection.
7:38 PM Changeset in webkit [288413] by Peng Liu
  • 2 edits in trunk/Source/WebCore

REGRESSION (Safari 15?): Blob videos slow to pause, affects CBS and CNN
https://bugs.webkit.org/show_bug.cgi?id=234066

Reviewed by Jer Noble.

MediaPlayerPrivateMediaSourceAVFObjC::playInternal() calls [m_synchronizer setRate:],
which will make the return value of MediaPlayerPrivateMediaSourceAVFObjC::paused() change
from true to false. But it won't push the new paused value back to the Web process.

RemoteMediaPlayerProxy::play() does call sendCachedState() after calling
m_player->play(), but because MediaPlayerPrivateMediaSourceAVFObjC::playInternal() is not
called in the same run loop, sendCachedState() won't send back the updated paused value either.

In most cases, this is not an issue, because other member functions of RemoteMediaPlayerProxy
will call sendCachedState() to push the updated paused value back to the Web process later.
However, we did find some videos need the paused value to be pushed back the Web process
in a timely manner.

No new tests, manually tested.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):

5:03 PM Changeset in webkit [288412] by Said Abou-Hallawa
  • 18 edits
    2 adds in trunk/Source

[GPU Process] Add the class 'SourceImage' to represent variants of image
https://bugs.webkit.org/show_bug.cgi?id=235467

Reviewed by Cameron McCormack.

Source/WebCore:

Before the existence of GPUProcess we used to do some drawing on an
ImageBuffer, get a NativeImage from the ImageBuffer and then use this
NativeImage. With GPUProces, this will require bouncing the NativeImage
between WebProcess and GPUProcess at least two times. To make this scenario
efficient, a new class called 'SourceImage' will be introduced. The purpose
of this class is to provide a new level of abstraction for the images
such that no conversion is needed before the actual use.

Replace FEImage::SourceImage with a new class named 'SourceImage'. Let
the new class handle the encoding and decoding and the conversion from
NativeImage to ImageBuffer and vice versa.

Make Recorder::recordResourceUse() returns a boolean which indicates
whether the resource can be cached for later replay or not.

  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/Image.h:

(WebCore::Image::nativeImageForCurrentFrame):
(WebCore::Image::preTransformedNativeImageForCurrentFrame):

  • platform/graphics/SourceImage.cpp: Added.

(WebCore::SourceImage::SourceImage):
(WebCore::SourceImage::nativeImageIfExists const):
(WebCore::SourceImage::nativeImage):
(WebCore::SourceImage::imageBufferIfExists const):
(WebCore::SourceImage::imageBuffer):
(WebCore::SourceImage::imageIdentifier const):

  • platform/graphics/SourceImage.h: Added.

(WebCore::SourceImage::encode const):
(WebCore::SourceImage::decode):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::drawFilteredImageBuffer):
(WebCore::DisplayList::Recorder::drawImageBuffer):

  • platform/graphics/displaylists/DisplayListRecorder.h:
  • platform/graphics/displaylists/DisplayListRecorderImpl.cpp:

(WebCore::DisplayList::RecorderImpl::recordResourceUse):

  • platform/graphics/displaylists/DisplayListRecorderImpl.h:
  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::filterEffect const):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::nativeImageForCurrentFrame): Deleted.

  • svg/graphics/SVGImage.h:
  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::calculateImageRect const):
(WebCore::FEImageSoftwareApplier::apply const):

  • svg/graphics/filters/SVGFEImage.h:

(WebCore::FEImage::encode const):
(WebCore::FEImage::decode):

Source/WebKit:

Provide a new recordResourceUse() for the SourceImage.

  • GPUProcess/graphics/RemoteDisplayListRecorder.cpp:

(WebKit::RemoteDisplayListRecorder::drawFilteredImageBuffer):

  • WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:

(WebKit::RemoteDisplayListRecorderProxy::recordResourceUse):

  • WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
4:00 PM Changeset in webkit [288411] by ysuzuki@apple.com
  • 6 edits
    1 add in trunk

[JSC] Relax Date.parse requirement
https://bugs.webkit.org/show_bug.cgi?id=235468

Reviewed by Darin Adler.

JSTests:

  • stress/date-relaxed-separator.js: Added.

(shouldBe):

Source/WTF:

While the spec does not require accepting 't' / ' ' separator, ISO 8601 accepts it.
This is because ECMA262's Date format is *not* ISO 8601 (it is called simplification
of ISO 8601[1]).
This patch relaxes this strictness to accept more formats, which can be accepted in
the other engines too.

[1]: https://tc39.es/ecma262/#sec-date-time-string-format

  • wtf/DateMath.cpp:

(WTF::parseES5DateFromNullTerminatedCharacters):

LayoutTests:

  • js/date-parse-test-expected.txt:
  • js/script-tests/date-parse-test.js:
2:58 PM Changeset in webkit [288410] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Add InlineDisplay::Box::isHorizontal
https://bugs.webkit.org/show_bug.cgi?id=235482

Reviewed by Antti Koivisto.

This is in preparation for supporting vertical writing mode.

  • layout/formattingContexts/inline/display/InlineDisplayBox.h:

(WebCore::InlineDisplay::Box::isHorizontal const):

  • layout/integration/InlineIteratorBoxModernPath.h:

(WebCore::InlineIterator::BoxModernPath::isHorizontal const):

2:57 PM Changeset in webkit [288409] by Alan Bujtas
  • 3 edits
    2 adds in trunk

REGRESSION (r288069): Bits of selection left after deselecting on bugzilla page
https://bugs.webkit.org/show_bug.cgi?id=235466
<rdar://87902230>

Reviewed by Darin Adler.

Source/WebCore:

Undo the incorrect dynamicDowncast change.

This code reads (perhaps confusingly at first sight):

return is<RenderView>(containingBlock) ? nullptr : containingBlock;

while the dynamicDowncast is meant to shorten code like this:

return is<RenderView>(containingBlock) ? containingBlock : nullptr;

Test: fast/text/incorrect-deselection-across-multiple-elements.html

  • rendering/SelectionRangeData.cpp:

(WebCore::containingBlockBelowView):

LayoutTests:

  • fast/text/incorrect-deselection-across-multiple-elements-expected.txt: Added.
  • fast/text/incorrect-deselection-across-multiple-elements.html: Added. Use indexOf because

while the repaint rect area is always the same, the rects order may vary.

2:20 PM Changeset in webkit [288408] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Use content direction for the first "unicode-paragraph" when "unicode-bidi: plaintext" is present
https://bugs.webkit.org/show_bug.cgi?id=235452

Reviewed by Antti Koivisto.

This makes the /css/css-writing-modes/bidi-plaintext-br-* tests pass (not enabled yet).

  • layout/formattingContexts/inline/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::layoutInlineContent):

2:14 PM Changeset in webkit [288407] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Alignment logic should take the line specific direction (which may be different from the root direction)
https://bugs.webkit.org/show_bug.cgi?id=235460

Reviewed by Antti Koivisto.

This makes the the /html/dom/elements/global-attributes/dir_auto-* tests pass (not enabled yet).

  • layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:

(WebCore::Layout::LineBoxBuilder::build):

12:55 PM Changeset in webkit [288406] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit

Skip installing webpushd in STP and downlevel builds
https://bugs.webkit.org/show_bug.cgi?id=235464
<rdar://87425138>

Patch by Elliott Williams <Elliott Williams> on 2022-01-22
Reviewed by Brady Eidson.

We can't ship webpushd as part of STP or builds made for previous versions of macOS. This
change adjusts build settings to skip installing webpushd and its launchd plist outside of a
non-relocatable production build environment.

As a consequence, webpushd will not _install_ in development builds (where all build
products are relocatable). It will continue to build and be runnable from the build
products directory.

  • Configurations/BaseTarget.xcconfig: Add WK_SKIP_INSTALL_WEBPUSHD to determine whether to

skip installation.

  • Configurations/webpushd.xcconfig: Set SKIP_INSTALL based on WK_SKIP_INSTALL_WEBPUSHD.
  • WebKit.xcodeproj/project.pbxproj: Skip installing launchd plists when

WK_SKIP_INSTALL_WEBPUSHD=YES.

10:17 AM Changeset in webkit [288405] by Andres Gonzalez
  • 3 edits in trunk/Source/WebCore

Create ancestry of isolated objects instead of generating the entire subtree for an ancestor.
https://bugs.webkit.org/show_bug.cgi?id=235389
<rdar://problem/87803473>

Reviewed by Chris Fleizach.

AXIsolatedTree::updateChildren may be called for an AXObject that has no
corresponding IsolatedObject. That is the case of empty canvas and some
empty div elements. In those cases we were generating the subtree of the
first available ancestor in the isolated tre. This can be expensive
because in some cases the immediate exisiting ancestor was the webarea,
causing the re-generation of the entire isolated tree. With this patch,
only the IsolatedObjects that are missing in the isolated tree are added
to the tree.

  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::nodeChangeForObject):
(WebCore::AXIsolatedTree::queueChanges):
The above two methods are added to avoid coude duplication and to be
able to decouple the creation of new isolated objects from the addition
of those objects to the isolated tree.
(WebCore::AXIsolatedTree::createSubtree):
(WebCore::AXIsolatedTree::updateChildren):

  • accessibility/isolatedtree/AXIsolatedTree.h:
9:26 AM Changeset in webkit [288404] by Oriol Brufau
  • 3 edits
    2 deletes in trunk

[CSS Cascade Layers] Enable CSSImportRule.layerName for WebKitGTK
https://bugs.webkit.org/show_bug.cgi?id=235455

Reviewed by Darin Adler.

Source/WebCore:

Bug 231340 added support for CSSImportRule.layerName, but CMakeLists.txt
wasn't listing CSSImportRule+Layer.idl

So the attribute was not there when running WebKitGTK, built with CMake.

Tests: imported/w3c/web-platform-tests/css/css-cascade/idlharness.html

imported/w3c/web-platform-tests/css/css-cascade/layer-rules-cssom.html

  • CMakeLists.txt: link missing css/CSSImportRule+Layer.idl

LayoutTests:

Expect the tests to pass.

  • platform/glib/imported/w3c/web-platform-tests/css/css-cascade/idlharness-expected.txt: Removed.
  • platform/glib/imported/w3c/web-platform-tests/css/css-cascade/layer-rules-cssom-expected.txt: Removed.
1:31 AM Changeset in webkit [288403] by Carlos Garcia Campos
  • 9 edits in trunk

[GTK][a11y] Stop registering the tree when clients are connected with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235313

Reviewed by Adrian Perez de Castro.

Source/WebCore:

That was needed with the isolated tree mode, now we can go back to register objects on demand.

  • accessibility/atspi/AXObjectCacheAtspi.cpp:

(WebCore::AXObjectCache::platformPerformDeferredCacheUpdate):

  • accessibility/atspi/AccessibilityAtspi.cpp:

(WebCore::AccessibilityAtspi::addClient):
(WebCore::AccessibilityAtspi::parentChanged):
(WebCore::AccessibilityAtspi::childrenChanged):
(WebCore::AccessibilityAtspi::cacheClearTimerFired):

  • accessibility/atspi/AccessibilityObjectAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::isTreeRegistered const): Deleted.

  • accessibility/atspi/AccessibilityObjectAtspi.h:
  • accessibility/atspi/AccessibilityRootAtspi.cpp:

(WebCore::AccessibilityRootAtspi::embedded):
(WebCore::AccessibilityRootAtspi::child const):
(WebCore::AccessibilityRootAtspi::childAdded):
(WebCore::registerSubtree): Deleted.
(WebCore::AccessibilityRootAtspi::registerTree): Deleted.
(WebCore::AccessibilityRootAtspi::didUnregisterTree): Deleted.

  • accessibility/atspi/AccessibilityRootAtspi.h:

Tools:

  • TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:

(testDocumentLoadEvents): Now we don't get the initial event from previous document web because it happens
before the first client is connected.

Jan 21, 2022:

11:39 PM Changeset in webkit [288402] by graouts@webkit.org
  • 6 edits
    6 adds in trunk/LayoutTests/imported/w3c

Update css/css-animation WPT following animation-composition testing updates
https://bugs.webkit.org/show_bug.cgi?id=235443

Unreviewed WPT import and rebaseline.

  • web-platform-tests/css/css-animations/CSSAnimation-effect.tentative-expected.txt:
  • web-platform-tests/css/css-animations/CSSAnimation-effect.tentative.html:
  • web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt:
  • web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative.html:
  • web-platform-tests/css/css-animations/parsing/animation-composition-computed.tentative-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-composition-computed.tentative.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-composition-invalid.tentative-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-composition-invalid.tentative.html: Added.
  • web-platform-tests/css/css-animations/parsing/animation-composition-valid.tentative-expected.txt: Added.
  • web-platform-tests/css/css-animations/parsing/animation-composition-valid.tentative.html: Added.
  • web-platform-tests/css/css-animations/parsing/w3c-import.log:
10:03 PM Changeset in webkit [288401] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Unreviewed, reverting r288400.
https://bugs.webkit.org/show_bug.cgi?id=235470

broke ARM64E build

Reverted changeset:

"[JSC][32bit] Fix regexp crash on ARMv7"
https://bugs.webkit.org/show_bug.cgi?id=234476
https://commits.webkit.org/r288400

8:58 PM Changeset in webkit [288400] by Mikhail R. Gadelha
  • 10 edits in trunk/Source

[JSC][32bit] Fix regexp crash on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=234476

Reviewed by Yusuke Suzuki.

This patch fixes several regexp crashes on ARMv7 due to an incorrect
offset to retrieve the 5th argument from the stack: in ARMv7, only
4 arguments are passed via registers r0-r3i, and any other argument is
placed on the stack, however, YarrJIT was trying to get the 5th arg
from a fixed offset, so because the generateEnter() method pushed
register into the stack, the offset was wrong. This patch fixes how
the offset is calculated for MIPS and ARMv7.

This patch also introduces some small changes:

  1. Added static_asserts that the YarrJIT calls do indeed have 5 arguments

and that the 5th argument has the type that we expect (MatchingContextHolder*).

  1. Removed an unnecessary pointer from the MatchingContextHolder

constructor.

  1. Fixed some warnings in the YarrJIT code here and there.
  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileRegExpTestInline):

  • runtime/RegExpInlines.h:

(JSC::RegExp::matchInline):

  • yarr/YarrJIT.cpp:
  • yarr/YarrMatchingContextHolder.h:

(JSC::Yarr::MatchingContextHolder::MatchingContextHolder):

7:03 PM Changeset in webkit [288399] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, follow-up after r288066
https://bugs.webkit.org/show_bug.cgi?id=235271

  • runtime/DatePrototype.cpp:

(JSC::applyToNumberToOtherwiseIgnoredArguments):
(JSC::fillStructuresUsingDateArgs):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::applyToNumbersToTrashedArguments): Deleted.

6:22 PM Changeset in webkit [288398] by Russell Epstein
  • 1 copy in tags/Safari-613.1.14.5.1

Tag Safari-613.1.14.5.1.

6:18 PM Changeset in webkit [288397] by Russell Epstein
  • 10 edits
    2 adds in branches/safari-613.1.14.5-branch/Source/ThirdParty/libwebrtc

Cherry-pick r288391. rdar://problem/87829404

WebKit fails to build - error: 'webrtc/rtc_base/network.h' file not found
https://bugs.webkit.org/show_bug.cgi?id=235459

Reviewed by Mark Lam.

We needed to create symlinks from the standard location to the SYSTEM_CONTENT_PATH location.
This is needed for both the include files and archive libraries.

  • Configurations/boringssl.xcconfig:
  • Configurations/libsrtp.xcconfig:
  • Configurations/libvpx.xcconfig:
  • Configurations/libwebm.xcconfig:
  • Configurations/libwebrtc.xcconfig:
  • Configurations/libyuv.xcconfig:
  • Configurations/opus.xcconfig:
  • Configurations/usrsctp.xcconfig:
  • Scripts: Added.
  • Scripts/create-symlink-to-altroot.sh: Added.
  • libwebrtc.xcodeproj/project.pbxproj:

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

6:13 PM Changeset in webkit [288396] by Russell Epstein
  • 9 edits in branches/safari-613.1.14.5-branch/Source

Versioning.

WebKit-7613.1.14.5.1

6:13 PM Changeset in webkit [288395] by timothy_horton@apple.com
  • 4 edits in trunk

GraphicsContextStateChange logging doesn't dump shadow color
https://bugs.webkit.org/show_bug.cgi?id=235428

Reviewed by Wenson Hsieh.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContextStateChange::dump const):
Add shadowColor property to the things we dump on ShadowChange.

5:59 PM Changeset in webkit [288394] by Russell Epstein
  • 9 edits in branches/safari-613.1.14.41-branch/Source

Revert "Versioning."

This reverts commit r288393.

5:58 PM Changeset in webkit [288393] by Russell Epstein
  • 9 edits in branches/safari-613.1.14.41-branch/Source

Versioning.

WebKit-7613.1.14.5.1

5:48 PM Changeset in webkit [288392] by Russell Epstein
  • 1 copy in branches/safari-613.1.14.5-branch

New branch.

5:38 PM Changeset in webkit [288391] by msaboff@apple.com
  • 10 edits
    2 adds in trunk/Source/ThirdParty/libwebrtc

WebKit fails to build - error: 'webrtc/rtc_base/network.h' file not found
https://bugs.webkit.org/show_bug.cgi?id=235459

Reviewed by Mark Lam.

We needed to create symlinks from the standard location to the SYSTEM_CONTENT_PATH location.
This is needed for both the include files and archive libraries.

  • Configurations/boringssl.xcconfig:
  • Configurations/libsrtp.xcconfig:
  • Configurations/libvpx.xcconfig:
  • Configurations/libwebm.xcconfig:
  • Configurations/libwebrtc.xcconfig:
  • Configurations/libyuv.xcconfig:
  • Configurations/opus.xcconfig:
  • Configurations/usrsctp.xcconfig:
  • Scripts: Added.
  • Scripts/create-symlink-to-altroot.sh: Added.
  • libwebrtc.xcodeproj/project.pbxproj:
5:23 PM Changeset in webkit [288390] by Tyler Wilcock
  • 9 edits in trunk/Source/WebCore

AX: Move Mac subrole logic to new subrolePlatformString AXCoreObject interface method
https://bugs.webkit.org/show_bug.cgi?id=235414

Reviewed by Chris Fleizach.

This patch moves most of the Mac subrole logic to a new AXCoreObject interface
method, subrolePlatformString (matching the naming of rolePlatformString).
This allows us to cache a new AXPropertyName::SubrolePlatformString
property in isolated tree objects.

This fixes accessibility/mac/subroles-for-formatted-groups.html in isolated
tree mode because this test exercised the backingObject->isStyleFormatGroup() codepath,
which in turn tried to compare AtomStrings off the main-thread, which won't work
(the string comparisons will unexpectedly not match).

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::subrolePlatformString const):
Added.

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/isolatedtree/AXIsolatedTree.h:

Add new AXPropertyName::SubrolePlatformString property.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):
Initialize new AXPropertyName::subrolePlatformString.

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::subrolePlatformString const):
Added.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper isEmptyGroup]):
Added.
(-[WebAccessibilityObjectWrapper subrole]):
Defer to subrolePlatformString for determining all subroles except AXEmptyGroup.

5:01 PM Changeset in webkit [288389] by sihui_liu@apple.com
  • 13 edits in trunk/Source

Disable CFURLCache in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=234988
<rdar://problem/87619196>

Reviewed by Geoffrey Garen.

Source/WebCore:

_CFURLStorageSessionCopyCache can be slow (see rdar://85418732) and UI process may kill network process for
being unresponsive. Since WebKit does not use CFURLCache, we should disable it to avoid the hang.

  • platform/network/NetworkStorageSession.h:
  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::NetworkStorageSession::createCFStorageSessionForIdentifier):

  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::createPrivateStorageSession):

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::newTestingSession):
(WebKit::NetworkProcess::ensureSession):

Source/WebKitLegacy:

  • WebCoreSupport/NetworkStorageSessionMap.cpp:

(NetworkStorageSessionMap::ensureSession):

Source/WTF:

  • wtf/PlatformHave.h:
4:41 PM Changeset in webkit [288388] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

imported/w3c/web-platform-tests/css/css-color/parsing/color-valid.html fails in debug

Reviewed by Sam Weinig.

  • platform/graphics/ColorTypes.h:

(WebCore::assertInRange):
We want to *ignore* NaN alpha, like for the other channels. The conditional was backwards.

4:29 PM Changeset in webkit [288387] by pvollan@apple.com
  • 12 edits in trunk/Source/WebKit

Inject Launch Services database before NSApplication is initialized
https://bugs.webkit.org/show_bug.cgi?id=235186
<rdar://87468788>

Reviewed by Chris Dumez.

To avoid the main thread getting stuck, the Launch Services database should be injected before NSApplication
is initialized, since the initialization now depends on the database. To make sure also prewarmed WebContent
processes are receiving the Launch Services database, the WebsiteDataStore method
sendNetworkProcessXPCEndpointToProcess is moved to the class NetworkProcessProxy, since prewarmed processes
will not have a data store initially. This allows us to simplify the code, since we are no longer depending
on having a Website data store before sending the XPC endpoint.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didFinishLaunching):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToProcess):
(WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToProcess const): Deleted.

  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::platformDidReceiveLoadParameters):

  • WebProcess/cocoa/LaunchServicesDatabaseManager.h:
  • WebProcess/cocoa/LaunchServicesDatabaseManager.mm:

(WebKit::LaunchServicesDatabaseManager::waitForDatabaseUpdate):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

4:21 PM Changeset in webkit [288386] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS][WP] Allow access to CFNetwork prefs
https://bugs.webkit.org/show_bug.cgi?id=235457
<rdar://87822314>

Reviewed by Brent Fulgham.

Allow access to CFNetwork prefs on internal builds.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
3:40 PM Changeset in webkit [288385] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Make alignment editor accessible
https://bugs.webkit.org/show_bug.cgi?id=235395
<rdar://problem/87851989>

Reviewed by Patrick Angle.

Make alignment editor icons focusable, and annotate elements so VoiceOver could correctly read what is selected.

  • UserInterface/Views/AlignmentEditor.css:

(.alignment-editor .glyph:focus):
(.alignment-editor .glyph:not(:focus-visible)):

  • UserInterface/Views/AlignmentEditor.js:

(WI.AlignmentEditor):
(WI.AlignmentEditor.prototype.set alignment):
(WI.AlignmentEditor.prototype._removePreviouslySelected):
(WI.AlignmentEditor.prototype._updateSelected):

3:30 PM Changeset in webkit [288384] by Jonathan Bedard
  • 2 edits in trunk/Tools

[EWS] Support pull-requests in ValidateChange (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=234861
<rdar://problem/87114299>

Unreviewed follow-up fix.

  • Tools/CISupport/ews-build/steps.py:

(GitHubMixin.fetch_data_from_url_with_authentication): Fix authentication call.

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

3:10 PM WebKitGTK/2.34.x edited by Adrian Perez de Castro
(diff)
2:49 PM Changeset in webkit [288383] by Jonathan Bedard
  • 2 edits in trunk/Tools

[EWS] Avoid extra network request from buildbot to github
https://bugs.webkit.org/show_bug.cgi?id=235417
<rdar://problem/87846222>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/events.py:

(GitHubEventHandlerNoEdits._get_commit_msg): Return empty string.

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

2:18 PM Changeset in webkit [288382] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Unreviewed test resource change.

Change this alpha PNG image to use a simple color with alpha, rather than a gradient,
so that when the image is stretched it doesn't result in small pixel diffs in test
results.

  • compositing/resources/simple_image.png:
1:59 PM Changeset in webkit [288381] by ysuzuki@apple.com
  • 3 edits in trunk/Source/bmalloc

[libpas] Follow-up after r288339
https://bugs.webkit.org/show_bug.cgi?id=235423

Changed the type names.

  • libpas/src/libpas/pas_allocation_callbacks.c:
  • libpas/src/libpas/pas_allocation_callbacks.h:
1:51 PM Changeset in webkit [288380] by Robert Jenner
  • 3 edits in trunk/LayoutTests

REGRESSION (r286944?): web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-download-click tests have become flaky failures
https://bugs.webkit.org/show_bug.cgi?id=234410

Unreviewed test gardening. Adding expectations due to negative impact on EWS.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
1:47 PM Changeset in webkit [288379] by commit-queue@webkit.org
  • 9 edits in trunk

Build failure with g++ 12: std::exchange undefined
https://bugs.webkit.org/show_bug.cgi?id=235445

Patch by Mike Gorse <mgorse@suse.com> on 2022-01-21
Reviewed by Michael Catanzaro.

Source/JavaScriptCore:

  • API/JSRetainPtr.h: Include <utility>

Source/WebCore:

  • platform/graphics/x11/XUniqueResource.h: Include <utility>

Source/WTF:

  • wtf/CompletionHandler.h: Include <utility>
  • wtf/MallocPtr.h: Ditto

Tools:

  • ImageDiff/ImageDiff.cpp: Include <utility>
1:38 PM Changeset in webkit [288378] by Russell Epstein
  • 1 copy in tags/Safari-613.1.14.41.1

Tag Safari-613.1.14.41.1.

1:32 PM Changeset in webkit [288377] by Russell Epstein
  • 1 edit in branches/safari-613.1.14.41-branch/Source/WebKit/WebKit.xcodeproj/project.pbxproj

Revert "Apply patch. rdar://problem/86298747"

This reverts commit r288231

1:29 PM Changeset in webkit [288376] by Russell Epstein
  • 9 edits in branches/safari-613.1.14.41-branch/Source

Versioning.

WebKit-7613.1.14.41.1

1:25 PM Changeset in webkit [288375] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS][GPUP] Add access to IOKit property
https://bugs.webkit.org/show_bug.cgi?id=235450
<rdar://76403140>

Reviewed by Brent Fulgham.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
1:19 PM Changeset in webkit [288374] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[RISCV64] Add MacroAssemblerRISCV64 branch-testing operations
https://bugs.webkit.org/show_bug.cgi?id=235442

Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-01-21
Reviewed by Yusuke Suzuki.

Implement MacroAssemblerRISCV64 branch-testing operations. The branching
instructions being intentionally simple in RISC-V, and with no status
register, scratch register has to be used to hold the testing result
and perform a branch based on its value. This will disallow use of these
implementations from Air, but that has to be address inside Air itself.

When performing tests for values that are smaller than 64 bits in width,
the tested value is zero-extended or, when necessary, loaded as an
unsigned value, to impose zeroed upper bits that eliminate masking
values that are too wide or get sign-extended when used as immediates.
Post-masking, these shorter-width values still have to be sign-extended
to accommodate branch instructions that are used when testing
signedness.

The test result value is then passed on, along with the desired
condition, to the new branchTestFinalize() helper method that finally
generates the appropriate branch.

  • assembler/MacroAssemblerRISCV64.h:

(JSC::MacroAssemblerRISCV64::branchTest8):
(JSC::MacroAssemblerRISCV64::branchTest16):
(JSC::MacroAssemblerRISCV64::branchTest32):
(JSC::MacroAssemblerRISCV64::branchTest64):
(JSC::MacroAssemblerRISCV64::branchPtr):
(JSC::MacroAssemblerRISCV64::branchTestFinalize):

1:18 PM Changeset in webkit [288373] by Russell Epstein
  • 1 copy in branches/safari-613.1.14.41-branch

New branch.

1:13 PM Changeset in webkit [288372] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[RISCV64] Add MacroAssemblerRISCV64 operations for bitfield, zero-counting, byte-swapping operations
https://bugs.webkit.org/show_bug.cgi?id=235439

Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-01-21
Reviewed by Yusuke Suzuki.

Add MacroAssemblerRISCV64 implementations that cover unsigned bitfield,
leading-zero, trailing-zero and byte-swapping operations. All these
operations are not supported in base RISC-V specifications. There are
extensions currently being ratified that will introduce more useful
instructions, but until then more verbose implementations will have
to be used.

For the unsigned bitfield operations, the desired result is achieved
through shifting and masking. Scratch registers are only needed in
case of the mask immediate being too large, but that will be properly
handled by the higher-level JITs. For other operations covered in this
patch we have to use scratch registers and custom loops to implement
the necessary behavior.

  • assembler/MacroAssemblerRISCV64.h:

(JSC::MacroAssemblerRISCV64::extractUnsignedBitfield32):
(JSC::MacroAssemblerRISCV64::extractUnsignedBitfield64):
(JSC::MacroAssemblerRISCV64::insertUnsignedBitfieldInZero32):
(JSC::MacroAssemblerRISCV64::insertUnsignedBitfieldInZero64):
(JSC::MacroAssemblerRISCV64::countLeadingZeros32):
(JSC::MacroAssemblerRISCV64::countLeadingZeros64):
(JSC::MacroAssemblerRISCV64::countTrailingZeros32):
(JSC::MacroAssemblerRISCV64::countTrailingZeros64):
(JSC::MacroAssemblerRISCV64::byteSwap16):
(JSC::MacroAssemblerRISCV64::byteSwap32):
(JSC::MacroAssemblerRISCV64::byteSwap64):

1:07 PM Changeset in webkit [288371] by Alan Bujtas
  • 4 edits in trunk

[LFC][IFC] Inline boxes with collapsible content only should not be considered opaque bidi items
https://bugs.webkit.org/show_bug.cgi?id=235447

Reviewed by Antti Koivisto.

Source/WebCore:

We don't normally submit inline boxes with content to ubidi re-ordering since their content drives the visual
position unless they are empty. While empty inline boxes do not usually produce visual artifacts (except ones with decoration)
they still need to be able to answer "bounding box" type of questions.

So in order to have geometry generated for inline boxes, they either
1, need to have some content so that while processing their content, we also compute their geometries
2, have to participate in ubidi's visual re-ordering so that they show up in the visual list (which is the input to the display box create function)

This patch treats inline boxes with fully collapsible content empty so that they fall into group #2.

  • layout/formattingContexts/inline/InlineItemsBuilder.cpp:

(WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels):

LayoutTests:

1:02 PM Changeset in webkit [288370] by Robert Jenner
  • 1 edit
    1 move in trunk/LayoutTests

[ iOS EWS ] imported/w3c/web-platform-tests/dom/events/focus-event-document-move.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=235150
<rdar://problem/87524787>

Unreviewed, re-land iOS baseline in the correct location. The behaviour difference is expected as it involves mouse events.

  • platform/ios/imported/w3c/web-platform-tests/dom/events/focus-event-document-move-expected.txt: Renamed from LayoutTests/platform/ios/imported/w3c/dom/events/focus-event-document-move-expected.txt.
1:01 PM Changeset in webkit [288369] by Russell Epstein
  • 1 copy in branches/safari-613.1.13.1-branch

New branch.

12:30 PM Changeset in webkit [288368] by Jonathan Bedard
  • 2 edits in trunk/Tools

[EWS] Use token when processing hook
https://bugs.webkit.org/show_bug.cgi?id=235383
<rdar://problem/87791577>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/master.cfg:

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

10:54 AM Changeset in webkit [288367] by Jonathan Bedard
  • 2 edits in trunk/Tools

[EWS] ConfigureBuild should display PR information instead of ValidateChange
https://bugs.webkit.org/show_bug.cgi?id=235377
<rdar://problem/87853245>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/steps.py:

(GitHub):
(GitHub.commit_url): Convert a sha and repository to clickable commit url.
(ConfigureBuild._addToLog): Added.
(ConfigureBuild.add_pr_details): Print link to pull request, commit being
tested and author of change.
(ValidateChange.validate_github): Move links to ConfigureBuild.

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

10:31 AM Changeset in webkit [288366] by Jonathan Bedard
  • 5 edits in trunk/Tools

[webkitscmpy] Stop killing finished processes
https://bugs.webkit.org/show_bug.cgi?id=235427
<rdar://problem/87887233>

Rubber-stamped by Aakash Jain.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.Cache.populate): Check if process has finished before killing it.
(Git.commits): Ditto.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:

(Svn.Cache.populate): Check if process has finished before killing it.
(Svn.commits): Ditto.

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

9:14 AM Changeset in webkit [288365] by Russell Epstein
  • 1 copy in tags/Safari-612.4.9.1.7

Tag Safari-612.4.9.1.7.

9:10 AM Changeset in webkit [288364] by Russell Epstein
  • 8 edits in branches/safari-612.4.9.1-branch/Source

Versioning.

WebKit-7612.4.9.1.7

8:11 AM Changeset in webkit [288363] by achristensen@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix build when using Visual Studio 2022
https://bugs.webkit.org/show_bug.cgi?id=235440

Reviewed by Antti Koivisto.

It doesn't like having a switch with a default but no cases.
This is cleaner with if statements anyways.
Also make members const because I can.

  • jit/JITCode.cpp:

(JSC::JITCode::calleeSaveRegisters const):

  • jit/JITCode.h:
7:08 AM Changeset in webkit [288362] by Antti Koivisto
  • 6 edits
    2 adds in trunk

WPT version of css/css-cascade/parsing/layer-import-parsing.html crashes with nullptr
https://bugs.webkit.org/show_bug.cgi?id=235434
rdar://87832940

Reviewed by Alan Bujtas.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-cascade/parsing/layer-import-parsing.html:

Update to WPT version.

Source/WebCore:

Test: fast/css/insert-import-rule-crash.html

  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::setCSSStyleSheet):

Null check the parent stylesheet. It can be null if the rule has been removed.

  • dom/InlineStyleSheetOwner.cpp:

(WebCore::InlineStyleSheetOwner::startLoadingDynamicSheet):

Also fix a debug assert in addPendingSheet, this can get called multiple times.

LayoutTests:

  • fast/css/insert-import-rule-crash-expected.txt: Added.
  • fast/css/insert-import-rule-crash.html: Added.
5:11 AM Changeset in webkit [288361] by Lauro Moura
  • 13 edits in trunk

[CMake] Cannot link libTestRunnerInjectedBundle.so in non unified build
https://bugs.webkit.org/show_bug.cgi?id=226088

Reviewed by Adrian Perez de Castro.

Source/JavaScriptCore:

  • wasm/js/JSWebAssemblyModule.h: Add missing header

Source/WebCore:

Covered by existing tests.

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::isUnderTest const): Defining it.

  • inspector/InspectorController.h: Export isUnderTest().
  • loader/SubresourceIntegrity.h: Add missing header.
  • platform/gtk/ValidationBubbleGtk.cpp: Ditto.
  • svg/graphics/filters/SVGFEImage.h: Ditto.
  • testing/Internals.cpp:

(WebCore::Internals::mediaSessionState): Cast new enum to the WebCore
one.

  • testing/Internals.h: Redefine MediaSessionState as a new enum

instead of aliasing to avoid redefinitions of
convertEnumerationToString in non-unified builds.

  • workers/WorkerConsoleClient.h:

Tools:

  • WebKitTestRunner/CMakeLists.txt: Pull WebCore as dependency for

WTR/WTRInjectedBundle

3:05 AM Changeset in webkit [288360] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.34.4

WPE WebKit 2.34.4

3:03 AM Changeset in webkit [288359] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.34

Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.34.4 release

.:

  • Source/cmake/OptionsWPE.cmake: Bump version numbers.

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.34.4
2:36 AM Changeset in webkit [288358] by Martin Robinson
  • 10 edits
    1 delete in trunk

element.scrollIntoView() sometimes doesn't scroll
https://bugs.webkit.org/show_bug.cgi?id=42593

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/cssom-view/scrollIntoView-horizontal-partially-visible-expected.txt:

Source/WebCore:

No new tests. This is covered by existing WPT tests.

For some operations which scroll to a rectangle, if an object is more than
32 pixels onscreen, it's not considered onscreen. This was originally used
to prevent unnecessary scrolling while tabbing through form fields, but is
no longer used for that in the majority of cases. Instead, the behavior affects
the calls to Element.focus(), Element.scrollIntoView(), and navigations to
anchor elements.

While navigation to anchor elements and calls to Element.focus() offer more
flexibility to the user agent, this behavior is not spec-compliant with
scrollIntoView(). This change adds a flag to ScrollAlignment to turn it off.

It could be that, in the future, the behavior for focus() is specified more
thoroughly, which might mean extending this fix.

  • dom/Element.cpp:

(WebCore::Element::scrollIntoView): Turn off the legacy horizontal visibility threshold.
(WebCore::Element::scrollIntoViewIfNeeded): Ditto.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::getRectToExpose const): Use the new setting in ScrollAlignment
and also rework the code to use the new methods on ScrollAlignment.

  • rendering/ScrollAlignment.h:

(WebCore::ScrollAlignment::getVisibleBehavior const): Converted this to a method to match
the new ones.
(WebCore::ScrollAlignment::getPartialBehavior const): Ditto.
(WebCore::ScrollAlignment::getHiddenBehavior const): Ditto.
(WebCore::ScrollAlignment::disableLegacyHorizontalVisibilityThreshold): Added.
(WebCore::ScrollAlignment::legacyHorizontalVisibilityThresholdEnabled const): Added.
(WebCore::ScrollAlignment::getVisibleBehavior): Deleted.
(WebCore::ScrollAlignment::getPartialBehavior): Deleted.
(WebCore::ScrollAlignment::getHiddenBehavior): Deleted.

LayoutTests:

  • platform/gtk/imported/w3c/web-platform-tests/css/cssom-view/getBoundingClientRect-empty-inline-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom-view/getBoundingClientRect-shy-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-empty-inline-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom-view/offsetTopLeft-leading-space-inline-expected.txt:
2:25 AM Changeset in webkit [288357] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[GLIB] Garden fast/mediastream/getUserMedia-to-canvas-*.html failure for WPE
https://bugs.webkit.org/show_bug.cgi?id=235396

Unreviewed gardnening.

Move fast/mediastream/getUserMedia-to-canvas-*.html failures to glib
to suppress also WPE failures.

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-21

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
1:41 AM Changeset in webkit [288356] by Fujii Hironori
  • 5 edits in trunk/Source

Fix AppleWin build with newer MSVC
https://bugs.webkit.org/show_bug.cgi?id=235431

Reviewed by Alex Christensen.

Source/WebCore:

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

(printLayer):

Source/WebKitLegacy/win:

  • WebDownloadCFNet.cpp:

(WebDownload::cancelForResume):

  • WebKitQuartzCoreAdditions/CAD3DRenderer.cpp:

(WKQCA::CAD3DRenderer::resetD3DDevice):

1:25 AM Changeset in webkit [288355] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

  • gpu-process/TestExpectations:
12:32 AM Changeset in webkit [288354] by commit-queue@webkit.org
  • 28 edits
    1 copy
    3 adds in trunk

Support in-process testing of IPC messages
https://bugs.webkit.org/show_bug.cgi?id=231674
<rdar://84189314>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-21
Reviewed by Brent Fulgham.

Source/WebKit:

Add IPCTester service to UI, GPU, Network, Authn process.
The service can be used to send random messages to the processes.

Test: ipc/start-message-testing.html

  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::dispatchMessage):
(WebKit::GPUConnectionToWebProcess::dispatchSyncMessage):

  • GPUProcess/GPUConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • Platform/IPC/Connection.cpp:

(IPC::Connection::dispatchIncomingMessageForTesting):
(IPC::Connection::dispatchMessage):
(IPC::CompletionHandler<void):
Remove asserts from takeAsyncReplyHandler, they're already present
in the caller. The caller can filter them based on the testing flag,
allowing testing without asserts.

  • Platform/IPC/Connection.h:
  • Platform/IPC/Decoder.cpp:

(IPC::Decoder::create):
(IPC::Decoder::Decoder):
(IPC::Decoder::~Decoder):

  • Platform/IPC/Decoder.h:
  • Platform/IPC/cocoa/ConnectionCocoa.mm:

(IPC::createMessageDecoder):

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::processMessage):

  • Platform/IPC/win/ConnectionWin.cpp:

(IPC::Connection::readEventHandler):

  • Shared/IPCTester.cpp: Added.

(WebKit::messageTestDriver):
(WebKit::runMessageTesting):
(WebKit::IPCTester::~IPCTester):
(WebKit::IPCTester::startMessageTesting):
(WebKit::IPCTester::stopMessageTesting):
(WebKit::IPCTester::stopIfNeeded):

  • Shared/IPCTester.h: Added.
  • Shared/IPCTester.messages.in: Copied from Source/WebKit/WebAuthnProcess/WebAuthnConnectionToWebProcess.messages.in.
  • Sources.txt:
  • UIProcess/LegacySessionStateCodingNone.cpp:

(WebKit::decodeLegacySessionState):

  • UIProcess/WebProcessPool.cpp:
  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::shouldSendPendingMessage):

  • WebAuthnProcess/WebAuthnConnectionToWebProcess.cpp:

(WebKit::WebAuthnConnectionToWebProcess::dispatchMessage):
(WebKit::WebAuthnConnectionToWebProcess::dispatchSyncMessage):

  • WebAuthnProcess/WebAuthnConnectionToWebProcess.h:
  • WebAuthnProcess/WebAuthnConnectionToWebProcess.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::JSMessageListener::didReceiveMessage):
(WebKit::IPCTestingAPI::JSMessageListener::willSendMessage):

LayoutTests:

done-ipc-fuzizng

Note: See TracTimeline for information about the timeline view.