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

Timeline



Aug 4, 2021:

8:31 PM Changeset in webkit [280680] by Wenson Hsieh
  • 3 edits in trunk/LayoutTests

Adjust editing/deleting/ios/backspace-last-character.html to check that pressing backspace deletes one character
https://bugs.webkit.org/show_bug.cgi?id=228806

Reviewed by Tim Horton.

Add test coverage for r280671 by augmenting an existing iOS editing test to verify that hitting backspace only
deletes a single character in a textarea.

  • editing/deleting/ios/backspace-last-character-expected.txt:
  • editing/deleting/ios/backspace-last-character.html:
8:15 PM Changeset in webkit [280679] by Diego Pino Garcia
  • 23 edits
    9 adds in trunk/LayoutTests

[WPE] Unreviewed test gardening. Update baselines after r280672.

  • platform/glib/fast/selectors/unqualified-hover-strict-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
  • platform/glib/media/video-playing-and-pause-expected.png:
  • platform/glib/media/video-playing-and-pause-expected.txt:
  • platform/glib/tables/mozilla/core/col_span-expected.txt:
  • platform/wpe/fast/selectors/unqualified-hover-strict-expected.png: Added.
  • platform/wpe/fast/text/text-letter-spacing-expected.png: Added.
  • platform/wpe/fast/text/text-letter-spacing-expected.txt:
  • platform/wpe/fast/text/wbr-expected.png: Added.
  • platform/wpe/fast/text/wbr-expected.txt:
  • platform/wpe/fast/text/whitespace/span-in-word-space-causes-overflow-expected.png: Added.
  • platform/wpe/fast/text/whitespace/span-in-word-space-causes-overflow-expected.txt:
  • platform/wpe/fast/text/word-break-expected.txt:
  • platform/wpe/http/wpt/webxr/xrSession_end_device_reports_shutdown.https-expected.txt:
  • platform/wpe/http/wpt/webxr/xrSession_ended_by_system.https-expected.txt:
  • platform/wpe/http/wpt/webxr/xrSession_reject_multiple_end.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/inheritance-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/mediaqueries/test_media_queries-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/webxr/render_state_vertical_fov_inline.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/webxr/xrFrame_lifetime.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/webxr/xrPose_transform_sameObject.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/webxr/xrStationaryReferenceSpace_floorlevel_updates.https-expected.txt:
  • platform/wpe/tables/mozilla/core/col_span-expected.png: Added.
  • platform/wpe/tables/mozilla/marvin/x_col_width_rel-expected.png: Added.
  • platform/wpe/tables/mozilla/marvin/x_col_width_rel-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_colgroup_width_rel-expected.png: Added.
  • platform/wpe/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
  • platform/wpe/tables/mozilla/other/ms-expected.txt:
7:53 PM Changeset in webkit [280678] by commit-queue@webkit.org
  • 7 edits in trunk/LayoutTests

LayoutTests/imported/w3c:
Update some WPT baselines after recent improvements.
https://bugs.webkit.org/show_bug.cgi?id=228804

Unreviewed test gardening. Update baseline after r279978.
This test is already marked as flaky on mac and iOS.

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-08-04

  • web-platform-tests/html/semantics/embedded-content/media-elements/error-codes/error-expected.txt:

LayoutTests:
[GLIB] Update some WPT baselines after recent improvements.
https://bugs.webkit.org/show_bug.cgi?id=228804

Update WPT test baselines after r279971, r279978, r279979, and r280310
to account for more passing tests.
Unreviewed test gardening.

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-08-04

  • platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
7:52 PM Changeset in webkit [280677] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Change WebSocket.cpp to @no-unify, since it’s hard to do that for someone without a Mac
https://bugs.webkit.org/show_bug.cgi?id=228808

Reviewed by Anders Carlsson.

  • Sources.txt: Add @no-unify.
  • WebCore.xcodeproj/project.pbxproj: Add WebSocket.cpp to the WebCore target.
7:46 PM Changeset in webkit [280676] by Devin Rousso
  • 3 edits in trunk/Source/WebCore

REGRESSION (r280374): ASSERTION FAILED: Completion handler should not be called more than once under WebCore::MediaControlsContextMenuProvider::contextMenuItemSelected
https://bugs.webkit.org/show_bug.cgi?id=228725
<rdar://problem/81437221>

Reviewed by Eric Carlson.

The contextmenu system used by (modern) media controls are a bit wonky in that it has to
support both macOS and iOS, which use wildly different mechanisms. The former has distinct
methods for handling when a contextmenu item is selected vs when the menu is dismissed (at
least as of r280374). The latter has a single method that handles both. Additionally, the
(modern) media controls JS expects the following from showMediaControlsContextMenu:

  1. showMediaControlsContextMenu will only return true if the contextmenu will be shown
  2. the callback provided to showMediaControlsContextMenu will always/only be invoked when the contextmenu is dismissed (regardless of whether an item is selected)
  3. if an item is selected, the logic for that will be handled by the MediaControlsHost

This patch primarily addresses #2, but also slightly adjusts the code to fix #1. It does #1
by moving the call that saves the callback further down. On iOS, #2 already works. On macOS,
it does #2 by changing from CompletionHandler to Function, allowing it to be called more
than once, with the understanding that the JS callback will not be invoked more than once.
This way, macOS can match the behavior of iOS by eagerly invoking the JS callback when a
contextmenu item is selected without waiting for the menu to actually dismiss, while still
handling the contextmenu being dismissed without an item being selected (and also not having
to worry about whether the CompletionHandler has already been invoked).

  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsContextMenuProvider::create):
(WebCore::MediaControlsContextMenuProvider::MediaControlsContextMenuProvider):
(WebCore::MediaControlsContextMenuProvider::didDismissContextMenu):
(WebCore::MediaControlsContextMenuProvider::contextMenuCleared):
(WebCore::MediaControlsHost::showMediaControlsContextMenu):

7:15 PM Changeset in webkit [280675] by Alan Coon
  • 1 copy in tags/Safari-612.1.26.1.3

Tag Safari-612.1.26.1.3.

7:05 PM Changeset in webkit [280674] by Alan Coon
  • 8 edits in branches/safari-612.1.26.1-branch/Source

Versioning.

WebKit-7612.1.26.1.3

6:32 PM Changeset in webkit [280673] by Alan Coon
  • 1 copy in tags/Safari-612.1.26.1.2

Tag Safari-612.1.26.1.2.

4:55 PM Changeset in webkit [280672] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Bifurcated RemoteLayerBackingStore zooms in every time it repaints
https://bugs.webkit.org/show_bug.cgi?id=228798

Reviewed by Sam Weinig.

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::display):
If applying the scale/flip workaround manually, we need to save the
GraphicsContext state, or it leaks between paints.

4:53 PM Changeset in webkit [280671] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION (r280492): Clicking backspace on sign in fields results in deleting two characters instead of one.
https://bugs.webkit.org/show_bug.cgi?id=228802

Patch by Dana Estra <destra@apple.com> on 2021-08-04
Reviewed by Tim Horton.

No tests yet.

  • page/EventHandler.cpp:

(WebCore::EventHandler::defaultKeyboardEventHandler):

4:47 PM Changeset in webkit [280670] by Jean-Yves Avenard
  • 5 edits in trunk/Source/WebKit

Use Observer in place of VideoFullscreenManagerProxyClient
https://bugs.webkit.org/show_bug.cgi?id=228761
rdar://problem/81489026

Reviewed by Jer Noble.

Use an Observer member rather than creating a child class that would be used
when the PiP state change. This prevents having to deal with lifetime and
potentially setting it up multiple times.
No change in observable behaviour, covered with existing tests.

  • UIProcess/Cocoa/VideoFullscreenManagerProxy.h: Remove VideoFullscreenManagerProxyClient

class. Use WeakHashSet to store observers.

  • UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:

(WebKit::VideoFullscreenManagerProxy::addVideoInPictureInPictureDidChangeObserver):
Method added, replace older setClient
(WebKit::VideoFullscreenManagerProxy::hasVideoInPictureInPictureDidChange):
Iterate over all observers and call accordingly.

  • UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:

(-[WKFullScreenWindowController initWithWebView:]): Remove no longer necessary
code.
(-[WKFullScreenWindowController dealloc]): Remove no longer necessary
code.
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
set PiP change observer if none already exists.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController initWithWindow:webView:page:]): Remove no longer necessary
code.
(-[WKFullScreenWindowController dealloc]): Remove no longer necessary
code.
(-[WKFullScreenWindowController clearVideoFullscreenManagerObserver]):
(-[WKFullScreenWindowController setVideoFullscreenManagerObserver]):
(-[WKFullScreenWindowController didExitPictureInPicture]):
(-[WKFullScreenWindowController windowDidEnterFullScreen:]):
(-[WKFullScreenWindowController windowDidFailToExitFullScreen:]):
(-[WKFullScreenWindowController windowDidExitFullScreen:]):

4:08 PM Changeset in webkit [280669] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

RemoteLayerBackingStore: Adopt a new bifurcated layer switch
https://bugs.webkit.org/show_bug.cgi?id=228800
<rdar://problem/81534641>

Reviewed by Sam Weinig.

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
Let CA know that we're going to hand it both a display list and
backing store ahead of time by setting a new bit.

3:53 PM Changeset in webkit [280668] by fpizlo@apple.com
  • 4 edits in trunk/Source/bmalloc

[libpas] medium size class lookup needs to correctly fence the counting lock read path
https://bugs.webkit.org/show_bug.cgi?id=228799

Reviewed by Tadeu Zagallo.

The medium size class lookup does a binary search on a data structure that may mutate; we
catch that using a counting lock. But the algorithm wasn't fencing the tail end; it's supposed
to reread the count at the end but that read was not fenced.

This adds the fencing using pas_depend. I confirmed that the disassembly does the right thing.
It adds very little code.

Also rebased a test. Libpas tests are very specific about memory usage in some cases, and so
sometimes you will encounter a test run that requires limits to be adjusted. This happens
because some tests can sometimes create very complex heap layouts that really do use more
memory than we asserted, but the assertion had always worked because the test never ran with
the "wrong" kind of layout. This fixes a one-off test failure I saw when debugging this fix.

  • libpas/src/libpas/pas_mutation_count.h:

(pas_mutation_count_matches_with_dependency):
(pas_mutation_count_matches): Deleted.

  • libpas/src/libpas/pas_segregated_heap.c:

(medium_directory_tuple_for_index_impl):
(medium_directory_tuple_for_index_with_lock):
(pas_segregated_heap_medium_directory_tuple_for_index):

  • libpas/src/test/ThingyAndUtilityHeapAllocationTests.cpp:

(std::addLargeHeapTests):

3:24 PM Changeset in webkit [280667] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ MacOS wk1 Release ] media/video-page-visibility-restriction.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=228801

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
3:10 PM Changeset in webkit [280666] by Robert Jenner
  • 2 edits in trunk/LayoutTests

REGRESSION: [ BigSur wk2 rosetta ] compositing/contents-scale/hidpi-compositing-layer-positioned-on-scaled-context.html is a flaky failure
<rdar://68957822>

Uneviewed test expectation removal.

  • platform/mac/TestExpectationsRosetta:
2:54 PM Changeset in webkit [280665] by Alan Coon
  • 8 edits in branches/safari-612.1.26.1-branch/Source

Versioning.

WebKit-7612.1.26.1.2

2:36 PM Changeset in webkit [280664] by Peng Liu
  • 18 edits in trunk

[Catalina][GPUP] Some API tests fail after GPU Process features are enabled
https://bugs.webkit.org/show_bug.cgi?id=228589

Reviewed by Jer Noble.

Source/WebCore:

When "Media in GPU Process" is enabled, AudioSession[IOS|Mac] runs in
the GPU process. HTMLMediaElement, which is an observer of audio session,
runs in a WebContent process. It cannot get its AudioSession's configuration
directly. We need a mechanism to "push" the latest audio session configuration
from the GPU process to the WebContent process.

This patch replaces the MutedStateObserver with an audio session configuration
change observer interface, so that an audio session will notify its observers
after changing its configurations, including buffer size, muted state, sample rate.
Currently, this observer interface is used on macOS only.

No new tests. Fix an API test failure.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::initializeMediaSession):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::hardwareMutedStateDidChange):

  • html/HTMLMediaElement.h:
  • platform/audio/AudioSession.cpp:

(WebCore::AudioSession::addConfigurationChangeObserver):
(WebCore::AudioSession::removeConfigurationChangeObserver):

  • platform/audio/AudioSession.h:
  • platform/audio/ios/AudioSessionIOS.h:

Move m_interruptionObservers to this class because only AudioSessionIOS
supports interruption observers.

  • platform/audio/mac/AudioSessionMac.h:
  • platform/audio/mac/AudioSessionMac.mm:

(WebCore::AudioSessionMac::handleSampleRateChange):
(WebCore::AudioSessionMac::handleSampleRateChange const):
(WebCore::AudioSessionMac::handleBufferSizeChange):
(WebCore::AudioSessionMac::handleBufferSizeChange const):
(WebCore::AudioSessionMac::sampleRate const):
(WebCore::AudioSessionMac::setPreferredBufferSize):
(WebCore::AudioSessionMac::handleMutedStateChange):
(WebCore::AudioSessionMac::addConfigurationChangeObserver):
(WebCore::AudioSessionMac::removeConfigurationChangeObserver):
(WebCore::AudioSessionMac::addMutedStateObserver): Deleted.
(WebCore::AudioSessionMac::removeMutedStateObserver): Deleted.

Source/WebKit:

When an audio session's configuration changes, let RemoteAudioSessionProxy
in the GPU process send the latest audio session configuration to RemoteAudioSession
in the WebContent process through an IPC message (RemoteAudioSession::ConfigurationChanged).

  • GPUProcess/media/RemoteAudioSessionProxy.cpp:

(WebKit::RemoteAudioSessionProxy::configurationChanged):

  • GPUProcess/media/RemoteAudioSessionProxy.h:
  • GPUProcess/media/RemoteAudioSessionProxyManager.cpp:

(WebKit::RemoteAudioSessionProxyManager::RemoteAudioSessionProxyManager):
(WebKit::RemoteAudioSessionProxyManager::~RemoteAudioSessionProxyManager):
(WebKit::RemoteAudioSessionProxyManager::beginAudioSessionInterruption):
(WebKit::RemoteAudioSessionProxyManager::endAudioSessionInterruption):
(WebKit::RemoteAudioSessionProxyManager::hardwareMutedStateDidChange):
(WebKit::RemoteAudioSessionProxyManager::bufferSizeDidChange):
(WebKit::RemoteAudioSessionProxyManager::sampleRateDidChange):
(WebKit::RemoteAudioSessionProxyManager::configurationDidChange):

  • GPUProcess/media/RemoteAudioSessionProxyManager.h:
  • WebProcess/GPU/media/RemoteAudioSession.cpp:

(WebKit::RemoteAudioSession::addConfigurationChangeObserver):
(WebKit::RemoteAudioSession::removeConfigurationChangeObserver):
(WebKit::RemoteAudioSession::configurationChanged):

  • WebProcess/GPU/media/RemoteAudioSession.h:
  • WebProcess/GPU/media/RemoteAudioSession.messages.in:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/AudioBufferSize.mm:

(TestWebKitAPI::TEST):

2:29 PM Changeset in webkit [280663] by Jonathan Bedard
  • 5 edits in trunk/Tools

[check-github-mirror-integrity] Store remote cache in checkout
https://bugs.webkit.org/show_bug.cgi?id=228792
<rdar://problem/81527357>

Reviewed by Aakash Jain.

  • Scripts/check-github-mirror-integrity: Use the local checkout to store the svn.webkit.org, if possible.
  • Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:

(Svn.init): Allow caller to define cache path.
(Svn._cache_path): Deleted.

2:22 PM Changeset in webkit [280662] by Russell Epstein
  • 8 edits in branches/safari-612.1.27.0-branch/Source

Versioning.

WebKit-7612.1.27.0.1

2:19 PM Changeset in webkit [280661] by Russell Epstein
  • 1 copy in branches/safari-612.1.27.2-branch

New branch.

2:18 PM Changeset in webkit [280660] by Russell Epstein
  • 1 copy in branches/safari-612.1.27.3-branch

New branch.

2:17 PM Changeset in webkit [280659] by Yijia Huang
  • 2 edits in trunk/Source/JavaScriptCore

[ARM64] Fix Zoom black screen during video meeting on Safari
https://bugs.webkit.org/show_bug.cgi?id=228776

Reviewed by Saam Barati.

The problem (rdar://81434487) reports that Zoom turns to a black screen during the video
meeting on Safari. The reproduction of this problem is verified and bisected to the previous patch
(https://bugs.webkit.org/show_bug.cgi?id=228057). Previously, we introduce a pattern
matching for instruction EON-with-shift on ARM64, where the pattern is d = n ((m ShiftType amount) -1).

x = m ShiftType amount
y = x -1
z = n
y

We check canBeInternal() on x but not on y based on the computing cost analysis in that patch,
which is totally wrong. If the pattern matching is triggered, then the compiler would not emit
the corresponding Air of x after lowering, leading to data corruption or system crash since y
depends on x.

In the real world example (Zoom video meeting), we find the B3 IR:

...
Int32 b@528 = SShr(b@526, $31(b@527), Wasm: {opcode: I32ShrS, location: 0x26b})
Int32 b@529 = BitXor(b@528, $-1(b@144), Wasm: {opcode: I32Xor, location: 0x26e})
...
Int32 b@551 = BitXor(b@446, b@529, Wasm: {opcode: I32Xor, location: 0x28e})
...

After Lowering to Air:

...
Not32 %fp, %x2, b@529
...
XorNotRightShift32 %tmp199, %tmp211, $31, %tmp209, b@551
...

Since the implementation of the previous patch does commitInternal() on b@528, the operand of
b@529 turns to a frame pointer. To resolve this problem, we should either check canBeInternal()
on both b@528 and b@529 or not at all.

  • b3/B3LowerToAir.cpp:
2:06 PM Changeset in webkit [280658] by Russell Epstein
  • 1 copy in branches/safari-612.1.27.0-branch

New branch.

2:03 PM Changeset in webkit [280657] by Russell Epstein
  • 1 copy in tags/Safari-612.1.27

Tag Safari-612.1.27.

1:54 PM Changeset in webkit [280656] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ MacOS ] webaudio/silent-audio-interrupted-in-background.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=228796

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
1:44 PM Changeset in webkit [280655] by Jonathan Bedard
  • 2 edits in trunk/Tools

[check-github-mirror-integrity] Compare current time to canonical time
https://bugs.webkit.org/show_bug.cgi?id=228787
<rdar://problem/81524499>

Reviewed by Aakash Jain.

  • Scripts/check-github-mirror-integrity: If the mirror isn't in line with the canonical repository, we should

check against the current time, not the time of last commit on the mirror.

1:28 PM Changeset in webkit [280654] by magomez@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK][WPE] Elliptic radial gradients are not working
https://bugs.webkit.org/show_bug.cgi?id=228771

Reviewed by Žan Doberšek.

Transform the radial circular gradients using the aspect ratio to convert
them into the appropriate elliptic gradients.

  • platform/graphics/cairo/GradientCairo.cpp:

(WebCore::Gradient::createPattern):

1:20 PM Changeset in webkit [280653] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Crash in DisplayLink::notifyObserversDisplayWasRefreshed() on macOS
https://bugs.webkit.org/show_bug.cgi?id=228790
<rdar://81338621>

Reviewed by Tim Horton.

Defend against DisplayLink::nominalFramesPerSecondFromDisplayLink() returning zero,
which can result in a later divide by zero in m_currentUpdate.nextUpdate().

  • UIProcess/mac/DisplayLink.cpp:

(WebKit::DisplayLink::nominalFramesPerSecondFromDisplayLink):

12:43 PM Changeset in webkit [280652] by Said Abou-Hallawa
  • 2 edits in trunk/Source/WebKit

[GPUProcess] REGRESSION: A noticeable slow down when browsing Live Photos album on iCloud.com
https://bugs.webkit.org/show_bug.cgi?id=228673
<rdar://81353138>

Reviewed by Wenson Hsieh.

RemoteImageBufferProxy::flushDrawingContext() assumes a FlushContext item
is always appended to its DisplayList when it calls flushDrawingContextAsync()
and this is why it waits up to 3 seconds for the DidFlush message. But this
does not happen if the DisplayList of RemoteImageBufferProxy is empty.

In addition to checking whether the DisplayList is empty, we can check also
whether we do not have pending a FlushContext item before appending a new
one.

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
12:37 PM Changeset in webkit [280651] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

[Cocoa] Tweak the formatting for passing NSArrays to TextStreams
https://bugs.webkit.org/show_bug.cgi?id=228766

Reviewed by Simon Fraser.

Source/WTF:

Instead of using -[NSArray description], which puts its output on multiple lines,
instead use the same formatting as WTF::Vector, which puts its output on a single line.

We can also use this opportunity to tweak the implementation of operator<<(id) to
allow it to be called with Core Foundation types in raw C++ code.

  • wtf/text/TextStream.h:
  • wtf/text/cocoa/TextStreamCocoa.mm:

(WTF::TextStream::operator<<):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/cocoa/TextStreamCocoa.cpp: Added.

(TEST):

  • TestWebKitAPI/Tests/WTF/cocoa/TextStreamCocoa.mm: Added.

(TEST):

12:24 PM Changeset in webkit [280650] by commit-queue@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

Unreviewed, reverting r280609.
https://bugs.webkit.org/show_bug.cgi?id=228791

Broke JSC tests on iOS.

Reverted changeset:

"[ARM64] Use link register instead of pinning a register for
materializing big load constants"
https://bugs.webkit.org/show_bug.cgi?id=228710
https://commits.webkit.org/r280609

11:59 AM Changeset in webkit [280649] by Chris Dumez
  • 4 edits in trunk/LayoutTests

REGRESSION (r280541): [ BigSur Debug ] accessibility/roles-computedRoleString.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=228744
<rdar://problem/81472432>

Unreviewed, the test's JS was getting in some sort of infinite loop. Tweak the code a bit
so that it keeps running without infinite looping.

  • accessibility/roles-computedRoleString.html:
  • platform/mac/TestExpectations:
  • platform/mac/accessibility/roles-computedRoleString-expected.txt:
11:55 AM Changeset in webkit [280648] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

REGRESSION(?): subtitle text sizing is sometimes inconsistent
https://bugs.webkit.org/show_bug.cgi?id=228786
<rdar://problem/80525509>

Reviewed by Eric Carlson.

Tested manually. I'm still not 100% sure of the root cause of this, but after talking with
some folks more familiar with WebKit's media "stack" it seems like this only happens with
in-band non-VTT subtitle tracks that have their own styling. The fix is also pretty obvious.

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::setFontSize):
We should still pass along the new font size (and bool important) even if we don't have a
display tree yet, as the font size (and bool important) are used when the display tree is
created, meaning that we shouldn't have to wait for another setFontSize call after the
display tree is created in order to update the font size.

11:44 AM Changeset in webkit [280647] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

[iOS 15] "Look Up" action is sometimes missing after force pressing images
https://bugs.webkit.org/show_bug.cgi?id=228774
rdar://78040734

Reviewed by Devin Rousso.

On iOS devices that support both 3D Touch and Visual Look Up (i.e., iPhone XS and iPhone XS Max), it's currently
possible to skip the image analysis preflight gesture entirely when showing the context menu over images in the
case where the user triggers the interaction by exceeding the force press threshold in under 100 ms (the current
delay of the image analysis long press gesture).

Mitigate this by teaching WKImageAnalysisGestureRecognizer to trigger image analysis preflight slightly ahead of
the context menu interaction when performing a force press by transitioning to Began state early under
-touchesBegan:withEvent: and -touchesMoved:withEvent:, if the touch's force exceeds a certain (relatively
low) threshold.

  • UIProcess/ios/WKImageAnalysisGestureRecognizer.mm:

(-[WKImageAnalysisGestureRecognizer touchesBegan:withEvent:]):
(-[WKImageAnalysisGestureRecognizer touchesMoved:withEvent:]):
(-[WKImageAnalysisGestureRecognizer beginAfterExceedingForceThresholdIfNeeded:]):

11:39 AM Changeset in webkit [280646] by commit-queue@webkit.org
  • 9 edits
    3 adds in trunk

Unreviewed, reverting r280630.
https://bugs.webkit.org/show_bug.cgi?id=228788

broke some downstream tests

Reverted changeset:

"fast/canvas/canvas-crash.html doesn't test what it intends to
on iOS"
https://bugs.webkit.org/show_bug.cgi?id=228747
https://commits.webkit.org/r280630

11:29 AM Changeset in webkit [280645] by commit-queue@webkit.org
  • 7 edits in trunk/LayoutTests

[GLIB] Unreviewed test gardening, update baselines after r280017
https://bugs.webkit.org/show_bug.cgi?id=228783

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-08-04

  • platform/glib/fast/multicol/client-rects-expected.txt:
  • platform/glib/fast/multicol/client-rects-spanners-complex-expected.txt:
  • platform/glib/fast/multicol/client-rects-spanners-expected.txt:
  • platform/glib/fast/multicol/newmulticol/client-rects-expected.txt:
  • platform/gtk/fast/multicol/client-rects-expected.png:
  • platform/gtk/fast/multicol/newmulticol/client-rects-expected.png:
11:28 AM Changeset in webkit [280644] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS] Update message filters
https://bugs.webkit.org/show_bug.cgi?id=228773
<rdar://problem/81514311>

Reviewed by Brent Fulgham.

Update message filters with enforcement on macOS based on telemetry.

  • WebProcess/com.apple.WebProcess.sb.in:
11:02 AM Changeset in webkit [280643] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Use fast malloc for RuleData vectors
https://bugs.webkit.org/show_bug.cgi?id=228770

Reviewed by Chris Dumez.

Revert the change that enabled probabilistic guard malloc as it is not needed anymore.

  • style/RuleFeature.h:
  • style/RuleSet.h:
11:01 AM Changeset in webkit [280642] by Russell Epstein
  • 10 edits
    2 deletes in branches/safari-612.1-branch/Source/WebCore

Revert r280492. rdar://problem/81522050

11:01 AM Changeset in webkit [280641] by Russell Epstein
  • 2 edits in branches/safari-612.1-branch/Source/WebCore

Revert r280501. rdar://problem/81522050

10:58 AM Changeset in webkit [280640] by Jonathan Bedard
  • 7 edits
    1 copy
    2 adds in trunk/Tools

[webkitcorepy] Add shared terminal input code
https://bugs.webkit.org/show_bug.cgi?id=226024
<rdar://problem/78261645>

Reviewed by Dewei Zhu.

  • Scripts/libraries/webkitcorepy/setup.py: Bump version.
  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Export Terminal object, bump version.
  • Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:

(credentials): Use Terminal.input.

  • Scripts/libraries/webkitcorepy/webkitcorepy/mocks/init.py:
  • Scripts/libraries/webkitcorepy/webkitcorepy/mocks/terminal.py: Added.

(Terminal):
(Terminal.input): Mocking input and raw_input requires so specialized knowledge,
so we should generalize it.

  • Scripts/libraries/webkitcorepy/webkitcorepy/terminal.py: Added.

(Terminal):
(Terminal.input): Python 2/3 compatible input function.
(Terminal.choose): Generic multiple-choice input prompt.

  • Scripts/libraries/webkitcorepy/webkitcorepy/tests/terminal_unittest.py: Added.

(TerminalTests):
(TerminalTests.test_choose_basic):
(TerminalTests.test_choose_strict):
(TerminalTests.test_choose_default):
(TerminalTests.test_choose_triple):
(TerminalTests.test_choose_number):

  • Scripts/webkitpy/common/system/user.py:

(User.prompt): Use Terminal.input.
(User.prompt_with_multiple_lists): Ditto.
(User.prompt_with_list): Ditto.
(User.confirm): Ditto.

  • Scripts/webkitpy/common/system/user_mock.py:

(MockUser.prompt): Use Terminal.input.
(MockUser.prompt_with_list): Ditto.

10:43 AM Changeset in webkit [280639] by Said Abou-Hallawa
  • 3 edits in trunk/Source/WebKit

[GPU Process] REGRESSION: iCloud Photos Web app may crash WebProcess once the GPUProcess is relaunched
https://bugs.webkit.org/show_bug.cgi?id=228665

Reviewed by Simon Fraser.

When the GPUProcess is relaunched, ensure NativeImage is detached from
the RemoteResourceCacheProxy once it is removed from its m_nativeImages.

Otherwise the NativeImage later will ask RemoteResourceCacheProxy to
release its corresponding NativeImage from RemoteResourceCache even
though it was destroyed when the GPUProcess was relaunched.

  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:

(WebKit::RemoteResourceCacheProxy::~RemoteResourceCacheProxy):
(WebKit::RemoteResourceCacheProxy::clearNativeImageMap):
(WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed):

  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:
10:39 AM Changeset in webkit [280638] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Reduce Vector<> wasted capacity in some RuleSet code
https://bugs.webkit.org/show_bug.cgi?id=224160
<rdar://problem/76369555>

Unreviewed, reverting revert r279242.

Reland as this was not related to the crashes seen.

  • style/RuleSet.cpp:

(WebCore::Style::RuleSet::addRulesFromSheet):
(WebCore::Style::RuleSet::evaluateDynamicMediaQueryRules):
(WebCore::Style::shrinkDynamicRules):
(WebCore::Style::RuleSet::shrinkToFit):

  • style/RuleSet.h:
10:33 AM Changeset in webkit [280637] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GLIB] Mark mhtml tests as flaky. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=228778

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2021-08-04

  • platform/glib/TestExpectations:
9:46 AM Changeset in webkit [280636] by Ayumi Kojima
  • 2 edits in trunk/LayoutTests

[ BigSur Debug ] accessibility/roles-computedRoleString.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=228744

Unreviewed test gardening.

  • platform/mac/TestExpectations:
8:43 AM Changeset in webkit [280635] by Andres Gonzalez
  • 2 edits in trunk/Tools

Add contributor to accessibility watchlist.
https://bugs.webkit.org/show_bug.cgi?id=228775

Reviewed by Chris Fleizach.

  • Scripts/webkitpy/common/config/watchlist: Added Andres Gonzalez to accessibility watchlist.
8:37 AM Changeset in webkit [280634] by Ayumi Kojima
  • 3 edits in trunk/LayoutTests

Removed testexpectations from iPad and updated them in ios-wk2 for 3 editing/pasteboard/smart-paste-paragraph tests.
https://bugs.webkit.org/show_bug.cgi?id=228285

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/ipad/TestExpectations:
7:04 AM Changeset in webkit [280633] by Andres Gonzalez
  • 8 edits
    2 adds in trunk

Add support for aria-selected value changes in table cells.
https://bugs.webkit.org/show_bug.cgi?id=228756
<rdar://problem/81483071>

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/selected-state-changed-notifications.html

  • Added the AXSelectedStateChangedNotification to notify AX clients that

the selected state of an object has changed.

  • This notification is used in this patch for aria-selected value

changes in table cells.

  • accessibility/AXLogger.cpp:

(WebCore::operator<<):

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::selectedStateChanged):
(WebCore::AXObjectCache::handleAttributeChange):

  • accessibility/AXObjectCache.h:
  • accessibility/ios/AXObjectCacheIOS.mm:

(WebCore::AXObjectCache::notificationPlatformName):

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::postPlatformNotification):

LayoutTests:

  • accessibility/selected-state-changed-notifications-expected.txt: Added.
  • accessibility/selected-state-changed-notifications.html: Added.
5:57 AM Changeset in webkit [280632] by Martin Robinson
  • 3 edits in trunk/Source/WebCore

Add a HashTraits implementation for LayoutUnit
https://bugs.webkit.org/show_bug.cgi?id=228630

Reviewed by Fujii Hironori.

No new tests. This should not change behavior in an easily-observable way, but
could prevent rare hashing problems in the future.

  • page/scrolling/ScrollSnapOffsetsInfo.cpp:

(WebCore::updateSnapOffsetsForScrollableArea): Use LayoutUnit as the hash, which avoids
and extra conversion to float.

  • platform/LayoutUnit.h: Add a HashTraits implementation for LayoutUnit.
3:57 AM Changeset in webkit [280631] by cathiechen
  • 5 edits in trunk

REGRESSION (r277997) Images get stretched with aspect-ratio and max-width: x%
https://bugs.webkit.org/show_bug.cgi?id=228076

Reviewed by Antti Koivisto.

Source/WebCore:

The image get stretched because constrainLogicalWidthInFragmentByMinMax returns the intrinsic width while computing MinSize.
According to [1], the box's minimum width is its min-content size not the MinIntrinsic width which is used because of
the recursion. To break the recursion, computeIntrinsicLogicalWidthUsing calls computeLogicalWidthFromAspectRatioInternal instead,
then checks children's width.

[1] https://www.w3.org/TR/css-sizing-4/#aspect-ratio-minimum

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::constrainLogicalWidthInFragmentByMinMax const): If shouldComputeLogicalWidthFromAspectRatio,
the length should be treated as MinContent not MinIntrinsic.
(WebCore::RenderBox::computeIntrinsicLogicalWidthUsing const): To break the loop, call computeLogicalWidthFromAspectRatioInternal instead
to get the width from aspect-ratio and if there is child, make sure the min/max logical width not less than content's width.
(WebCore::RenderBox::computeLogicalWidthFromAspectRatioInternal const):
(WebCore::RenderBox::computeLogicalWidthFromAspectRatio const):

  • rendering/RenderBox.h:

LayoutTests:

2:40 AM Changeset in webkit [280630] by timothy_horton@apple.com
  • 9 edits
    1 delete in trunk

fast/canvas/canvas-crash.html doesn't test what it intends to on iOS
https://bugs.webkit.org/show_bug.cgi?id=228747

Reviewed by Simon Fraser.

Source/WebCore:

The test fast/canvas/canvas-crash.html intends to test changes made
to actual canvas code (see r215632); however, on the iOS simulator
the test doesn't even manage to make a canvas context because of
"maximum area" and "maximum backing store size" limits, which differ
per-platform. This results in unique test results for iOS, as well
as the test not actually exercising the code it was intended to.

Fix this by adding an override for the maximum area limit (we already
had one for maximum backing store size), and overriding them in
this test (and another similarly afflicted test).

  • html/HTMLCanvasElement.cpp:

(WebCore::maxCanvasArea):
(WebCore::HTMLCanvasElement::setMaxCanvasAreaForTesting):
(WebCore::HTMLCanvasElement::createImageBuffer const):

  • html/HTMLCanvasElement.h:
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setMaxCanvasArea):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • fast/canvas/canvas-crash.html:
  • fast/canvas/canvas-skia-excessive-size.html:
  • platform/ios-simulator/fast/canvas/canvas-crash-expected.txt: Removed.
  • platform/ios-simulator/fast/canvas/canvas-skia-excessive-size-expected.txt: Removed.

Delete the iOS-specific results, and adopt the new overrides in these two tests.

1:19 AM Changeset in webkit [280629] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Add missing null-check in Touch constructor
https://bugs.webkit.org/show_bug.cgi?id=228231

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-08-04
Reviewed by Darin Adler.

  • dom/Touch.cpp:

(WebCore::scaledLocation): Helper to initialize absolutePosition.
(WebCore::Touch::Touch): Use scaledLocation().

Aug 3, 2021:

10:36 PM Changeset in webkit [280628] by Jean-Yves Avenard
  • 2 edits in trunk/Source/WebKit

REGRESSION (r280568): ASSERTION FAILED: videoFullscreenManager->client() == &_videoFullscreenManagerProxyClient
https://bugs.webkit.org/show_bug.cgi?id=228740
rdar://problem/81464301

Reviewed by Jer Noble.

Fix assertion to reflect that the code can be code in two ways.
This will all go away following bug 228761.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController setVideoFullscreenManagerClient:]):

9:49 PM Changeset in webkit [280627] by Alexey Shvayka
  • 10 edits in trunk

ReadableStream's pipeTo() and pipeThrough() don't properly check for AbortSignal
https://bugs.webkit.org/show_bug.cgi?id=227693

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

  • web-platform-tests/streams/piping/abort.any-expected.txt:
  • web-platform-tests/streams/piping/abort.any.worker-expected.txt:
  • web-platform-tests/streams/piping/pipe-through.any-expected.txt:
  • web-platform-tests/streams/piping/pipe-through.any.worker-expected.txt:

Source/WebCore:

This patch introduces @isAbortSignal global private function to replace instanceof
checks that a) were false positive for Object.create(AbortSignal.prototype) and
b) observably performed GetPrototypeOf and Symbol.hasInstance lookup / call.

Aligns WebKit with Blink and the spec (https://heycam.github.io/webidl/#implements).

Test: imported/w3c/web-platform-tests/streams/piping/abort.any.js

  • Modules/streams/ReadableStream.js:

(pipeThrough):
(pipeTo):

  • Modules/streams/ReadableStreamInternals.js:

(readableStreamPipeToWritableStream):

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSC_DEFINE_HOST_FUNCTION):
(WebCore::JSDOMGlobalObject::addBuiltinGlobals):

  • bindings/js/WebCoreBuiltinNames.h:
6:37 PM Changeset in webkit [280626] by commit-queue@webkit.org
  • 6 edits in trunk

Add functions for parsing URL query string
https://bugs.webkit.org/show_bug.cgi?id=228122

Patch by Risul Islam <risul_islam@apple.com> on 2021-08-03
Reviewed by Darin Adler.

Source/WTF:

Added parsing of URL query strings.

  • wtf/KeyValuePair.h:

(WTF::operator== const):

  • wtf/URL.cpp:

(WTF::URL::differingQueryParameters):
(WTF::lengthOfURLIgnoringQueryAndFragments):
(WTF::URL::isEqualIgnoringQueryAndFragments):
(WTF::URL::removeQueryParameters):

  • wtf/URL.h:

Tools:

Added the test functions required for parsing URL query string.

  • TestWebKitAPI/Tests/WTF/URL.cpp:

(TestWebKitAPI::TEST_F):

6:23 PM Changeset in webkit [280625] by Lauro Moura
  • 2 edits
    4 deletes in trunk/LayoutTests

[WPE] Remove deprecated color-scheme baselines and expectations

Unreviewed test gardening.

  • platform/glib/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-attribute-changes-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-empty-content-value-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-first-valid-applies-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-insert-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-no-content-value-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-presentational-hint-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-remove-head-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-body-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-head-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/meta/meta-color-scheme-single-value-in-shadow-tree-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-computed-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-invalid-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-color-adjust/parsing/color-scheme-valid-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/mediaqueries/prefers-color-scheme-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-attribute-changes-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-empty-content-value-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-first-valid-applies-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-insert-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-no-content-value-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-presentational-hint-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-remove-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-remove-head-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-single-value-in-body-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-single-value-in-head-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/color-scheme/meta-color-scheme-single-value-in-shadow-tree-expected.txt: Removed.
6:10 PM Changeset in webkit [280624] by Ryan Haddad
  • 12 edits
    1 delete in trunk

Unreviewed, reverting r280531 and r280589.

caused

Reverted changesets:

"[Cocoa] Remove support for AVAssetImageGenerator"
https://bugs.webkit.org/show_bug.cgi?id=228560
https://commits.webkit.org/r280531

"REGRESSION (r280531): multiple modern-media-controls tests
have become flaky timeouts"
https://bugs.webkit.org/show_bug.cgi?id=228714
https://commits.webkit.org/r280589

5:02 PM Changeset in webkit [280623] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Null check self.session after calling _cancel instead of before
https://bugs.webkit.org/show_bug.cgi?id=228757
<rdar://79224868>

Patch by Alex Christensen <achristensen@webkit.org> on 2021-08-03
Reviewed by Geoffrey Garen.

_cancel already null checks self.session before using it.
It seems to be setting self.session to null after the null check, so move the null check to before we use it.
This should fix an occasional crash during teardown.

  • platform/network/cocoa/WebCoreNSURLSession.mm:

(-[WebCoreNSURLSessionDataTask _restart]):

4:40 PM Changeset in webkit [280622] by Jonathan Bedard
  • 2 edits in trunk/Tools

[webkitpy] Handle case where no existing simulators are defined
https://bugs.webkit.org/show_bug.cgi?id=228758
<rdar://problem/81484040>

Reviewed by Ryan Haddad.

  • Scripts/webkitpy/xcode/simulated_device.py:

(SimulatedDeviceManager._disambiguate_device_type): If there are no available devices,
find the newest device identifier which matches the requested type.

4:14 PM Changeset in webkit [280621] by Jonathan Bedard
  • 2 edits in trunk/Tools

[build.webkit.org] Simulator temp files filling up disk (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=228335
<rdar://problem/81171840>

Reviewed by Ryan Haddad.

  • CISupport/kill-old-processes:

(main): Use tempdir environment variable, link to underlying bug.

3:52 PM Changeset in webkit [280620] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

[iOS] Allow check for nvram "emu" state on internal OS builds
https://bugs.webkit.org/show_bug.cgi?id=228745
<rdar://problem/78363040>

Reviewed by Per Arne Vollan.

Allow access to the 'emu' nvram variable when running on an Apple Internal OS build. This
reduces spurious sandbox violation reports, and improves the performance of test systems.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
3:23 PM Changeset in webkit [280619] by jer.noble@apple.com
  • 4 edits in trunk/Tools

WebKitTestRunner should dump current results in the case of a timeout
https://bugs.webkit.org/show_bug.cgi?id=228706
<rdar://79154019>

Reviewed by Jonathan Bedard.

When WKTR encounters a timeout, it current prints a "PID UNRESPONSIVE" and "FAIL: timed out" message,
but the WebContent process may not actually be unresponsive; it may just be waiting for an event
which hasn't fired, or a condition to become true. In these cases, it would be very helpful to see
the results of the test so far, so as to diagnose what is keeping the test from running to completion.

When, in the WKTR process, TestInvocation's "waitToDumpWatchdogTimer" fires, first try sending a message
to the InjectedBundle, requesting it to "ForceImmediateCompletion". Only if this message fails to be
acted upon will WKTR print the "PID UNRESPONSIVE" message.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didReceiveMessageToPage):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::TestInvocation):
(WTR::TestInvocation::waitToDumpWatchdogTimerFired):
(WTR::TestInvocation::initializeWaitForPostDumpWatchdogTimerIfNeeded):
(WTR::TestInvocation::invalidateWaitForPostDumpWatchdogTimer):
(WTR::TestInvocation::waitForPostDumpWatchdogTimerFired):
(WTR::TestInvocation::done):

  • WebKitTestRunner/TestInvocation.h:
3:17 PM Changeset in webkit [280618] by Jonathan Bedard
  • 2 edits in trunk/Tools

[webkitpy] Narrow set of terminated simulator processes
https://bugs.webkit.org/show_bug.cgi?id=228752
<rdar://problem/81479508>

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/xcode/simulated_device.py:

(SimulatedDeviceManager.initialize_devices): Only check Simulator.app.
(SimulatedDeviceManager.tear_down): Only kill Simulator.app processes.
(SimulatedDevice._delete): Print error if simctl delete fails, but continue.

3:11 PM Changeset in webkit [280617] by Eric Hutchison
  • 2 edits in trunk/LayoutTests

Re-baseline imported/w3c/web-platform-tests/html/dom/idlharness.https.html.
https://bugs.webkit.org/show_bug.cgi?id=228198.

Unreviewed re-baseline.

  • platform/ipad/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
1:54 PM Changeset in webkit [280616] by Russell Epstein
  • 4 edits in branches/safari-612.1-branch/Source

Cherry-pick r280603. rdar://problem/81473647

[Live Text] [iOS] Provide a presenting UIViewController for machine readable code actions so that they are related to the same view
https://bugs.webkit.org/show_bug.cgi?id=228722

Reviewed by Tim Horton.

Source/WebCore/PAL:

  • pal/spi/cocoa/VisionKitCoreSPI.h:

Source/WebKit:

  • UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _updateContextMenuForMachineReadableCodeForImageAnalysis:]): Added. (-[WKContentView imageAnalysisGestureDidBegin:]): (-[WKContentView imageAnalysisGestureDidTimeOut:]):

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

1:54 PM Changeset in webkit [280615] by Russell Epstein
  • 2 edits in branches/safari-612.1-branch/Source/WebCore

Cherry-pick r280591. rdar://problem/81471312

Update FirstWithDOMWindowReuseRestriction linked-on-or-after check to latest MacOS/iOS betas
https://bugs.webkit.org/show_bug.cgi?id=228736
<rdar://81419036>

Reviewed by Chris Dumez.

  • platform/cocoa/VersionChecks.h: Delay enabling new behavior to MacOS 12 and iOS 15 SDK since new behavior is enabled for those OS versions.

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

1:54 PM Changeset in webkit [280614] by Russell Epstein
  • 2 edits in branches/safari-612.1-branch/Source/WebCore

Cherry-pick r280589. rdar://problem/81471336

REGRESSION (r280531): multiple modern-media-controls tests have become flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=228714
<rdar://problem/81426715>

Reviewed by Eric Carlson.

Update preferredRenderingMode() to reflect what setUpVideoRendering() actually does: use
MediaRenderingToContext whenever possible. This will cause setUpVideoRendering() to be
called from updateStates() to create the context, even if the element has been marked as
!isVisible() by RenderVideo upon removal from the DOM.

Also, in renderingModeChanged(), don't attempt to deduce whether scheduleUpdateStates()
should be called; just call it universally.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode const): (WebCore::MediaPlayerPrivateAVFoundation::renderingModeChanged):

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

1:54 PM Changeset in webkit [280613] by Russell Epstein
  • 4 edits in branches/safari-612.1-branch/Source/WebCore

Cherry-pick r280587. rdar://problem/81473679

Crash in webgl/1.0.x/conformance/textures/misc/texture-with-flip-y-and-premultiply-alpha.html
https://bugs.webkit.org/show_bug.cgi?id=223920
<rdar://problem/76261913>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-08-03
Reviewed by Kenneth Russell.

After enabling WEBGL_depth_texture, the getDataFormat would assert for case of
format == RGBA, type == UNSIGNED_SHORT. UNSIGNED_SHORT is intended for
format == DEPTH_COMPONENT.

Instead, return error if the data conversion cannot be done. This is better in all
cases than doing non-expected data conversion in release build and assertion in
debug builds.

Tested by webgl/1.0.x/conformance/textures/misc/texture-with-flip-y-and-premultiply-alpha.html
(disabled for now).

  • html/canvas/WebGLRenderingContextBase.cpp: (WebCore::WebGLRenderingContextBase::texImageArrayBufferViewHelper):
  • platform/graphics/GraphicsContextGL.cpp: (WebCore::getDataFormat): (WebCore::packPixels): (WebCore::GraphicsContextGL::extractTextureData):
  • platform/graphics/GraphicsContextGL.h:

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

1:37 PM Changeset in webkit [280612] by Russell Epstein
  • 1 copy in branches/safari-612.1-branch

New branch.

1:36 PM Changeset in webkit [280611] by timothy_horton@apple.com
  • 16 edits in trunk/Source/WebKit

Remove unused processDidTransitionTo{Foreground,Background} IPC
https://bugs.webkit.org/show_bug.cgi?id=228328

Reviewed by Wenson Hsieh.

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::processDidTransitionToForeground): Deleted.
(WebKit::GPUProcess::processDidTransitionToBackground): Deleted.

  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::processDidTransitionToForeground): Deleted.
(WebKit::NetworkProcess::processDidTransitionToBackground): Deleted.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformProcessDidTransitionToBackground): Deleted.
(WebKit::NetworkProcess::platformProcessDidTransitionToForeground): Deleted.

  • NetworkProcess/curl/NetworkProcessCurl.cpp:

(WebKit::NetworkProcess::platformProcessDidTransitionToForeground): Deleted.
(WebKit::NetworkProcess::platformProcessDidTransitionToBackground): Deleted.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformProcessDidTransitionToForeground): Deleted.
(WebKit::NetworkProcess::platformProcessDidTransitionToBackground): Deleted.

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::updateProcessAssertion):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::updateProcessAssertion):

  • UIProcess/WebAuthentication/WebAuthnProcessProxy.cpp:

(WebKit::WebAuthnProcessProxy::updateProcessAssertion):

  • WebAuthnProcess/WebAuthnProcess.cpp:

(WebKit::WebAuthnProcess::processDidTransitionToForeground): Deleted.
(WebKit::WebAuthnProcess::processDidTransitionToBackground): Deleted.

  • WebAuthnProcess/WebAuthnProcess.h:
  • WebAuthnProcess/WebAuthnProcess.messages.in:

These messages do nothing.

1:29 PM Changeset in webkit [280610] by timothy_horton@apple.com
  • 2 edits
    1 delete in trunk/LayoutTests

fast/dom/navigator-iOS-userAgent.html fails on iPad because the platform is not "iPhone" or "iPad"
https://bugs.webkit.org/show_bug.cgi?id=228750

Reviewed by Dean Jackson.

  • fast/dom/navigator-iOS-userAgent.html:
  • platform/ipad/fast/dom/navigator-iOS-userAgent-expected.txt: Removed.

This test fails on iPad in the default configuration because navigator.platform is MacIntel
due to desktop-class browsing. To maintain previous behavior of the test, revert to mobile mode.
This lets us delete the iPad-specific results.
Also, fix a typo in the variable names.

1:26 PM Changeset in webkit [280609] by Yijia Huang
  • 6 edits in trunk/Source/JavaScriptCore

[ARM64] Use link register instead of pinning a register for materializing big load constants
https://bugs.webkit.org/show_bug.cgi?id=228710

Reviewed by Mark Lam.

Previously, we pin a register as a temp for materializing a large constant that cannot fit in
Load/Store imm form. This is not efficient since the register allocator has one less register
to allocate from. To solve this problem, we should switch to using the link register as the temp
on ARM64.

  • b3/B3Common.cpp:

(JSC::B3::linkRegister):
(JSC::B3::pinnedExtendedOffsetAddrRegister): Deleted.

  • b3/B3Common.h:
  • b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp:

(JSC::B3::Air::callFrameAddr):

  • b3/air/AirCode.cpp:

(JSC::B3::Air::Code::Code):

  • b3/air/AirLowerStackArgs.cpp:

(JSC::B3::Air::lowerStackArgs):

1:04 PM Changeset in webkit [280608] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

[ iPad ] fast/dom/collection-iterators.html fails
https://bugs.webkit.org/show_bug.cgi?id=228657

Unreviewed rebaseline.

  • platform/ipad/fast/dom/collection-iterators-expected.txt:

Actually land the expected file, not a diff like in r280494.

12:27 PM Changeset in webkit [280607] by Lauro Moura
  • 4 edits in trunk/LayoutTests

[GLIB] Garden some passing tests

Unreviewed test gardening.

Covering latest WPE expected to fail but passing tests.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
12:24 PM Changeset in webkit [280606] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Fix sandbox violation in GPU process
https://bugs.webkit.org/show_bug.cgi?id=228743
<rdar://problem/81334849>

Reviewed by Brent Fulgham.

Allow reading "hw.product" in the GPU process' sandbox.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
12:15 PM Changeset in webkit [280605] by fpizlo@apple.com
  • 3 edits in trunk/Source/bmalloc

pas_segmented_vector's iterate functions should handle memory ordering correctly
https://bugs.webkit.org/show_bug.cgi?id=228746

Reviewed by Mark Lam.

Also fixed a missing store-store fence in bitfit_directory's use of a segmented vector.

  • libpas/src/libpas/pas_bitfit_directory.c:

(pas_bitfit_directory_get_first_free_view):

  • libpas/src/libpas/pas_segmented_vector.h:
12:00 PM Changeset in webkit [280604] by Jonathan Bedard
  • 6 edits in trunk/Tools

[webkitscmpy] Add access to git config
https://bugs.webkit.org/show_bug.cgi?id=228597
<rdar://problem/81283644>

Reviewed by Aakash Jain.

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

(Git.config): Return git configuration as dictionary.

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:

(test_config): Test repository configuration.
(test_global_config): Test global configuration.

11:22 AM Changeset in webkit [280603] by Devin Rousso
  • 4 edits in trunk/Source

[Live Text] [iOS] Provide a presenting UIViewController for machine readable code actions so that they are related to the same view
https://bugs.webkit.org/show_bug.cgi?id=228722

Reviewed by Tim Horton.

Source/WebCore/PAL:

  • pal/spi/cocoa/VisionKitCoreSPI.h:

Source/WebKit:

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _updateContextMenuForMachineReadableCodeForImageAnalysis:]): Added.
(-[WKContentView imageAnalysisGestureDidBegin:]):
(-[WKContentView imageAnalysisGestureDidTimeOut:]):

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

[check-github-mirror-integrity] Handle slow Svn query
https://bugs.webkit.org/show_bug.cgi?id=228741

Reviewed by Aakash Jain.

  • Scripts/check-github-mirror-integrity: Pull commit from GitHub before Subversion.
10:34 AM Changeset in webkit [280601] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Crash while reading WebGL drawing buffer if canvas image buffer allocation fails
https://bugs.webkit.org/show_bug.cgi?id=228737
<rdar://81150042>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-08-03
Reviewed by Brent Fulgham.

Source/WebCore:

The crash would happen for example when running out of memory during snapshot
or printing. Snapshots and printing forces the WebGL canvas to be "painted
to document", which would then trigger the crash.

Other code-paths that invoke CanvasBase::makeRenderingResultsAvailable,
e.g. toDataURL and drawImage will check for the buffer before, and
as such are not testable in the sense that adding the test would trigger
the bug.

Test: webgl/webgl-oom-paint-document-no-crash.html

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::paintRenderingResultsToCanvas):
Check for the nullptr from CanvasBase::buffer(). This might happen
when the ImageBuffer was not allocated due to memory constraints.

LayoutTests:

Add a test for failure to paint the WebGL canvas to document.
Trigger the mode by using printing.

Other code-paths that invoke CanvasBase::makeRenderingResultsAvailable,
e.g. toDataURL and drawImage will check for the buffer before, and
as such are not testable in the sense that adding the test would trigger
the bug.

  • webgl/webgl-oom-paint-document-no-crash-expected.html: Added.
  • webgl/webgl-oom-paint-document-no-crash.html: Added.
10:05 AM Changeset in webkit [280600] by youenn@apple.com
  • 2 edits in trunk/Source/WTF

RealtimeMediaSource::audioSamplesAvailable is calling malloc as part of locking in audio thread
https://bugs.webkit.org/show_bug.cgi?id=228688

Reviewed by Eric Carlson.

Allow allocations in lockSlow since allocations might happen in rare case and not for each lockSlow call.

  • wtf/Lock.cpp:

(WTF::Lock::lockSlow):
(WTF::Lock::unlockSlow):
(WTF::Lock::unlockFairlySlow):

9:54 AM Changeset in webkit [280599] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION(r279050): Crash under CSSImageValue::createDeprecatedCSSOMWrapper with cursor images
https://bugs.webkit.org/show_bug.cgi?id=228735

Reviewed by Alex Christensen.

Source/WebCore:

CSSCursorImageValue is not a CSSImageValue. This used to work before r279050 because they had
the URL field in the same offset.

Test: fast/css/cursor-image-cssvalue.html

  • css/CSSValue.cpp:

(WebCore::CSSValue::createDeprecatedCSSOMWrapper const):

Don't do any special handling for CSSCursorImageValue. They are exposed as generic (deprecated)
CSS values with cssText only.

LayoutTests:

  • fast/css/cursor-image-cssvalue-expected.txt: Added.
  • fast/css/cursor-image-cssvalue.html: Added.
9:51 AM Changeset in webkit [280598] by Russell Epstein
  • 1 copy in tags/Safari-612.1.15.4.15

Tag Safari-612.1.15.4.15.

9:50 AM Changeset in webkit [280597] by Russell Epstein
  • 6 edits in branches/safari-612.1.15.4-branch/Source

Speculative build fix. rdar://79147214.

9:44 AM Changeset in webkit [280596] by Russell Epstein
  • 3 edits in branches/safari-612.1.15.4-branch/Source/WebInspectorUI

Cherry-pick r280574. rdar://problem/81466166

Web Inspector: [AppleWin] Speculative internal build fix for copying InspectorBackendCommands.js
https://bugs.webkit.org/show_bug.cgi?id=228716

Reviewed by Maciej Stachowiak.

Speculative fix for AppleWin port internal build by using the correct directory for JSC headers. Also update the
logging message to reflect that the file will by copied later in the build.

  • WebInspectorUI.vcxproj/WebInspectorUI.make:
  • WebInspectorUI.vcxproj/build-webinspectorui.pl:

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

9:42 AM Changeset in webkit [280595] by Russell Epstein
  • 8 edits in branches/safari-612.1.15.4-branch/Source

Versioning.

WebKit-7612.1.15.4.15

9:42 AM Changeset in webkit [280594] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Use WeakPtr instead of manual raw pointer management in URLSearchParams
https://bugs.webkit.org/show_bug.cgi?id=228723

Patch by Alex Christensen <achristensen@webkit.org> on 2021-08-03
Reviewed by Chris Dumez.

This is less error prone.

  • html/DOMURL.cpp:

(WebCore::DOMURL::~DOMURL): Deleted.

  • html/DOMURL.h:
  • html/URLSearchParams.cpp:

(WebCore::URLSearchParams::URLSearchParams):

  • html/URLSearchParams.h:

(WebCore::URLSearchParams::associatedURLDestroyed): Deleted.

8:59 AM Changeset in webkit [280593] by youenn@apple.com
  • 10 edits in trunk

ReadableStream's pipeTo() and pipeThrough() don't handle options in spec-perfect way
https://bugs.webkit.org/show_bug.cgi?id=227690
<rdar://problem/80482144>

LayoutTests/imported/w3c:

Reviewed by Alexey Shvayka .

  • web-platform-tests/streams/piping/general.any-expected.txt:
  • web-platform-tests/streams/piping/general.any.worker-expected.txt:
  • web-platform-tests/streams/piping/pipe-through.any-expected.txt:
  • web-platform-tests/streams/piping/pipe-through.any.js:

(tryPipeThrough):
(test.get assert_equals):

  • web-platform-tests/streams/piping/pipe-through.any.worker-expected.txt:
  • web-platform-tests/streams/piping/throwing-options.any-expected.txt:
  • web-platform-tests/streams/piping/throwing-options.any.worker-expected.txt:

Source/WebCore:

Reviewed by Alexey Shvayka.

Order getters as per spec for pipeTo and pipeThrough.
Handle the case of null dictionaries as if they are undefined
Use getter instead of using 'in' as per WebIDL spec.
If options is undefined, skip calling any getter.

Covered by updated test.

  • Modules/streams/ReadableStream.js:

(pipeThrough):
(pipeTo):

8:50 AM Changeset in webkit [280592] by cathiechen
  • 4 edits
    6 adds in trunk/LayoutTests

Import css/css-sizing/aspect-ratio tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=228734

Reviewed by Rob Buis.

LayoutTests/imported/w3c:

Import css/css-sizing/aspect-ratio tests from WPT commit f76ae81001.

  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-021-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/abspos-021.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-027-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-027.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-028-expected.xht: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-028.html: Added.
  • web-platform-tests/css/css-sizing/aspect-ratio/w3c-import.log:

LayoutTests:

8:33 AM Changeset in webkit [280591] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Update FirstWithDOMWindowReuseRestriction linked-on-or-after check to latest MacOS/iOS betas
https://bugs.webkit.org/show_bug.cgi?id=228736
<rdar://81419036>

Reviewed by Chris Dumez.

  • platform/cocoa/VersionChecks.h:

Delay enabling new behavior to MacOS 12 and iOS 15 SDK since new behavior is enabled for those OS versions.

6:26 AM Changeset in webkit [280590] by Philippe Normand
  • 2 edits in trunk/Tools

[WPE][GTK] SVN_REVISION drifting away if bots don't re-run cmake
https://bugs.webkit.org/show_bug.cgi?id=228290

Reviewed by Michael Catanzaro.

The apply-build-revision-to-files.py script wasn't expanding the BUILD_REVISION beyond the
first run, because it processes files generated by CMake already, and expanding the
BUILD_REVISION once prevents further expansions. So the proposed solution is to always
expand BuildRevision.h.in from that script, and for .pc files, to restore the BUILD_REVISION
template before updating the file.

  • glib/apply-build-revision-to-files.py:

(main):

6:15 AM Changeset in webkit [280589] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r280531): multiple modern-media-controls tests have become flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=228714
<rdar://problem/81426715>

Reviewed by Eric Carlson.

Update preferredRenderingMode() to reflect what setUpVideoRendering() actually does: use
MediaRenderingToContext whenever possible. This will cause setUpVideoRendering() to be
called from updateStates() to create the context, even if the element has been marked as
!isVisible() by RenderVideo upon removal from the DOM.

Also, in renderingModeChanged(), don't attempt to deduce whether scheduleUpdateStates()
should be called; just call it universally.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode const):
(WebCore::MediaPlayerPrivateAVFoundation::renderingModeChanged):

2:10 AM Changeset in webkit [280588] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Add standard logical properties to CSS keyword completion
https://bugs.webkit.org/show_bug.cgi?id=228548

Patch by Sonia Singla <soniasingla.1812@gmail.com> on 2021-08-03
Reviewed by Devin Rousso.

  • UserInterface/Models/CSSKeywordCompletions.js:
1:35 AM Changeset in webkit [280587] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Crash in webgl/1.0.x/conformance/textures/misc/texture-with-flip-y-and-premultiply-alpha.html
https://bugs.webkit.org/show_bug.cgi?id=223920
<rdar://problem/76261913>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-08-03
Reviewed by Kenneth Russell.

After enabling WEBGL_depth_texture, the getDataFormat would assert for case of
format == RGBA, type == UNSIGNED_SHORT. UNSIGNED_SHORT is intended for
format == DEPTH_COMPONENT.

Instead, return error if the data conversion cannot be done. This is better in all
cases than doing non-expected data conversion in release build and assertion in
debug builds.

Tested by webgl/1.0.x/conformance/textures/misc/texture-with-flip-y-and-premultiply-alpha.html
(disabled for now).

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::texImageArrayBufferViewHelper):

  • platform/graphics/GraphicsContextGL.cpp:

(WebCore::getDataFormat):
(WebCore::packPixels):
(WebCore::GraphicsContextGL::extractTextureData):

  • platform/graphics/GraphicsContextGL.h:
12:38 AM Changeset in webkit [280586] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Check that shadow root is connected in invalidateStyleAfterStyleSheetChange
https://bugs.webkit.org/show_bug.cgi?id=227383

Patch by Rob Buis <rbuis@igalia.com> on 2021-08-03
Reviewed by Antti Koivisto.

Source/WebCore:

Check that shadow root is connected in invalidateStyleAfterStyleSheetChange.

Test: fast/shadow-dom/shadow-tree-removal-crash.html

  • style/StyleScope.cpp:

(WebCore::Style::Scope::updateActiveStyleSheets):

LayoutTests:

Add test for this.

  • fast/shadow-dom/shadow-tree-removal-crash-expected.txt: Added.
  • fast/shadow-dom/shadow-tree-removal-crash.html: Added.
Note: See TracTimeline for information about the timeline view.