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

Timeline



Feb 27, 2021:

3:07 PM Changeset in webkit [273633] by Kocsen Chung
  • 1 copy in tags/Safari-610.4.3.1.7

Tag Safari-610.4.3.1.7.

3:07 PM Changeset in webkit [273632] by Kocsen Chung
  • 1 copy in tags/Safari-610.4.3.0.4

Tag Safari-610.4.3.0.4.

2:59 PM Changeset in webkit [273631] by Kocsen Chung
  • 4 edits in branches/safari-610.4.3.0-branch/Source/WebCore/Modules/webaudio

Apply patch. rdar://problem/74829324

2:54 PM Changeset in webkit [273630] by Kocsen Chung
  • 8 edits in branches/safari-610.4.3.0-branch/Source

Versioning.

WebKit-7610.4.3.0.4

2:54 PM Changeset in webkit [273629] by Kocsen Chung
  • 4 edits in branches/safari-610.4.3.1-branch/Source/WebCore/Modules/webaudio

Apply patch. rdar://problem/74829334

2:39 PM Changeset in webkit [273628] by Kocsen Chung
  • 8 edits in branches/safari-610.4.3.1-branch/Source

Versioning.

WebKit-7610.4.3.1.7

11:51 AM Changeset in webkit [273627] by weinig@apple.com
  • 5 edits in trunk

Source/WebCore:
Remove support for 'pixel' and 'pos' CSSOM prefixes
https://bugs.webkit.org/show_bug.cgi?id=119712
<rdar://problem/70660490>

Reviewed by Simon Fraser.

Remove support for pixel/pos prefixed properties of CSSStyleDeclaration which
are no longer supported by any other browser.

  • css/CSSStyleDeclaration.cpp:

(WebCore::CSSStyleDeclaration::getCSSPropertyIDFromJavaScriptPropertyName):
(WebCore::CSSStyleDeclaration::namedItem):
(WebCore::CSSStyleDeclaration::setNamedItem):

LayoutTests:

Remove support for 'pixel' and 'pos' CSSOM prefixes
https://bugs.webkit.org/show_bug.cgi?id=119712

Reviewed by Simon Fraser.

  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive-expected.txt:
  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html:

Update test to reflect removal of pos/pixel prefixes.

7:34 AM Changeset in webkit [273626] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][Coverage] Add missing not-yet-modern-line-layout reasons
https://bugs.webkit.org/show_bug.cgi?id=222488

Reviewed by Sam Weinig.

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForChild):
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):

  • layout/integration/LayoutIntegrationCoverage.h:
6:27 AM Changeset in webkit [273625] by graouts@webkit.org
  • 7 edits in trunk

border-image-slice blending does not account for the fill keyword
https://bugs.webkit.org/show_bug.cgi?id=222513

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Pass an extra 96 WPT tests for border-image-slice.

  • web-platform-tests/css/css-backgrounds/animations/border-image-slice-composition-expected.txt:
  • web-platform-tests/css/css-backgrounds/animations/border-image-slice-interpolation-expected.txt:

Source/WebCore:

The border-image-slice CSS property allows for the "fill" keyword on top of the four values defining the slices.
The presence of this keyword is stored as a bool flag on the NinePieceImage returned by RenderStyle::borderImage(),
while the four slices values are stored as a separate LengthBox on that NinePieceImage. So as we blend the
border-image-slice property using the LengthBoxPropertyWrapper, we only account for the four slices values.

In order to account for the "fill" keyword, we use an OptionSet instead of a single flag to represent different blending
options for CSS properties represented by a LengthBox. This allows us to now indicate that a given property,
namely border-image-slice, supports the "fill" keyword.

If this "fill" keyword flag is set, we force discrete interpolation in the case where the from and to blend values
don't have the same value for "fill". Then, as we blend, we set the "fill" keyword to match the from and to values.

To do this, we add a new RenderStyle::setBorderImageSliceFill() property since the NinePieceImage returned by
RenderStyle::borderImage() is marked const.

  • animation/CSSPropertyAnimation.cpp:

(WebCore::LengthBoxPropertyWrapper::LengthBoxPropertyWrapper):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setBorderImageSliceFill):

  • rendering/style/RenderStyle.h:
6:25 AM Changeset in webkit [273624] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Null check ArrayBufferView RefPtr
https://bugs.webkit.org/show_bug.cgi?id=221569

Patch by Rob Buis <rbuis@igalia.com> on 2021-02-27
Reviewed by Ryosuke Niwa.

Source/JavaScriptCore:

Null check ArrayBufferView RefPtr before using it.

  • runtime/JSArrayBufferViewInlines.h:

(JSC::JSArrayBufferView::unsharedImpl):

LayoutTests:

Add test to verify oom situation does not result in a crash.

  • crypto/crypto-random-values-oom-expected.txt: Added.
  • crypto/crypto-random-values-oom.html: Added.
  • platform/win/TestExpectations:
3:49 AM Changeset in webkit [273623] by graouts@webkit.org
  • 9 edits in trunk

Improve blending of LengthBox values
https://bugs.webkit.org/show_bug.cgi?id=222512

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Pass an extra 238 WPT tests across border-image-outset, border-image-slice and border-image-width.
As of this patch, web-platform-tests/css/css-backgrounds/animations/border-image-outset-interpolation.html
only has PASS results.

  • web-platform-tests/css/css-backgrounds/animations/border-image-outset-composition-expected.txt:
  • web-platform-tests/css/css-backgrounds/animations/border-image-outset-interpolation-expected.txt:
  • web-platform-tests/css/css-backgrounds/animations/border-image-slice-composition-expected.txt:
  • web-platform-tests/css/css-backgrounds/animations/border-image-slice-interpolation-expected.txt:
  • web-platform-tests/css/css-backgrounds/animations/border-image-width-composition-expected.txt:
  • web-platform-tests/css/css-backgrounds/animations/border-image-width-interpolation-expected.txt:

Source/WebCore:

Blending of LengthBox values used to be handle with a generic wrapper for Length-related types using
LengthVariantPropertyWrapper. However, to properly blend LengthBox values, we need some logic specific
to this value type.

First off, all CSS properties that we represent using a LengthBox disallow negative values, so we update
the blendFunc() implementation for LengthBox to pass in ValueRangeNonNegative to the Length blendFunc().

Then, we need a custom implementation of the canInterpolate() virtual function override so as to cater for
properties that support <length> and <number>, and those that support <length-percentage> and <number>,
namely border-image-width.

Finally, we support the case for discrete blending in the blend() virtual function override.

  • animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::LengthBoxPropertyWrapper::LengthBoxPropertyWrapper):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

1:33 AM Changeset in webkit [273622] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebCore

Unreviewed, reverting r273474 and r273479.
https://bugs.webkit.org/show_bug.cgi?id=222510

Not a speedup after all

Reverted changesets:

"Optimize the code to check if an element delegates focus to
its shadow root or not"
https://bugs.webkit.org/show_bug.cgi?id=222404
https://trac.webkit.org/changeset/273474

"Avoid tree traversals to look for form and canvas elements"
https://bugs.webkit.org/show_bug.cgi?id=222159
https://trac.webkit.org/changeset/273479

12:24 AM Changeset in webkit [273621] by Antti Koivisto
  • 16 edits in trunk

Render tree updates for Text node content mutations should happen during rendering update
https://bugs.webkit.org/show_bug.cgi?id=222406

Reviewed by Simon Fraser.

Source/WebCore:

Calls to Text.insertData and similar should not mutate render tree synchronously.
Instead render tree should be updated during the next rendering update along with
any style changes.

These updates already go via RenderTreeUpdater. We just need to save the information
about which nodes need updating so the next rendering update can pick them up.

This seems to help with some performance benchmarks.

  • dom/CharacterData.cpp:

(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::setDataAndUpdate):

Move in-tree check to the updateRendererAfterContentChange and make it use isConnected().

  • dom/Document.cpp:

(WebCore::Document::removedLastRef):
(WebCore::Document::resolveStyle):

Include the text update when updating the render tree.

(WebCore::Document::updateTextRenderer):

Create a text update that will get flushed during the next rendering update.

(WebCore::Document::needsStyleRecalc const):

We need to recalc if there are pending text updates.

  • dom/Document.h:
  • dom/Text.cpp:

(WebCore::Text::splitText):

Use updateRendererAfterContentChange instead of poking render tree directly.

(WebCore::Text::updateRendererAfterContentChange):

  • rendering/updating/RenderTreeUpdater.cpp:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::TreeResolver):
(WebCore::Style::TreeResolver::resolve):

  • style/StyleTreeResolver.h:

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

  • style/StyleUpdate.cpp:

(WebCore::Style::Update::addText):

Merge text updates.

(WebCore::Style::Update::addPossibleRoot):

  • style/StyleUpdate.h:

(WebCore::Style::Update::roots const):
(WebCore::Style::Update:: const): Deleted.

Refcount the nodes since this now has longer lifetime.

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::deleteInsignificantText):

Ensure we leave deleteInsignificantText with updated render tree. Clients expect that.
Do layout (instead of just style update) for consistency, deleteInsignificantText does one anyway in beginning.

  • editing/markup.cpp:

(WebCore::replaceChildrenWithFragment):

Pending text update may ref the node so this refcount assert is not correct.

  • style/StyleUpdate.cpp:

(WebCore::Style::Update::addText):

LayoutTests:

These are progressions.

  • fast/text/splitText-dirty-lines-expected.txt:
  • imported/blink/fast/css/first-letter-range-insert-expected.txt:

Here we were actually drawing text that didn't exist in DOM anymore.

12:04 AM Changeset in webkit [273620] by Megan Gardner
  • 9 edits
    1 add in trunk

API test for AppHighlights
https://bugs.webkit.org/show_bug.cgi?id=222408

Reviewed by Tim Horton.

Source/WebCore:

Test: TestWebKitAPI.AppHighlights.AppHighlightCreateAndRestore

  • testing/Internals.cpp:

(WebCore::Internals::numberOfAppHighlights):

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

Tools:

  • TestWebKitAPI/PlatformUtilities.h:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/WKAppHighlights.mm: Added.

(-[AppHighlightDelegate _webView:storeAppHighlight:inNewGroup:]):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:

(TEST):
(waitForConditionWithLogging): Deleted.

  • TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:

(TestWebKitAPI::Util::waitForConditionWithLogging):

Feb 26, 2021:

11:29 PM Changeset in webkit [273619] by commit-queue@webkit.org
  • 1 edit
    1 add in trunk/Tools

[GTK][WPE] Add a script to show a list of bugs closed since a given revision
https://bugs.webkit.org/show_bug.cgi?id=222470

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2021-02-26
Reviewed by Adrian Perez de Castro.

It's useful to get a list of specific changes when making releases.

  • Scripts/webkit-filter-log: Added.
11:24 PM Changeset in webkit [273618] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebKit

[WPE][GTK] Bogus Response.{status,ok} for successful fetch() requests to a custom URI scheme handler
https://bugs.webkit.org/show_bug.cgi?id=222471

Reviewed by Carlos Garcia Campos.

No new tests needed.

  • UIProcess/API/glib/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestReadCallback): Mark response as having status "200 OK" when
webkit_uri_scheme_request_finish() gets passed a GInputStream.

10:52 PM Changeset in webkit [273617] by ysuzuki@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

[JSC] Avoid creating functions unnecessarily in builtins
https://bugs.webkit.org/show_bug.cgi?id=222509

Reviewed by Ross Kirsling.

Avoid unnecessary function creation and make them @globalPrivate.

  • builtins/ArrayPrototype.js:

(globalPrivate.maxWithPositives):
(globalPrivate.minWithMaybeNegativeZeroAndPositive):
(copyWithin):
(maxWithPositives): Deleted.
(minWithMaybeNegativeZeroAndPositive): Deleted.

  • builtins/DatePrototype.js:

(globalPrivate.toDateTimeOptionsAnyAll):
(toLocaleString):
(globalPrivate.toDateTimeOptionsDateDate):
(toLocaleDateString):
(globalPrivate.toDateTimeOptionsTimeTime):
(toLocaleTimeString):
(toLocaleString.toDateTimeOptionsAnyAll): Deleted.
(toLocaleDateString.toDateTimeOptionsDateDate): Deleted.
(toLocaleTimeString.toDateTimeOptionsTimeTime): Deleted.

  • builtins/RegExpPrototype.js:

(globalPrivate.getSubstitution):
(overriddenName.string_appeared_here.replace):
(getSubstitution): Deleted.

9:27 PM Changeset in webkit [273616] by Peng Liu
  • 4 edits in trunk/LayoutTests

[GPUP] Refresh test expectations after adding the support to paint GPUP hosted video to 2D canvas and WebGL surfaces
https://bugs.webkit.org/show_bug.cgi?id=222500

Reviewed by Jer Noble.

r273568 adds the support to paint GPU process hosted video in the WebContent process to
2D canvas and WebGL surfaces. This function is used by layout tests no matter
"GPU Process: Canvas Rendering" and "GPU Process: WebGL" are enabled or not.
A lot of tests depending on it are passing now.

  • gpu-process/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/wk2/TestExpectations:
9:27 PM Changeset in webkit [273615] by Peng Liu
  • 16 edits in trunk/Source/WebKit

[GPUP] Replace references to GPUProcessConnection and Connection with WeakPtr<GPUProcessConnection>
https://bugs.webkit.org/show_bug.cgi?id=222492

Reviewed by Eric Carlson.

As we did in r273473, this patch replaces some references to GPUProcessConnection and Connection
with WeakPtr<GPUProcessConnection>. r273473 was for the GPU process, this patch is for web processes.
When the GPU process crashes, the GPUProcessConnection object (as well as its Connection object)
will be destroyed, and the reference will be invalid.

No new tests, fixing test crashes on bots.

  • WebProcess/GPU/media/AudioTrackPrivateRemote.cpp:

(WebKit::AudioTrackPrivateRemote::AudioTrackPrivateRemote):
(WebKit::AudioTrackPrivateRemote::setEnabled):

  • WebProcess/GPU/media/AudioTrackPrivateRemote.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::addRemoteAudioTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteTextTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteVideoTrack):

  • WebProcess/GPU/media/MediaSourcePrivateRemote.cpp:

(WebKit::MediaSourcePrivateRemote::MediaSourcePrivateRemote):
(WebKit::MediaSourcePrivateRemote::~MediaSourcePrivateRemote):
(WebKit::MediaSourcePrivateRemote::addSourceBuffer):
(WebKit::MediaSourcePrivateRemote::durationChanged):
(WebKit::MediaSourcePrivateRemote::setReadyState):
(WebKit::MediaSourcePrivateRemote::setIsSeeking):
(WebKit::MediaSourcePrivateRemote::waitForSeekCompleted):
(WebKit::MediaSourcePrivateRemote::seekCompleted):
(WebKit::MediaSourcePrivateRemote::setTimeFudgeFactor):

  • WebProcess/GPU/media/MediaSourcePrivateRemote.h:
  • WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:

(WebKit::RemoteImageDecoderAVF::RemoteImageDecoderAVF):
(WebKit::RemoteImageDecoderAVF::createFrameImageAtIndex):
(WebKit::RemoteImageDecoderAVF::setExpectedContentSize):
(WebKit::RemoteImageDecoderAVF::setData):
(WebKit::RemoteImageDecoderAVF::gpuProcessConnection const): Deleted.

  • WebProcess/GPU/media/RemoteImageDecoderAVF.h:
  • WebProcess/GPU/media/RemoteImageDecoderAVFManager.cpp:

(WebKit::RemoteImageDecoderAVFManager::gpuProcessConnection const):

  • WebProcess/GPU/media/RemoteImageDecoderAVFManager.h:
  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:

(WebKit::SourceBufferPrivateRemote::SourceBufferPrivateRemote):
(WebKit::SourceBufferPrivateRemote::~SourceBufferPrivateRemote):
(WebKit::SourceBufferPrivateRemote::append):
(WebKit::SourceBufferPrivateRemote::abort):
(WebKit::SourceBufferPrivateRemote::resetParserState):
(WebKit::SourceBufferPrivateRemote::removedFromMediaSource):
(WebKit::SourceBufferPrivateRemote::setReadyState):
(WebKit::SourceBufferPrivateRemote::setActive):
(WebKit::SourceBufferPrivateRemote::setMediaSourceEnded):
(WebKit::SourceBufferPrivateRemote::setMode):
(WebKit::SourceBufferPrivateRemote::updateBufferedFromTrackBuffers):
(WebKit::SourceBufferPrivateRemote::removeCodedFrames):
(WebKit::SourceBufferPrivateRemote::evictCodedFrames):
(WebKit::SourceBufferPrivateRemote::addTrackBuffer):
(WebKit::SourceBufferPrivateRemote::resetTrackBuffers):
(WebKit::SourceBufferPrivateRemote::clearTrackBuffers):
(WebKit::SourceBufferPrivateRemote::setAllTrackBuffersNeedRandomAccess):
(WebKit::SourceBufferPrivateRemote::setGroupStartTimestamp):
(WebKit::SourceBufferPrivateRemote::setGroupStartTimestampToEndTimestamp):
(WebKit::SourceBufferPrivateRemote::setShouldGenerateTimestamps):
(WebKit::SourceBufferPrivateRemote::reenqueueMediaIfNeeded):
(WebKit::SourceBufferPrivateRemote::resetTimestampOffsetInTrackBuffers):
(WebKit::SourceBufferPrivateRemote::startChangingType):
(WebKit::SourceBufferPrivateRemote::setTimestampOffset):
(WebKit::SourceBufferPrivateRemote::setAppendWindowStart):
(WebKit::SourceBufferPrivateRemote::setAppendWindowEnd):
(WebKit::SourceBufferPrivateRemote::seekToTime):
(WebKit::SourceBufferPrivateRemote::updateTrackIds):
(WebKit::SourceBufferPrivateRemote::bufferedSamplesForTrackId):

  • WebProcess/GPU/media/SourceBufferPrivateRemote.h:
  • WebProcess/GPU/media/TextTrackPrivateRemote.cpp:

(WebKit::TextTrackPrivateRemote::TextTrackPrivateRemote):
(WebKit::TextTrackPrivateRemote::setMode):

  • WebProcess/GPU/media/TextTrackPrivateRemote.h:
  • WebProcess/GPU/media/VideoTrackPrivateRemote.cpp:

(WebKit::VideoTrackPrivateRemote::VideoTrackPrivateRemote):
(WebKit::VideoTrackPrivateRemote::setSelected):

  • WebProcess/GPU/media/VideoTrackPrivateRemote.h:

(WebKit::VideoTrackPrivateRemote::create):

7:04 PM Changeset in webkit [273614] by Alan Bujtas
  • 1 edit
    1 add in trunk/PerformanceTests

[Performance test][Line layout] Add test with inline boxes
https://bugs.webkit.org/show_bug.cgi?id=222498

Reviewed by Ryosuke Niwa.

We don't have a performance test on inline boxes yet.

  • Layout/line-layout-inline-level-boxes.html: Added.
6:51 PM Changeset in webkit [273613] by msaboff@apple.com
  • 2 edits in trunk/JSTests

Followup test fix to r273594
https://bugs.webkit.org/show_bug.cgi?id=222506

Reviewed by Yusuke Suzuki.

  • stress/regexp-max-size.js:

(testTooBigBMPRegExp):
(testTooBigNonBMPRegExp):
(testAll):

6:42 PM Changeset in webkit [273612] by dino@apple.com
  • 3 edits in trunk/Source/ThirdParty/ANGLE

Support fast/canvas/webgl/copyBufferSubData.html, fix bugs in fast/canvas/webgl/getBufferSubData-webgl1.html in Metal ANGLE on Simulator
https://bugs.webkit.org/show_bug.cgi?id=222508

Patch by Kyle Piddington <Kyle Piddington> on 2021-02-26
Reviewed by Dean Jackson.

  • src/libANGLE/renderer/metal/BufferMtl.mm:

(rx::BufferMtl::unmap):

  • src/libANGLE/renderer/metal/DisplayMtl.mm:

(rx::DisplayMtl::getMaxSupportedESVersion const):

5:58 PM Changeset in webkit [273611] by sbarati@apple.com
  • 3 edits
    1 add in trunk

Remove bad assertion of AI ArrayMode state in various "by val" opcodes
https://bugs.webkit.org/show_bug.cgi?id=222494
<rdar://73613460>

Reviewed by Filip Pizlo.

JSTests:

  • stress/dont-assert-ai-proved-array-mode.js: Added.

(bar):
(foo):

Source/JavaScriptCore:

It's invalid to ever assert that AI must have proved something. We've been
slowly removing these faulty asserts from the compiler, and this patch
removes some more of them. AI is conservative, and it's not guaranteed
that it will prove X, even if X must be true.

In this particular test case, we are looking at a race between the concurrent
compiler thread and the main thread, and the compilation will be thrown away
because of a Structure transition.

What happened in this particular program is we had a CheckStructure that was
proved to exit in an early run of AI, that is not shown to exit during a later
run of AI. Because of that, in the earlier AI run, we have some narrower type
info (because fewer predecessory type info). This narrower type info allowed
us to elide a CheckArray. The later runs don't have this narrower type info,
because the CheckStructure doesn't exit. The safety of all of this is
guaranteed by the compilation being thrown away because we fired the transition
watchpoint from the earlier Structure seen by AI.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments):
(JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):

5:54 PM Changeset in webkit [273610] by Chris Dumez
  • 37 edits in trunk

Reduce explicit usage of [objC retain] in WebKit
https://bugs.webkit.org/show_bug.cgi?id=222439

Reviewed by Darin Adler.

Reduce explicit usage of [objC retain] in WebKit by using RetainPtr<>.

Source/JavaScriptCore:

  • API/JSContext.mm:

(+[JSContext currentArguments]):
(-[JSContext beginCallbackWithData:calleeValue:thisValue:argumentCount:arguments:]):
(-[JSContext endCallbackWithData:]):

  • API/JSContextInternal.h:
  • API/tests/testapi.mm:

(-[TinyDOMNode initWithVirtualMachine:]):

Source/WebCore:

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):

  • editing/cocoa/DataDetection.mm:

(WebCore::resultIsURL):

  • editing/cocoa/HTMLConverter.mm:

(WebDefaultFont):

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

(WebCore::imageDecoderAssetOptions):

  • platform/graphics/mac/ColorMac.mm:

(WebCore::nsColor):

  • platform/ios/QuickLook.mm:

(WebCore::QLPreviewGetSupportedMIMETypesSet):
(WebCore::temporaryFileAttributes):
(WebCore::temporaryDirectoryAttributes):

  • platform/ios/WebCoreMotionManager.mm:

(-[WebCoreMotionManager checkClientStatus]):

  • platform/ios/wak/WebCoreThread.mm:

(SendMessage):
(HandleDelegateSource):
(SendDelegateMessage):
(WebThreadCallDelegate):
(WebRunLoopUnlockInternal):
(RunWebThread):
(WebThreadNSRunLoop):

Source/WebKit:

  • NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:

(WebKit::Download::resume):

  • Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm:

(WebKit::isFeatureFlagEnabled):

  • UIProcess/API/Cocoa/APIContentRuleListStoreCocoa.mm:

(API::ContentRuleListStore::defaultStorePath):

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(+[WKWebsiteDataStore _allWebsiteDataTypesIncludingPrivate]):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::tempDirectoryFileSystemRepresentation):
(WebKit::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
(WebKit::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView keyCommands]):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(-[WKPDFPluginAccessibilityObject ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):

Source/WebKitLegacy/mac:

  • Misc/WebNSURLExtras.mm:

(-[NSString _webkit_rangeOfURLScheme]):

  • Misc/WebStringTruncator.mm:

(+[WebStringTruncator centerTruncateString:toWidth:]):

  • Storage/WebStorageManager.mm:

(+[WebStorageManager _storageDirectoryPath]):

  • WebCoreSupport/WebEditorClient.mm:

(_WebCreateFragment):

  • WebView/WebHTMLRepresentation.mm:

(+[WebHTMLRepresentation supportedMIMETypes]):
(+[WebHTMLRepresentation supportedMediaMIMETypes]):
(+[WebHTMLRepresentation supportedNonImageMIMETypes]):
(+[WebHTMLRepresentation supportedImageMIMETypes]):
(+[WebHTMLRepresentation unsupportedTextMIMETypes]):

  • WebView/WebPreferencesDefaultValues.mm:

(WebKit::isFeatureFlagEnabled):

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(-[WebView _close]):
(-[WebView _checkDidPerformFirstNavigation]):
(-[WebView setPreferences:]):
(-[WebView preferences]):
(-[WebView setGroupName:]):

  • WebView/WebViewData.h:

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(allowedFontFamilySet):
(-[DRTMockScroller drawKnob]):
(-[DRTMockScroller drawRect:]):
(prepareConsistentTestingEnvironment):

  • TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:

(TEST):

  • TestWebKitAPI/cocoa/TestWKWebView.mm:

(-[TestWKWebView selectionRectsAfterPresentationUpdate]):

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformLibraryPathForTesting):

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::allowedFontFamilySet):
(WTR::systemHiddenFontFamilySet):
(WTR::TestController::platformLibraryPathForTesting):

  • WebKitTestRunner/mac/main.mm:

(disableAppNapInUIProcess):

5:08 PM Changeset in webkit [273609] by Ryan Haddad
  • 2 edits in trunk/Tools

macOS bots should build with ONLY_ACTIVE_ARCH=NO
https://bugs.webkit.org/show_bug.cgi?id=222502

Reviewed by Aakash Jain.

We need this to correctly build for both arm64e and x86_64 and support M1 hardware in our infrastructure.

  • CISupport/build-webkit-org/steps.py:

(CompileWebKit.start):

5:08 PM Changeset in webkit [273608] by Alan Coon
  • 1 copy in tags/Safari-611.1.21

Tag Safari-611.1.21.

4:55 PM Changeset in webkit [273607] by Ryan Haddad
  • 2 edits in trunk/Tools

Move WebGL test bot to Big Sur
https://bugs.webkit.org/show_bug.cgi?id=222501

Reviewed by Aakash Jain.

  • CISupport/build-webkit-org/config.json:
4:54 PM Changeset in webkit [273606] by commit-queue@webkit.org
  • 6 edits in trunk

Unreviewed, reverting r273435.
https://bugs.webkit.org/show_bug.cgi?id=222503

Broke a test

Reverted changeset:

"[css-grid] Fix min/max widths of grid affected by ancestor"
https://bugs.webkit.org/show_bug.cgi?id=222100
https://trac.webkit.org/changeset/273435

4:37 PM Changeset in webkit [273605] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Avoid function allocations for non-user-provided Promise then callbacks
https://bugs.webkit.org/show_bug.cgi?id=222490

Reviewed by Keith Miller.

At @performPromiseThen point, callback function objects themselves are not accessible from users
if they are not passed from users. So, we can reuse functions if users do not pass functions.

  • builtins/PromiseOperations.js:

(globalPrivate.promiseEmptyOnFulfilled):
(globalPrivate.promiseEmptyOnRejected):
(globalPrivate.performPromiseThen):
(onFulfilled): Deleted.
(onRejected): Deleted.

4:32 PM Changeset in webkit [273604] by commit-queue@webkit.org
  • 9 edits in trunk

Source/WebCore:
[MSE] WebContent/GPU process will hang when appending data under some circumstances.
https://bugs.webkit.org/show_bug.cgi?id=222462

Patch by Jean-Yves Avenard <Jean-Yves Avenard> on 2021-02-26
Reviewed by Jer Noble.

No new test, this is covered by one of the MSE WPT.

  • platform/MediaSample.h:

Add an optional parameter to MediaSample::divide to use the buffer's end time
to determine where to divide it.

  • platform/graphics/SourceBufferPrivate.cpp:

(WebCore::SourceBufferPrivate::didReceiveSample):
When attempting to split the MediaSample so none ends after the
appendWindowEnd attribute, use the MediaSample's end time as split point.

  • platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:

(WebCore::MediaSampleAVFObjC::divide):
Expand the divide method to split the content according to the end time.
Side fix; use OutputPresentationTimeStamp thorough the devide method.
All time and duration comparisons made in the SourceBuffer are based on
the Output times, so to ensure consistency we use the output time when
looking on where to split.

  • platform/graphics/gstreamer/MediaSampleGStreamer.h:
  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

Update per new declaration. New argument is unused.

Tools:
[MSE] Ensure MediaSample is properly trimmed.
https://bugs.webkit.org/show_bug.cgi?id=222462

Patch by Jean-Yves Avenard <Jean-Yves Avenard> on 2021-02-26
Reviewed by Jer Noble.

  • TestWebKitAPI/Tests/WebCore/SampleMap.cpp:

Update per new MediaSample::divide prototype.

4:29 PM Changeset in webkit [273603] by graouts@webkit.org
  • 4 edits in trunk/Source/WebCore

Length blending should allow for a ValueRange parameter
https://bugs.webkit.org/show_bug.cgi?id=222497

Reviewed by Dean Jackson.

We introduced a new NonNegativeLengthPropertyWrapper in r273001, the fix for bug 222034, with a special
blend() override implementation which would disallow negative values. However, this is something that
should ideally be provided lower down in the blending code in the blend() function on the Length type
itself. This will allow us to blend other non-negative length-related types, such as LengthBox, without
duplicating this code.

We also use this opportunity to not use the { 0, Fixed } value in all cases where we clip to 0, and
instead use the type from the blended values, provided one isn't 0.

  • animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::NonNegativeLengthPropertyWrapper::NonNegativeLengthPropertyWrapper):

  • platform/Length.cpp:

(WebCore::blend):

  • platform/Length.h:
4:17 PM Changeset in webkit [273602] by Russell Epstein
  • 1 copy in tags/Safari-612.1.5.2

Tag Safari-612.1.5.2.

4:14 PM Changeset in webkit [273601] by Russell Epstein
  • 8 edits in branches/safari-612.1.5-branch/Source

Versioning.

WebKit-7612.1.5.2

4:11 PM Changeset in webkit [273600] by Alan Bujtas
  • 5 edits in trunk

[LFC][Coverage] Do not bail out on text underline position when text-decoration is 'none'
https://bugs.webkit.org/show_bug.cgi?id=222481

Reviewed by Antti Koivisto.

Source/WebCore:

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForStyle):

LayoutTests:

  • fast/text/simple-line-layout-with-text-underline-position-expected.html:
  • fast/text/simple-line-layout-with-text-underline-position.html:
3:51 PM Changeset in webkit [273599] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[BigSur Wk1] platform/mac-bigsur/media/media-source/media-source-webm-vp8-malformed-header.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=222493

Unreviewed test gardening.

Patch by Amir Mark Jr <Amir Mark Jr.> on 2021-02-26

  • platform/mac-wk1/TestExpectations:
3:48 PM Changeset in webkit [273598] by Russell Epstein
  • 2 edits in branches/safari-612.1.5-branch/Source/WebKit

Revert "Cherry-pick r273560. rdar://problem/74796083"

This reverts commit r273565.

3:45 PM Changeset in webkit [273597] by dino@apple.com
  • 10 edits in trunk/Source/ThirdParty/ANGLE

Fix iOS simulator crashes due to unsupported simulator pixel formats: r8Unorm_srgb, a1bgr5Unorm, b5g6r5Unorm, abgr4Unorm, bgr5A1Unorm, and program generation asserts.

iOS Simulator doesn't support the following packed 16 bit formats natively. While some of these can be emulated, we should fix up the crashing cases first.

Also fix up program generation issues for void fragment shaders

Disable support for PVRTC temporarily, as Non-square / NPOT PVRTC textures are not supported nativley on metal.

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

Patch by Kyle Piddington <Kyle Piddington> on 2021-02-26
Reviewed by Dean Jackson.

  • src/compiler/translator/TranslatorMetalDirect/EmitMetal.cpp:

(GenMetalTraverser::emitStructDeclaration):
(GenMetalTraverser::emitFunctionReturn):
(GenMetalTraverser::emitFunctionParameter):

  • src/compiler/translator/TranslatorMetalDirect/Pipeline.cpp:

(PipelineStructs::matches const):

  • src/compiler/translator/TranslatorMetalDirect/Pipeline.h:

(sh::PipelineScoped::matches const):

  • src/libANGLE/renderer/metal/TextureMtl.mm:

(rx::TextureMtl::setPerSliceSubImage):

  • src/libANGLE/renderer/metal/gen_mtl_format_table.py:
  • src/libANGLE/renderer/metal/mtl_format_map.json:
  • src/libANGLE/renderer/metal/mtl_format_table_autogen.mm:

(rx::mtl::Format::init):
(rx::mtl::VertexFormat::init):
(rx::mtl::FormatTable::initNativeFormatCapsAutogen):

  • src/libANGLE/renderer/metal/mtl_format_utils.mm:

(rx::mtl::FormatTable::initialize):

  • src/libANGLE/renderer/metal/mtl_resources.mm:

(rx::mtl::Texture::Make2DTexture):
(rx::mtl::Texture::MakeTexture):

3:41 PM Changeset in webkit [273596] by Devin Rousso
  • 4 edits in trunk

[Payment Request] log when the request is cancelled while waiting for the Promise provided to show()/updateWith() to settle
https://bugs.webkit.org/show_bug.cgi?id=222491

Reviewed by Andy Estes.

Source/WebCore:

  • Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::PaymentRequest::cancel):

LayoutTests:

  • http/tests/paymentrequest/payment-request-show-method.https-expected.txt:
3:30 PM Changeset in webkit [273595] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r273560.
https://bugs.webkit.org/show_bug.cgi?id=222499

reverting an unnecessary change after confirming it did not
fix build issues

Reverted changeset:

"Convert WKMediaPlaybackState NS_ENUM back to NSUInteger type"
https://bugs.webkit.org/show_bug.cgi?id=222475
https://trac.webkit.org/changeset/273560

3:22 PM Changeset in webkit [273594] by msaboff@apple.com
  • 3 edits
    1 add in trunk

unexpected minimumInputSize in setupDisjunctionOffsets for regexp engine(yarr)
https://bugs.webkit.org/show_bug.cgi?id=220357

Reviewed by Saam Barati.

JSTests:

New tests to check the boundary conditions for overflowing a pattern in a RegExp.

  • stress/regexp-max-size.js: Added.

(testMaxRegExp):
(testTooBigRegExp):
(testMaxBMPRegExp):
(testTooBigBMPRegExp):
(testMaxNonBMPRegExp):
(testTooBigNonBMPRegExp):
(testAll):

Source/JavaScriptCore:

Removed an unnecessary ASSERT.
This assert checked that the minimum size wasn't UINT_MAX which I believe was
intended to make sure the minimum size was changed while computing the
disjunction's size and offsets. Those calculations involve checked arithmetic,
which would catch any overflow.

The other part of this patch adds a test that checks this condition as well
as the case where the pattern is one character longer, 232, which triggers
the arithmetic overflow.

  • yarr/YarrPattern.cpp:

(JSC::Yarr::YarrPatternConstructor::setupDisjunctionOffsets):

3:20 PM Changeset in webkit [273593] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

Remove unnecessary WKMediaPlaybackState header from Xcode project file
https://bugs.webkit.org/show_bug.cgi?id=222496
<rdar://problem/74808525>

Reviewed by Brent Fulgham.

  • WebKit.xcodeproj/project.pbxproj:
3:17 PM Changeset in webkit [273592] by weinig@apple.com
  • 5 edits in trunk

Remove non-standard 'css'/'Css' prefixed properties on CSSStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=218158
Source/WebCore:

<rdar://problem/70666307>

Reviewed by Tim Horton.

Remove support for 'css'/'Css' prefixed properties of CSSStyleDeclaration which
are no longer supported by any other browser.

  • css/CSSStyleDeclaration.cpp:

LayoutTests:

Reviewed by Tim Horton.

  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive-expected.txt:
  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html:

Update test to reflect removal of css prefixes.

2:39 PM Changeset in webkit [273591] by Peng Liu
  • 3 edits in trunk/LayoutTests

Flaky Test: media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html
https://bugs.webkit.org/show_bug.cgi?id=182571

Reviewed by Jer Noble.

Fix a flaky test by:
1) Enable "MockVideoPresentationMode".
2) Wait for a video presentation mode change to complete before moving to the next step in the test.
3) Request the video to exit fullscreen before finish the test (to avoid interference with other tests).

  • media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-fullscreen-expected.txt:
  • media/modern-media-controls/tracks-support/mac/tracks-support-show-panel-fullscreen.html:
2:26 PM Changeset in webkit [273590] by wilander@apple.com
  • 27 edits
    2 copies
    2 moves in trunk

Non-cookie website data not deleted after 7 days of browser use without user interaction
https://bugs.webkit.org/show_bug.cgi?id=222248
<rdar://problem/74612589>

Reviewed by Brent Fulgham and informally by Kate Cheney.

Source/WebKit:

Tests: http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-not-removed-with-user-interaction-6-days-ago.html

http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-with-user-interaction-7-days-ago.html

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::updateOperatingDatesParameters):

Now sets two new member variables:

  • Optional<OperatingDate> m_longWindowOperatingDate
  • Optional<OperatingDate> m_shortWindowOperatingDate These are only set if the minimum number of operating days has passed. This function no longer sets m_leastRecentOperatingDate.

(WebKit::ResourceLoadStatisticsDatabaseStore::hasStatisticsExpired const):

Now checks against the two new member variables m_longWindowOperatingDate
and m_shortWindowOperatingDate. This fixes the bug.

(WebKit::ResourceLoadStatisticsDatabaseStore::insertExpiredStatisticForTesting):

Test infrastructure. Now takes the new parameter numberOfOperatingDaysPassed
with which layout tests can control the exact number of operating days
passed since user interaction.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:

Added m_longWindowOperatingDate and m_shortWindowOperatingDate, and
removed m_leastRecentOperatingDate since it's no longer used.

  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::insertExpiredStatisticForTesting):

Test infrastructure. The same changes as in the DB store.

  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::insertExpiredStatisticForTesting):

Test infrastructure.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::insertExpiredStatisticForTesting):

Test infrastructure.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreSetStatisticsExpiredStatistic):

Test infrastructure.

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::insertExpiredStatisticForTesting):

Test infrastructure.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::insertExpiredStatisticForTesting):

Test infrastructure.

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Tools:

A new numberOfOperatingDaysPassed parameter was added to
testRunner.setStatisticsExpiredStatistic() to control the exact
number of operating days passed since user interaction.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setStatisticsExpiredStatistic):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::setStatisticsExpiredStatistic):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

LayoutTests:

Existing test cases now make use of the new numberOfOperatingDaysPassed
parameter to testRunner.setStatisticsExpiredStatistic() to control the exact
number of operating days passed since user interaction.
A new test case makes sure website data is not deleted below the threshold.

  • http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-not-removed-with-user-interaction-6-days-ago-expected.txt: Added.
  • http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-not-removed-with-user-interaction-6-days-ago.html: Added.

Sets numberOfOperatingDaysPassed to 6.

  • http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-with-user-interaction-7-days-ago-expected.txt: Renamed from LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction-expected.txt.
  • http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-with-user-interaction-7-days-ago.html: Renamed from LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-statistics-with-no-user-interaction.html.

Sets numberOfOperatingDaysPassed to 7.

  • http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed.html:

Sets numberOfOperatingDaysPassed to 30.

  • platform/wk2/TestExpectations:

Updated existing expectation with new file name.

2:11 PM Changeset in webkit [273589] by Devin Rousso
  • 2 edits in trunk/Tools

Unreviewed, add myself to the ConsoleUsage watchlist

  • Scripts/webkitpy/common/config/watchlist:
1:43 PM Changeset in webkit [273588] by BJ Burg
  • 5 edits in trunk/Source/WebKit

Web Inspector: give WebInspectorUIExtensionControllerProxy a chance to teardown when the frontend is about to close
https://bugs.webkit.org/show_bug.cgi?id=222486

Reviewed by Devin Rousso.

Sometimes when closing Web Inspector, the message receiver for WebInspectorUIExtensionControllerProxy
is not removed. Move this teardown into a separate method. It's too late to do this in the destructor
if a lambda has kept a strong reference to the controller beyond the point when the frontend was closed.

Covered by existing API tests, which will hopefully become less flaky as a result.

  • UIProcess/Inspector/RemoteWebInspectorProxy.cpp:

(WebKit::RemoteWebInspectorProxy::closeFrontendPageAndWindow):

  • UIProcess/Inspector/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::closeFrontendPageAndWindow):
Notify the extensions controller that it's time to teardown.

  • UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.h:
  • UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:

(WebKit::WebInspectorUIExtensionControllerProxy::~WebInspectorUIExtensionControllerProxy):
By the time this destructor runs, we should have already gotten the message to teardown.

(WebKit::WebInspectorUIExtensionControllerProxy::inspectorFrontendWillClose): Added.
Use the soon-to-be-gone m_frontendPage to unregister as a message receiver.

1:41 PM Changeset in webkit [273587] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Flaky JSC test: stress/atomic-increment-bigint64.js
https://bugs.webkit.org/show_bug.cgi?id=221904

Reviewed by Keith Miller.

bytecode-cache test assumes that code can be cached once it is executed. But this
is not correct for threading tests using JSC shell's agent feature: code is running
different VM in the different thread. And we have no guarantee that this thread destroys
VM when the main thread is finished. So this is possible that bytecode used in that thread
is not committed.

We use Options::forceDiskCache's RELEASE_ASSERT only if it is in main thread.

  • runtime/CodeCache.h:
1:40 PM Changeset in webkit [273586] by BJ Burg
  • 2 edits in trunk/Source/WebKit

[Cocoa] Web Inspector: add support for receiving Web Extension events via _WKInspectorExtensionDelegate
https://bugs.webkit.org/show_bug.cgi?id=222252
<rdar://problem/71206685>

Unreviewed, revert one unintentionally changed error code.

Fixes failing API test WKInspectorExtensionHost.UnregisterExtension.

  • UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:

(WebKit::WebInspectorUIExtensionControllerProxy::unregisterExtension):

1:36 PM Changeset in webkit [273585] by Jonathan Bedard
  • 6 edits
    1 add in trunk/Tools

[webkitcorepy] Move credential access from webkitscmpy
https://bugs.webkit.org/show_bug.cgi?id=222487
<rdar://problem/74801487>

Rubber-stamped by Aakash Jain.

  • Scripts/libraries/webkitcorepy/setup.py: Bump version.
  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version, move keyring libraries.
  • Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py: Add.
  • Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version, move keyring libraries.
  • Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:

(GitHub.credentials): Use webkitcorepy credentials.

1:03 PM Changeset in webkit [273584] by Jonathan Bedard
  • 9 edits in trunk/Tools

[resultsdbpy] Use webkitcorepy requests mocking
https://bugs.webkit.org/show_bug.cgi?id=222443
<rdar://problem/74764567>

Reviewed by Dewei Zhu.

  • Scripts/libraries/resultsdbpy/resultsdbpy/init.py: Bump version.
  • Scripts/libraries/resultsdbpy/resultsdbpy/model/casserole_unittest.py:

(CasseroleTest.test_synchronous): Use webkitcorepy's requests mocking.
(CasseroleTest.test_asynchronous): Ditto.
(CasseroleTest.test_list_like): Ditto.
(MockRequest): Deleted.

  • Scripts/libraries/resultsdbpy/resultsdbpy/model/ci_context_unittest.py:

(URLFactoryTest.mock): Use webkitcorepy's requests mocking.
(URLFactoryTest.MockRequest): Deleted.
(URLFactoryTest.get): Deleted.

  • Scripts/libraries/resultsdbpy/resultsdbpy/view/view_routes_unittest.py:

(WebSiteTestCase.decorator): Referenced static files have already been moved.
(WebSiteTestCase.decorator.MockRequest): Deleted.

  • Scripts/libraries/resultsdbpy/setup.py: Bump version.
  • Scripts/libraries/webkitcorepy/setup.py: Ditto.
  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
  • Scripts/libraries/webkitcorepy/webkitcorepy/mocks/requests_.py:

(Requests.init): Allow caller to specify certain responses.
(Requests.request):

1:02 PM Changeset in webkit [273583] by Andres Gonzalez
  • 4 edits in trunk

Add AXTextMarkerRangeForNSRange attribute so that Mac clients can access this functionality.
https://bugs.webkit.org/show_bug.cgi?id=222477
Source/WebCore:

<rdar://problem/74793445>

Reviewed by Chris Fleizach.

This is a follow up to: https://bugs.webkit.org/show_bug.cgi?id=222154.
As Chris Fleizach pointed out in the above review, it is necessary to
add a handler in accessibilityAttributeValue:forParameter: for a new AX
attribute in order for clients to access this functionality.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
(-[WebAccessibilityObjectWrapper textMarkerRangeForNSRange:]): Deleted.

Tools:

Reviewed by Chris Fleizach.

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::textMarkerRangeForRange):

12:44 PM Changeset in webkit [273582] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]
https://bugs.webkit.org/show_bug.cgi?id=218637
<rdar://problem/71102126>

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

Remove incorrect validation that IOSurface pixel format matches
the pixel format of the texture image being specified.

The "Element" in IOSurface is a block of pixels, while the validation assumed
it means one pixel. The validation failed for a compressed format.

Currently we map non-public YUV formats, to which there is no elequent way
of implementing the validation.
Most likely this started to reproduce if IOSurfaceGetBytesPerElementOfPlane
was changed to produce correct results for the above YUV format.

Later commits could add the validation back for formats that we know the
pixel format type.

  • src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm:

(rx::IOSurfaceSurfaceEAGL::validateAttributes):

12:31 PM Changeset in webkit [273581] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews] Commit queue should show commit identifier every time it updates local checkout
https://bugs.webkit.org/show_bug.cgi?id=222287

Reviewed by Jonathan Bedard.

  • CISupport/ews-build/factories.py:

(CommitQueueFactory.init): Added ShowIdentifier step.

  • CISupport/ews-build/factories_unittest.py: Updated unit-test.
12:27 PM Changeset in webkit [273580] by Alan Coon
  • 2 edits in branches/safari-611-branch/Source/WebCore

Cherry-pick r273558. rdar://problem/74800042

Unreviewed, address post-landing review feedback for r273542.

Update a comment and fix a check that was reversed.

  • Modules/webaudio/ScriptProcessorNode.cpp: (WebCore::ScriptProcessorNode::createOutputBufferForJS const): (WebCore::ScriptProcessorNode::process):

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

12:27 PM Changeset in webkit [273579] by Alan Coon
  • 5 edits in branches/safari-611-branch/Source/WebCore

Cherry-pick r273542. rdar://problem/74800042

Fix threading issue in ScriptProcessorNode::process()
https://bugs.webkit.org/show_bug.cgi?id=222447
<rdar://74700526>

Reviewed by Jer Noble.

It was possible for the audio thread (in ScriptProcessorNode::process())
and the main thread (via ScriptProcessorNode::fireProcessEvent()) to
access the same m_inputBuffers / m_outputBuffers concurrently, causing
crashes. The m_processLock was supposed to avoid this. However, the
scope of the locking in ScriptProcessorNode::process() was insufficient
to protect us. ScriptProcessorNode::process() now grabs the lock very
early, before interacting with any buffers and we make sure not to
modify the buffers when we are unable to grab the lock.

Also, to make sure that the m_inputBuffers / m_outputBuffers are modified
by the main thread only during the scope of the fireProcessEvent() function
(during which we hold the processLock), we no longer pass our internal
buffers to the JS process event handler. Instead, we pass new buffers to
JS and memcpy to and from them. While this is less efficient, this is
actually required because the script could store the buffers it is given
and modify them outside the scope of the process event handler.

  • Modules/webaudio/AudioBuffer.cpp: (WebCore::AudioBuffer::AudioBuffer): (WebCore::AudioBuffer::topologyMatches const): (WebCore::AudioBuffer::copyTo const): (WebCore::AudioBuffer::clone const):
  • Modules/webaudio/AudioBuffer.h:
  • Modules/webaudio/ScriptProcessorNode.cpp: (WebCore::ScriptProcessorNode::createInputBufferForJS const): (WebCore::ScriptProcessorNode::createOutputBufferForJS const): (WebCore::ScriptProcessorNode::process): (WebCore::ScriptProcessorNode::fireProcessEvent):
  • Modules/webaudio/ScriptProcessorNode.h:

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

12:27 PM Changeset in webkit [273578] by Alan Coon
  • 5 edits
    4 adds in branches/safari-611-branch

Cherry-pick r273512. rdar://problem/74799698

REGRESSION(r269957): Empty font names passed to canvas2d cause all text routines to crash
https://bugs.webkit.org/show_bug.cgi?id=222402
<rdar://problem/72621268>

Reviewed by Darin Adler and Chris Lord.

Source/WebCore:

It looks like it was simply an oversight from that patch. If the font name is empty,
CanvasRenderingContext2D::setFont() will set the font object to one that doesn't have
its internal FontCascadeFonts pointer set.

Tests: fast/text/canvas-font-resolution-2.html

fast/text/canvas-font-resolution.html

  • html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setFont):
  • html/canvas/CanvasRenderingContext2DBase.h: (WebCore::CanvasRenderingContext2DBase::FontProxy::isPopulated const):
  • style/StyleResolveForFontRaw.cpp: (WebCore::Style::resolveForFontRaw):

LayoutTests:

  • fast/text/canvas-font-resolution-2-expected.html: Added.
  • fast/text/canvas-font-resolution-2.html: Added.
  • fast/text/canvas-font-resolution-expected.txt: Added.
  • fast/text/canvas-font-resolution.html: Added.

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

12:27 PM Changeset in webkit [273577] by Alan Coon
  • 2 edits in branches/safari-611-branch/Source/WebCore

Cherry-pick r273498. rdar://problem/74800989

[iOS] Crash when playing Dolby Atmos audio tracks with AVAudioTimePitchAlgorithmTimeDomain
https://bugs.webkit.org/show_bug.cgi?id=222420
<rdar://74612532>

Reviewed by Eric Carlson.

CoreAudio throws an assertion when using the TimeDomain pitch-correction algorithm on tracks
with > 2 channels. To work around this assertion for now, only set the pitch-correction
algorithm when the playbackRate is set to a non 0 or 1 value.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::audioTimePitchAlgorithmForMediaPlayerPitchCorrectionAlgorithm): (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): (WebCore::MediaPlayerPrivateAVFoundationObjC::setPlayerRate): (WebCore::MediaPlayerPrivateAVFoundationObjC::setPreservesPitch): (WebCore::MediaPlayerPrivateAVFoundationObjC::setPitchCorrectionAlgorithm): (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatusDidChange):

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

12:22 PM Changeset in webkit [273576] by pvollan@apple.com
  • 7 edits in trunk/Source/WebKit

[Cocoa] Send QOS parameters as part of Web process creation parameters
https://bugs.webkit.org/show_bug.cgi?id=222474

Reviewed by Chris Dumez.

In order to save one IPC call when starting a WebContent process, send QOS parameters as part of Web process creation parameters.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::initializeNewWebProcess):

  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

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

[Cocoa] Start WebContent process pre-warming when process is initialized
https://bugs.webkit.org/show_bug.cgi?id=222476

Reviewed by Chris Dumez.

Instead of pre-warming in response to a message, the WebContent process can start pre-warming automatically
if it is of a pre-warmed process type. This saves one IPC message on startup of the WebContent process.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::initializeNewWebProcess):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

  • WebProcess/WebProcess.messages.in:
12:09 PM Changeset in webkit [273574] by Devin Rousso
  • 10 edits in trunk/Source/WebKit

Provide the image URL for accessibility image extraction
https://bugs.webkit.org/show_bug.cgi?id=222483
<rdar://problem/74144895>

Reviewed by Wenson Hsieh.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::requestImageExtraction):

  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestImageExtraction):

  • UIProcess/PageClient.h:

(WebKit::PageClient::requestImageExtraction):

  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::requestImageExtraction):

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:
12:00 PM Changeset in webkit [273573] by Alan Coon
  • 1 copy in tags/Safari-611.1.20

Tag Safari-611.1.20.

11:51 AM Changeset in webkit [273572] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Remove old buildbot version from webkitpy autoinstaller
https://bugs.webkit.org/show_bug.cgi?id=222272

Reviewed by Jonathan Bedard.

  • Scripts/webkitpy/autoinstalled/buildbot.py:
11:29 AM Changeset in webkit [273571] by Alan Coon
  • 2 edits in branches/safari-611-branch/LayoutTests

Cherry-pick r273567. rdar://problem/74798808

Emoji sequences with constituents in the UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A Unicode block don't get combined properly
https://bugs.webkit.org/show_bug.cgi?id=222438
<rdar://problem/74382039>

Unreviewed test gardening.

  • platform/mac/TestExpectations:

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

11:29 AM Changeset in webkit [273570] by Alan Coon
  • 5 edits
    2 adds in branches/safari-611-branch

Cherry-pick r273539. rdar://problem/74798808

Emoji sequences with constituents in the UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A Unicode block don't get combined properly
https://bugs.webkit.org/show_bug.cgi?id=222438
<rdar://problem/74382039>

Reviewed by Zalan Bujtas.

Source/WebCore:

Just add UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A to the list.

We have to do some workarounds because not all versions of ICU include this value.
Luckily, these workarounds are compile-time-only, because we we're only using this value
to compare to a value produced by ICU (not a value we pass into ICU).

Test: fast/text/mending-heart.html

  • platform/text/CharacterProperties.h: (WebCore::isEmojiGroupCandidate):

LayoutTests:

  • fast/text/mending-heart-expected.txt: Added.
  • fast/text/mending-heart.html: Added.
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:

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

11:29 AM Changeset in webkit [273569] by Lauro Moura
  • 4 edits
    15 moves in trunk/LayoutTests

[GLIB] Move some css3 blending baselines to glib and update expectations

Unreviewed test gardening.

These tests are passing in GTK and in WPE, so move the baselines to
glib.

The two GTK expectations left are now in GLIB and the PASS flakiness
removed as they are consistently ImageOnlyFailing. Also moved the
other expectations to the compositing section.

  • platform/glib/TestExpectations:
  • platform/glib/css3/blending/svg-blend-color-burn-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-color-burn-expected.txt.
  • platform/glib/css3/blending/svg-blend-color-dodge-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-color-dodge-expected.txt.
  • platform/glib/css3/blending/svg-blend-darken-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-darken-expected.txt.
  • platform/glib/css3/blending/svg-blend-difference-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-difference-expected.txt.
  • platform/glib/css3/blending/svg-blend-exclusion-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-exclusion-expected.txt.
  • platform/glib/css3/blending/svg-blend-hard-light-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-hard-light-expected.txt.
  • platform/glib/css3/blending/svg-blend-lighten-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-lighten-expected.txt.
  • platform/glib/css3/blending/svg-blend-multiply-alpha-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-multiply-alpha-expected.txt.
  • platform/glib/css3/blending/svg-blend-multiply-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-multiply-expected.txt.
  • platform/glib/css3/blending/svg-blend-normal-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-normal-expected.txt.
  • platform/glib/css3/blending/svg-blend-overlay-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-overlay-expected.txt.
  • platform/glib/css3/blending/svg-blend-plus-darker-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-plus-darker-expected.txt.
  • platform/glib/css3/blending/svg-blend-plus-lighter-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-plus-lighter-expected.txt.
  • platform/glib/css3/blending/svg-blend-screen-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-screen-expected.txt.
  • platform/glib/css3/blending/svg-blend-soft-light-expected.txt: Renamed from LayoutTests/platform/gtk/css3/blending/svg-blend-soft-light-expected.txt.
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
11:28 AM Changeset in webkit [273568] by jer.noble@apple.com
  • 20 edits in trunk/Source

[GPUP] Allow painting of GPUP hosted video from the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=222461

Reviewed by Eric Carlson.

Source/WebCore:

  • Change the return type of pixelBufferForCurrentTime() to return a RetainPtr<> rather than just a raw pointer.
  • Add utility methods on IOSurface to retrieve an IOSurface from a CVPixelBuffer and to reconstitute a CVPixelBuffer from an IOSurface.
  • platform/cocoa/CoreVideoSoftLink.cpp:
  • platform/cocoa/CoreVideoSoftLink.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::pixelBufferForCurrentTime):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::pixelBufferForCurrentTime):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::pixelBufferForCurrentTime):

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pixelBufferForCurrentTime):

  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::createFromPixelBuffer):
(WebCore::IOSurface::createPixelBuffer):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:

(WebCore::GraphicsContextGLOpenGL::copyTextureFromMedia):

Source/WebKit:

Add Cocoa implementations for nativeImageForCurrentTime() and pixelBufferForCurrentTime().
Use those methods to implement paintCurrentFrameInContext().

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
  • GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:

(WebKit::RemoteMediaPlayerProxy::nativeImageForCurrentTime):
(WebKit::RemoteMediaPlayerProxy::pixelBufferForCurrentTime):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::paint):
(WebKit::MediaPlayerPrivateRemote::paintCurrentFrameInContext):
(WebKit::MediaPlayerPrivateRemote::pixelBufferForCurrentTime):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:

(WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime):
(WebKit::MediaPlayerPrivateRemote::pixelBufferForCurrentTime):

10:44 AM Changeset in webkit [273567] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

Emoji sequences with constituents in the UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A Unicode block don't get combined properly
https://bugs.webkit.org/show_bug.cgi?id=222438
<rdar://problem/74382039>

Unreviewed test gardening.

  • platform/mac/TestExpectations:
10:40 AM Changeset in webkit [273566] by Russell Epstein
  • 1 copy in tags/Safari-612.1.5.1

Tag Safari-612.1.5.1.

10:33 AM Changeset in webkit [273565] by Russell Epstein
  • 2 edits in branches/safari-612.1.5-branch/Source/WebKit

Cherry-pick r273560. rdar://problem/74796083

Convert WKMediaPlaybackState NS_ENUM back to NSUInteger type
https://bugs.webkit.org/show_bug.cgi?id=222475
<rdar://problem/74787665>

Reviewed by Alex Christensen.

  • UIProcess/API/Cocoa/WKWebView.h:

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

10:24 AM Changeset in webkit [273564] by pvollan@apple.com
  • 8 edits in trunk/Source

[Cocoa] Register VP9 decoders when PlatformMediaSessionManager is created
https://bugs.webkit.org/show_bug.cgi?id=222473
<rdar://problem/74790242>

Reviewed by Eric Carlson.

Source/WebCore:

Currently, VP9 decoders are registered when a Web page is created in the WebContent process. Instead, VP9 decoders can be registered
when PlatformMediaSessionManager is created, which should be a slight performance improvement, since calls into media frameworks will
then not be made unconditionally when creating a Web page, but delayed until required.

No new tests, covered by existing tests.

  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::setShouldEnableVP9Decoder):
(WebCore::PlatformMediaSessionManager::shouldEnableVP9Decoder):
(WebCore::PlatformMediaSessionManager::setShouldEnableVP8Decoder):
(WebCore::PlatformMediaSessionManager::shouldEnableVP8Decoder):
(WebCore::PlatformMediaSessionManager::setShouldEnableVP9SWDecoder):
(WebCore::PlatformMediaSessionManager::shouldEnableVP9SWDecoder):

  • platform/audio/PlatformMediaSessionManager.h:
  • platform/audio/cocoa/MediaSessionManagerCocoa.mm:

(WebCore::MediaSessionManagerCocoa::MediaSessionManagerCocoa):

Source/WebKit:

Currently, VP9 decoders are registered when a Web page is created in the WebContent process. Instead, VP9 decoders can be registered when
PlatformMediaSessionManager is created, which should be a slight performance improvement, since calls into media frameworks will then not
be made unconditionally when creating a Web page, but delayed until required.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_lastNavigationWasAppBound):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::enableVP9Decoder): Deleted.
(WebKit::WebProcess::enableVP8SWDecoder): Deleted.
(WebKit::WebProcess::enableVP9SWDecoder): Deleted.

  • WebProcess/WebProcess.h:
10:24 AM Changeset in webkit [273563] by Ruben Turcios
  • 8 edits in branches/safari-612.1.5-branch/Source

Versioning.

WebKit-7612.1.5.1

9:54 AM Changeset in webkit [273562] by Devin Rousso
  • 10 edits
    2 adds in trunk

[Payment Request] log if updateWith is not called synchronously
https://bugs.webkit.org/show_bug.cgi?id=222436

Reviewed by Andy Estes.

Source/WebCore:

Test: http/tests/paymentrequest/updateWith-log-error-if-not-synchronous.https.html

  • Modules/paymentrequest/PaymentRequest.h:
  • Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::PaymentRequest::shippingAddressChanged):
(WebCore::PaymentRequest::shippingOptionChanged):
(WebCore::PaymentRequest::paymentMethodChanged):
(WebCore::PaymentRequest::dispatchAndCheckUpdateEvent): Added.

  • Modules/paymentrequest/PaymentRequestUpdateEvent.h:

(WebCore::PaymentRequestUpdateEvent::didCallUpdateWith const): Added.

LayoutTests:

  • http/tests/paymentrequest/updateWith-log-error-if-not-synchronous.https.html: Added.
  • http/tests/paymentrequest/updateWith-log-error-if-not-synchronous.https-expected.txt: Added.
  • http/tests/paymentrequest/payment-request-change-shipping-address.https.html:
  • http/tests/paymentrequest/payment-request-change-shipping-option.https.html:
  • http/tests/paymentrequest/payment-request-show-method.https.html:
  • http/tests/ssl/applepay/ApplePayBillingAddress.html:
  • http/tests/ssl/applepay/ApplePayPaymentMethodChangeEvent.https.html:

Add updateWith({}) calls to avoid the log.

9:49 AM Changeset in webkit [273561] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ macOS ] fast/text/mending-heart.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=222479

Unreviewed test gardening.

Patch by Robert Jenner <Robert Jenner> on 2021-02-26

  • platform/mac/TestExpectations: Test consantly fails. Already marked in test for iOS, updating test expectation to fail for macOS until the test is fixed.
9:40 AM Changeset in webkit [273560] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

Convert WKMediaPlaybackState NS_ENUM back to NSUInteger type
https://bugs.webkit.org/show_bug.cgi?id=222475
<rdar://problem/74787665>

Reviewed by Alex Christensen.

  • UIProcess/API/Cocoa/WKWebView.h:
9:14 AM Changeset in webkit [273559] by Peng Liu
  • 6 edits in trunk/LayoutTests

[GPUP] Clean up TestExpectations related to media tests
https://bugs.webkit.org/show_bug.cgi?id=222456

Reviewed by Simon Fraser.

  • gpu-process/TestExpectations:

Remove a duplicated expectation (imported/w3c/web-platform-tests/fetch/range/general.window.html).
Move webaudio related test expectations to platform/wk2/TestExpectations.

  • platform/ios-wk2/TestExpectations:

webkit.org/b/221821 has been fixed in r273504.

  • platform/mac-wk2/TestExpectations:

Two media capabilities test failures have been fixed in r273504.
Move a test expectation (platform/mac/media/media-source/videoplaybackquality-decompressionsession.html)
to platform/mac/TestExpectations.
Reorganize expectations for tests in webgl/2.0.0/conformance2/textures/video.

  • platform/mac/TestExpectations:

Remove a duplicated test expectation (mediaElementAudioSourceToScriptProcessorTest.html).

  • platform/wk2/TestExpectations:

Track all modern-media-controls test failures in one bug.
Track all canvas related media test failures in one bug.

8:02 AM Changeset in webkit [273558] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, address post-landing review feedback for r273542.

Update a comment and fix a check that was reversed.

  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::createOutputBufferForJS const):
(WebCore::ScriptProcessorNode::process):

7:46 AM Changeset in webkit [273557] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Stop using deprecated buildbot.status.builder
https://bugs.webkit.org/show_bug.cgi?id=222373

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/steps.py:
6:51 AM WebKitFlatpakSDK/DebugWithRR edited by Philippe Normand
(diff)
6:48 AM Changeset in webkit [273556] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

[LFC][IFC] Inline boxes should not be referred as inline containers
https://bugs.webkit.org/show_bug.cgi?id=222455

Reviewed by Antti Koivisto.

Inline boxes used to be called inline containers (e.g <span> -> [inline container start] and </span> -> [inline container end]).

  • layout/inlineformatting/InlineContentBreaker.cpp:

(WebCore::Layout::hasTextRun):
(WebCore::Layout::InlineContentBreaker::processOverflowingContentWithText const):

  • layout/inlineformatting/InlineContentBreaker.h:
  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::usedContentHeight const):
(WebCore::Layout::InlineFormattingContext::collectInlineContentIfNeeded):

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::appendInlineBoxStart):
(WebCore::Layout::Line::appendInlineBoxEnd):
(WebCore::Layout::Line::appendTextContent):
(WebCore::Layout::Line::TrimmableTrailingContent::remove):

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::isAtSoftWrapOpportunity):
(WebCore::Layout::LineBuilder::nextWrapOpportunity const):

6:48 AM Changeset in webkit [273555] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Include the inline box in the enclosing geometry only once
https://bugs.webkit.org/show_bug.cgi?id=222454

Reviewed by Antti Koivisto.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):

6:19 AM Changeset in webkit [273554] by Alan Bujtas
  • 4 edits in trunk/LayoutTests

Remove unnecessary whitespace (css1/text_properties/text_decoration.html)
https://bugs.webkit.org/show_bug.cgi?id=222446

Reviewed by Antti Koivisto.

Whitespace characters often end up as trailing content and legacy line layout does not trim them properly.
They cause unnecessary noise in renderer tree dumps when switching to modern line layout.

  • css1/box_properties/border.html:
  • css1/text_properties/text_decoration.html:
  • platform/mac/css1/box_properties/border-expected.txt:
  • platform/mac/css1/text_properties/text_decoration-expected.txt:
6:07 AM Changeset in webkit [273553] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Fix clang compilation error in PlatformXR::ViewData initialization
https://bugs.webkit.org/show_bug.cgi?id=222467

Patch by Imanol Fernandez <imanol> on 2021-02-26
Reviewed by Philippe Normand.

Mixture of designated and non-designated struct initializers is a C99 extension.
Switch to designated initializers to avoid compilation errors in compilers not
supporting the extension.

  • Modules/webxr/WebXRSystem.cpp:

(WebCore::WebXRSystem::DummyInlineDevice::views const):

  • platform/xr/openxr/PlatformXROpenXR.cpp:

(PlatformXR::OpenXRDevice::views const):

  • testing/WebFakeXRDevice.cpp:

(WebCore::SimulatedXRDevice::views const):

6:00 AM Changeset in webkit [273552] by Carlos Garcia Campos
  • 2 edits in trunk

Unreviewed. [GTK] Bump version numbers

  • Source/cmake/OptionsGTK.cmake:
4:45 AM Changeset in webkit [273551] by Philippe Normand
  • 2 edits in trunk/Tools

Unreviewed, WPE build fix after SDK r273544 deployment

  • TestWebKitAPI/PlatformWPE.cmake: GLib include path was missing in the TestJavaScriptCore

build.

4:05 AM Changeset in webkit [273550] by youenn@apple.com
  • 12 edits
    1 move
    7 adds in trunk

Add support for WebRTC priority
https://bugs.webkit.org/show_bug.cgi?id=222416

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/webrtc-priority/META.yml: Added.
  • web-platform-tests/webrtc-priority/RTCPeerConnection-ondatachannel-expected.txt: Added.
  • web-platform-tests/webrtc-priority/RTCPeerConnection-ondatachannel.html: Added.
  • web-platform-tests/webrtc-priority/RTCRtpParameters-encodings-expected.txt: Added.
  • web-platform-tests/webrtc-priority/RTCRtpParameters-encodings.html: Added.
  • web-platform-tests/webrtc-priority/w3c-import.log: Added.

Source/WebCore:

Implement https://w3c.github.io/webrtc-priority/ by piping priorities between binding and backend.

Tests: imported/w3c/web-platform-tests/webrtc-priority/RTCPeerConnection-ondatachannel.html

imported/w3c/web-platform-tests/webrtc-priority/RTCRtpParameters-encodings.html

  • Modules/mediastream/RTCDataChannel.h:
  • Modules/mediastream/RTCDataChannel.idl:
  • Modules/mediastream/RTCRtpEncodingParameters.h:
  • Modules/mediastream/RTCRtpEncodingParameters.idl:
  • Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:

(WebCore::LibWebRTCDataChannelHandler::fromRTCDataChannelInit):
(WebCore::LibWebRTCDataChannelHandler::channelEvent):
(WebCore::fromStdString): Deleted.

  • Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:

(WebCore::fromRTCPriorityType):
(WebCore::toRTCPriorityType):
(WebCore::toWebRTCBitRatePriority):
(WebCore::fromWebRTCBitRatePriority):
(WebCore::toRTCEncodingParameters):
(WebCore::fromRTCEncodingParameters):
(WebCore::updateRTCRtpSendParameters):

  • Modules/mediastream/libwebrtc/LibWebRTCUtils.h:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/RTCDataChannelHandler.h:
  • platform/mediastream/RTCPriorityType.h: Renamed from Source/WebCore/Modules/mediastream/RTCPriorityType.h.
3:53 AM Changeset in webkit [273549] by commit-queue@webkit.org
  • 14 edits in trunk

Implement OpenXR port graphics binding
https://bugs.webkit.org/show_bug.cgi?id=222173

Patch by Imanol Fernandez <imanol> on 2021-02-26
Reviewed by Sergio Villar Senin.

.:

Enable OpenXR defines required for EGL graphics binding.

  • Source/cmake/OptionsWPE.cmake:

Source/WebCore:

This patch implements the graphics binding required to initialize OpenXR sessions
with tracking and rendering support. The current implementation was using a headless
OpenXR session which is not valid for tracking.

The headless session was used to avoid allocating the graphics resources during WebXR
device enumeration. The problem is that it can't be converted later to a valid session for
tracking, and the global XrInstance needs to be recreated. This patch implements a new approach
to keep the delayed graphics initialization without using the headless session.

  • platform/graphics/egl/GLContextEGL.cpp: Add EGLConfig argument to create methods

(WebCore::GLContextEGL::createWindowContext):
(WebCore::GLContextEGL::createPbufferContext):
(WebCore::GLContextEGL::createSurfacelessContext):
(WebCore::GLContextEGL::GLContextEGL):

  • platform/graphics/egl/GLContextEGL.h: Add EGLConfig member
  • platform/graphics/egl/GLContextEGLLibWPE.cpp: initialize m_config

(WebCore::GLContextEGL::GLContextEGL):
(WebCore::GLContextEGL::createWPEContext):

  • platform/graphics/egl/GLContextEGLWayland.cpp: initialize m_config

(WebCore::GLContextEGL::GLContextEGL):
(WebCore::GLContextEGL::createWaylandContext):

  • platform/graphics/egl/GLContextEGLX11.cpp: initialize m_config

(WebCore::GLContextEGL::GLContextEGL):
(WebCore::GLContextEGL::createPixmapContext):

  • platform/xr/openxr/OpenXRExtensions.cpp: Add OpenXRExtensionMethods

(PlatformXR::OpenXRExtensions::loadMethods):

  • platform/xr/openxr/OpenXRExtensions.h:
  • platform/xr/openxr/OpenXRInstance.cpp: Enable graphics related extensions instead of XR_MND_HEADLESS_EXTENSION

(PlatformXR::Instance::Impl::Impl):

  • platform/xr/openxr/OpenXRUtils.h: Forward declare symbols required by openxr_platform.
  • platform/xr/openxr/PlatformXROpenXR.cpp:

(PlatformXR::OpenXRDevice::initializeTrackingAndRendering): Setup XrGraphicsBindingEGLMNDX
(PlatformXR::OpenXRDevice::collectEnabledFeatures): Alternative solution to enumerateReferenceSpaces()
(PlatformXR::OpenXRDevice::collectSupportedSessionModes):
(PlatformXR::OpenXRDevice::resetSession): deallocate graphic resources

  • platform/xr/openxr/PlatformXROpenXR.h:
3:10 AM Changeset in webkit [273548] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.32.90

WebKitGTK 2.31.90

3:09 AM Changeset in webkit [273547] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.32

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.31.90 release

.:

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

Source/WebKit:

  • gtk/NEWS:Add release notes for 2.31.90.
2:11 AM WebKitGTK/2.32.x created by Carlos Garcia Campos
1:47 AM Changeset in webkit [273546] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.32

Branch WebKitGTK for 2.32

1:37 AM Changeset in webkit [273545] by Carlos Garcia Campos
  • 8 edits in trunk

[GTK][WPE] Bump libsoup3 version to 2.99.1
https://bugs.webkit.org/show_bug.cgi?id=222413

Reviewed by Adrian Perez de Castro.

.:

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:

Source/WebCore:

Use new session getters and setters instead of g_object_get/set.

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::SoupNetworkSession):
(WebCore::SoupNetworkSession::setProxySettings):
(WebCore::SoupNetworkSession::setAcceptLanguages):

  • platform/network/soup/SoupVersioning.h:

(soup_session_set_proxy_resolver):
(soup_session_get_proxy_resolver):
(soup_session_set_accept_language):

Source/WTF:

  • wtf/Platform.h: Set minimum required version to 2.99
1:20 AM Changeset in webkit [273544] by Philippe Normand
  • 4 edits
    1 add in trunk/Tools/buildstream

[Flatpak SDK] Add recipe for libsoup3
https://bugs.webkit.org/show_bug.cgi?id=222419

Reviewed by Carlos Garcia Campos.

LibSoup3 is parallel-installable with libsoup2, for now we want to keep libsoup2 in the SDK,
at least until porting to libsoup3 has progressed enough.

  • elements/sdk-platform.bst:
  • elements/sdk/glib.bst: Bump to latest 2.67 release.
  • elements/sdk/gtk+-3.bst: Bump to latest 3.24 release, not strictly needed but I was driving by.
  • elements/sdk/libsoup3.bst: Added.
1:04 AM Changeset in webkit [273543] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

REGRESSION (r269824): macCatalyst WKWebView shows chunks of other tiles in the middle of content
https://bugs.webkit.org/show_bug.cgi?id=222460
<rdar://problem/74102753>

Reviewed by Simon Fraser.

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
Reinstate some code that was accidentally deleted in r269824 that ensures
that we do not use an in-use IOSurface as our front buffer, so that
we don't paint into it while it's being composited in the render server.

Also, add some comments, since this code is all a little confusing
with its fronts and backs.

Note: See TracTimeline for information about the timeline view.