Timeline



Jul 29, 2020:

11:58 PM Changeset in webkit [265077] by Fujii Hironori
  • 6 edits in trunk/Tools

Replace 'http://svn.webkit.org' with 'https://svn.webkit.org' in webkitpy scripts
https://bugs.webkit.org/show_bug.cgi?id=214957

Reviewed by Daniel Bates.

SVNRepository.has_authorization_for_realm failed to find the realm
string.

  • Scripts/webkitpy/common/checkout/changelog.py:

(ChangeLogEntry): Removed a unused variable 'svn_id_regexp'.

  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
  • Scripts/webkitpy/common/config/urls.py:
  • Scripts/webkitpy/tool/commands/suggestnominations.py:

(AbstractCommitLogCommand): Changed _revision_regexp to use 'https?' to accept 'https'.

  • Scripts/webkitpy/tool/commands/suggestnominations_unittest.py:
10:43 PM Changeset in webkit [265076] by ysuzuki@apple.com
  • 2 edits in trunk/JSTests

Unreviewed, use requireOptions
https://bugs.webkit.org/show_bug.cgi?id=214956

  • wasm/stress/bottom-tuple.js:
10:43 PM Changeset in webkit [265075] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Remove the build warning below since r265062.
warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]

No new tests, no new behaviors.

  • Modules/webaudio/AudioBuffer.cpp:

(WebCore::AudioBuffer::copyFromChannel):
(WebCore::AudioBuffer::copyToChannel):

9:42 PM Changeset in webkit [265074] by ysuzuki@apple.com
  • 17 edits
    2 copies
    1 add in trunk

[JSC] Add B3::BottomTupleValue node
https://bugs.webkit.org/show_bug.cgi?id=214956
<rdar://problem/65192877>

Reviewed by Keith Miller.

JSTests:

  • wasm/stress/bottom-tuple.js: Added.

(try.main):
(catch):

Source/JavaScriptCore:

In B3 strength reduction, we convert B3 values to bottom value based on type after Oops kind, and then they are *typically* removed later.
While we support bottom values for usual types, we do not have a bottom value for tuple type. So when replaceWithBottom is called, we
fail to replace Patchpoints producing tuples with bottom values.

This patch newly adds B3 BottomTupleValue, which is just a BottomValue for tuple. We can extend it to generate arbitrary constant
tuple values, but for now, we just support bottom tuple values. We add a new node instead of generating patchpoint which generates bottom
values since BottomTupleValues implementation is simpler: BottomTupleValue just emits bunch of zero clear for Air tmps and Air does everything
automatically. On the other hand, implementing a patchpoint needs to add code which clears things with zero while checking the ValueRep. And
since we have Const32, Const64, etc. values, having this kind of value for tuple too is natural. Plus, this design allows us to remove bunch
of unnecessary instructions after lowering this to Air since Air knows what instructions will be emitted by this BottomTupleValue, and Air
can remove a lot of zero clear instructions if they are not read later by Extract.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • b3/B3BottomTupleValue.cpp: Copied from Source/JavaScriptCore/b3/B3InsertionSet.cpp.

(JSC::B3::BottomTupleValue::dumpMeta const):

  • b3/B3BottomTupleValue.h: Copied from Source/JavaScriptCore/b3/B3InsertionSet.cpp.
  • b3/B3InsertionSet.cpp:

(JSC::B3::InsertionSet::insertBottom):

  • b3/B3LowerToAir.cpp:
  • b3/B3Opcode.cpp:

(WTF::printInternal):

  • b3/B3Opcode.h:
  • b3/B3Procedure.cpp:

(JSC::B3::Procedure::addBottom):

  • b3/B3TypeMap.h:

(JSC::B3::TypeMap::TypeMap): Deleted.

  • b3/B3Validate.cpp:
  • b3/B3Value.cpp:

(JSC::B3::Value::effects const):
(JSC::B3::Value::key const):

  • b3/B3Value.h:
  • b3/B3ValueInlines.h:
  • b3/B3ValueKey.cpp:

(JSC::B3::ValueKey::materialize const):

  • b3/testb3_7.cpp:

(testBottomTupleValue):
(addTupleTests):

6:01 PM Changeset in webkit [265073] by jer.noble@apple.com
  • 10 edits in trunk/Source

Support HDR decode in SW VP9
https://bugs.webkit.org/show_bug.cgi?id=214928
Source/ThirdParty/libwebrtc:

Reviewed by Eric Carlson.

Support converting I010 buffers (full-planar, 10-bit data packed into the LSB of a 16-bit int)
into CVPixelBuffers (bi-planar, 10-bit data packed into the MSB of a 16-bit int). This requires
using functions from libyuv to merge and scale 16-bit planar data, optimized for AVX2. To know
that incoming buffers are 10-bit, and whether they're full-range, parse the 'vpcC' atom attached
to the CMFormatDescription.

  • Source/webrtc/sdk/WebKit/WebKitUtilities.mm:

(webrtc::MergeUVPlane_16):
(webrtc::CopyPlane_16):
(webrtc::CopyVideoFrameToPixelBuffer):
(webrtc::pixelBufferFromFrame):

  • Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:

(webrtc::createWebKitVP9Decoder):
(webrtc::startVP9DecoderSession):
(webrtc::WebKitVP9DecoderReceiver::createPixelBufferPoolForFormatDescription):
(webrtc::WebKitVP9DecoderReceiver::Decoded):

Source/WebCore:

Reviewed by Eric Carlson.

Convert the incoming properties parsed from the VP9 header into extensions to our
CMFormatDescription attached to each incoming video fram.

Drive-by fix: Files in the wild will have incorrect values for whether a given
frame is a keyframe or not. Trust the VP9 header parser rather than the container
in this situations.

  • platform/graphics/cocoa/SourceBufferParserWebM.cpp:

(WebCore::convertToCMColorPrimaries):
(WebCore::convertToCMTransferFunction):
(WebCore::convertToCMYCbCRMatrix):
(WebCore::createFormatDescriptionFromVP9HeaderParser):
(WebCore::SourceBufferParserWebM::OnFrame):

Source/WebCore/PAL:

<rdar://problem/66284848>

Reviewed by Eric Carlson.

  • pal/cf/CoreMediaSoftLink.cpp:
  • pal/cf/CoreMediaSoftLink.h:
6:00 PM Changeset in webkit [265072] by Megan Gardner
  • 2 edits in trunk/Source/WebKit

Highlight color does not switch after being set it system preferences.
https://bugs.webkit.org/show_bug.cgi?id=214938
<rdar://problem/65270586>

Reviewed by Tim Horton.

After the changes to the sandbox and how defaults are being transferred to the web process
(https://trac.webkit.org/changeset/258064/webkit), the highlight color was not being updated
immediately. We need to send the proper notification after setting the defaults so that the
color cache is invalidated after it is actually set and we do not end up with a stale value.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::userHighlightColorPreferenceKey):
(WebKit::dispatchSimulatedNotificationsForPreferenceChange):

5:14 PM Changeset in webkit [265071] by ysuzuki@apple.com
  • 10 edits
    3 deletes in trunk/JSTests

[JSC] Upgrade test262
https://bugs.webkit.org/show_bug.cgi?id=214949

Reviewed by Ross Kirsling.

related-year-zh.js tests are updated and passing.

  • test262/config.yaml:
  • test262/latest-changes-summary.txt:
  • test262/test/intl402/DateTimeFormat/prototype/format/related-year-zh.js:
  • test262/test/intl402/DateTimeFormat/prototype/formatToParts/related-year-zh.js:

(actual.forEach):
(verifyFormatParts): Deleted.
(verifyFormatParts.df.formatToParts): Deleted.

  • test262/test/intl402/Segmenter/prototype/segment/segment-grapheme-iterable.js:

(const.v.of.seg.segment):

  • test262/test/intl402/Segmenter/prototype/segment/segment-grapheme.js: Removed.
  • test262/test/intl402/Segmenter/prototype/segment/segment-sentence-iterable.js:

(const.v.of.seg.segment):

  • test262/test/intl402/Segmenter/prototype/segment/segment-sentence.js: Removed.
  • test262/test/intl402/Segmenter/prototype/segment/segment-tostring.js:
  • test262/test/intl402/Segmenter/prototype/segment/segment-word-iterable.js:

(const.v.of.seg.segment):

  • test262/test/intl402/Segmenter/prototype/segment/segment-word.js: Removed.
  • test262/test262-Revision.txt:
4:57 PM Changeset in webkit [265070] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

[GTK] 2.29.4 fails to link on armv7hl
https://bugs.webkit.org/show_bug.cgi?id=214934

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-07-29
Reviewed by Carlos Alberto Lopez Perez.

Link ANGLE to with -ldl

  • CMakeLists.txt:
4:50 PM Changeset in webkit [265069] by ysuzuki@apple.com
  • 5 edits in trunk/JSTests

[JSC] Skip too heavy tests for Debug build
https://bugs.webkit.org/show_bug.cgi?id=214939

Reviewed by Mark Lam.

They are taking too much time in Debug build and cause timeout. We should skip them.

  • ChakraCore.yaml:
  • stress/codeblock-destructor-access-unlinkedcodeblock.js:
  • stress/dfg-to-string-on-string-object-does-not-gc.js:
  • stress/rest-parameter-many-arguments.js:
4:40 PM Changeset in webkit [265068] by Darin Adler
  • 1 edit
    1 add in trunk/Tools

Add script to help us count uses of non-inclusive terms
https://bugs.webkit.org/show_bug.cgi?id=214942

Reviewed by Beth Dakin.

  • Scripts/report-non-inclusive-language: Added.
4:34 PM Changeset in webkit [265067] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

[iPadOS] Custom dropdown menu dismisses immediately on account.nhl.com
https://bugs.webkit.org/show_bug.cgi?id=214944
<rdar://problem/66248506>

Reviewed by Jer Noble.

Exempt account.nhl.com from site-specific "simulated mouse events" behavior, since it is incompatible with some
custom dropdown menus that appear on this website.

  • page/Quirks.cpp:

(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const):

4:29 PM Changeset in webkit [265066] by Chris Dumez
  • 29 edits
    4 adds in trunk

Added constructor methods to ChannelMergerNode, ChannelSplitterNode
https://bugs.webkit.org/show_bug.cgi?id=214851
<rdar://problem/66233763>

Patch by Clark Wang <clark_wang@apple.com> on 2020-07-29
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Re-baselined existing tests that now pass, or fail due to a different interface.

  • web-platform-tests/webaudio/idlharness.https.window-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/buffer-resampling-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-dynamics-compressor-connections-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/simple-input-output.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/active-processing.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-basic-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/ctor-channelmerger-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelsplitternode-interface/audiochannelsplitter-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelsplitternode-interface/ctor-channelsplitter-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/detune-limiting-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-scriptprocessornode-interface/simple-input-output-expected.txt:

Source/WebCore:

Added constructors for ChannelMergerNode, ChannelSplitterNode according to spec:
https://www.w3.org/TR/webaudio/#ChannelMergerNode-constructors. Added new files
for ChannelMergerOptions and ChannelSplitterOptions. This patch also ensures that
BaseAudioContext::create*() and *Node::create() methods behave the same.

Re-baselined existing tests that now pass, or fail further along.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/webaudio/AudioNode.h:
  • Modules/webaudio/BaseAudioContext.cpp:

(WebCore::BaseAudioContext::createChannelSplitter):
(WebCore::BaseAudioContext::createChannelMerger):

  • Modules/webaudio/ChannelMergerNode.cpp:

(WebCore::ChannelMergerNode::create):
(WebCore::ChannelMergerNode::setChannelCount):
(WebCore::ChannelMergerNode::setChannelCountMode):

  • Modules/webaudio/ChannelMergerNode.h:
  • Modules/webaudio/ChannelMergerNode.idl:
  • Modules/webaudio/ChannelMergerOptions.h: Added.
  • Modules/webaudio/ChannelMergerOptions.idl: Added.
  • Modules/webaudio/ChannelSplitterNode.cpp:

(WebCore::ChannelSplitterNode::create):
(WebCore::ChannelSplitterNode::setChannelCount):
(WebCore::ChannelSplitterNode::setChannelCountMode):
(WebCore::ChannelSplitterNode::setChannelInterpretation):

  • Modules/webaudio/ChannelSplitterNode.h:
  • Modules/webaudio/ChannelSplitterNode.idl:
  • Modules/webaudio/ChannelSplitterOptions.h: Added.
  • Modules/webaudio/ChannelSplitterOptions.idl: Added.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
4:15 PM Changeset in webkit [265065] by Tadeu Zagallo
  • 3 edits
    1 add in trunk

WebAssembly validation for call_indirect is incorrect
https://bugs.webkit.org/show_bug.cgi?id=214901
<rdar://problem/65189677>

Reviewed by Saam Barati.

JSTests:

  • wasm/stress/validate-call_indirect.js: Added.

(try.main):
(catch):

Source/JavaScriptCore:

There was an incorrect condition when validating call_indirect's arguments, which often resulted in skipping this validation.

  • wasm/WasmFunctionParser.h:

(JSC::Wasm::FunctionParser<Context>::parseExpression):

3:47 PM Changeset in webkit [265064] by commit-queue@webkit.org
  • 666 edits
    5 copies
    4 moves
    73 adds
    32 deletes in trunk/Source/ThirdParty/ANGLE

Roll ANGLE to 2020-07-28
https://bugs.webkit.org/show_bug.cgi?id=214897

Patch by Kenneth Russell <kbr@chromium.org> on 2020-07-29
Reviewed by Alex Christensen.

Roll to current ANGLE revision. Large ChangeLog below has been
truncated except for a few significant files.

Add dependency on zlib wrapper in third_party/zlib/google for both
Xcode and CMake builds. Small change to this wrapper for the
WinCairo build's system zlib, which doesn't define z_const.

  • .gitignore:
  • ANGLE.plist:
  • ANGLE.xcodeproj/project.pbxproj:
  • CMakeLists.txt:
  • Configurations/ANGLE-dynamic.xcconfig:
  • Configurations/ANGLE-static.xcconfig:
  • GLESv2.cmake:
  • PlatformWin.cmake:
  • third_party/zlib/google/compression_utils_portable.cc: Added.
  • third_party/zlib/google/compression_utils_portable.h: Added.
3:24 PM Changeset in webkit [265063] by Kate Cheney
  • 13 edits
    2 adds in trunk

Migrate App-Bound Domains code from WebKit Additions
https://bugs.webkit.org/show_bug.cgi?id=214889
<rdar://problem/66075857>

Reviewed by Brent Fulgham.

Source/WebKit:

No new tests, this is just code migration and will be tested
by existing App-Bound Domains tests.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::activateSessionCleanup):
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):

  • Shared/Cocoa/DefaultWebBrowserChecks.h: Added.
  • Shared/Cocoa/DefaultWebBrowserChecks.mm: Added.

Holds all functions related to full browser checks and
App-Bound Domains.

(WebKit::shouldBeTreatedAsFullBrowser):
(WebKit::getAppBoundDomainsTesting):
These functions allow us to treat our test runners as full browsers
while triggering non-browser mode for testing other App-Bound Domains
functionality.

(WebKit::isInWebKitChildProcess):
(WebKit::hasRequestedCrossWebsiteTrackingPermission):
(WebKit::determineITPStateInternal):
(WebKit::determineITPState):
(WebKit::doesAppHaveITPEnabled):
(WebKit::doesParentProcessHaveITPEnabled):
(WebKit::hasProhibitedUsageStrings):
(WebKit::isParentProcessAFullWebBrowser):
(WebKit::isFullWebBrowser):

  • UIProcess/API/APIHTTPCookieStore.cpp:

(API::HTTPCookieStore::filterAppBoundCookies):

  • UIProcess/API/APIPageConfiguration.cpp:

(API::PageConfiguration::PageConfiguration):
(): Deleted.

  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::createNewWebProcess):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::addTestDomains const):
(WebKit::WebsiteDataStore::ensureAppBoundDomains const):

  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • WebKit.xcodeproj/project.pbxproj:

Tools:

Replace WebKit Additions macros with code to set a different bundle
identifier indicating that we want to run an App-Bound Domains test.

Remove #if USE(APPLE_INTERNAL_SDK) check so we run these tests on EWS.

  • TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:

(cleanUpInAppBrowserPrivacyTestSettings):
(initializeInAppBrowserPrivacyTestSettings):

LayoutTests:

  • platform/ios-wk2/TestExpectations:

These tests are now expected to pass.

3:07 PM Changeset in webkit [265062] by commit-queue@webkit.org
  • 9 edits in trunk

Added copyFromChannel, copyToChannel to AudioBuffer
https://bugs.webkit.org/show_bug.cgi?id=214926

Patch by Clark Wang <clark_wang@apple.com> on 2020-07-29
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Re-baselined existing tests. Fails on catching sharedBuffer being passed in, but currently

WebKit does not support sharedBuffer implementation.

  • web-platform-tests/webaudio/idlharness.https.window-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-copy-channel-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-limits-expected.txt:

Source/WebCore:

Added copyFromChannel, copyToChannel methods according to spec:
https://www.w3.org/TR/webaudio/#dom-audiobuffer-copyfromchannel-destination.
Used Chromium implementation for reference:
https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/modules/webaudio/audio_buffer.cc.

Re-baselined existing tests. Fails on catching sharedBuffer being passed in, but currently
WebKit does not support sharedBuffer implementation.

  • Modules/webaudio/AudioBuffer.cpp:

(WebCore::AudioBuffer::getChannelData):
(WebCore::AudioBuffer::copyFromChannel):
(WebCore::AudioBuffer::copyToChannel):

  • Modules/webaudio/AudioBuffer.h:
  • Modules/webaudio/AudioBuffer.idl:
3:00 PM Changeset in webkit [265061] by Simon Fraser
  • 6 edits in trunk/Tools

Make the lock icon update correctly in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=214933

Reviewed by Alex Christensen.

Various fixes to the MiniBrowser lock icon. Set the initial state to unlocked in the XIB.
Dim the icon when there is no certificate to display. Dim it and show unlocked for WK1 windows.

  • MiniBrowser/mac/BrowserWindow.xib:
  • MiniBrowser/mac/BrowserWindowController.h:
  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController showCertificate:]):

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController validateUserInterfaceItem:]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController validateUserInterfaceItem:]):

2:55 PM Changeset in webkit [265060] by Jonathan Bedard
  • 2 edits in trunk/Tools

[webkitcorepy] Add an auto-installer (Unreviewed follow-up fix 2)
https://bugs.webkit.org/show_bug.cgi?id=214606

Unreviewed infrastructure fix.

webkit-patch just ignores svn:ignore, and lands the patch with only a changelog.

  • Scripts/libraries: Added property svn:ignore.
2:50 PM Changeset in webkit [265059] by Wenson Hsieh
  • 8 edits
    1 add in trunk

[macOS] Inspector bar in Mail compose shows incorrect text alignment style for ranged selections
https://bugs.webkit.org/show_bug.cgi?id=214930
<rdar://problem/66185224>

Reviewed by Tim Horton.

Source/WebCore:

When a range of text is selected, AppKit consults -attributedSubstringForProposedRange:completionHandler: (or
just -attributedSubstringFromRange: in WebKitLegacy) to update the inspector bar with new style information.
Among this information is the paragraph style (an NSParagraphStyle corresponding to the attribute key
NSParagraphStyleAttributeName), which AppKit uses to select either the left, center or right text alignment
segmented control.

However, in both WebKitLegacy and modern WebKit, we don't include this information at all in HTMLConverter,
so AppKit just defaults to using -[NSParagraphStyle defaultParagraphStyle], with a default text alignment of
NSTextAlignmentNatural.

To fix this, include a new paragraph style object in the case where the text alignment is not equal to natural
(in other words, either a direction has been explicitly specified, or the text alignment style is not equal to
"start"). This paragraph style matches the default paragraph style, except for the alignment property which
is set to the corresponding NSTextAlignment value.

Tests: AttributedSubstringForProposedRange.TextAlignmentParagraphStyles

FontAttributes.FontAttributesAfterChangingSelection

  • editing/Editor.cpp:

(WebCore::Editor::fontAttributesAtSelectionStart const):

Also fixes an existing bug in Editor::fontAttributesAtSelectionStart, where NSTextAlignmentNatural is
currently always used for text-align: start;, even if the direction is specified as RTL. Instead, change this
so that we only fall back to "natural" if no direction is specified; otherwise, go with the explicit "left" or
"right" values.

  • editing/cocoa/HTMLConverter.mm:

(WebCore::editingAttributedString):

Tools:

Add a new API test and adjust an existing test to verify the codechange.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
  • TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/rich-text-attributes.html:
  • TestWebKitAPI/Tests/mac/AttributedSubstringForProposedRange.mm: Added.

(TEST):

2:50 PM Changeset in webkit [265058] by Jonathan Bedard
  • 1 edit in trunk/Tools/ChangeLog

[webkitcorepy] Add an auto-installer (Unreviewed follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=214606

Unreviewed infrastructure fix.

svn:ignore was not correctly set when the patch was landed.

  • Scripts/libraries: Added property svn:ignore.
2:41 PM Changeset in webkit [265057] by Fujii Hironori
  • 2 edits in trunk/Source/WTF

[Win Debug] Unreviewed build fix

JavaScriptCore/runtime/JSArrayBufferView.cpp(51): error C2660: 'Gigacage::isEnabled': function does not take 0 arguments

  • wtf/Gigacage.h:

(Gigacage::isEnabled): Added isEnabled taking no argument which was adeed to bmalloc in r249556 (Bug 201521).

2:22 PM Changeset in webkit [265056] by jer.noble@apple.com
  • 8 edits in trunk/Source

REGRESSION(r264476): Calling systemHasAC() regresses launch time performance
https://bugs.webkit.org/show_bug.cgi?id=214907
<rdar://problem/66191430>

Reviewed by Eric Carlson.

Source/WebCore:

Because calling into IOPS can block, delay queries about AC state during WebProcessPool creation until
the next run-loop.

Simultaneously, we don't need to check HDR state in the UI process for IOS, so send a default value
there as well.

  • platform/cocoa/PowerSourceNotifier.h:
  • platform/cocoa/PowerSourceNotifier.mm:

(WebCore::PowerSourceNotifier::PowerSourceNotifier):

  • platform/cocoa/SystemBattery.h:
  • platform/cocoa/SystemBattery.mm:

(WebCore::cachedSystemHasAC):

  • platform/ios/PlatformScreenIOS.mm:

(WebCore::collectScreenProperties):

Source/WebKit:

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

2:21 PM Changeset in webkit [265055] by don.olmstead@sony.com
  • 7 edits in trunk/Source

Remove USE(ZLIB)
https://bugs.webkit.org/show_bug.cgi?id=214929

Reviewed by Darin Adler.

Source/WebCore:

Remove USE(ZLIB) guards in WebSocket code. Since WebSocketDeflateFramer::canDeflate
is always true remove it and the callsite checking it in WebSocketChannel.

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::connect):

  • Modules/websockets/WebSocketDeflateFramer.cpp:

(WebCore::WebSocketExtensionDeflateFrame::processResponse):
(WebCore::WebSocketDeflateFramer::enableDeflate):
(WebCore::WebSocketDeflateFramer::deflate):
(WebCore::WebSocketDeflateFramer::resetDeflateContext):
(WebCore::WebSocketDeflateFramer::inflate):
(WebCore::WebSocketDeflateFramer::resetInflateContext):
(WebCore::WebSocketDeflateFramer::canDeflate const): Deleted.

  • Modules/websockets/WebSocketDeflateFramer.h:
  • Modules/websockets/WebSocketDeflater.cpp:

Source/WTF:

Remove setting a default value of USE_ZLIB.

  • wtf/PlatformUse.h:
2:02 PM Changeset in webkit [265054] by Ryan Haddad
  • 1 edit
    2 copies
    1 move
    6 adds
    1 delete in trunk/LayoutTests

Unreviewed iOS test gardening.

  • platform/ios-13/imported/w3c/web-platform-tests/css/css-flexbox/inline-flex-editing-with-updating-text-crash-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-flexbox/inline-flex-editing-with-updating-text-crash-expected.txt.
  • platform/ios-13/imported/w3c/web-platform-tests/fetch/redirect-navigate/preserve-fragment-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt: Renamed from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt.
  • platform/ios/imported/w3c/web-platform-tests/css/css-flexbox/inline-flex-editing-with-updating-text-crash-expected.txt: Renamed from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-flexbox/inline-flex-editing-with-updating-text-crash-expected.txt.
  • platform/ios/imported/w3c/web-platform-tests/fetch/redirect-navigate/preserve-fragment-expected.txt: Added.
2:02 PM Changeset in webkit [265053] by Jonathan Bedard
  • 5 edits in trunk/Tools

[ews.webkit.org] Skip build upload for embedded iOS builds
https://bugs.webkit.org/show_bug.cgi?id=214923

Reviewed by Aakash Jain.

  • BuildSlaveSupport/ews-build/config.json: Skip upload for iOS Embedded builds.
  • BuildSlaveSupport/ews-build/factories.py:

(iOSEmbeddedBuildFactory): Skip building and uploading product archive.

1:24 PM Changeset in webkit [265052] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Calling AudioNode constructors should have identical behavior to using create*() function on BaseAudioContext
https://bugs.webkit.org/show_bug.cgi?id=214931

Reviewed by Eric Carlson.

Calling AudioNode constructors should have identical behavior to using create*() function on BaseAudioContext.
Otherwise, this leads to assertion hits on the bots like we saw for Bug 214851.

We need to make sure that the AudioContext gets initialized when an AudioNode constructor gets called. We also
need to make sure refNode() gets called if necessary.

  • Modules/webaudio/BaseAudioContext.cpp:

(WebCore::BaseAudioContext::createPanner):
(WebCore::BaseAudioContext::createOscillator):
(WebCore::BaseAudioContext::createPeriodicWave):

  • Modules/webaudio/BaseAudioContext.h:
  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::create):

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::create):

  • Modules/webaudio/PeriodicWave.cpp:

(WebCore::PeriodicWave::create):

1:00 PM Changeset in webkit [265051] by Simon Fraser
  • 5 edits in trunk

REGRESSION: ASSERTION FAILED: !needsLayout() on tiled-drawing/scrolling/fast-scroll-mainframe-zoom.html flakily
https://bugs.webkit.org/show_bug.cgi?id=214651
Source/WebCore:

<rdar://problem/65952371>

Reviewed by Zalan Bujtas.

Page::doAfterUpdateRendering() is expected to only call functions that can't trigger layout. However,
it could cause the firing of the "monitorWheelEvent" callback which can run arbitrary JS, so move that
earlier in the rendering update, before we do the final layout.

Also assert that the main frame doesn't need layout at the end of Page::doAfterUpdateRendering();
we were only checking subframes.

Tested by lots of existing tests.

  • page/Page.cpp:

(WebCore::Page::updateRendering):
(WebCore::Page::doAfterUpdateRendering):

LayoutTests:

Reviewed by Zalan Bujtas.

De-flake this test.

  • fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered-expected.txt:
  • fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html:
12:12 PM Changeset in webkit [265050] by Chris Dumez
  • 6 edits in trunk

Make sure playback state constants remain on OscillatorNode for backward compatibility
https://bugs.webkit.org/show_bug.cgi?id=214925

Reviewed by Eric Carlson.

Source/WebCore:

Make sure playback state constants remain on OscillatorNode for backward compatibility,
while we keep supporting the prefixed Web Audio API.

No new tests, updated existing test.

  • Modules/webaudio/OscillatorNode.idl:
  • Modules/webaudio/WebKitOscillatorNode.idl:

LayoutTests:

Improve layout test coverage.

  • webaudio/oscillatornode-legacy-api-expected.txt:
  • webaudio/oscillatornode-legacy-api.html:
11:43 AM Changeset in webkit [265049] by Jonathan Bedard
  • 5 edits
    2 adds in trunk/Tools

[webkitcorepy] Add an auto-installer
https://bugs.webkit.org/show_bug.cgi?id=214606

Reviewed by Darin Adler.

Add an autoinstaller to webkitcorepy. This is eventually intended to replace the
autoinstaller in webkitpy.

  • Scripts/libraries: Added property svn:ignore.
  • Scripts/libraries/webkitcorepy/README.md:
  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py:
  • Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py: Added.

(Package): Class representing a single Python module.
(Package.Archive): Class representing a zip file containing a package.
(Package.Archive.init): Construct representation with a name, version and
downloadable link.
(Package.Archive.repr): Archives are named based on their package name
and version.
(Package.Archive.path): The location of a downloaded archive on disk.
(Package.Archive.download): Download archive and write contents to disk.
(Package.Archive.unpack): Unpack archive on disk into package.
(Package.init): Packages are constructed with a name, version and name on
PyPi, which is assumed to be the package name unless specified.
(Package.location): Location of the package on disk.
(Package.do_post_install): Some packages have post-install actions, execute
those.
(Package.archives): Return a list of archives which match the specified
package parameters.
(Package.is_cached): Check the AutoInstall manifest to see if a package has
already been installed.
(Package.install): If needed, find a compatible archive for the specified
package, download and install it.
(AutoInstall): Namespace for auto-install functionality.
(AutoInstall._request): Make a request to the package index specified.
(AutoInstall.enable): Enable the auto-installer.
(AutoInstall.disable): Disable the auto-installer.
(AutoInstall.set_directory): Set the directory to save auto-installed libraries to.
(AutoInstall.set_index): Use a different package index.
(AutoInstall.set_timeout): Set the default timeout.
(AutoInstall.register): Add a package to the list of packages to be installed
when encountered.
(AutoInstall.install): Given a package, register and install that package.
(AutoInstall.install_everything): Install all registered packages if they are not
already.
(AutoInstall.find_module): Check and see if a requested module has been registered,
if it has, install that module if needed.

  • Scripts/libraries/webkitcorepy/webkitcorepy/cacert.pem: Added.
  • Scripts/libraries/webkitcorepy/webkitcorepy/rootcerts.p7b: Added.
  • Scripts/webkitpy/init.py: Add logger, autoinstalled requests and certifi.
  • Scripts/webkitpy/test/main.py:

(Tester._run_tests): Include webkitcorepy.AutoInstall when installing everything.

11:30 AM Changeset in webkit [265048] by Chris Dumez
  • 4 edits in trunk

http/tests/cookies/document-cookie-multiple-cookies.html is failing on Windows
https://bugs.webkit.org/show_bug.cgi?id=214880

Reviewed by Darin Adler.

Source/WebCore:

Fix same bug as in r264943 but on Windows.

No new tests, covered by http/tests/cookies/document-cookie-multiple-cookies.html.

  • platform/network/cf/NetworkStorageSessionCFNetWin.cpp:

(WebCore::parseDOMCookie):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):

LayoutTests:

Unskip test that is no longer failing on Windows.

  • platform/win/TestExpectations:
11:11 AM Changeset in webkit [265047] by youenn@apple.com
  • 5 edits in trunk

scaleResolutionDownBy has no effect on RTCRtpSender
https://bugs.webkit.org/show_bug.cgi?id=214783
<rdar://problem/66108346>

Reviewed by Eric Carlson.

Source/WebCore:

Covered by updated test.

  • Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:

(WebCore::updateRTCRtpSendParameters):
Allow to change scaleResolutionDownBy.

LayoutTests:

  • webrtc/video-expected.txt:
  • webrtc/video.html:
10:45 AM Changeset in webkit [265046] by mark.lam@apple.com
  • 23 edits in trunk/Source/WebCore

CodeGeneratorJS should release the throwScope before doing a void call at end of a function.
https://bugs.webkit.org/show_bug.cgi?id=214924

Reviewed by Chris Dumez.

It is necessary to release the throwScope because the void call at the end of the
function may throw an exception. Releasing the throwScope here says that this
function is releasing the responsibility to handle the exception, and will allow
the potential exception from the trailing void call to propagate to its caller.
The responsibility to handle the exception is passed to this function's caller (or
some earlier caller in the stack). It is ok to release the throwScope here
because the trailing void call will effectively be the last thing that this
function does before returning.

Covered by existing tests.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementationFunctionCall):

  • bindings/scripts/test/JS/JSMapLike.cpp:

(WebCore::jsMapLikePrototypeFunctionClearBody):

  • bindings/scripts/test/JS/JSSetLike.cpp:

(WebCore::jsSetLikePrototypeFunctionClearBody):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionOverloadedMethod1Body):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionOverloadedMethod2Body):

  • bindings/scripts/test/JS/JSTestCEReactions.cpp:

(WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody):
(WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody):

  • bindings/scripts/test/JS/JSTestCallTracer.cpp:

(WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody):
(WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody):
(WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody):
(WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody):
(WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody):
(WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody):
(WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody):
(WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody):

  • bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:

(WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody):

  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:

(WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body):
(WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody):
(WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody):
(WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody):

  • bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:

(WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body):
(WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body):
(WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body):

  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:

(WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody):
(WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody):

  • bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:

(WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody):

  • bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:

(WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody):

  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:

(WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody):

  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:

(WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody):
(WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body):

  • bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:

(WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody):

  • bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:

(WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody):

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody):
(WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::callJSTestObj1):
(WebCore::callJSTestObj3):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body):
(WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody):
(WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody):
(WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody):
(WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody):
(WebCore::jsTestObjPrototypeFunctionVoidMethodBody):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody):
(WebCore::jsTestObjPrototypeFunctionSerializedValueBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody):
(WebCore::jsTestObjPrototypeFunctionAddEventListenerBody):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody):
(WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody):
(WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody):
(WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody):
(WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody):
(WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body):
(WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body):
(WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body):
(WebCore::jsTestObjConstructorFunctionClassMethodBody):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody):
(WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody):
(WebCore::jsTestObjPrototypeFunctionConvert1Body):
(WebCore::jsTestObjPrototypeFunctionConvert2Body):
(WebCore::jsTestObjPrototypeFunctionConvert3Body):
(WebCore::jsTestObjPrototypeFunctionConvert4Body):
(WebCore::jsTestObjPrototypeFunctionOrangeBody):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody):
(WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody):
(WebCore::jsTestObjPrototypeFunctionAnyBody):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body):
(WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody):
(WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody):
(WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody):
(WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody):
(WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody):
(WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody):
(WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody):
(WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody):
(WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody):

  • bindings/scripts/test/JS/JSTestOperationConditional.cpp:

(WebCore::jsTestOperationConditionalPrototypeFunctionNonConditionalOperationBody):
(WebCore::jsTestOperationConditionalPrototypeFunctionConditionalOperationBody):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::jsTestTypedefsPrototypeFunctionFuncBody):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody):
(WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody):
(WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody):
(WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody):
(WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody):
(WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody):

9:54 AM Changeset in webkit [265045] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Update some JSArrayBufferView comments and add some assertions.
https://bugs.webkit.org/show_bug.cgi?id=214914

Reviewed by Darin Adler.

  • runtime/ArrayBuffer.cpp:

(JSC::ArrayBuffer::createAdopted):

  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
(JSC::JSArrayBufferView::finalize):

  • runtime/JSArrayBufferView.h:
9:36 AM Changeset in webkit [265044] by Darin Adler
  • 55 edits in trunk/Source

Improve range idioms and other changes to prepare the way for more reduction in live range use
https://bugs.webkit.org/show_bug.cgi?id=214882

Reviewed by Sam Weinig.

Source/WebCore:

  • accessibility/AXObjectCache.cpp:

(WebCore::AccessibilityReplacedText::AccessibilityReplacedText): Call the
VisiblePosition versions of start and end instead of converting to Position
and then back to VisiblePosition.
(WebCore::AXObjectCache::rangeMatchesTextNearRange): Simplify with makeSimpleRange.
(WebCore::AXObjectCache::characterOffsetForPoint): Ditto.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions const):
Update idiom for creating VisiblePositionRange since it's just a struct now
without explicit constructors.
(WebCore::AccessibilityObject::positionOfLeftWord const): Ditto.
(WebCore::AccessibilityObject::positionOfRightWord const): Ditto.
(WebCore::AccessibilityObject::leftLineVisiblePositionRange const): Ditto.
(WebCore::AccessibilityObject::rightLineVisiblePositionRange const): Ditto.
(WebCore::AccessibilityObject::sentenceForPosition const): Ditto.
(WebCore::AccessibilityObject::paragraphForPosition const): Ditto.
(WebCore::AccessibilityObject::styleRangeForPosition const): Ditto.
(WebCore::AccessibilityObject::visiblePositionRangeForRange const): Ditto.
(WebCore::AccessibilityObject::lineRangeForPosition const): Ditto.
(WebCore::AccessibilityObject::stringForVisiblePositionRange): Ditto.
(WebCore::AccessibilityObject::lengthForVisiblePositionRange const): Ditto.
(WebCore::AccessibilityObject::nextSentenceEndPosition const): Ditto.
(WebCore::AccessibilityObject::previousSentenceStartPosition const): Ditto.

  • accessibility/AccessibilityObjectInterface.h: Moved VisiblePositionRange

to VisiblePosition.h for wider use. Also removed constructors.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement const): Simplify with
makeSimpleRange.
(WebCore::AccessibilityRenderObject::linkClickPoint): Ditto.
(WebCore::AccessibilityRenderObject::clickPoint): Ditto.
(WebCore::AccessibilityRenderObject::visiblePositionRange const): Updated
for removal of VisiblePositionRange constructor.
(WebCore::AccessibilityRenderObject::visiblePositionRangeForLine const):
Remove unnecessary explicit conversion to VisiblePositionRange.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(visiblePositionRangeForTextMarkerRange): Added, replacing separate functions
for start and end.
(-[WebAccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
Simplify using visiblePositionRangeForTextMarkerRange.

  • dom/Document.cpp: Added include of "Range.h", may not be needed right now,

but highly likely to be needed after future live range work.

  • dom/Node.cpp: Removed include of "Range.h".
  • dom/Position.h: Added PositionRange. This will be a more efficient

alternative to SimpleRange that can avoid computing node offets for positions
before and after anchor nodes in some cases. Not used yet.

  • dom/RadioButtonGroups.cpp: Removed include of "Range.h".
  • dom/Range.h: Export makeSimpleRange overload now used outside WebCore.
  • dom/SimpleRange.cpp:

(WebCore::makeSimpleRange): Added overloads for ranges that consist of just
a single boundary point, so the argument does not have to be passed twice.
(WebCore::commonInclusiveAncestor): Added overload so caller can just pass
a simple range rather than passing two boundary point container nodes.

  • dom/SimpleRange.h: Added makeSimpleRange overloads that take one or more

argument that can be passed to makeBoundaryPoint or actual boundary points.

  • dom/StaticRange.cpp: Removed include of "Range.h".
  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::markPrecedingWhitespaceForDeletedAutocorrectionAfterCommand):
Simplify with makeSimpleRange.
(WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult):
Ditto.

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyBlockStyle): Ditto.

  • editing/CompositeEditCommand.cpp:

(WebCore::stringForVisiblePositionIndexRange): Updated for removal of
VisiblePositionRange constructor; also use move to reduce reference count
churn a tiny bit.
(WebCore::CompositeEditCommand::moveParagraphs): Simplify with makeSimpleRange.

  • editing/DeleteSelectionCommand.cpp: Added include of "Range.h", may not be needed now,

but highly likely to be needed after future live range work.

  • editing/Editing.cpp:

(WebCore::indexForVisiblePosition): Simplify using makeSimpleRange and
makeBoundaryPointBeforeNodeContents.

  • editing/Editor.cpp:

(WebCore::Editor::selectedText const): Simplify using VisibleSelection::firstRange.
(WebCore::extendSelection): Simplify using makeSimpleRange.
(WebCore::Editor::contextRangeForCandidateRequest const): Ditto.
(WebCore::Editor::adjustedSelectionRange): Simplify with the new overload
of commonInclusiveAncestor.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::wordOffsetInRange const): Deleted. Moved the code
into the iOS-specific part of WebKitLegacy WebFrame.
(WebCore::FrameSelection::spaceFollowsWordInRange const): Deleted. Moved the
code into the iOS-specific part of WebKitLegacy WebFrame.
(WebCore::FrameSelection::selectionAtSentenceStart const): Merged in with
actualSelectionAtSentenceStart.
(WebCore::FrameSelection::actualSelectionAtSentenceStart const): Deleted.

  • editing/FrameSelection.h: Updated for the above deletion.
  • editing/TextCheckingHelper.cpp:

(WebCore::TextCheckingParagraph::offsetTo const): Simplify with makeSimpleRange.

  • editing/TextManipulationController.cpp:

(WebCore::ParagraphContentIterator::ParagraphContentIterator): Simplify with
makeSimpleRange.

  • editing/TypingCommand.cpp:

(WebCore::TypingCommand::postTextStateChangeNotificationForDeletion): Pass
visibleStart/End instead of converting to Position and back to VisiblePosition.

  • editing/VisiblePosition.cpp:

(WebCore::makeSimpleRange): Added. Converts a VisiblePositionRange into
a SimpleRange.

  • editing/VisiblePosition.h: Moved VisiblePositionRange here.
  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::firstRange const): Simplify using makeSimpleRange.
(WebCore::VisibleSelection::toNormalizedRange const): Ditto.
(WebCore::makeSearchRange): Deleted. This was confusingly named given that
it was only used in appendTrailingWhitespace.
(WebCore::VisibleSelection::appendTrailingWhitespace): Merged makeSearchRange
in here and simplified using makeSimpleRange.

  • editing/VisibleSelection.h: Added conversion to VisiblePositionRange.

Previously this was implemented as a constructor for VisiblePositionRange,
but that was a layering inversion since this is built on top of VisiblePosition.

  • editing/VisibleUnits.cpp:

(WebCore::distanceBetweenPositions): Simplified using makeSimpleRange.
(WebCore::charactersAroundPosition): Ditto.
(WebCore::wordRangeFromPosition): Removed an unhelpful comment.
(WebCore::closestWordBoundaryForPosition): Ditto.

  • editing/cocoa/DataDetection.mm:

(WebCore::detectItem): Simplify using makeSimpleRange.
(WebCore::searchForLinkRemovingExistingDDLinks): Removed out argument
about modifying the DOM. This was used to work around a problem caused by
using live ranges. The problem no longer exists because the code does not
use live ranges any more.
(WebCore::DataDetection::detectContentInRange): Removed the workaround.

  • editing/cocoa/DictionaryLookup.mm:

(WebCore::DictionaryLookup::rangeForSelection): Simplify using makeSimpleRange.
(WebCore::DictionaryLookup::rangeAtHitTestResult): Ditto.

  • editing/cocoa/WebContentReaderCocoa.mm: Added include of "Range.h", may

not be needed now, but highly likely to be needed after future live range work.

  • editing/ios/DictationCommandIOS.cpp: Removed include of "Range.h".
  • editing/mac/DictionaryLookupLegacy.mm:

(WebCore::DictionaryLookup::rangeForSelection): Simplify using makeSimpleRange.
(WebCore::DictionaryLookup::rangeAtHitTestResult): Ditto.

  • editing/mac/EditorMac.mm: Removed include of "Range.h".
  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::renderedTextRespectingRange): Simplify
using makeSimpleRange.

  • editing/win/EditorWin.cpp: Added include of "Range.h", may not be needed now,

but highly likely to be needed after future live range work.

  • html/shadow/mac/ImageControlsButtonElementMac.cpp: Removed include of "Range.h".
  • page/DOMSelection.cpp:

(WebCore::DOMSelection::addRange): Call setSelection instead of moveTo.
No need to have two functions that do the same thing.

  • page/EventHandler.cpp:

(WebCore::textDistance): Simplify using makeSimpleRange.

  • page/Frame.cpp:

(WebCore::Frame::rangeForPoint): Simplify using makeSimpleRange.

  • page/TextIndicator.cpp:

(WebCore::estimatedBackgroundColorForRange): Simplify using the
commonInclusiveAncestor overload that takes a range.
(WebCore::initializeIndicator): Ditto.

Source/WebKit:

  • WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:

(WKBundleNodeHandleGetRenderRect): Emptied out this unused function and added
ASSERT_NOT_REACHED. Later, we can delete this once we deal with any link-time
dependencies. I believe Safari may link with this but never calls it.
(WKBundleNodeHandleCopyVisibleRange): Ditto.
(WKBundleNodeHandleSetHTMLInputElementSpellcheckEnabled): Ditto.
(WKBundleNodeHandleGetHTMLInputElementAutoFilled): Ditto.
(WKBundleNodeHandleGetHTMLInputElementAutoFillButtonEnabled): Ditto.
(WKBundleNodeHandleGetHTMLInputElementAutoFillAvailable): Ditto.
(WKBundleNodeHandleGetHTMLInputElementAutoFillButtonBounds): Ditto.
(WKBundleNodeHandleCopyHTMLTableCellElementCellAbove): Ditto.
(WKBundleNodeHandleCopyHTMLFrameElementContentFrame): Ditto.
(WKBundleNodeHandleGetHTMLInputElementAutofilled): Ditto.
(WKBundleNodeHandleSetHTMLInputElementAutofilled): Ditto.
(WKBundleNodeHandleSetHTMLInputElementAutoFillButtonEnabled): Ditto.

  • WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:

(WebKit::TextCheckingControllerProxy::annotatedSubstringBetweenPositions):
Simplify with makeSimpleRange.

  • WebProcess/WebPage/glib/WebPageGLib.cpp: Added include of "Range.h",

may not be needed right now, but highly likely to be needed after
future live range work.

  • WebProcess/WebPage/ios/WebPageIOS.mm: Ditto.

(WebKit::WebPage::selectWithGesture): Simplify with makeSimpleRange.
(WebKit::WebPage::requestDocumentEditingContext): Ditto.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::attributedSubstringForCharacterRangeAsync):
Use auto for range to prepare for possible change of type from live
range to SimpleRange.

Source/WebKitLegacy:

  • WebKitLegacy.xcodeproj/project.pbxproj: Removed singly-building

DOMUIKitExtensions.mm, which also is built in a unified source file.
We don't need to build it twice.

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebEditorClient.mm:

(insertionPointFromCurrentSelection): Simplify with makeSimpleRange.
(WebEditorClient::requestCandidatesForSelection): Ditto.

  • WebView/WebFrame.mm:

(-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]): Get rid of
unnecessary construction of a range just to get an end point.
(-[WebFrame wordOffsetInRange:]): Moved logic here from VisibleSelection.
(-[WebFrame spaceFollowsWordInRange:]): Ditto.

9:02 AM Changeset in webkit [265043] by Noam Rosenthal
  • 2 edits in trunk/Source/WebKit

Enable paint timing by default
https://bugs.webkit.org/show_bug.cgi?id=211736

Reviewed by Simon Fraser.

  • Shared/WebPreferences.yaml:

PaintTimingEnabled default to true.

8:33 AM Changeset in webkit [265042] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.29.2

WPE WebKit 2.29.2

8:33 AM Changeset in webkit [265041] by Adrian Perez de Castro
  • 4 edits in trunk

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

.:

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

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.29.2.
7:51 AM Changeset in webkit [265040] by Jonathan Bedard
  • 2 edits in trunk/Tools

[build.webkit.org] Add Big Sur builder (Follow-up Fix)
https://bugs.webkit.org/show_bug.cgi?id=214879
<rdar://problem/66221071>

Reviewed by Aakash Jain.

  • BuildSlaveSupport/build.webkit.org-config/wkbuild.py:

(_should_file_trigger_build): Add Big Sur.

6:38 AM Changeset in webkit [265039] by Adrian Perez de Castro
  • 9 edits in trunk/Source/WebCore

Non-unified build fixes, late July 2020 edition
https://bugs.webkit.org/show_bug.cgi?id=214918

Unreviewed build fix.

No new tests needed.

  • Modules/webaudio/WebKitOscillatorNode.h: Add missing WebKitAudioContext.h header to make

the constructor of WebKitOscillatorNode that WebKitAudioContext inherits from the base
context, otherwise the compiler does not know which base class constructor to invoke.

  • bindings/js/JSDOMConvertDate.h: Add missing JSGlobalObject.h header.
  • bindings/js/ReadableStreamDefaultController.cpp: Sprinkle missing JSC:: namespace

prefixes where needed.
(WebCore::invokeReadableStreamDefaultControllerFunction):
(WebCore::ReadableStreamDefaultController::close):
(WebCore::ReadableStreamDefaultController::error):
(WebCore::ReadableStreamDefaultController::enqueue):

  • editing/SpellChecker.cpp: Add missing inclusion of TextIterator.h.
  • editing/SpellChecker.h: Add missing inclusion of SimpleRange.h.
  • editing/TextCheckingHelper.h: Forward declare Frame and VisibleSelection.
  • editing/TextIterator.cpp: Add missing inclusion of Range.h.
  • workers/WorkerScriptLoader.h: Add missing inclusion of CertificateInfo.h.
5:35 AM Changeset in webkit [265038] by commit-queue@webkit.org
  • 29 edits
    4 deletes in trunk

Unreviewed, reverting r265002.
https://bugs.webkit.org/show_bug.cgi?id=214919

Broke imported/w3c/web-platform-tests/webaudio/the-audio-api
/the-scriptprocessornode-interface/simple-input-output.html

Reverted changeset:

"Added constructor methods to ChannelMergerNode,
ChannelSplitterNode"
https://bugs.webkit.org/show_bug.cgi?id=214851
https://trac.webkit.org/changeset/265002

4:55 AM Changeset in webkit [265037] by commit-queue@webkit.org
  • 13 edits
    2 deletes in trunk

Unreviewed, reverting r265018.
https://bugs.webkit.org/show_bug.cgi?id=214917

Broke various ios-wk2 tests.

Reverted changeset:

"Migrate App-Bound Domains code from WebKit Additions"
https://bugs.webkit.org/show_bug.cgi?id=214889
https://trac.webkit.org/changeset/265018

3:32 AM Changeset in webkit [265036] by Paulo Matos
  • 15 edits in trunk

for..of intrinsics implementation for 32bits
https://bugs.webkit.org/show_bug.cgi?id=214737

Reviewed by Yusuke Suzuki.

Joint work with Caio Lima <Caio Lima>.
JSTests:

Unskip tests previously skipped due to missing for..of intrinsics.

  • stress/for-of-array-different-globals.js:
  • stress/for-of-iterator-open-osr-at-inlined-return-non-object.js:
  • stress/for-of-iterator-open-osr-at-iterator-set-local.js:
  • stress/for-of-iterator-open-return-non-object.js:

Source/JavaScriptCore:

Implements for..of intrinsics for 32bits.
Adds or8 instruction to ARMv7 and MIPS Macro Assembler.
Adds intrinsic operations to LLInt and Baseline for 32bits.
Fixes DFG OSR Exit bug, where checkpoint temporary value is
incorrectly recreated for Baseline.
Refactors code in DFG OSR Exit to be easier to modify and
maintain by separating the switch cases for 32 and 64bits.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::or8): Adds or8(TrustedImm, AbsoluteAddress)
(JSC::MacroAssemblerARMv7::or32):
(JSC::MacroAssemblerARMv7::store8):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::or8): Adds or8(TrustedImm, AbsoluteAddress)
(JSC::MacroAssemblerMIPS::store8):

  • assembler/testmasm.cpp:

(JSC::testOrImmMem): Tests or8

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitEnumeration):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::compileExit): Fixes DFG OSR Exit bug, where checkpoint temporary value is
incorrectly recreated for Baseline. Refactors code in DFG OSR Exit to be easier to modify and
maintain by separating the switch cases for 32 and 64bits.

  • jit/JIT.h:
  • jit/JITCall32_64.cpp:

(JSC::JIT::emitPutCallResult):
(JSC::JIT::compileSetupFrame):
(JSC::JIT::compileOpCall):
(JSC::JIT::emit_op_iterator_open):
(JSC::JIT::emitSlow_op_iterator_open):
(JSC::JIT::emit_op_iterator_next):
(JSC::JIT::emitSlow_op_iterator_next):

  • jit/JITInlines.h:

(JSC::JIT::emitJumpSlowCaseIfNotJSCell):

  • llint/LowLevelInterpreter32_64.asm:
1:45 AM Changeset in webkit [265035] by youenn@apple.com
  • 4 edits in trunk

TestWebKitAPI.WebKit.QuotaDelegate flaky times out
https://bugs.webkit.org/show_bug.cgi?id=214842

Reviewed by Geoffrey Garen.

Source/WebKit:

Add some release logging.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::requestStorageSpace):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:

In case the page is not visible, quota increase delegate will be denied.
Delay the cache storage hence the quota increase until the page is visible.

1:32 AM Changeset in webkit [265034] by ysuzuki@apple.com
  • 5 edits in trunk

[JSC] Reflect object should have toStringTag with "Reflect"
https://bugs.webkit.org/show_bug.cgi?id=214909

Reviewed by Mark Lam.

JSTests:

  • stress/reflect.js:
  • test262/expectations.yaml:

Source/JavaScriptCore:

We call JSC_TO_STRING_TAG_WITHOUT_TRANSITION in ReflectObject to set "Reflect" @@toStringTag, which fixes one test262 failure.

  • runtime/ReflectObject.cpp:

(JSC::ReflectObject::finishCreation):

1:16 AM Changeset in webkit [265033] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.29.4

WebKitGTK 2.29.4

1:15 AM Changeset in webkit [265032] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.29.4 release

.:

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

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.29.4.

Jul 28, 2020:

11:47 PM Changeset in webkit [265031] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[WinCairo] REGRESSION(r264986) Unreviewed crash fix
https://bugs.webkit.org/show_bug.cgi?id=201507

  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::GLContextEGL::createWindowContext): Initialize a variable 'surface' as EGL_NO_SURFACE for WinCairo.

11:18 PM Changeset in webkit [265030] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Add hasCustomGetterSetterProperties to canAccessPropertiesQuicklyForEnumeration
https://bugs.webkit.org/show_bug.cgi?id=214908
<rdar://problem/65883816>

Reviewed by Mark Lam.

canAccessPropertiesQuicklyForEnumeration should filter out hasCustomGetterSetterProperties too.

  • runtime/Structure.cpp:

(JSC::Structure::canAccessPropertiesQuicklyForEnumeration const):

10:37 PM Changeset in webkit [265029] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

REGRESSION (r264930): [ iOS debug wk2 ] webrtc/video.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=214888

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations: Remove test expectation

since the change that caused the failure was reverted.

10:18 PM Changeset in webkit [265028] by Chris Dumez
  • 15 edits
    2 copies
    2 adds in trunk

Source/WebCore:
Move non standard OscillatorNode API to new webKitOscillatorNode interface
https://bugs.webkit.org/show_bug.cgi?id=214902

Reviewed by Darin Adler.

Move non standard OscillatorNode API to new webKitOscillatorNode interface:
https://webaudio.github.io/web-audio-api/#oscillatornode

Namely, the playbackState attribute and its associated constants are now exposed
on the prefixed webKitOscillatorNode interface instead of the unprefixed
OscillatorNode. This way, this API is still available to apps using the prefixed
API but we do not support this legacy API if the app is using the modern unprefixed
API.

Test: webaudio/oscillatornode-legacy-api.html

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::create):
(WebCore::OscillatorNode::setType):
(WebCore::OscillatorNode::setPeriodicWave):

  • Modules/webaudio/OscillatorNode.h:
  • Modules/webaudio/OscillatorNode.idl:
  • Modules/webaudio/WebKitAudioContext.cpp:

(WebCore::WebKitAudioContext::createWebKitOscillator):

  • Modules/webaudio/WebKitAudioContext.h:
  • Modules/webaudio/WebKitAudioContext.idl:
  • Modules/webaudio/WebKitOscillatorNode.h: Copied from Source/WebCore/Modules/webaudio/OscillatorNode.idl.

(WebCore::WebKitOscillatorNode::create):
(WebCore::WebKitOscillatorNode::setWebKitPeriodicWave):
(WebCore::WebKitOscillatorNode::WebKitOscillatorNode):

  • Modules/webaudio/WebKitOscillatorNode.idl: Copied from Source/WebCore/Modules/webaudio/OscillatorNode.idl.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:

LayoutTests:
Move non standard OscillatorNode API to new WebKitOscillatorNode interface
https://bugs.webkit.org/show_bug.cgi?id=214902

Reviewed by Darin Adler.

Add layout test coverage.

  • webaudio/oscillatornode-legacy-api-expected.txt: Added.
  • webaudio/oscillatornode-legacy-api.html: Added.
9:31 PM Changeset in webkit [265027] by BJ Burg
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r255396): Audit: button to exit edit mode in main content area is missing border
https://bugs.webkit.org/show_bug.cgi?id=214898
<rdar://problem/66238391>

Reviewed by Devin Rousso.

  • UserInterface/Base/Main.js: codify that this function only accepts ButtonNavigationItems.

Future developers, you'll need to adjust the CSS for non-button navigation items to work out.

  • UserInterface/Views/Main.css:

(.navigation-item-help > .navigation-bar > .item.button):
(.navigation-item-help > .navigation-bar > .item.button:not(.text-only)):
(.navigation-item-help > .navigation-bar > .item.button.text-only):
(.navigation-item-help > .navigation-bar > .item): Deleted.
(.navigation-item-help > .navigation-bar > .item:not(.text-only)): Deleted.
(.navigation-item-help > .navigation-bar > .item.text-only): Deleted.
Split out the rules for text-only buttons. The regressing change added more specificity
for the text + image case which made the border transparent and removed extra padding.
Also add .button since we only expect buttons to be used in this context.

6:58 PM Changeset in webkit [265026] by Karl Rackler
  • 5 edits in trunk

Unreviewed, reverting r264930.

Reverting Pre-Submission Testing

Reverted changeset:

"scaleResolutionDownBy has no effect on RTCRtpSender"
https://bugs.webkit.org/show_bug.cgi?id=214783
https://trac.webkit.org/changeset/264930

6:30 PM Changeset in webkit [265025] by dino@apple.com
  • 3 edits in trunk/Tools

run-minibrowser doesn't respect webkit configuration
https://bugs.webkit.org/show_bug.cgi?id=214857
<rdar://problem/66187636>

Reviewed by Jonathan Bedard.

  • Scripts/webkitpy/minibrowser/run_webkit_app.py:

(main): Don't force a Release configuration if none was given.

  • Scripts/webkitpy/port/config.py:

(Config.flag_for_configuration): Look at the default configuration if we didn't
pass one in.

4:59 PM Changeset in webkit [265024] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Unreviewed test gardening, remove duplicate TestExpectations entry.

  • platform/win/TestExpectations:
4:56 PM Changeset in webkit [265023] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Pause during ANGLE roll script after rebasing and before deleting temporary Git repo
https://bugs.webkit.org/show_bug.cgi?id=212717

Patch by Kenneth Russell <kbr@chromium.org> on 2020-07-28
Reviewed by Dean Jackson.

Give the user the opportunity to manually examine the changes
relative to upstream ANGLE, and to undo any accidental or
undesired ones, before finishing the roll.

  • update-angle.sh:
4:49 PM Changeset in webkit [265022] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/win/TestExpectations

[ Win10 ] http/tests/cookies/document-cookie-multiple-cookies.html is failing on Windows
https://bugs.webkit.org/show_bug.cgi?id=214880

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:41 PM Changeset in webkit [265021] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ Win10 ] http/tests/cookies/document-cookie-multiple-cookies.html is failing on Windows
https://bugs.webkit.org/show_bug.cgi?id=214880

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:41 PM Changeset in webkit [265020] by Oriol Brufau
  • 4 edits
    4 adds in trunk

[css-grid] Fix 'align-content' in grid containers with small content area
https://bugs.webkit.org/show_bug.cgi?id=214370

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Create a WPT test and import another one.

  • web-platform-tests/css/css-grid/alignment/grid-place-content-001-expected.txt: Added.
  • web-platform-tests/css/css-grid/alignment/grid-place-content-001.html: Added.
  • web-platform-tests/css/css-sizing/available-height-for-replaced-content-001-expected.txt: Added.
  • web-platform-tests/css/css-sizing/available-height-for-replaced-content-001.html: Added.
  • web-platform-tests/css/css-sizing/w3c-import.log:

Source/WebCore:

In order to properly obey 'align-content', grid containers need to know
the available grid space for the block axis. But there was a bug when
the sum of border and padding sizes in the block axis were bigger than
the content area. Then the available space was considered to be that sum.

This patch fixes it so that the available grid space is the size of its
content box when that is definite.

Tests: imported/w3c/web-platform-tests/css/css-grid/alignment/grid-place-content-001.html

imported/w3c/web-platform-tests/css/css-sizing/available-height-for-replaced-content-001.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::availableLogicalHeight const):

4:21 PM Changeset in webkit [265019] by Peng Liu
  • 4 edits in trunk/Source/WebCore

Clean up PlaybackSessionInterface[Mac|AVKit]
https://bugs.webkit.org/show_bug.cgi?id=214895

Reviewed by Eric Carlson.

No new tests, no functional change.

  • platform/ios/PlaybackSessionInterfaceAVKit.h:
  • platform/ios/PlaybackSessionInterfaceAVKit.mm:

(WebCore::PlaybackSessionInterfaceAVKit::PlaybackSessionInterfaceAVKit):
(WebCore::PlaybackSessionInterfaceAVKit::playbackSessionModel const):
Remove unnecessary WEBCORE_EXPORT.
Include the correct header for Ref.
Replace "protected" with "private".
Use WeakPtr of PlaybackSessionModel instead of a raw pointer.

  • platform/mac/PlaybackSessionInterfaceMac.h:

Add "final" to ensureControlsManager().
Some small cleanup.

4:14 PM Changeset in webkit [265018] by Kate Cheney
  • 13 edits
    2 adds in trunk

Migrate App-Bound Domains code from WebKit Additions
https://bugs.webkit.org/show_bug.cgi?id=214889
<rdar://problem/66075857>

Reviewed by Brent Fulgham.

Source/WebKit:

No new tests, this is just code migration and will be tested
by existing App-Bound Domains tests.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::activateSessionCleanup):
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):

  • Shared/Cocoa/DefaultWebBrowserChecks.h: Added.
  • Shared/Cocoa/DefaultWebBrowserChecks.mm: Added.

Holds all functions related to full browser checks and
App-Bound Domains.

(WebKit::shouldBeTreatedAsFullBrowser):
(WebKit::getAppBoundDomainsTesting):
These functions allow us to treat our test runners as full browsers
while triggering non-browser mode for testing other App-Bound Domains
functionality.

(WebKit::isInWebKitChildProcess):
(WebKit::hasRequestedCrossWebsiteTrackingPermission):
(WebKit::determineITPStateInternal):
(WebKit::determineITPState):
(WebKit::doesAppHaveITPEnabled):
(WebKit::doesParentProcessHaveITPEnabled):
(WebKit::hasProhibitedUsageStrings):
(WebKit::isParentProcessAFullWebBrowser):
(WebKit::isFullWebBrowser):

  • UIProcess/API/APIHTTPCookieStore.cpp:

(API::HTTPCookieStore::filterAppBoundCookies):

  • UIProcess/API/APIPageConfiguration.cpp:

(API::PageConfiguration::PageConfiguration):
(): Deleted.

  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::createNewWebProcess):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::addTestDomains const):
(WebKit::WebsiteDataStore::ensureAppBoundDomains const):

  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • WebKit.xcodeproj/project.pbxproj:

Tools:

Replace WebKit Additions macros with code to set a different bundle
identifier indicating that we want to run an App-Bound Domains test.

Remove #if USE(APPLE_INTERNAL_SDK) check so we run these tests on EWS.

  • TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:

(cleanUpInAppBrowserPrivacyTestSettings):
(initializeInAppBrowserPrivacyTestSettings):

LayoutTests:

  • platform/ios-wk2/TestExpectations:

These tests are now expected to pass.

4:04 PM Changeset in webkit [265017] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Add macOS Big Sur support in PrintConfiguration
https://bugs.webkit.org/show_bug.cgi?id=214903

Reviewed by Darin Adler.

  • BuildSlaveSupport/ews-build/steps.py:

(PrintConfiguration.convert_build_to_os_name):

3:48 PM Changeset in webkit [265016] by Jonathan Bedard
  • 4 edits in trunk/Tools

[build.webkit.org] Add Big Sur builder
https://bugs.webkit.org/show_bug.cgi?id=214879
<rdar://problem/66221071>

Reviewed by Aakash Jain.

  • BuildSlaveSupport/build.webkit.org-config/config.json: Add Big Sur release builder.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot): Add new builder to bot watcher's dashboard.

  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Add BigSur.
3:43 PM Changeset in webkit [265015] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (r264522): [ macOS wk1 ] imported/w3c/web-platform-tests/css/cssom/stylesheet-same-origin.sub.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214682

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
3:24 PM Changeset in webkit [265014] by Chris Dumez
  • 7 edits in trunk

[EventSource] WebKit fails to UTF-8 encode the Last-Event-ID HTTP header value
https://bugs.webkit.org/show_bug.cgi?id=214860

Reviewed by Alex Christensen and Darin Adler.

LayoutTests/imported/w3c:

Rebaseline a couple of web-platform-tests that are now passing.

  • web-platform-tests/eventsource/format-field-id-2-expected.txt:
  • web-platform-tests/eventsource/format-field-id-expected.txt:

Source/WebCore:

WebKit fails to UTF-8 encode the Last-Event-ID HTTP header value for EventSource.

The specification is here:
https://html.spec.whatwg.org/multipage/server-sent-events.html#reestablish-the-connection (step 5.3.)

This is causing us to fail a couple of EventSource web-platform-tests which are passing in both Chrome & Firefox.

No new tests, rebaselined existing tests.

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::setHeaderFields):

  • platform/network/cf/ResourceRequestCFNet.h:

(WebCore::httpHeaderValueUsingSuitableEncoding):

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdatePlatformRequest):

3:09 PM Changeset in webkit [265013] by Jonathan Bedard
  • 3 edits
    2 adds in trunk/Tools

[Big Sur] Add Seed 3 to bot watcher's dashboard\nhttps://bugs.webkit.org/show_bug.cgi?id=214863\n<rdar://problem/66198642>\n\nReviewed by Darin Adler.\n\n* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/BigSur.png: Added.\n* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/BigSur@2x.png: Added.\n* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js: Add Big Sur.\n* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css: Ditto.\n

3:07 PM Changeset in webkit [265012] by Alan Coon
  • 1 copy in tags/Safari-610.1.23.1.3

Tag Safari-610.1.23.1.3.

3:06 PM Changeset in webkit [265011] by Alan Coon
  • 1 copy in tags/Safari-610.1.23.0.2

Tag Safari-610.1.23.0.2.

2:43 PM Changeset in webkit [265010] by Jonathan Bedard
  • 2 edits in trunk/Source/WebCore/PAL

[Big Sur] Wrap SPI in feature guards (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=214844
<rdar://problem/66178527>

Unreviewed build fix.

  • pal/spi/mac/NSImageSPI.h: Guard SPI with NS_ASSUME_NONNULL.
2:38 PM Changeset in webkit [265009] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Web Share API Level 2: Can only perform one share action per share sheet invocation
https://bugs.webkit.org/show_bug.cgi?id=214894

Reviewed by Wenson Hsieh.

No new tests; our WKShareSheet testing mechanism intentionally bypasses
actually presenting the share sheet, which is the only way to test this.

WKShareSheet assumes that UIActivityViewController's completionWithItemsHandler
is only called once, when the share sheet is dismissed, and uses it to
clean up the temporary file written to disk, and send the success state
to the API.

However, it is actually called per share action, of which an arbitrary number
can be performed per UIActivityViewController invocation.

Defer cleanup until the share sheet is actually dismissed (which we observe
using UIAdaptivePresentationControllerDelegate's -presentationControllerDidDismiss: callback),
and respond to the Web Share API with success if *any* attempted share action
succeeded.

  • UIProcess/Cocoa/WKShareSheet.mm:

(-[WKShareSheet presentWithParameters:inRect:completionHandler:]):
(-[WKShareSheet presentWithShareDataArray:inRect:]):
(-[WKShareSheet sharingServicePicker:didChooseSharingService:]):
(-[WKShareSheet sharingService:didFailToShareItems:error:]):
(-[WKShareSheet sharingService:didShareItems:]):
(-[WKShareSheet presentationControllerDidDismiss:]):
(-[WKShareSheet dismiss]):
Fold dispatchDidDismiss and _didCompleteWithSuccess into -dismiss,
so we only have one "dismiss if needed and also do the requisite cleanup"
path. -dismiss should only be called when it is no longer possible to do
additional sharing actions for the current share sheet invocation.

(-[WKShareSheet _didCompleteWithSuccess:]): Deleted.
(-[WKShareSheet dispatchDidDismiss]): Deleted.

2:34 PM Changeset in webkit [265008] by BJ Burg
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION(r262716) Web Inspector: start button is misaligned in Audit content view
https://bugs.webkit.org/show_bug.cgi?id=214891

Reviewed by Devin Rousso.

In r262716, a rendering defect related to flexbox was fixed. Web Inspector
layout inadvertently relied on the defect. Now that it's fixed, a CSS rule is
pushing the outline for navigation help buttons out of vertical alignment
with surrounding textt.

  • UserInterface/Views/Main.css:

(.navigation-item-help): Remove line-height. It was previously ignored
due to a layout bug, and now its presence messes up vertical alignment.

2:20 PM Changeset in webkit [265007] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[ Mac ] webgl/2.0.0/ tests failing after r264997
https://bugs.webkit.org/show_bug.cgi?id=214893

Unreviewed test gardening.

Mark webgl/2.0.0/conformance/uniforms/gl-uniform-arrays.html slow
in Debug mode.

Incorporate upstream fix to
webgl/2.0.0/conformance2/rendering/clear-srgb-color-buffer.html
from https://github.com/KhronosGroup/WebGL/pull/3132 .

Patch by Kenneth Russell <kbr@chromium.org> on 2020-07-28

  • TestExpectations:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/clear-srgb-color-buffer.html:
2:07 PM Changeset in webkit [265006] by Alan Bujtas
  • 5 edits
    1 add
    1 delete in trunk/LayoutTests

Regression (r264960): [mac-wk1] fast/dynamic/size-to-content-autosize-with-percent-document-height.html is consistently failing
https://bugs.webkit.org/show_bug.cgi?id=214885
<rdar://problem/66218218>

Unreviewed.

Make the autosizing test case work with WK1.

  • fast/dynamic/size-to-content-autosize-with-percent-document-height-expected.html: Removed.
  • fast/dynamic/size-to-content-autosize-with-percent-document-height-expected.txt: Added.
  • fast/dynamic/size-to-content-autosize-with-percent-document-height.html:
  • platform/glib/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac-wk1/TestExpectations:
2:04 PM Changeset in webkit [265005] by youenn@apple.com
  • 2 edits
    4 adds in trunk/LayoutTests

Add WebRTC tests exercising H264 with various resolutions and bitrates.
https://bugs.webkit.org/show_bug.cgi?id=214867

Reviewed by Eric Carlson.

Add additional tests to better cover underlying H264 codecs.

  • TestExpectations: Mark tests as slow.
  • webrtc/h264-baseline-expected.txt: Added.
  • webrtc/h264-baseline.html: Added.
  • webrtc/h264-high-expected.txt: Added.
  • webrtc/h264-high.html: Added.
1:29 PM Changeset in webkit [265004] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[WebGL2] Enable more multiple render target layout tests
https://bugs.webkit.org/show_bug.cgi?id=214780

Patch by Kenneth Russell <kbr@chromium.org> on 2020-07-28
Reviewed by Dean Jackson.

Re-enable two WebGL 2.0 layout tests that are now passing after
the fix for Bug 211156.

  • TestExpectations:
  • webgl/2.0.0/conformance2/rendering/clear-func-buffer-type-match-expected.txt:
1:22 PM Changeset in webkit [265003] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[WinCairo] ANGLE D3D renderer can crash when PlatformDisplayWin is destructed in IPC thread
https://bugs.webkit.org/show_bug.cgi?id=214241

Reviewed by Don Olmstead.

Web process calls _exit() in IPC thread when the IPC connection is
closed. PlatformDisplay::sharedDisplay has a static variable of
std::unique_ptr<PlatformDisplay> to ensure it will be destructed
on the process termination. This rarely causes crashes in ANGLE
because ANGLE D3D renderer isn't thread-safe at the moment.

  • platform/graphics/PlatformDisplay.cpp:

(WebCore::PlatformDisplay::sharedDisplay): Don't destruct
PlatformDisplay for PLATFORM(WIN). Use unique_ptr::release to leak it.

1:14 PM Changeset in webkit [265002] by commit-queue@webkit.org
  • 29 edits
    4 adds in trunk

Added constructor methods to ChannelMergerNode, ChannelSplitterNode
https://bugs.webkit.org/show_bug.cgi?id=214851

Patch by Clark Wang <clark_wang@apple.com> on 2020-07-28
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Re-baselined existing tests that now pass, or fail further along.

  • web-platform-tests/webaudio/idlharness.https.window-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/buffer-resampling-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-dynamics-compressor-connections-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/simple-input-output.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/active-processing.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-basic-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/ctor-channelmerger-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelsplitternode-interface/audiochannelsplitter-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelsplitternode-interface/ctor-channelsplitter-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/detune-limiting-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-scriptprocessornode-interface/simple-input-output-expected.txt:

Source/WebCore:

Added constructors for ChannelMergerNode, ChannelSplitterNode according to spec:
https://www.w3.org/TR/webaudio/#ChannelMergerNode-constructors. Added new files
for ChannelMergerOptions and ChannelSplitterOptions.

Re-baselined existing tests that now pass, or fail due to a different interface.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/webaudio/AudioNode.h:
  • Modules/webaudio/BaseAudioContext.cpp:

(WebCore::BaseAudioContext::createChannelSplitter):
(WebCore::BaseAudioContext::createChannelMerger):

  • Modules/webaudio/ChannelMergerNode.cpp:

(WebCore::ChannelMergerNode::create):
(WebCore::ChannelMergerNode::setChannelCount):
(WebCore::ChannelMergerNode::setChannelCountMode):

  • Modules/webaudio/ChannelMergerNode.h:
  • Modules/webaudio/ChannelMergerNode.idl:
  • Modules/webaudio/ChannelMergerOptions.h: Added.
  • Modules/webaudio/ChannelMergerOptions.idl: Added.
  • Modules/webaudio/ChannelSplitterNode.cpp:

(WebCore::ChannelSplitterNode::create):
(WebCore::ChannelSplitterNode::setChannelCount):
(WebCore::ChannelSplitterNode::setChannelCountMode):
(WebCore::ChannelSplitterNode::setChannelInterpretation):

  • Modules/webaudio/ChannelSplitterNode.h:
  • Modules/webaudio/ChannelSplitterNode.idl:
  • Modules/webaudio/ChannelSplitterOptions.h: Added.
  • Modules/webaudio/ChannelSplitterOptions.idl: Added.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
1:03 PM Changeset in webkit [265001] by commit-queue@webkit.org
  • 14 edits
    6 adds in trunk

PerformanceObserver should work with 'type' and not just entryTypes
https://bugs.webkit.org/show_bug.cgi?id=209216

Patch by Rob Buis <rbuis@igalia.com> on 2020-07-28
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Add po-observe-type.any.html and po-observe-type.any.worker.html tests and
update improved test expectations.

  • web-platform-tests/performance-timeline/performanceobservers.js: Added.

(findMatch):
(checkEntries):
(wait):
(checkSorted):

  • web-platform-tests/performance-timeline/po-observe-type.any-expected.txt: Added.
  • web-platform-tests/performance-timeline/po-observe-type.any.html: Added.
  • web-platform-tests/performance-timeline/po-observe-type.any.js: Added.

(test):
(async_test):

  • web-platform-tests/performance-timeline/po-observe-type.any.worker-expected.txt: Added.
  • web-platform-tests/performance-timeline/po-observe-type.any.worker.html: Added.
  • web-platform-tests/resource-timing/buffered-flag.any-expected.txt:
  • web-platform-tests/resource-timing/buffered-flag.any.worker-expected.txt:
  • web-platform-tests/resource-timing/object-not-found-adds-entry-expected.txt:
  • web-platform-tests/user-timing/buffered-flag.any-expected.txt:
  • web-platform-tests/user-timing/buffered-flag.any.worker-expected.txt:

Source/WebCore:

Add support for 'type' attribute as specified here [1].

Tests: imported/w3c/web-platform-tests/performance-timeline/po-observe-type.any.html

imported/w3c/web-platform-tests/performance-timeline/po-observe-type.any.worker.html

[1] https://w3c.github.io/performance-timeline/#dom-performanceobserverinit

  • page/PerformanceObserver.cpp:

(WebCore::PerformanceObserver::observe):

  • page/PerformanceObserver.h:
  • page/PerformanceObserver.idl:

LayoutTests:

Adjust test to be aligned with the specification and skip
tests that time out.

  • TestExpectations:
  • performance-api/performance-observer-api-expected.txt:
  • performance-api/resources/observer-api.js:
12:28 PM Changeset in webkit [265000] by caitp@igalia.com
  • 19 edits
    1 add in trunk

[JSC] add IC support for op_get_private_name
https://bugs.webkit.org/show_bug.cgi?id=213545

Reviewed by Saam Barati.

JSTests:

Add a crashtest for a crash in an earlier edition of the GPN IC patch.

  • stress/get-private-name-cache-failure.js: Added.

Source/JavaScriptCore:

The baseline JIT now supports a fast path for op_private_name,
using a variant of GetByVal IC.

The generated AccessCase has the following qualities:

  • Always "direct", relying only on the current structure for cachebility
  • Never impure (DOM properties are not supported at this time, ProxyObjects are treated as JSObjects)

Based on the microbenchmark reviewed on https://bugs.webkit.org/show_bug.cgi?id=213544, this sees
an improvement of roughly 50% on average.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):

  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::reset):

  • bytecode/StructureStubInfo.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):

  • jit/ICStats.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITGetByValGenerator::JITGetByValGenerator):

  • jit/JITInlineCacheGenerator.h:
  • jit/JITOperations.cpp:

(JSC::getPrivateName):

  • jit/JITOperations.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_get_private_name):
(JSC::JIT::emitSlow_op_get_private_name):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emit_op_get_private_name):
(JSC::JIT::emitSlow_op_get_private_name):

  • jit/Repatch.cpp:

(JSC::appropriateOptimizingGetByFunction):
(JSC::appropriateGetByFunction):
(JSC::tryCacheGetBy):

  • jit/Repatch.h:
12:21 PM Changeset in webkit [264999] by timothy@apple.com
  • 3 edits in trunk/Source/WebKit

Web Inspector: Don't allow docking to a hidden web view
https://bugs.webkit.org/show_bug.cgi?id=214886

Reviewed by Devin Rousso.

  • UIProcess/Inspector/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::attach): Call platformCanAttach() since it can do a live check.
(WebKit::WebInspectorProxy::detach): Return early if already attached, otherwise asserts later.

  • UIProcess/Inspector/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCanAttach): Return flase when the web view is hidden.

12:15 PM Changeset in webkit [264998] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (r264930): [ iOS debug wk2 ] webrtc/video.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=214888

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
11:03 AM Changeset in webkit [264997] by commit-queue@webkit.org
  • 189 edits
    45 adds in trunk/LayoutTests

[WebGL2] Update WebGL 2.0.0 conformance suite snapshot
https://bugs.webkit.org/show_bug.cgi?id=214792

Patch by Kenneth Russell <kbr@chromium.org> on 2020-07-28
Reviewed by Dean Jackson.

WebKit's snapshot of the WebGL 2.0.0 conformance suite was taken
in 2018, before the suite was finalized. Since then many bug fixes
were made to the tests. This new snapshot was taken by running the
conformance suite importing script:

python generate-webgl-tests.py -w \

~/[...]/WebGL/conformance-suites/2.0.0 -o 2.0.0

This update changes the expectations for a few tests. These are
all progressions except for one test,
conformance2/glsl3/tricky-loop-conditions.html, which contains a
few new sub-tests which will have to be fixed.

  • TestExpectations:
  • webgl/2.0.0/conformance/context/constants-and-properties-expected.txt:
  • webgl/2.0.0/conformance/context/context-lost-restored-expected.txt:
  • webgl/2.0.0/conformance/extensions/ext-sRGB-expected.txt:
  • webgl/2.0.0/conformance/extensions/oes-vertex-array-object-expected.txt:
  • webgl/2.0.0/conformance2/context/constants-and-properties-2-expected.txt:
  • webgl/2.0.0/conformance2/glsl3/tricky-loop-conditions-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/copy-texture-image-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-image-with-bad-args-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-mipmap-levels-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-srgb-mipmap-expected.txt:
  • webgl/2.0.0/conformance2/textures/misc/tex-storage-and-subimage-3d-expected.txt:
  • webgl/2.0.0/conformance2/vertex_arrays/vertex-array-object-expected.txt:
  • webgl/2.0.0/resources/webgl_test_files/README.md:
  • webgl/2.0.0/resources/webgl_test_files/conformance/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/attribs/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/attribs/gl-bindAttribLocation-aliasing.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/attribs/gl-vertex-attrib-zero-issues.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/attribs/gl-vertexattribpointer.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/buffers/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/canvas/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/canvas/canvas-test.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/context/constants-and-properties.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/context/context-attributes-alpha-depth-stencil-antialias.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/context/context-lost-restored.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/angle-instanced-arrays.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/ext-disjoint-timer-query.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/ext-sRGB.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/oes-texture-float.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/oes-texture-half-float.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/oes-vertex-array-object.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/webgl-compressed-texture-etc.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/webgl-compressed-texture-pvrtc.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/webgl-compressed-texture-size-limit.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/webgl-depth-texture.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/extensions/webgl-draw-buffers.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/bugs/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/bugs/angle-ambiguous-function-call.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/bugs/compare-loop-index-to-uniform.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/bugs/constant-precision-qualifier.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/bugs/floored-division-accuracy.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/bugs/logic-inside-block-without-braces.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/bugs/modulo-arithmetic-accuracy.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/bugs/multiplication-assignment.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/bugs/sampler-struct-function-arg.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/bugs/sequence-operator-evaluation-order.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/bugs/struct-constructor-highp-bug.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/misc/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/misc/global-variable-init.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/glsl/misc/shaders-with-invariance.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/misc/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/misc/webgl-specific.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/more/functions/texImage2DHTML.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/more/functions/texSubImage2DHTML.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/more/functions/vertexAttribPointerBadArgs.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/ogles/GL/struct/nestedstructcomb_various_frag.frag:
  • webgl/2.0.0/resources/webgl_test_files/conformance/ogles/GL/struct/nestedstructcomb_various_vert.vert:
  • webgl/2.0.0/resources/webgl_test_files/conformance/reading/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/renderbuffers/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/rendering/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/rendering/polygon-offset.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/state/gl-enable-enum-test.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/canvas/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/canvas_sub_rectangle/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/image/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/image_bitmap_from_blob/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/image_bitmap_from_canvas/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/image_bitmap_from_image/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/image_bitmap_from_image_bitmap/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/image_bitmap_from_image_data/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/image_bitmap_from_video/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/image_data/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/misc/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/misc/texture-size-limit.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/misc/texture-size.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/svg_image/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/video/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/textures/webgl_canvas/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance/uniforms/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance/uniforms/gl-uniform-arrays.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/attribs/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/attribs/gl-vertexattribipointer-offsets.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/attribs/gl-vertexattribipointer.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/buffers/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/buffers/one-large-uniform-buffer.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/buffers/uniform-buffers.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/context/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/context/constants-and-properties-2.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/extensions/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/extensions/ext-color-buffer-float.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/glsl3/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/glsl3/array-assign-constructor.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/glsl3/array-in-complex-expression.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/glsl3/compare-structs-containing-arrays.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/glsl3/short-circuiting-in-loop-condition.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/glsl3/tricky-loop-conditions.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/glsl3/vector-dynamic-indexing.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/programs/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/renderbuffers/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/renderbuffers/framebuffer-object-attachment.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/renderbuffers/multisampled-renderbuffer-initialization.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/renderbuffers/readbuffer.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/blitframebuffer-filter-outofbounds.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/blitframebuffer-filter-srgb.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/blitframebuffer-multisampled-readbuffer.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/blitframebuffer-outside-readbuffer.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/blitframebuffer-scissor-enabled.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/blitframebuffer-size-overflow.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/blitframebuffer-srgb-and-linear-drawbuffers.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/blitframebuffer-stencil-only.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/blitframebuffer-test.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/clear-srgb-color-buffer.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/draw-buffers.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/element-index-uint.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/framebuffer-completeness-unaffected.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/instanced-arrays.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/rendering/uniform-block-buffer-size.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/samplers/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/sync/sync-webgl-specific.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/canvas/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/canvas_sub_rectangle/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/image/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/image_bitmap_from_blob/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/image_bitmap_from_canvas/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/image_bitmap_from_image/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/image_bitmap_from_image_bitmap/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/image_bitmap_from_image_data/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/image_bitmap_from_video/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/image_data/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/misc/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/misc/copy-texture-image-luma-format.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/misc/copy-texture-image.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/misc/tex-image-with-bad-args-from-dom-elements.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/misc/tex-image-with-bad-args.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/misc/tex-image-with-different-data-source.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/misc/tex-mipmap-levels.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/misc/tex-srgb-mipmap.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/misc/tex-storage-2d.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/misc/tex-storage-and-subimage-3d.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/misc/texel-fetch-undefined.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/svg_image/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/video/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/textures/webgl_canvas/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/transform_feedback/00_test_list.txt:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/transform_feedback/transform_feedback.html:
  • webgl/2.0.0/resources/webgl_test_files/conformance2/vertex_arrays/vertex-array-object.html:
  • webgl/2.0.0/resources/webgl_test_files/deqp/framework/common/tcuFloat.js:

(goog.scope.tcuFloat.deFloat):
(goog.scope.tcuFloat.deFloat.prototype.deFloatBuffer):
(goog.scope.tcuFloat.deFloat.prototype.deFloatParametersNumber):
(goog.scope.tcuFloat.deFloat.prototype.deFloatParameters):
(goog.scope.tcuFloat.deFloat.prototype.getBitRange):
(goog.scope.tcuFloat.newFloat10):
(goog.scope.tcuFloat.newFloat64):
(goog.scope):
(goog.scope.tcuFloat.deFloat.prototype.array32): Deleted.
(goog.scope.tcuFloat.deFloat.prototype.deFloatNumber64): Deleted.

  • webgl/2.0.0/resources/webgl_test_files/deqp/framework/common/tcuFuzzyImageCompare.js:

(goog.scope.tcuFuzzyImageCompare.bilinearSample):

  • webgl/2.0.0/resources/webgl_test_files/deqp/framework/common/tcuSkipList.js:
  • webgl/2.0.0/resources/webgl_test_files/deqp/framework/common/tcuTestCase.js:

(goog.scope.tcuTestCase.getQueryVal):
(goog.scope.tcuTestCase.Runner.prototype.terminate):
(goog.scope.tcuTestCase.getFilter): Deleted.

  • webgl/2.0.0/resources/webgl_test_files/deqp/framework/delibs/debase/deMath.js:

(goog.scope.deMath.arrayToNumber):
(goog.scope.deMath.numberToArray):
(goog.scope.deMath.getBitRange):
(goog.scope.DE_ASSERT): Deleted.
(goog.scope.deMath.getArray32BitRange): Deleted.

  • webgl/2.0.0/resources/webgl_test_files/deqp/functional/gles3/es3fFboColorbufferTests.js:

(goog.scope.es3fFboColorbufferTests.FboColorMultiTex2DCase.prototype.render):
(goog.scope.es3fFboColorbufferTests.FboColorTexCubeCase.prototype.render):
(goog.scope.es3fFboColorbufferTests.FboColorTex2DArrayCase.prototype.render):
(goog.scope.es3fFboColorbufferTests.FboColorTex3DCase.prototype.render):
(goog.scope.es3fFboColorbufferTests.FboBlendCase.prototype.render):
(goog.scope.es3fFboColorbufferTests.FboColorbufferTests.prototype.init):
(goog.scope.es3fFboColorbufferTests.run):
(goog.scope):

  • webgl/2.0.0/resources/webgl_test_files/deqp/functional/gles3/es3fLifetimeTests.js:

(goog.scope.es3fLifetimeTests.ScaleProgram.prototype.setPos):

  • webgl/2.0.0/resources/webgl_test_files/deqp/functional/gles3/es3fMultisampleTests.js:

(goog.scope.es3fMultisampleTests.MultisampleCase.prototype.init):
(goog.scope.es3fMultisampleTests.NumSamplesCase.prototype.iterate):

  • webgl/2.0.0/resources/webgl_test_files/deqp/functional/gles3/es3fNegativeVertexArrayApiTests.js:

(goog.scope.es3fNegativeVertexArrayApiTests.init):

  • webgl/2.0.0/resources/webgl_test_files/deqp/functional/gles3/es3fPixelBufferObjectTest.js:

(goog.scope.es3fPixelBufferObjectTest.ReadPixelsTest.prototype.iterate):

  • webgl/2.0.0/resources/webgl_test_files/deqp/functional/gles3/es3fShaderOperatorTests.js:

(goog.scope.es3fShaderOperatorTests.run):
(goog.scope):

  • webgl/2.0.0/resources/webgl_test_files/deqp/functional/gles3/es3fShaderPrecisionTests.js:

(goog.scope.es3fShaderPrecisionTests.add):
(goog.scope.es3fShaderPrecisionTests.sub):
(goog.scope.es3fShaderPrecisionTests.mul):
(goog.scope.es3fShaderPrecisionTests.mul32):
(goog.scope.es3fShaderPrecisionTests.div):
(goog.scope.es3fShaderPrecisionTests.createFloatPrecisionEvalProgram):
(goog.scope.es3fShaderPrecisionTests.createIntUintPrecisionEvalProgram):
(goog.scope.es3fShaderPrecisionTests.ShaderFloatPrecisionCase):
(goog.scope.es3fShaderPrecisionTests.ShaderFloatPrecisionCase.prototype.init):
(goog.scope.es3fShaderPrecisionTests.ShaderFloatPrecisionCase.prototype.deinit):
(goog.scope.es3fShaderPrecisionTests.ShaderFloatPrecisionCase.prototype.compare):
(goog.scope.es3fShaderPrecisionTests.ShaderFloatPrecisionCase.prototype.iterate):
(goog.scope.es3fShaderPrecisionTests.ShaderIntPrecisionCase):
(goog.scope.es3fShaderPrecisionTests.ShaderIntPrecisionCase.prototype.init):
(goog.scope.es3fShaderPrecisionTests.ShaderIntPrecisionCase.prototype.deinit):
(goog.scope.es3fShaderPrecisionTests.extendTo32Bit):
(goog.scope.es3fShaderPrecisionTests.ShaderIntPrecisionCase.prototype.iterate):
(goog.scope.es3fShaderPrecisionTests.ShaderUintPrecisionCase):
(goog.scope.es3fShaderPrecisionTests.ShaderUintPrecisionCase.prototype.init):
(goog.scope.es3fShaderPrecisionTests.ShaderUintPrecisionCase.prototype.deinit):
(goog.scope.es3fShaderPrecisionTests.ShaderUintPrecisionCase.prototype.iterate):
(goog.scope.FloatCase):
(goog.scope.IntCase):
(goog.scope.UintCase):
(goog.scope.es3fShaderPrecisionTests.ShaderPrecisionTests.prototype.init):

  • webgl/2.0.0/resources/webgl_test_files/deqp/functional/gles3/es3fShaderTextureFunctionTests.js:

(goog.scope.es3fShaderTextureFunctionTests.TextureSizeCase.prototype.testTextureSize):
(goog.scope.es3fShaderTextureFunctionTests.run):
(goog.scope):

  • webgl/2.0.0/resources/webgl_test_files/deqp/functional/gles3/es3fTextureFilteringTests.js:

(goog.scope.es3fTextureFilteringTests.run):
(goog.scope):

  • webgl/2.0.0/resources/webgl_test_files/deqp/temp_externs/html5.js:
  • webgl/2.0.0/resources/webgl_test_files/extra/50x50pixel-black-with-red-triangle.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/extra/canvas-compositing-test.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/extra/sample-100.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/extra/sample-200.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/extra/sample-400.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/extra/webgl-translate-shader.html:
  • webgl/2.0.0/resources/webgl_test_files/js/js-test-pre.js:

(nonKhronosFrameworkNotifyDone):

  • webgl/2.0.0/resources/webgl_test_files/js/tests/iterable-test.js:

(doNextTest):
(run):
(IterableTest):
(createPreserveDrawingBufferLeakTest): Deleted.

  • webgl/2.0.0/resources/webgl_test_files/js/tests/out-of-bounds-test.js:

(runDrawArraysTest):
(runDrawElementsTest):
(runInstancedTest):

  • webgl/2.0.0/resources/webgl_test_files/js/tests/tex-image-and-sub-image-2d-with-canvas-sub-rectangle.js:

(init):
(runTestOnBindingTarget):
(generateTest):

  • webgl/2.0.0/resources/webgl_test_files/js/tests/tex-image-and-sub-image-2d-with-canvas.js:

(init):
(setCanvasToRedGreen):
(checkSourceCanvasImageData):
(runOneIteration):
(runTest.runTexImageTest.):
(runTest.runTexImageTest):
(runTest):
(generateTest):
(replicateRedChannel): Deleted.
(zapColorChannels): Deleted.
(setAlphaChannelTo1): Deleted.
(replicateAllRedChannels): Deleted.
(setAllAlphaChannelsTo1): Deleted.
(repeatCountForTextureFormat): Deleted.
(setCanvasToSemiTransparentRedGreen): Deleted.
(setCanvasTo257x257SemiTransparent): Deleted.
(setCanvasToMinSemiTransparent): Deleted.

  • webgl/2.0.0/resources/webgl_test_files/js/tests/tex-image-and-sub-image-2d-with-image-data.js:

(init):

  • webgl/2.0.0/resources/webgl_test_files/js/tests/tex-image-and-sub-image-2d-with-image.js:

(init):

  • webgl/2.0.0/resources/webgl_test_files/js/tests/tex-image-and-sub-image-2d-with-svg-image.js:

(init):

  • webgl/2.0.0/resources/webgl_test_files/js/tests/tex-image-and-sub-image-2d-with-video.js:

(init):
(runOneIteration):

  • webgl/2.0.0/resources/webgl_test_files/js/tests/tex-image-and-sub-image-2d-with-webgl-canvas.js:

(init):
(runOneIteration):
(runTest.runTexImageTest.):
(runTest.runTexImageTest):
(runTest):
(generateTest):
(shouldRepeatTestForTextureFormat): Deleted.
(): Deleted.

  • webgl/2.0.0/resources/webgl_test_files/js/tests/tex-image-and-sub-image-3d-with-canvas.js:

(runTest.runTexImageTest.):
(runTest.runTexImageTest):
(runTest):
(generateTest):

  • webgl/2.0.0/resources/webgl_test_files/js/tests/tex-image-and-sub-image-3d-with-video.js:

(runOneIteration):

  • webgl/2.0.0/resources/webgl_test_files/js/tests/tex-image-and-sub-image-3d-with-webgl-canvas.js:

(runOneIteration):
(runTest.runTexImageTest.):
(runTest.runTexImageTest):
(runTest):
(generateTest):

  • webgl/2.0.0/resources/webgl_test_files/js/tests/tex-image-and-sub-image-with-image-bitmap-utils.js:

(runOneIterationImageBitmapTest):
(runOneIterationImageBitmapTestSubSource):

  • webgl/2.0.0/resources/webgl_test_files/js/webgl-test-utils.js:

(glEnumToString):
(setupTransformFeedbackProgram):
(setupUnitQuad):
(setupUnitQuadWithTexCoords):
(setupTexturedQuad):
(setupColorQuad):
(setupTexturedQuadWithTexCoords):
(setupTexturedQuadWithCubeMap):
(glTypeToTypedArrayType):
(getBytesPerComponent):
(fillTexture):
(checkCanvasRectColor):
(checkCanvasRect):
(shouldThrowOrGenerateGLError):
(loadShader):
(getRequestVidFrameCallback):
(setZeroTimeout):
(maybeCallCallback):
(playingListener):
(timeupdateListener):
(startPlayingAndWaitForVideo):
(linearChannelToSRGB):
(WebGLTestUtils):
(setupQuadWithTexCoords): Deleted.
(dummySetProgramAndDrawNothing): Deleted.
(comparePixels): Deleted.
(displayImageDiff): Deleted.
(createImageFromPixel): Deleted.

  • webgl/2.0.0/resources/webgl_test_files/py/lint/README.md:
  • webgl/2.0.0/resources/webgl_test_files/py/lint/lint.allowlist: Added.
  • webgl/2.0.0/resources/webgl_test_files/py/lint/lint.py:

(parse_allowlist_file):
(parse_allowlist_file.inner):
(allowlist_errors):
(main.run_lint):
(parse_whitelist_file): Deleted.
(parse_whitelist_file.inner): Deleted.
(whitelist_errors): Deleted.

  • webgl/2.0.0/resources/webgl_test_files/py/tex_image_test_generator.py:
  • webgl/2.0.0/resources/webgl_test_files/resources/1-channel.jpg: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/3x3.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/blue-1x1.jpg: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/bug-32888-texture.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/gray-1024x1024.jpg: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/gray-ramp-256-with-128-alpha.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/gray-ramp-256.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/gray-ramp-default-gamma.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/gray-ramp-gamma0.1.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/gray-ramp-gamma1.0.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/gray-ramp-gamma2.0.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/gray-ramp-gamma4.0.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/gray-ramp-gamma9.0.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/gray-ramp.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/green-2x2-16bit.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/npot-video.mp4: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/npot-video.theora.ogv: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/npot-video.webmvp8.webm: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/opengl_logo.jpg: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/red-green-blue-cyan-4x4.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/red-green-blue-cyan-4x4.psd: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/red-green-semi-transparent.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/red-green.bt601.vp9.webm: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/red-green.mp4: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/red-green.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/red-green.theora.ogv: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/red-green.webmvp8.webm: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/red-indexed.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/small-square-with-cie-rgb-profile.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/small-square-with-colormatch-profile.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/small-square-with-colorspin-profile.jpg: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/small-square-with-colorspin-profile.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/small-square-with-e-srgb-profile.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/small-square-with-smpte-c-profile.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/small-square-with-srgb-iec61966-2.1-profile.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/thunderbird-logo-64x64.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/transparent-on-left-indexed.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/webgl-logo.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/resources/zero-alpha.png: Added.
  • webgl/2.0.0/resources/webgl_test_files/test-guidelines.md:
  • webgl/2.0.0/resources/webgl_test_files/webgl-conformance-tests.html:
10:50 AM Changeset in webkit [264996] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

REGRESSION: (r264950): [ iOS wk2 ] broke 4 xmlhttprequest tests
https://bugs.webkit.org/show_bug.cgi?id=214873

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations: Remove flaky

expectation since I rebaselined these tests with r264989.

10:34 AM Changeset in webkit [264995] by ysuzuki@apple.com
  • 6 edits
    1 add in trunk

[JSC][wasm] Truncating slightly less than INT32_MIN is incorrect
https://bugs.webkit.org/show_bug.cgi?id=214834

Reviewed by Darin Adler.

JSTests:

  • wasm/spec-tests/conversions.wast.js:
  • wasm/stress/trunc-int-min-minus-one.js: Added.

Source/JavaScriptCore:

Wasm trunc_f64_s should handle (INT32_MIN - 1.0, INT32_MIN) range too.

  • llint/WebAssembly.asm:
  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::addOp<OpType::I32TruncSF64>):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::addOp<OpType::I32TruncSF64>):

10:14 AM Changeset in webkit [264994] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Test landed broken(?): [ macOS wk1 ] fast/dynamic/size-to-content-autosize-with-percent-document-height.html is a constant image failure
https://bugs.webkit.org/show_bug.cgi?id=214876

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations: Mark the test as failing while the cause is investigated.
10:03 AM Changeset in webkit [264993] by Karl Rackler
  • 4 edits in trunk/Source

Unreviewed, reverting r264955.

Reverting because this commit may have caused issues with
tests.

Reverted changeset:

"WebCoreResourceHandleAsOperationQueueDelegate can use
RunLoop::dispatch"
https://bugs.webkit.org/show_bug.cgi?id=214771
https://trac.webkit.org/changeset/264955

9:52 AM Changeset in webkit [264992] by sbarati@apple.com
  • 4 edits
    3 adds in trunk

JSPromise::reject might throw more than an unterminated exception
https://bugs.webkit.org/show_bug.cgi?id=214854
<rdar://problem/66152648>

Reviewed by Yusuke Suzuki.

Source/WebCore:

Before, we were assuming the only exception that could be thrown
was an early termination exception. However, it's tenuous to assume
the types of exceptions that can be thrown. This particular test was
throwing a stack overflow exception. It's better form to just propagate
the exception upwards instead of attempting to enumerate the list of
valid exceptions.

Test: js/dom/promise-rejection-might-stack-overflow.html

  • bindings/js/JSDOMPromiseDeferred.cpp:

(WebCore::DeferredPromise::reject):

LayoutTests:

  • js/dom/promise-rejection-might-stack-overflow-expected.txt: Added.
  • js/dom/promise-rejection-might-stack-overflow.html: Added.
  • js/dom/script-tests/promise-rejection-might-stack-overflow.js: Added.

(foo):

9:38 AM Changeset in webkit [264991] by mark.lam@apple.com
  • 3 edits
    1 add in trunk

ASSERTION FAILED: isSymbol() in Source/JavaScriptCore/runtime/JSCell.cpp(188)
https://bugs.webkit.org/show_bug.cgi?id=214837

Reviewed by Darin Adler.

JSTests:

  • stress/jsc-shell-test-properties-should-not-be-enumerable.js: Added.

Source/JavaScriptCore:

The issue found by this bug was that jsc shell test properties were enumerable.
These properties are only meant for test development use. They will never be
present in a productized JavaScript environment.

This patch helps reduce the change of users of the jsc shell tripping up on these
test properties when enumerating the global object.

  • jsc.cpp:
9:34 AM WebKitGTK/2.28.x edited by Michael Catanzaro
(diff)
9:30 AM Changeset in webkit [264990] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Add null checks in ResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=214786
<rdar://problem/61106685>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-07-28
Reviewed by Youenn Fablet.

Source/WebCore:

We had added some iOS-only checks based on crash tracer data.
It turns out these code paths are indeed reachable. Let's make ResourceLoader less platform-dependent.

The original patch for this has a test that would reach this code, but it never finishes loading.
Rather than add a test that always times out or not committing the fix, I commit the fix without the test.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::init):
(WebCore::ResourceLoader::cancel):

Source/WebKit:

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::getResourceBytesAtPosition):

9:25 AM Changeset in webkit [264989] by Ryan Haddad
  • 1 edit
    8 adds in trunk/LayoutTests

Add test expectations and baselines for iOS 14
https://bugs.webkit.org/show_bug.cgi?id=214709

Unreviewed test gardening.

Add a few missing baselines for failures that weren't caught by EWS
due to pre-existing flaky expectations.

  • platform/ios-13/http/tests/xmlhttprequest/methods-async-expected.txt: Added.
  • platform/ios-13/http/tests/xmlhttprequest/methods-expected.txt: Added.
  • platform/ios-13/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Added.
  • platform/ios-13/http/tests/xmlhttprequest/workers/methods-expected.txt: Added.
9:15 AM Changeset in webkit [264988] by ysuzuki@apple.com
  • 19 edits
    2 adds in trunk

IndexedDB binding utilities miss exception checks
https://bugs.webkit.org/show_bug.cgi?id=214820
<rdar://problem/66152374>

Reviewed by Mark Lam.

Source/JavaScriptCore:

jsStringWithCache does not need to take JSGlobalObject*.

  • runtime/JSString.h:

(JSC::jsStringWithCache):

Source/WebCore:

Test: js/dom/indexed-db-operations-exception-checks.html

This patch appropriately inserts exception checking code into IndexedDB binding utilities.

  • Modules/indexeddb/IDBKeyRange.cpp:

(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
(WebCore::IDBKeyRange::includes):

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::get):
(WebCore::set):
(WebCore::toJS):
(WebCore::createIDBKeyFromValue):
(WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::ensureNthValueOnKeyPath):
(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::canInjectIDBKeyIntoScriptValue):
(WebCore::scriptValueToIDBKey):

  • bindings/js/IDBBindingUtilities.h:
  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/JSDOMConvertDate.cpp:

(WebCore::valueToDate):

  • bindings/js/JSDOMConvertDate.h:

(WebCore::Converter<IDLDate>::convert):

  • bindings/js/JSDOMConvertStrings.h:

(WebCore::JSConverter<IDLDOMString>::convert):
(WebCore::JSConverter<IDLByteString>::convert):
(WebCore::JSConverter<IDLUSVString>::convert):

  • bindings/js/JSDOMConvertWebGL.cpp:

(WebCore::convertToJSValue):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction const):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateEnumerationImplementationContent):

  • bindings/scripts/test/JS/JSTestCallbackInterface.cpp:

(WebCore::convertEnumerationToJS):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::convertEnumerationToJS):

  • bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp:

(WebCore::convertEnumerationToJS):

  • bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp:

(WebCore::convertEnumerationToJS):

  • bridge/c/c_utility.cpp:

(JSC::Bindings::convertNPVariantToValue):

LayoutTests:

  • js/dom/indexed-db-operations-exception-checks-expected.txt: Added.
  • js/dom/indexed-db-operations-exception-checks.html: Added.
9:02 AM Changeset in webkit [264987] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (r262539): [ iOS wk2 ] imported/w3c/web-platform-tests/html/canvas/element/imagebitmap/createImageBitmap-drawImage.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214877

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
8:31 AM Changeset in webkit [264986] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebCore

[GTK] Crash in Nicosia::GC3DLayer::makeContextCurrent due to failure in EGL display creation
https://bugs.webkit.org/show_bug.cgi?id=201507

Reviewed by Carlos Garcia Campos.

Ensure that EGL context and display creation failures are always
logged using RELEASE_LOG_INFO(), even for intermediate failures for
which a fallback will be tried next, in order to ease diagnosis of
related issues. Failure to create contexts at the end of the public
methods ::createContext() and ::createSharingContext() is still
logged with WTFLogAlways() to write a notice to standard error, and
let users/developers know that something failed and checking the
complete logs (e.g. with "journalctl" on Linux) may reveal more
information.

This also replaces the chains of "if" statements with a single
"switch" on the PlatformDisplay::Type enum, which makes the code
easier to follow and should be more robust as well.

No new tests needed.

  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::GLContextEGL::getEGLConfig):
(WebCore::GLContextEGL::createWindowContext):
(WebCore::GLContextEGL::createSurfacelessContext):
(WebCore::GLContextEGL::createContext):
(WebCore::GLContextEGL::createSharingContext):

8:27 AM Changeset in webkit [264985] by calvaris@igalia.com
  • 2 edits in trunk/Source/WebCore

[GStreamer] Use GST_PLUGIN_FEATURE_RANK env var to have Thunder ranked higher in runtime instead of current custom one
https://bugs.webkit.org/show_bug.cgi?id=214826

  • platform/graphics/gstreamer/GStreamerCommon.cpp: Unreviewed,

added comment about delaying because of the dependency on
GStreamer 1.16.

8:17 AM Changeset in webkit [264984] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.28.4

WPE WebKit 2.28.4

8:17 AM Changeset in webkit [264983] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.28

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

.:

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

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.28.4.
7:15 AM Changeset in webkit [264982] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION: (r264950): [ iOS wk2 ] broke 4 xmlhttprequest tests
https://bugs.webkit.org/show_bug.cgi?id=214873

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
7:00 AM Changeset in webkit [264981] by Jonathan Bedard
  • 2 edits
    1 delete in trunk/Tools

[webkitcorepy] Add string_utils (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=214405

Reviewed by Aakash Jain.

  • Scripts/webkit-patch:

(ForgivingUTF8Writer.write): Replace unicode_compatibility with string_utils.

  • Scripts/webkitpy/common/unicode_compatibility.py: Removed.
6:32 AM Changeset in webkit [264980] by Caio Lima
  • 3 edits in trunk/JSTests

[32-bits] Skipping some failing tests on ARMv7 and MIPS
https://bugs.webkit.org/show_bug.cgi?id=214872

Unreviewed Gardening.

  • stress/ftl-reflect-get-prototype-of.js:
  • stress/intl-suppored-locales-of.js:
6:26 AM Changeset in webkit [264979] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION: (r264492) Broke 4 WebRTC tests and 1 webrtc tests
https://bugs.webkit.org/show_bug.cgi?id=214730

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
5:49 AM Changeset in webkit [264978] by Carlos Garcia Campos
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening. Rebaseline tests after r264968

  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
5:39 AM Changeset in webkit [264977] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.28.4

WebKitGTK 2.28.4

5:38 AM Changeset in webkit [264976] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.28

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.28.4 release

.:

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

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.28.4.
5:18 AM Changeset in webkit [264975] by calvaris@igalia.com
  • 7 edits in trunk

[GStreamer] media/vp9.html failing since check-in in r263894
https://bugs.webkit.org/show_bug.cgi?id=213947

Reviewed by Philippe Normand.

Source/WebCore:

Test: media/vp9.html.

  • testing/Internals.cpp:

(WebCore::Internals::usingGStreamer const): Added.

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

LayoutTests:

  • media/vp9.html: Used usingGStreamer() to adjust expectation of

the first test and to enable the second. Both are passing now for
GStreamer ports.

  • platform/glib/TestExpectations: Removed media/vp9.html failure

from expectations.

3:46 AM Changeset in webkit [264974] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Update test expectations after r264967.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
3:34 AM Changeset in webkit [264973] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r259525 - Protect contentFrame in SubframeLoader::loadOrRedirectSubframe with RefPtr.
https://bugs.webkit.org/show_bug.cgi?id=127096
<rdar://problem/61221941>

Reviewed by Alex Christensen.

ContentFrame is used throughout loadOrRedirectSubframe so it needs to be protected with RefPtr.
And if loader changes frame in SubframeLoader::loadSubframe, return nullptr to notify the caller.

No new tests, covered by existing test.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadOrRedirectSubframe):
(WebCore::SubframeLoader::loadSubframe):

  • loader/SubframeLoader.h:
3:34 AM Changeset in webkit [264972] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r261208 - Crash in match_constness<WebCore::CSSValue, WebCore::CSSPrimitiveValue>::type& WTF::downcast<WebCore::CSSPrimitiveValue, WebCore::CSSValue> -- ASAN
https://bugs.webkit.org/show_bug.cgi?id=211479

Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-05-05
Reviewed by Geoffrey Garen.

Added check to downcast CSSValue to CSSPrimitiveValue, only if valid CSSPrimitveValue is associated with the property.

New test would be added to Internal repository.

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::pageBreakPropertyValue const):

3:34 AM Changeset in webkit [264971] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.28

Merge r263302 - Crash in WebCore::Range::borderAndTextRects
https://bugs.webkit.org/show_bug.cgi?id=209379

Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-06-19
Reviewed by Darin Adler.

When a parentless node is moved to a new document, then all ranges associated with this node and its children also should
be updated with new document information.

Test woould be submitted later.

  • dom/Document.cpp:

(WebCore::Document::parentlessNodeMoveToNewDocument):

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

(WebCore::Node::moveNodeToNewDocument):

  • dom/Range.cpp:

(WebCore::Range::parentlessNodeMoveToNewDocumentAffectsRange):
(WebCore::Range::updateRangeForParentlessNodeMoveToNewDocument):

  • dom/Range.h:
3:34 AM Changeset in webkit [264970] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.28

Merge r264364 - When invalidating the clients of an SVG resource we should not go beyond the RenderSVGRoot
https://bugs.webkit.org/show_bug.cgi?id=211804
<rdar://problem/60308199>

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-07-14
Reviewed by Zalan Bujtas.

Source/WebCore:

ComplexLineLayout::layoutLineBoxes() walks through the renderers of a line.
The order of this walk may include a node and its children. For example
the layout of a RenderInline may be run first, then it is followed by the
layout for a RenderSVGRoot which happens to be a child of the RenderInline.

If the RenderSVGRoot has a dirty RenderSVGResource, e.g. RenderSVGResourceClipper,
this resource will call RenderSVGResource::markForLayoutAndParentResourceInvalidation()
which will invalidate its ancestors including RenderSVGRoot and RenderInline
by setting the normalChildNeedsLayoutBit() for each of them.

The layout of SVG is hierarchical which means RenderSVGRoot will finish
its layout after finishing the layout of all its descendants including
this RenderSVGResource. So dirtying the RenderSVGRoot is this scenario
is okay since RenderSVGRoot will do another SVGRenderSupport::layoutChildren()
and will clear its needsLayout bits before it returns.

The problem happens because we set normalChildNeedsLayoutBit for the containing
RenderInline and this leaves the render tree dirty. Later Document::resolveStyle()
may called to invalidate an SVG element e.g. RenderSVGPath. So setNeedsLayout()
is called for this object. Because the normalChildNeedsLayoutBit() is set
for the RenderInline, RenderObject::markContainingBlocksForLayout() stops
in the middle and do not mark the containing RenderBlock. So we end up
with a render tree like this:

+ RenderView
+ HTML RenderBlock
+ BODY RenderBody

  • RenderBlock + ANY-ELEMENT RenderInline + svg RenderSVGRoot
  • clipPath RenderSVGResourceClipper + polygon RenderSVGPath

where the '+' means needsLayout() is true and '-' means needsLayout() is
false.

So the layout will not run for RenderBlock with '-' sign. And we end up
with dirty RenderSVGPath or even worse RenderSVGPath with uninitialized
m_path. So a null pointer deref may happen.

The fix is to prevent mutating the render tree while running the layout
of the SVG resource. This can be done by making the RenderSVGResource not
dirtying any renderer beyond the RenderSVGRoot when it finishes its layout.
The SVG resource layout should not affect the intrinsic size of the SVG
if it is embedded in an HTML document.

In RenderObject::markContainingBlocksForLayout(), we do something similar
when we break if the ancestor is objectIsRelayoutBoundary().

Test: svg/in-html/inline-svg-resource-dynamic-update.html

  • rendering/svg/RenderSVGResource.cpp:

(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::layout):

  • rendering/svg/RenderSVGRoot.h:

LayoutTests:

  • svg/in-html/inline-svg-resource-dynamic-update-expected.txt: Added.
  • svg/in-html/inline-svg-resource-dynamic-update.html: Added.
2:55 AM Changeset in webkit [264969] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening. Mark compositing/clipping/border-radius-stacking-context-clip.html as failure

  • platform/gtk/TestExpectations:
2:03 AM Changeset in webkit [264968] by Carlos Garcia Campos
  • 15 edits
    13 adds in trunk

[GTK][WPE] Support for backdrop-filter
https://bugs.webkit.org/show_bug.cgi?id=169988

Reviewed by Adrian Perez de Castro.

.:

Enable FILTERS_LEVEL_2 by default for WPE and GTK.

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

Source/WebCore:

Add initial support for backdrop filters to coordinated graphics.

  • platform/graphics/nicosia/NicosiaPlatformLayer.h:

(Nicosia::CompositionLayer::flushState): Update the backdrop layer.

  • platform/graphics/texmap/TextureMapper.h:
  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::computeTransformsRecursive): Call it on backdrop layer too.
(WebCore::TextureMapperLayer::paintSelfAndChildren): Paint the backdrop layer before current layer to apply
backdrop filters on previous contents, then the layer is painted on top.
(WebCore::TextureMapperLayer::paintIntoSurface): In case of backdrop layer paint the root layer up to the target
layer into the intermediate surface.
(WebCore::TextureMapperLayer::setBackdropLayer): Set the bakdrop layer and mark it as such.
(WebCore::TextureMapperLayer::applyAnimationsRecursively): Also call syncAnimations on backdrop layer to get the
filters updated.

  • platform/graphics/texmap/TextureMapperLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::didChangeBackdropFilters):
(WebCore::CoordinatedGraphicsLayer::didChangeBackdropFiltersRect):
(WebCore::CoordinatedGraphicsLayer::setShouldUpdateVisibleRect): Also call it for backdrop layer.
(WebCore::CoordinatedGraphicsLayer::setContentsVisible): Ditto.
(WebCore::CoordinatedGraphicsLayer::setBackdropFilters):
(WebCore::CoordinatedGraphicsLayer::setBackdropFiltersRect):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState): Also call it for backdrop layer.
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly): Handle the changes in backdrop
filters and the rect, creating the backdrop layer or updating it.
(WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers): Also call it for backdrop layer.
(WebCore::CoordinatedGraphicsLayer::addAnimation): Handle AnimatedPropertyWebkitBackdropFilter property.
(WebCore::dumpInnerLayer): Dump internal layer info.
(WebCore::CoordinatedGraphicsLayer::dumpAdditionalProperties const): Dump backdrop layer.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:

Source/WebKit:

Set the backdrop layer if changed when updating the scene state.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::updateSceneState):

LayoutTests:

Update test expectations.

  • platform/glib/TestExpectations:
  • platform/glib/css3/filters/backdrop/backdrop-filter-does-not-size-properly-absolute-expected.txt: Added.
  • platform/glib/css3/filters/backdrop/backdrop-filter-does-not-size-properly-border-and-padding-expected.txt: Added.
  • platform/glib/css3/filters/backdrop/backdrop-filter-with-clip-path-expected.txt: Added.
  • platform/glib/css3/filters/backdrop/backdrop-filter-with-cliprect-expected.txt: Added.
  • platform/glib/css3/filters/backdrop/backdrop-filter-with-mask-expected.txt: Added.
  • platform/glib/css3/filters/backdrop/backdrop-with-visibility-hidden-changing-expected.txt: Added.
  • platform/glib/css3/filters/backdrop/backdrop-with-visibility-hidden-expected.txt: Added.
  • platform/glib/css3/filters/backdrop/resource-use-add-more-layers-expected.txt: Added.
  • platform/glib/css3/filters/backdrop/resource-use-excessive-expected.txt: Added.
  • platform/glib/css3/filters/backdrop/resource-use-ok-expected.txt: Added.
  • platform/glib/css3/filters/backdrop/resource-use-remove-some-layers-expected.txt: Added.
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
1:01 AM Changeset in webkit [264967] by youenn@apple.com
  • 4 edits
    3 adds in trunk

ReadableStreamDefaultController should use private JS built-in methods
https://bugs.webkit.org/show_bug.cgi?id=214819

Reviewed by Darin Adler.

Source/WebCore:

Call directly private buitl-in methods instead of getting close/error/enqueue methods from the controller.
Test: http/wpt/fetch/readableStreamDefaultController-overwriting.html

  • bindings/js/ReadableStreamDefaultController.cpp:

(WebCore::invokeReadableStreamDefaultControllerFunction):
(WebCore::ReadableStreamDefaultController::close):
(WebCore::ReadableStreamDefaultController::error):
(WebCore::ReadableStreamDefaultController::enqueue):

  • bindings/js/ReadableStreamDefaultController.h:

(WebCore::ReadableStreamDefaultController::enqueue):
(WebCore::ReadableStreamDefaultController::error):

LayoutTests:

  • http/wpt/fetch/readableStreamDefaultController-overwriting-expected.txt: Added.
  • http/wpt/fetch/readableStreamDefaultController-overwriting.html: Added.
  • http/wpt/fetch/resources/lengthy-pass.py: Added.
1:01 AM Changeset in webkit [264966] by youenn@apple.com
  • 6 edits in trunk/Source

Disable low latency code path for H264 constrained baseline
https://bugs.webkit.org/show_bug.cgi?id=214830

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

In case of baseline profile, use straight VTB encoder.
In case of high profile, use low latency code path if enabled.
In case of MacOS software code path, enable low latency code path as straight VTB encoder buffers frames.

  • Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:

(-[RTCVideoEncoderH264 initWithCodecInfo:]):
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):

Source/WebKit:

Enable low latency code path on iOS.
Manually tested.

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultWebRTCH264LowLatencyEncoderEnabled):

  • Shared/WebPreferencesDefaultValues.h:

Jul 27, 2020:

11:55 PM Changeset in webkit [264965] by Carlos Garcia Campos
  • 5 edits
    48 adds in trunk

REGRESSION(r230479): [TextureMapper] replica layer is not rendered
https://bugs.webkit.org/show_bug.cgi?id=214827

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Since r230479 the replica layer transform is not applied because m_layerTransforms.localTransform is never set
for the replica layer. We need to call applyAnimationsRecursively() on the replica layer to initialize the
localTransform (even when we know the replica layer won't have animations).

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::applyAnimationsRecursively):

LayoutTests:

Add missing expectations for compositing/reflections tests and rebaseline the existing ones.

  • platform/gtk/TestExpectations:
  • platform/gtk/compositing/reflections/animation-inside-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/animation-inside-reflection-expected.txt: Added.
  • platform/gtk/compositing/reflections/backface-hidden-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/become-simple-composited-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/compositing-change-inside-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/compositing-change-inside-reflection-expected.txt: Added.
  • platform/gtk/compositing/reflections/deeply-nested-reflections-expected.png: Added.
  • platform/gtk/compositing/reflections/deeply-nested-reflections-expected.txt: Added.
  • platform/gtk/compositing/reflections/direct-image-object-fit-reflected-expected.txt: Added.
  • platform/gtk/compositing/reflections/load-video-in-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/load-video-in-reflection-expected.txt: Added.
  • platform/gtk/compositing/reflections/masked-reflection-on-composited-expected.png: Added.
  • platform/gtk/compositing/reflections/masked-reflection-on-composited-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-anchor-point-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-anchor-point-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-animated-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-animated-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-mask-change-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-mask-change-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-on-overflow-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-on-overflow-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-opacity-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-opacity-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-size-change-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-size-change-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-transformed-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-transformed-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-transformed2-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-transformed2-expected.txt: Added.
  • platform/gtk/compositing/reflections/nested-reflection-transition-expected.png: Added.
  • platform/gtk/compositing/reflections/nested-reflection-transition-expected.txt: Added.
  • platform/gtk/compositing/reflections/reflection-in-composited-expected.png:
  • platform/gtk/compositing/reflections/reflection-on-composited-expected.png: Added.
  • platform/gtk/compositing/reflections/reflection-on-composited-expected.txt: Added.
  • platform/gtk/compositing/reflections/reflection-opacity-expected.png: Added.
  • platform/gtk/compositing/reflections/reflection-opacity-expected.txt: Added.
  • platform/gtk/compositing/reflections/reflection-ordering-expected.png: Added.
  • platform/gtk/compositing/reflections/reflection-ordering-expected.txt: Added.
  • platform/gtk/compositing/reflections/reflection-positioning-expected.png: Added.
  • platform/gtk/compositing/reflections/reflection-positioning-expected.txt: Added.
  • platform/gtk/compositing/reflections/reflection-positioning2-expected.png: Added.
  • platform/gtk/compositing/reflections/reflection-positioning2-expected.txt: Added.
  • platform/gtk/compositing/reflections/remove-add-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/simple-composited-reflections-expected.png: Added.
  • platform/gtk/compositing/reflections/simple-composited-reflections-expected.txt: Added.
  • platform/gtk/compositing/reflections/transform-inside-reflection-expected.png: Added.
  • platform/gtk/compositing/reflections/transform-inside-reflection-expected.txt: Added.
11:18 PM Changeset in webkit [264964] by graouts@webkit.org
  • 3 edits in trunk/LayoutTests

Test landed flaky: [ iOS ] fast/visual-viewport/scroll-event-fired-during-scroll-alone.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=214324
<rdar://problem/65566127>

Reviewed by Simon Fraser.

Use UIHelper.ensureStablePresentationUpdate() and an additional animation frame to determine that
scroll has completed after the call to window.scrollTo().

  • fast/visual-viewport/scroll-event-fired-during-scroll-alone.html:
  • platform/ios-simulator-wk2/TestExpectations:
8:53 PM Changeset in webkit [264963] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null check inlineStyle in StyledElement::invalidateStyleAttribute
https://bugs.webkit.org/show_bug.cgi?id=214782
<rdar://problem/66052987>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-07-27
Reviewed by Geoffrey Garen.

Source/WebCore:

This fixes a reachable crash.

Test: fast/dom/null-inline-style.html

  • dom/StyledElement.cpp:

(WebCore::StyledElement::invalidateStyleAttribute):

LayoutTests:

  • fast/dom/null-inline-style-expected.txt: Added.
  • fast/dom/null-inline-style.html: Added.
5:52 PM Changeset in webkit [264962] by Wenson Hsieh
  • 6 edits in trunk

[iOS] Drag and drop does not preserve file names that contain periods
https://bugs.webkit.org/show_bug.cgi?id=214701
<rdar://problem/66014009>

Reviewed by Tim Horton.

Source/WebCore:

Cocoa documentation does not make it clear whether the -suggestedName property on NSItemProvider should or
should not include the file extension. To avoid adding a redundant file extension, logic in
WebItemProviderPasteboard attempts to deduce whether the suggested name already contains an extension, and
only appends a file extension (taken from name of the original file) if the suggested name does not have one.

Unfortunately, since this logic only checks whether or not there is a period in the filename, it will
incorrectly avoid adding a file extension when the suggested name contains a period. To fix this, instead of
checking for the presence of a period, check to see whether the file extension of the suggested name is the
same, and append the extension if it isn't.

Test: DragAndDropTests.SuggestedNameContainsDot

  • platform/ios/WebItemProviderPasteboard.mm:

(linkTemporaryItemProviderFilesToDropStagingDirectory):

Tools:

Add an API test to exercise both scenarios where the suggested name does and does not contain the extension.

  • TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:

Rebaseline an existing API test.

  • TestWebKitAPI/Tests/WebKitCocoa/gif-and-file-input.html:

Adjust this test case to support handling multiple uploaded files.

  • TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:

(TestWebKitAPI::TEST):

5:36 PM Changeset in webkit [264961] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

Handle full browser apps that try to use prohibited Info.plist strings
https://bugs.webkit.org/show_bug.cgi?id=214852
<rdar://problem/66023860>

Reviewed by Brent Fulgham.

Full-web browsing applications which also use prohibited Info.plist
strings should be restricted from using certain powerful APIs like
JavaScript injection. These apps will have the equivalent privileges
of an app that opts into App-Bound Domains with an empty
WKAppBoundDomains key.

No new tests. Writing a test for this would require being able to
change TestWebKitAPI's Info.plist between tests, which we do not
support. I manually tested this by adding a prohibited
string to the TestWebKitAPI Info.plist then verified that restricted APIs,
like JS injection, were blocked.

  • UIProcess/WebPageProxy.cpp:

(isFullWebBrowser):
(hasProhibitedUsageStrings):
(WebKit::WebPageProxy::loadData):
(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomainAndCheckIfPermitted):
We do not need to set m_isNavigatingToAppBoundDomain in the case where
a full web browser does not use prohibited strings. In this case, we
want m_isNavigatingToAppBoundDomain to stay as WTF::nullopt so no API
restriction is enabled.

5:30 PM Changeset in webkit [264960] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Extension is sized incorrectly, content is cut off.
https://bugs.webkit.org/show_bug.cgi?id=214858
<rdar://problem/64135680>

Reviewed by Simon Fraser.

Source/WebCore:

Autosizing uses an 1px tall viewport to layout the content initially. When the document renderer's height is set to a percent value, this
1px tall viewport will drive the available height for the descendants and we pretty much end up with overflow content.
Autosizing takes the overflow into account when computing the final content size, however this overflow depends on the type of the layout context (e.g. flex vs. block).

Let's replace percent height values on the document renderer with the initial "height: auto".

Test: fast/dynamic/size-to-content-autosize-with-percent-document-height.html

  • page/FrameView.cpp:

(WebCore::FrameView::performSizeToContentAutoSize):

LayoutTests:

  • fast/dynamic/size-to-content-autosize-with-percent-document-height-expected.html: Added.
  • fast/dynamic/size-to-content-autosize-with-percent-document-height.html: Added.
5:05 PM Changeset in webkit [264959] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Change default tab order to display most commonly used tabs first
https://bugs.webkit.org/show_bug.cgi?id=212189
<rdar://problem/62267309>

Reviewed by Timothy Hatcher.

Changet the default tab order to:
Elements, Console, Sources, Network, Timelines, Storage, Graphics, Layers, Audit.

  • UserInterface/Base/Main.js:

(WI.loaded):

5:05 PM Changeset in webkit [264958] by Chris Dumez
  • 7 edits in trunk

Update release*() functions on ExceptionOr() to always release the member
https://bugs.webkit.org/show_bug.cgi?id=214835

Reviewed by Darin Adler.

Source/WebCore:

Update release*() functions on ExceptionOr() to always release the member instead of
simply doing a cast to an rvalue reference and leaving it up to the caller.

Also add assertions to make sure we don't release those members more than once and to
make sure we don't try to access the member after releasing it.

  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::doOpenCursor):
(WebCore::IDBIndex::doOpenKeyCursor):
(WebCore::IDBIndex::doGetAll):
(WebCore::IDBIndex::doGetAllKeys):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::doOpenCursor):
(WebCore::IDBObjectStore::doOpenKeyCursor):
(WebCore::IDBObjectStore::doDelete):
(WebCore::IDBObjectStore::doGetAll):
(WebCore::IDBObjectStore::doGetAllKeys):
Fix issues found in existing code by new assertions.

  • dom/ExceptionOr.h:

(WebCore::ExceptionOr<ReturnType>::exception const):
(WebCore::ExceptionOr<ReturnType>::releaseException):
(WebCore::ExceptionOr<ReturnType>::returnValue const):
(WebCore::ExceptionOr<ReturnType>::releaseReturnValue):
(WebCore::>::releaseException):
(WebCore::ExceptionOr<void>::exception const):
(WebCore::ExceptionOr<void>::releaseException):

  • dom/TreeWalker.cpp:

Fix issues found in existing code by new assertions.

Tools:

  • TestWebKitAPI/Tests/WebCore/LoggedInStatus.cpp:

(TestWebKitAPI::TEST):
Fix unsafe code in API test which was storing a raw pointer to something held inside an ExpectedOr,
after calling releaseReturnValue().

5:02 PM Changeset in webkit [264957] by ddkilzer@apple.com
  • 11 edits
    1 delete in trunk

WebKit::setCrashReportApplicationSpecificInformation() should also log to WTFLogAlways()
<https://webkit.org/b/214756>
<rdar://problem/66085705>

Reviewed by Darin Adler.

This also makes the following changes:
Source/WebKit:

  • Renames setCrashReportApplicationSpecificInformation() to logAndSetCrashLogMessage().
  • Replaces _WKSetCrashReportApplicationSpecificInformation() with WebKit::logAndSetCrashLogMessage().
  • Calls WTF::setCrashLogMessage() in DumpRenderTree and WebKitTestRunner to avoid new WTFLogAlways() calls, which broke internal tests and caused the first patch to be rolled out.
  • Changes WebKit::logAndSetCrashLogMessage() to take a const char* argument instead of CFStringRef.
  • Platform/IPC/cocoa/ConnectionCocoa.mm:

(IPC::Connection::sendMessage):
(IPC::readFromMachPort):

  • Update call to logAndSetCrashLogMessage() to pass const char* value.
  • Platform/cocoa/WKCrashReporter.h:

(WebKit::logAndSetCrashLogMessage):

  • Rename from setCrashReportApplicationSpecificInformation().
  • Update function signature to use const char*.
  • Platform/cocoa/WKCrashReporter.mm:

(WebKit::logAndSetCrashLogMessage):

  • Rename from setCrashReportApplicationSpecificInformation().
  • Update function signature to use const char*.
  • Call WTFLogAlways() in addition to setting the Application Specific Information.
  • Shared/Cocoa/AuxiliaryProcessCocoa.mm:

(WebKit::AuxiliaryProcess::didReceiveInvalidMessage):

  • Update call to logAndSetCrashLogMessage() to pass const char* value.
  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceMain):

  • Update call to logAndSetCrashLogMessage() instead of both WTFLogAlways() and _WKSetCrashReportApplicationSpecificInformation().
  • WebKit.xcodeproj/project.pbxproj:
  • Remove WebProcessCocoa.h from the project.
  • WebProcess/cocoa/WebProcessCocoa.h: Remove.
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::_WKSetCrashReportApplicationSpecificInformation): Delete.

Tools:

  • Replaces _WKSetCrashReportApplicationSpecificInformation() with WebKit::setCrashReportApplicationSpecificInformation().
  • Calls WTF::setCrashLogMessage() in DumpRenderTree and WebKitTestRunner to avoid new WTFLogAlways() calls, which broke internal tests and caused the first patch to be rolled out.
  • Changes WebKit::setCrashReportApplicationSpecificInformation() to take a const char* argument instead of CFStringRef.
  • DumpRenderTree/mac/DumpRenderTree.mm:

(changeWindowScaleIfNeeded):

  • Drive-by fix for misspelling in parameter name.

(runTest):

  • WebKitTestRunner/cocoa/CrashReporterInfo.mm:

(WTR::setCrashReportApplicationSpecificInformationToURL):

  • Switch from calling WebKit::setCrashReportApplicationSpecificInformation() to calling WTF::setCrashLogMessage() directly.
4:50 PM Changeset in webkit [264956] by Alan Coon
  • 3 edits in branches/safari-610.1.23.1-branch/Source/WebKit

Cherry-pick r264945. rdar://problem/66187995

Occasional crashes under PDFPlugin::createScrollbar and PDFPlugin::updateScrollbars
https://bugs.webkit.org/show_bug.cgi?id=214845
<rdar://problem/59293598>

Reviewed by Brady Eidson.

No new tests; timing is such that I can't reproduce without inserting
intentional delays into the main thread hops, which is further than
I'm willing to go for a test.

This is a speculative fix due to the aforementioned reproducibility issue.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::destroy): Keep track of when destroy() has been called.

(WebKit::PDFPlugin::receivedNonLinearizedPDFSentinel):
(WebKit::PDFPlugin::threadEntry):
If the PDFPlugin is destroyed (explicit destroy(), not the destructor, which won't run since we're protecting this)
during the window in which the PDF thread is dispatching to the main thread, just ignore
the callback. We don't want to run it, because many of the things we depend on (like PluginView)
are disconnected at this point.

(WebKit::PDFPlugin::scrollbarStyleChanged):
It appears that in some much rarer case, even before the PDF thread existed, WebScrollerImpPairDelegate could
call us back after being destroy()'d but before being deallocated. Use the new bit to guard scrollbarStyleChanged().

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

4:48 PM Changeset in webkit [264955] by ggaren@apple.com
  • 4 edits in trunk/Source

WebCoreResourceHandleAsOperationQueueDelegate can use RunLoop::dispatch
https://bugs.webkit.org/show_bug.cgi?id=214771

Reviewed by Darin Adler.

Source/WebCore:

Use the new helper function for consistency, and to remove a bit of code.

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(scheduledWithCustomRunLoopMode): Deleted.
(-[WebCoreResourceHandleAsOperationQueueDelegate callFunctionOnMainThread:]): Deleted.

Source/WTF:

  • wtf/cf/RunLoopCF.cpp:

(WTF::RunLoop::dispatch): Migrated the optimization from
WebCoreResourceHandleAsOperationQueueDelegate. All Cocoa WebViews begin
life with a single SchedulePair scheduled in kCFRunLoopCommonModes, so
this optimization is the common case.

(Note that I did not copy the kCFRunLoopDefaultMode clause from
the WebCoreResourceHandleAsOperationQueueDelegate optimization. That's
because it's not the common case, and also because it's not correct to
do a vanilla disptach() in the case of kCFRunLoopDefaultMode because a
vanilla dispatch() would use kCFRunLoopCommonModes.)

4:40 PM Changeset in webkit [264954] by Alan Coon
  • 8 edits in branches/safari-610.1.23.1-branch/Source

Versioning.

WebKit-610.1.23.1.3

4:40 PM Changeset in webkit [264953] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[ MacOS Debug ] Layout Test webgl/2.0.0/conformance2/textures/misc/tex-unpack-params.html is flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=190892

Unreviewed test gardening.

  • platform/mac/TestExpectations: Remove slow expectation since the test doesn't appear to be taking

that long to run, and this expectation is overriding the one for webkit.org/b/214763

4:37 PM Changeset in webkit [264952] by Alan Coon
  • 8 edits in branches/safari-610.1.23.0-branch/Source

Versioning.

WebKit-610.1.23.0.2

4:27 PM Changeset in webkit [264951] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Add output directory option to WebGL conformance import script
https://bugs.webkit.org/show_bug.cgi?id=214856

Patch by Kenneth Russell <kbr@chromium.org> on 2020-07-27
Reviewed by Dean Jackson.

Add an -o / --ouptut-dir option to support revising the
LayoutTests/webgl/2.0.0 snapshot.

  • webgl/generate-webgl-tests.py:

(main):

3:40 PM Changeset in webkit [264950] by Ryan Haddad
  • 14 edits
    7 copies
    72 adds in trunk

Add test expectations and baselines for iOS 14
https://bugs.webkit.org/show_bug.cgi?id=214709

Reviewed by Jonathan Bedard.

Tools:

Change current version to 14 and update unit tests.

  • Scripts/webkitpy/port/ios.py:

(IOSPort):

  • Scripts/webkitpy/port/ios_device_unittest.py:
  • Scripts/webkitpy/port/ios_simulator_unittest.py:

(IOSSimulatorTest.make_port):
(IOSSimulatorTest.test_layout_test_searchpath_with_apple_additions):
(IOSSimulatorTest.test_layout_test_searchpath_without_apple_additions):
(IOSSimulatorTest.test_layout_searchpath_wih_device_type):

  • Scripts/webkitpy/port/ios_testcase.py:

(IOSTest.make_port):

LayoutTests:

  • platform/ios-13/TestExpectations: Added.
  • platform/ios-13/fast/backgrounds/body-generated-image-propagated-to-root-expected.txt: Added.
  • platform/ios-13/fast/forms/input-double-click-selection-gap-bug-expected.txt: Added.
  • platform/ios-13/fast/forms/slider-thumb-shared-style-expected.txt: Added.
  • platform/ios-13/fast/inline/br-text-decoration-expected.txt: Added.
  • platform/ios-13/fast/layers/inline-dirty-z-order-lists-expected.txt: Added.
  • platform/ios-13/fast/replaced/percent-height-in-anonymous-block-widget-expected.txt: Added.
  • platform/ios-13/fast/text/international/bidi-LDB-2-CSS-expected.txt: Added.
  • platform/ios-13/fast/text/international/bidi-LDB-2-HTML-expected.txt: Added.
  • platform/ios-13/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: Copied from LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt.
  • platform/ios-13/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any.worker-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-002-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/xhr/send-entity-body-empty-expected.txt: Copied from LayoutTests/platform/ios/imported/w3c/web-platform-tests/xhr/send-entity-body-empty-expected.txt.
  • platform/ios-13/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-async-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-expected.txt: Added.
  • platform/ios-13/imported/w3c/web-platform-tests/xhr/send-entity-body-none-expected.txt: Copied from LayoutTests/platform/ios/imported/w3c/web-platform-tests/xhr/send-entity-body-none-expected.txt.
  • platform/ios-13/platform/TestExpectations: Added.
  • platform/ios-13/platform/ios/ios/fast/text/opticalFont-expected.txt: Copied from LayoutTests/platform/ios/platform/ios/ios/fast/text/opticalFont-expected.txt.
  • platform/ios-13/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt: Copied from LayoutTests/platform/ios/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt.
  • platform/ios-13/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt: Copied from LayoutTests/platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt.
  • platform/ios/TestExpectations:
  • platform/ios/http/tests/xmlhttprequest/methods-async-expected.txt: Added.
  • platform/ios/http/tests/xmlhttprequest/methods-expected.txt: Added.
  • platform/ios/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Added.
  • platform/ios/http/tests/xmlhttprequest/workers/methods-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/encoding/eof-shift_jis-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.any.worker-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/mathml/relations/css-styling/ignored-properties-001-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/border-002-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-002-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/xhr/send-entity-body-empty-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-async-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/xhr/send-entity-body-get-head-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/xhr/send-entity-body-none-expected.txt:
  • platform/ios/platform/ios/ios/fast/text/opticalFont-expected.txt:
  • platform/ios/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt:
  • platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt:
  • platform/ipad-13/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt: Copied from LayoutTests/platform/ipad/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt.
  • platform/ipad/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/encoding/eof-shift_jis-expected.txt: Added.
3:11 PM Changeset in webkit [264949] by Jonathan Bedard
  • 73 edits in trunk/Tools

[webkitcorepy] Add string_utils (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=214405

Reviewed by Dewei Zhu.

Use webkitcorepy.string_utils instead of unicode_compatibility for unicode conversions.

  • Scripts/webkitpy/api_tests/runner.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/bindings/main.py: Replace unicode_compatibility with string_utils,

remove unused imports.

  • Scripts/webkitpy/common/checkout/changelog.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/checkout/changelog_unittest.py: Make imports explicit.
  • Scripts/webkitpy/common/checkout/checkout.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/checkout/checkout_unittest.py: Replace unicode_compatibility with

string_utils, remove unused imports

  • Scripts/webkitpy/common/checkout/diff_parser_unittest.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/checkout/scm/git.py: Replace unicode_compatibility with string_utils,

remove unused imports.

  • Scripts/webkitpy/common/checkout/scm/scm.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py: Replace unicode_compatibility with string_utils,

remove unused imports.

  • Scripts/webkitpy/common/checkout/scm/svn.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/config/committers.py: Replace unicode_compatibility with string_utils,

remove unused imports.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py: Replace unicode_compatibility with

string_utils, remove unused imports.

  • Scripts/webkitpy/common/net/buildbot/buildbot.py: Ditto.
  • Scripts/webkitpy/common/net/ewsserver.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/net/web_mock.py: Ditto.
  • Scripts/webkitpy/common/prettypatch.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/read_checksum_from_png.py: Ditto.
  • Scripts/webkitpy/common/read_checksum_from_png_unittest.py: Ditto
  • Scripts/webkitpy/common/system/abstractexecutive.py: Ditto.
  • Scripts/webkitpy/common/system/crashlogs.py: Ditto.
  • Scripts/webkitpy/common/system/crashlogs_unittest.py: Ditto.
  • Scripts/webkitpy/common/system/executive.py: Ditto.
  • Scripts/webkitpy/common/system/executive_mock.py: Ditto.
  • Scripts/webkitpy/common/system/executive_unittest.py: Replace unicode_compatibility with string_utils,

remove unused imports.

  • Scripts/webkitpy/common/system/filesystem.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/system/filesystem_mock.py: Replace unicode_compatibility with string_utils,

remove unused imports.

  • Scripts/webkitpy/common/system/outputcapture.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/common/system/outputtee_unittest.py: Ditto.
  • Scripts/webkitpy/common/wavediff.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: Replace unicode_compatibility with

string_utils, remove unused imports.

  • Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py: Replace unicode_compatibility with

string_utils.

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Ditto.
  • Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py: Replace unicode_compatibility with

string_utils, remove unused imports.

  • Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py: Replace unicode_compatibility with

string_utils.

  • Scripts/webkitpy/layout_tests/views/printing_unittest.py: Replace unicode_compatibility with

string_utils, remove unused imports.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py: Remove unused imports.
  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py: Ditto.
  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: Replace unicode_compatibility with

string_utils, remove unused imports.

  • Scripts/webkitpy/port/base.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/port/driver.py: Replace unicode_compatibility with string_utils, remove unused imports.
  • Scripts/webkitpy/port/image_diff.py: Ditto.
  • Scripts/webkitpy/port/leakdetector.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/port/leakdetector_valgrind.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/port/leakdetector_valgrind_unittest.py: Ditto.
  • Scripts/webkitpy/port/linux_get_crash_log.py: Ditto.
  • Scripts/webkitpy/port/mock_drt.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/port/mock_drt_unittest.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/port/server_process.py: Ditto.
  • Scripts/webkitpy/port/server_process_mock.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/port/test.py: Ditto.
  • Scripts/webkitpy/results/upload_unittest.py: Ditto.
  • Scripts/webkitpy/style/checkers/cpp.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/style/checkers/python.py: Ditto.
  • Scripts/webkitpy/style/patchreader.py: Ditto.
  • Scripts/webkitpy/test/main.py: Replace unicode_compatibility with string_utils, remove unused imports.
  • Scripts/webkitpy/test/main_unittest.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/test/printer.py: Ditto.
  • Scripts/webkitpy/test/runner_unittest.py: Ditto.
  • Scripts/webkitpy/test/skip_unittest.py: Ditto.
  • Scripts/webkitpy/tool/bot/irc_command.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py: Ditto.
  • Scripts/webkitpy/tool/commands/queues.py: Remove unused imports.
  • Scripts/webkitpy/tool/commands/queues_unittest.py: Ditto.
  • Scripts/webkitpy/tool/steps/haslanded.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/w3c/test_converter_unittest.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/w3c/test_exporter.py: Replace unicode_compatibility with string_utils, remove unused

imports.

  • Scripts/webkitpy/w3c/wpt_github.py: Replace unicode_compatibility with string_utils.
  • Scripts/webkitpy/w3c/wpt_github_unittest.py: Replace unicode_compatibility with string_utils, remove

unused imports.

  • Scripts/webkitpy/xcode/simulated_device_unittest.py: Replace unicode_compatibility with string_utils.
3:06 PM Changeset in webkit [264948] by Chris Dumez
  • 5 edits in trunk

thisValue is not always set correctly when calling JS callbacks
https://bugs.webkit.org/show_bug.cgi?id=214847

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Import layout test coverage from upstream WPT. We were failing this new subtest
before my fix.

  • web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter-expected.txt:
  • web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html:

Source/WebCore:

thisValue was not always set correctly when calling JS callbacks.

This was causing us to fail the last subtest on:
http://w3c-test.org/dom/traversal/TreeWalker-acceptNode-filter.html

The specification for TreeWalker is here:

Step 6 refers to [call a user object’s operation] in the WebIDL specification:

Step 10.5 says:
"Set thisArg to O (overriding the provided value)."

We were missing this step in our implementation so thisValue ended up being undefined
(as per earlier step 2).

No new tests, resync'd existing test.

  • bindings/js/JSCallbackData.cpp:

(WebCore::JSCallbackData::invokeCallback):

3:02 PM Changeset in webkit [264947] by commit-queue@webkit.org
  • 4 edits in trunk

Text manipulation should not extract non-breaking spaces
https://bugs.webkit.org/show_bug.cgi?id=214839
<rdar://problem/64113531>

Patch by Sihui Liu <sihui_liu@appe.com> on 2020-07-27
Reviewed by Wenson Hsieh.

Source/WebCore:

Spaces are very likely to be dropped during translation. And non-breaking space, if dropped, is likely to affect
layout of web page.

API test: TextManipulation.StartTextManipulationIgnoresSpaces

  • editing/TextManipulationController.cpp:

(WebCore::isNotSpace):
(WebCore::TextManipulationController::parse):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:

(TestWebKitAPI::TEST):

2:59 PM Changeset in webkit [264946] by Jonathan Bedard
  • 2 edits in trunk/Source/WebCore/PAL

[Big Sur] Wrap SPI in feature guards
https://bugs.webkit.org/show_bug.cgi?id=214844
<rdar://problem/66178527>

Reviewed by Darin Adler.

  • pal/spi/mac/NSImageSPI.h:
2:57 PM Changeset in webkit [264945] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit

Occasional crashes under PDFPlugin::createScrollbar and PDFPlugin::updateScrollbars
https://bugs.webkit.org/show_bug.cgi?id=214845
<rdar://problem/59293598>

Reviewed by Brady Eidson.

No new tests; timing is such that I can't reproduce without inserting
intentional delays into the main thread hops, which is further than
I'm willing to go for a test.

This is a speculative fix due to the aforementioned reproducibility issue.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::destroy):
Keep track of when destroy() has been called.

(WebKit::PDFPlugin::receivedNonLinearizedPDFSentinel):
(WebKit::PDFPlugin::threadEntry):
If the PDFPlugin is destroyed (explicit destroy(), not the destructor, which won't run since we're protecting this)
during the window in which the PDF thread is dispatching to the main thread, just ignore
the callback. We don't want to run it, because many of the things we depend on (like PluginView)
are disconnected at this point.

(WebKit::PDFPlugin::scrollbarStyleChanged):
It appears that in some much rarer case, even before the PDF thread existed, WebScrollerImpPairDelegate could
call us back after being destroy()'d but before being deallocated. Use the new bit to guard scrollbarStyleChanged().

2:30 PM Changeset in webkit [264944] by Alan Coon
  • 1 copy in tags/Safari-610.1.23.0.1

Tag Safari-610.1.23.0.1.

1:58 PM Changeset in webkit [264943] by Chris Dumez
  • 6 edits
    2 adds in trunk

ASSERT([filteredCookies.get() count] <= 1) on imported/w3c/web-platform-tests/websockets/cookies/third-party-cookie-accepted.https.html
https://bugs.webkit.org/show_bug.cgi?id=214222
<rdar://problem/65587120>

Reviewed by Alex Christensen.

Source/WebCore:

Per the HTML specification [1], upon setting document.cookie, we should act as we would when receiving a Set-Cookie string [2].
This means that you can only set one cookie at a time (you cannot comma-separate several cookies).

We were behaving correctly on macOS because we were using the [NSHTTPCookie _parsedCookiesWithResponseHeaderFields] SPI that was
made specifically for this purpose. However, we would set multiple cookies (in release), and crash in debug on iOS because iOS
was using a different API to parse the cookies ([NSHTTPCookie cookiesWithResponseHeaderFields:).

Note that [NSHTTPCookie _parsedCookiesWithResponseHeaderFields] was deprecated in CFNetwork, in favor of
[NSHTTPCookie _cookieForSetCookieString:]. As a result, I updated both macOS and iOS to use the same new CFNetwork SPI, which
gives us the standard behavior.

[1] https://html.spec.whatwg.org/#dom-document-cookie
[2] https://tools.ietf.org/html/rfc6265#section-4.1

Test: http/tests/cookies/document-cookie-multiple-cookies.html

  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::parseDOMCookie):
(WebCore::NetworkStorageSession::setCookiesFromDOM const):

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Replace deprecated _parsedCookiesWithResponseHeaderFields with newer _cookieForSetCookieString alternative.

LayoutTests:

  • http/tests/cookies/document-cookie-multiple-cookies-expected.txt: Added.
  • http/tests/cookies/document-cookie-multiple-cookies.html: Added.

Add better layout test coverage.

  • platform/ios-wk2/TestExpectations:

Unskip tests that is no longer crashing on iOS.

1:50 PM WPTExportProcess edited by clopez@igalia.com
(diff)
1:30 PM Changeset in webkit [264942] by ysuzuki@apple.com
  • 2 edits in trunk/Source/WTF

[JSC] Disable BIGINT32 optimization temporarily because of SP2 / JS2 regression
https://bugs.webkit.org/show_bug.cgi?id=214776

Reviewed by Darin Adler.

We disable BIGINT32 optimization because it causes 1% regression in JetStream2 and Speedometer2.
We should enable it after we fix the cause of regression.

  • wtf/PlatformUse.h:
1:25 PM Changeset in webkit [264941] by commit-queue@webkit.org
  • 25 edits
    4 copies in trunk

Added Constructor method to OscillatorNode
https://bugs.webkit.org/show_bug.cgi?id=214746

Patch by Clark Wang <clark_wang@apple.com> on 2020-07-27
Reviewed by Chris Dumez.

Re-baselined existing tests that now pass, or fail further along.

LayoutTests/imported/w3c:

  • web-platform-tests/webaudio/idlharness.https.window-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/processing-model/cycle-without-delay-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/active-processing.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/active-processing.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/ctor-oscillator-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/detune-limiting-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/osc-basic-waveform-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping-expected.txt:

Source/WebCore:

Added ctor to OscillatorNode, added OscillatorOptions, OscillatorType files all according to spec:
https://www.w3.org/TR/webaudio/#OscillatorNode-constructors. Updated createOscillator() method in
BaseAudioContext.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/webaudio/AudioContextOptions.h:
  • Modules/webaudio/BaseAudioContext.cpp:

(WebCore::BaseAudioContext::createOscillator):

  • Modules/webaudio/OscillatorNode.cpp:

(WebCore::OscillatorNode::create):
(WebCore::OscillatorNode::OscillatorNode):
(WebCore::OscillatorNode::setType):
(WebCore::OscillatorNode::setPeriodicWave):

  • Modules/webaudio/OscillatorNode.h:

(WTF::LogArgument<WebCore::OscillatorType>::toString):
(WTF::LogArgument<WebCore::OscillatorNode::Type>::toString): Deleted.

  • Modules/webaudio/OscillatorNode.idl:
  • Modules/webaudio/OscillatorOptions.h: Copied from Source/WebCore/Modules/webaudio/PeriodicWaveConstraints.h.
  • Modules/webaudio/OscillatorOptions.idl: Copied from Source/WebCore/Modules/webaudio/PeriodicWaveConstraints.h.
  • Modules/webaudio/OscillatorType.h: Copied from Source/WebCore/Modules/webaudio/PeriodicWaveConstraints.h.
  • Modules/webaudio/OscillatorType.idl: Copied from Source/WebCore/Modules/webaudio/PeriodicWaveConstraints.h.
  • Modules/webaudio/PannerOptions.h:
  • Modules/webaudio/PeriodicWave.cpp:
  • Modules/webaudio/PeriodicWaveConstraints.h:
  • Modules/webaudio/PeriodicWaveOptions.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
1:11 PM Changeset in webkit [264940] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Unreviewed, reverting r264926.

Test is failing on macOS Debug WK1 bots

Reverted changeset:

"Test landed flaky: [ iOS ] fast/visual-viewport/scroll-event-
fired-during-scroll-alone.html is a flakey failure"
https://bugs.webkit.org/show_bug.cgi?id=214324
https://trac.webkit.org/changeset/264926

1:06 PM Changeset in webkit [264939] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore/PAL

Remove definition of NSImageSymbolScale, which is part of the beta 3 SDK
https://bugs.webkit.org/show_bug.cgi?id=214707

Patch by Saagar Jha <saagar@saagarjha.com> on 2020-07-27
Reviewed by Jonathan Bedard.

  • pal/spi/mac/NSImageSPI.h: Remove NSImageSymbolScale.
1:05 PM Changeset in webkit [264938] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

ews email notification should include bot name and link to results database
https://bugs.webkit.org/show_bug.cgi?id=214841

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(AnalyzeCompileWebKitResults.send_email_for_build_failure):
(ReRunWebKitTests.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_pre_existing_failure):

11:50 AM Changeset in webkit [264937] by mark.lam@apple.com
  • 7 edits
    2 adds in trunk

DisallowVMEntry needs a copy assignment operator, detected by gcc's -Wdeprecated-copy warning
https://bugs.webkit.org/show_bug.cgi?id=214809

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

According to https://en.cppreference.com/w/cpp/language/copy_assignment,
"The generation of the implicitly-defined copy assignment operator is deprecated
(since C++11) if T has a user-declared destructor or user-declared copy constructor."
DisallowVMEntry has both a user-declared destructor and a user-declared copy
constructor. Hence, it needs to define its own copy assignment operator to placate
the compiler.

This patch also adds back WTF_FORBID_HEAP_ALLOCATION to DisallowVMEntry.
DisallowVMEntry should always have forbid heap allocation. It was accidentally
removed in a prior patch.

  • runtime/DisallowVMEntry.h:

(JSC::DisallowVMEntryImpl::operator=):

Source/WebCore:

Added handling of a possible VMInquiry failure in JSDOMWindow::getOwnPropertySlot()
after returning from Base::getOwnPropertySlot(). If a VMInquiry is requested and
Base::getOwnPropertySlot() returns false with slot.isTaintedByOpaqueObject() set,
then it means that Base::getOwnPropertySlot() failed to execute the VMInquiry,
not that it successfully determined that the property doesn't exist.

This issue was noticed while studying how JSDOMWindow::getOwnPropertySlot() uses
copy assignment of JSC::PropertySlots.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

Tools:

Added test case for JSC's DisallowVMEntry and PropertySlot mainly for the copy
assignment operation used in JSDOMWindow::getOwnPropertySlot().

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/JavaScriptCore/DisallowVMEntry.cpp: Added.

(TestWebKitAPI::enterScope):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/JavaScriptCore/PropertySlot.cpp: Added.

(TestWebKitAPI::TEST):

11:41 AM Changeset in webkit [264936] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/canvas/draw-focus-if-needed-with-path.html is passing and expectations need to be removed
https://bugs.webkit.org/show_bug.cgi?id=214838

Unreviewed test gardening.

Patch by Hector Lopez <Hector Lopez> on 2020-07-27

  • platform/ios/TestExpectations:
11:33 AM Changeset in webkit [264935] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/canvas/canvas-ellipse-zero-lineto.html is passing and expectations need to be removed
https://bugs.webkit.org/show_bug.cgi?id=214836

Unreviewed test gardening.

Patch by Hector Lopez <Hector Lopez> on 2020-07-27

  • platform/ios-simulator/TestExpectations:
11:22 AM Changeset in webkit [264934] by Diego Pino Garcia
  • 6 edits
    1 move in trunk/LayoutTests

[WPE] Update test expectations. Update baselines after r263855.

  • platform/glib/tables/mozilla/bugs/bug222336-expected.txt: Renamed from LayoutTests/platform/gtk/tables/mozilla/bugs/bug222336-expected.txt.
  • platform/wpe/fast/css/acid2-expected.txt:
  • platform/wpe/fast/css/acid2-pixel-expected.txt:
  • platform/wpe/http/tests/misc/acid2-expected.txt:
  • platform/wpe/http/tests/misc/acid2-pixel-expected.txt:
  • platform/wpe/http/tests/misc/acid3-expected.txt:
11:10 AM Changeset in webkit [264933] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/canvas/canvas-blending-global-alpha.html is passing and expectations need to be removed
https://bugs.webkit.org/show_bug.cgi?id=214833

Unreviewed test gardening.

Patch by Hector Lopez <Hector Lopez> on 2020-07-27

  • platform/ios-simulator/TestExpectations:
11:07 AM Changeset in webkit [264932] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION: (r264492) Broke 4 WebRTC tests and 1 webrtc tests
https://bugs.webkit.org/show_bug.cgi?id=214730

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
10:58 AM Changeset in webkit [264931] by dino@apple.com
  • 3 edits
    2 adds in trunk

Repeatable WebContent crash: WebCore::jsWebGLRenderingContextPrototypeFunctionGetError
https://bugs.webkit.org/show_bug.cgi?id=214814
rdar://59290537

Reviewed by Anders Carlsson.

Source/WebCore:

If a WebGL context was killed due to too many contexts
in the page, we would get a null pointer crash if
the page called getError() more than once on it.
This is an edge case not covered by the WebGL conformance
suite since the recyling behaviour is specific to our
implementation.

Test: fast/canvas/webgl/recycle-contexts.html

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getError): Add a null check.

LayoutTests:

  • fast/canvas/webgl/recycle-contexts-expected.html: Added.
  • fast/canvas/webgl/recycle-contexts.html: Added.
10:31 AM Changeset in webkit [264930] by youenn@apple.com
  • 5 edits in trunk

scaleResolutionDownBy has no effect on RTCRtpSender
https://bugs.webkit.org/show_bug.cgi?id=214783
<rdar://problem/66108346>

Reviewed by Eric Carlson.

Source/WebCore:

Covered by updated test.

  • Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:

(WebCore::updateRTCRtpSendParameters):
Allow to change scaleResolutionDownBy.

LayoutTests:

  • webrtc/video-expected.txt:
  • webrtc/video.html:
10:26 AM Changeset in webkit [264929] by Caio Lima
  • 2 edits in trunk/Source/JavaScriptCore

DoesGC failures in debug mode in 32bits
https://bugs.webkit.org/show_bug.cgi?id=214449

Reviewed by Mark Lam.

Adding the DoesGC update code into OSRExit::compileExit for 32-bits.

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::compileExit):

10:03 AM Changeset in webkit [264928] by Megan Gardner
  • 4 edits in trunk/Source

Trying to lookup when WebView is in a popover causes process to hang.
https://bugs.webkit.org/show_bug.cgi?id=214773
<rdar://problem/52317762>

Reviewed by Devin Rousso.

Source/WebCore/PAL:

  • pal/spi/mac/NSWindowSPI.h:

Source/WebKit:

The Lookup framework does not populate the menus that it vends with the option to 'lookup'
words that are selected in popovers. WebKit should follow the pattern and not put the
item in the menu as Lookup is not able to handle this situation. Also if Lookup is disabled
via defaults, we should not show it in the menu.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):

9:57 AM Changeset in webkit [264927] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[ iOS ] css3/font-variant-small-caps-synthesis-coverage.html is passing and needs expectations removed
https://bugs.webkit.org/show_bug.cgi?id=214831

Unreviewed test gardening.

Patch by Hector Lopez <Hector Lopez> on 2020-07-27

  • platform/ios-simulator/TestExpectations:
  • platform/ios-wk1/TestExpectations:
9:35 AM Changeset in webkit [264926] by graouts@webkit.org
  • 3 edits in trunk/LayoutTests

Test landed flaky: [ iOS ] fast/visual-viewport/scroll-event-fired-during-scroll-alone.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=214324
<rdar://problem/65566127>

Reviewed by Simon Fraser.

Use UIHelper.ensureStablePresentationUpdate() to determine that scroll has completed after the call to window.scrollTo().

  • fast/visual-viewport/scroll-event-fired-during-scroll-alone.html:
  • platform/ios-simulator-wk2/TestExpectations:
9:00 AM Changeset in webkit [264925] by Kate Cheney
  • 9 edits
    8 deletes in trunk/Source/WebKit

Remove API::Object::Type::RenderLayer and API::Object::Type::RenderObject
https://bugs.webkit.org/show_bug.cgi?id=214772
<rdar://problem/52734803>

Reviewed by Simon Fraser.

These APIs are no longer used, so we should remove them.

  • Shared/API/APIObject.h:
  • Shared/API/c/WKBase.h:
  • Shared/API/c/WKRenderLayer.cpp: Removed.
  • Shared/API/c/WKRenderLayer.h: Removed.
  • Shared/API/c/WKRenderObject.cpp: Removed.
  • Shared/API/c/WKRenderObject.h: Removed.
  • Shared/UserData.cpp:

(WebKit::UserData::encode):
(WebKit::UserData::decode):

  • Shared/WebRenderLayer.cpp: Removed.
  • Shared/WebRenderLayer.h: Removed.
  • Shared/WebRenderObject.cpp: Removed.
  • Shared/WebRenderObject.h: Removed.
  • Sources.txt:
  • UIProcess/API/C/WKAPICast.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageCopyRenderTree): Deleted.
(WKBundlePageCopyRenderLayerTree): Deleted.

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
8:58 AM Changeset in webkit [264924] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[ iOS ] compositing/contents-scale/non-decomposable-matrix.html is passing and needs expectations removed
https://bugs.webkit.org/show_bug.cgi?id=214829

Unreviewed test gardening.

Patch by Hector Lopez <Hector Lopez> on 2020-07-27

  • platform/ios-device/TestExpectations:
  • platform/ios/TestExpectations:
8:44 AM Changeset in webkit [264923] by berto@igalia.com
  • 2 edits in trunk

[GTK] Default to OpenGL ES in arm
https://bugs.webkit.org/show_bug.cgi?id=214828

Reviewed by Carlos Garcia Campos.

  • Source/cmake/OptionsGTK.cmake:
8:09 AM Changeset in webkit [264922] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Check m_connection in NetworkRTCProvider::createResolver/stopResolver
https://bugs.webkit.org/show_bug.cgi?id=214818

Reviewed by Eric Carlson.

We need to check for m_connection when hopping to main thread as the NetworkRTCProvider might already be closed.

  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::createResolver):
(WebKit::NetworkRTCProvider::stopResolver):

8:09 AM Changeset in webkit [264921] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GTK build with GLib < 2.62

Do not use g_date_time_format_iso8601(), use g_date_time_format() instead with a format string.

  • MiniBrowser/gtk/main.c:

(gotITPSummaryCallback):

8:05 AM Changeset in webkit [264920] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebKit

[GTK] GeoclueGeolocationProvider uses very low accuracy setting (city) as default geolocation API
https://bugs.webkit.org/show_bug.cgi?id=214566

Reviewed by Carlos Garcia Campos.

No new tests needed.

  • UIProcess/geoclue/GeoclueGeolocationProvider.cpp:

(WebKit::GeoclueGeolocationProvider::requestAccuracyLevel): Use
GeoclueAccuracySteetLevel when high accuracy was not requested.

6:16 AM Changeset in webkit [264919] by Karl Rackler
  • 3 edits in trunk/LayoutTests

[ iOS Mac debug wk2 ] js/throw-large-string-oom.html is a constant timeout
https://bugs.webkit.org/show_bug.cgi?id=214824

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
5:07 AM Changeset in webkit [264918] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ iOS debug wk2 ] imported/w3c/web-platform-tests/webrtc/RTCSctpTransport-events.html is a consistant crash.
https://bugs.webkit.org/show_bug.cgi?id=214661

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
3:48 AM Changeset in webkit [264917] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r263455 - Style resolution sometimes fails to create all style resolvers for shadow trees.
https://bugs.webkit.org/show_bug.cgi?id=212946
<rdar://problem/60916215>>

Reviewed by Anders Carlsson.

This can cause problems later.

  • style/StyleTreeResolver.cpp:

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

Ensure all style resolvers are constructed before traversing.

3:48 AM Changeset in webkit [264916] by Carlos Garcia Campos
  • 9 edits in releases/WebKitGTK/webkit-2.28

Merge r263141 - Make ReadableStream robust against user code
https://bugs.webkit.org/show_bug.cgi?id=212915
<rdar://problem/64133221>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

We now get pull/cancel only once from the source.

  • web-platform-tests/streams/readable-streams/bad-underlying-sources-expected.txt:
  • web-platform-tests/streams/readable-streams/bad-underlying-sources.dedicatedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/bad-underlying-sources.serviceworker.https-expected.txt:

Source/WebCore:

Create tee source with private slots instead of public ones.
When source has one of this private slot, we directly go to the creation of a ReadableStream.
Covered by existing tests.

  • Modules/streams/ReadableStream.js:

(initializeReadableStream):

  • Modules/streams/ReadableStreamInternals.js:

(setupReadableStreamDefaultController):
(readableStreamTee):
(readableStreamDefaultControllerCallPullIfNeeded):
(readableStreamDefaultControllerCancel):

  • Modules/streams/StreamInternals.js:

(promiseInvokeOrNoopMethodNoCatch):
(promiseInvokeOrNoopNoCatch):
(promiseInvokeOrNoopMethod):
(promiseInvokeOrNoop):

  • bindings/js/WebCoreBuiltinNames.h:
3:48 AM Changeset in webkit [264915] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r262739 - Use usual promise in readableStreamTee
https://bugs.webkit.org/show_bug.cgi?id=212715

Reviewed by Mark Lam.

The spec[1] is organized to be OK to use usual promises here. This patch uses usual promises instead of internal ones.

[1]: https://streams.spec.whatwg.org/#readable-stream-tee

  • Modules/streams/ReadableStreamInternals.js:

(readableStreamTee):

3:48 AM Changeset in webkit [264914] by Carlos Garcia Campos
  • 6 edits
    1 copy
    1 add in releases/WebKitGTK/webkit-2.28

Merge r262870 - Improve CSP compliance under PSON
https://bugs.webkit.org/show_bug.cgi?id=212995
<rdar://problem/62996186>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Rebaseline an existing test, since CSP is now checked before any navigations performed by a form action.

  • web-platform-tests/content-security-policy/form-action/form-action-src-blocked.sub-expected.txt:

Source/WebCore:

Tests: http/tests/security/contentSecurityPolicy/1.1/form-action-src-self-blocked.html

The form submission logic was only considering CSP if the form
action was a JavaScript URL. This is incorrect, as CSP might
apply to any URL.

This is also covered by the existing form-action CSP tests.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::submitForm): All URLs should be evaluted for
compliance with CSP.

LayoutTests:

Add a new test to confirm that CSP rules are honored for form-action operations during process swap.
This also rebaselines an existing test, since CSP is now checked before any navigations performed by
a form action.

  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked-expected.txt: Rebaselined.
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-self-blocked-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked-expected.txt.
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-self-blocked.html: Added.
3:48 AM Changeset in webkit [264913] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r262594 - HTMLAppletElement::updateWidget should check for renderer after the overlapping test.
https://bugs.webkit.org/show_bug.cgi?id=212789
<rdar://problem/61854614>

Reviewed by Simon Fraser.

createJavaAppletWidget needs to check if the plugin(replacement) is obscured.
Since the overlapping test requires up-to-date geometry, it initiates a top level style recalc/layout.
We need to check if the apple element still has a renderer after the style recalc.

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::updateWidget):

3:48 AM Changeset in webkit [264912] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.28

Merge r261217 - Fix animation ordering to make imported/w3c/web-platform-tests/css/css-animations/Element-getAnimations.tentative.html pass
https://bugs.webkit.org/show_bug.cgi?id=211468
<rdar://problem/62732578>

Reviewed by David Kilzer.

LayoutTests/imported/w3c:

Mark the final two failures in imported/w3c/web-platform-tests/css/css-animations/Element-getAnimations.tentative.html as PASS.

  • web-platform-tests/css/css-animations/Element-getAnimations.tentative-expected.txt:

Source/WebCore:

The "Animation composite order" section of the CSS Animations Level 2 specification (https://drafts.csswg.org/css-animations-2/#animation-composite-order)
defines the relative composite order of animations. We bake this into compareAnimationsByCompositeOrder(), but this function would not yield consistent
results if it is called in a non-stable sort, because if both CSSAnimation objects passed to this function have the same backing Animation object, they
would not return the same value if passed in a different order. The Web Animations spec always ensures that procedures that sort using the composite
order are called as part of a stable sort. So we change all call sites to use std::stable_sort and add an assertion in case we have two CSSAnimation
objects with the same backing Animation objects to catch cases like this in the future.

Finally, since we already know only relevant animations can find their way into the output of Document::getAnimations(), we also ensure we iterate over
m_animations (which holds only relevant animations) rather than m_allAnimations (which may not).

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::getAnimations const):

  • animation/KeyframeEffectStack.cpp:

(WebCore::KeyframeEffectStack::ensureEffectsAreSorted):

  • animation/WebAnimationUtilities.cpp:

(WebCore::compareAnimationsByCompositeOrder):

3:47 AM Changeset in webkit [264911] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.28

Merge r259141 - Web Inspector: should also escape the method when Copy as cURL
https://bugs.webkit.org/show_bug.cgi?id=209665
<rdar://problem/58432154>

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

  • UserInterface/Models/Resource.js:

(WI.Resource.prototype.generateCURLCommand):
(WI.Resource.prototype.generateCURLCommand.escapeStringPosix):
The method could be maliciously crafted, so we should also escape it (if needed).

LayoutTests:

  • http/tests/inspector/network/copy-as-curl.html:
1:35 AM Changeset in webkit [264910] by Carlos Garcia Campos
  • 13 edits in trunk

[WPE][GTK] Add API to support "Privacy Report"
https://bugs.webkit.org/show_bug.cgi?id=213493

Reviewed by Adrian Perez de Castro.

Source/WebKit:

Add WebKitITPFirstParty and WebKitITPThirdParty boxed types to expose the data returned by the ITP summary.

  • UIProcess/API/glib/WebKitWebsiteDataManager.cpp:

(_WebKitITPFirstParty::_WebKitITPFirstParty):
(webkitITPFirstPartyCreate):
(webkit_itp_first_party_ref):
(webkit_itp_first_party_unref):
(webkit_itp_first_party_get_domain):
(webkit_itp_first_party_get_website_data_access_allowed):
(webkit_itp_first_party_get_last_update_time):
(_WebKitITPThirdParty::_WebKitITPThirdParty):
(_WebKitITPThirdParty::~_WebKitITPThirdParty):
(webkitITPThirdPartyCreate):
(webkit_itp_third_party_ref):
(webkit_itp_third_party_unref):
(webkit_itp_third_party_get_domain):
(webkit_itp_third_party_get_first_parties):
(webkit_website_data_manager_get_itp_summary):
(webkit_website_data_manager_get_itp_summary_finish):

  • UIProcess/API/gtk/WebKitAutocleanups.h:
  • UIProcess/API/gtk/WebKitWebsiteDataManager.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
  • UIProcess/API/wpe/WebKitAutocleanups.h:
  • UIProcess/API/wpe/WebKitWebsiteDataManager.h:
  • UIProcess/API/wpe/docs/wpe-1.0-sections.txt:

Source/WTF:

Add support for using GRefPtr with GDateTime.

  • wtf/glib/GRefPtr.cpp:

(WTF::refGPtr):
(WTF::derefGPtr):

  • wtf/glib/GRefPtr.h:

Tools:

Add about:itp to show the ITP summary.

  • MiniBrowser/gtk/main.c:

(aboutITPRequestNew):
(aboutITPRequestFree):
(gotITPSummaryCallback):
(aboutITPHandleRequest):
(aboutURISchemeRequestCallback):

12:49 AM Changeset in webkit [264909] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Fix null pointer crash in NetworkRTCProvider::createServerTCPSocket
https://bugs.webkit.org/show_bug.cgi?id=214796

Reviewed by Darin Adler.

In case of creating a TCP socket, NetworkRTCProvider will hop to the main thread before creating the socket.
In that case, NetworkRTCProvider may actually be closed between the time of receiving the message and hoping to the main thread.
Protect from this by adding nullptr checks.

  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::createServerTCPSocket):
(WebKit::NetworkRTCProvider::createClientTCPSocket):

Jul 26, 2020:

7:03 PM Changeset in webkit [264908] by Simon Fraser
  • 14 edits
    3 copies
    11 adds in trunk

Scroll Snap broken when using RTL layout
https://bugs.webkit.org/show_bug.cgi?id=193671
<rdar://problem/47457471>

Reviewed by Wenson Hsieh.

Source/WebCore:

There were various places in the scroll snapping code which confused scroll offsets (zero-based)
with scroll positions (relative to scroll origin, can be negative). This broke snapping in
direction: rtl content.

The computation of snap locations in updateSnapOffsetsForScrollableArea() was also broken
in RTL; we need to snap the right edge of boxes to the right edge of the scroller for the 'start'
alignment. (Snapping for LTR boxes in an RTL scroller is poorly defined; for now, follow Gecko.)

Tests: css3/scroll-snap/scroll-snap-2d-change-axis-type-rtl.html

css3/scroll-snap/scroll-snap-2d-offsets-computed-independently.rtl.html
css3/scroll-snap/scroll-snap-elements-container-larger-than-children-rtl.html
css3/scroll-snap/scroll-snap-iframe-rtl.html
css3/scroll-snap/scroll-snap-offsets-mixed-rtl.html
css3/scroll-snap/scroll-snap-offsets-rtl.html

  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::computeScrollSnapAlignOffset):
(WebCore::updateSnapOffsetsForScrollableArea):

  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::scrollOffset const):

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::updateActiveScrollSnapIndexForOffset):
(WebCore::ScrollAnimator::scrollOffset const):

  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::updateScrollSnapPoints):

Source/WebKit:

There were various places in the scroll snapping code which confused scroll offsets (zero-based)
with scroll positions (relative to scroll origin, can be negative). This broke snapping in
direction: rtl content.

The computation of snap locations in updateSnapOffsetsForScrollableArea() was also broken
in RTL; we need to snap the right edge of boxes to the right edge of the scroller for the 'start'
alignment. (Snapping for LTR boxes in an RTL scroller is poorly defined; for now, follow Gecko.)

  • Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:

(WebKit::dump):

  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _updateVisibleContentRects]):

  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
  • UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::shouldSnapForMainFrameScrolling const):
(WebKit::RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling const):
(WebKit::RemoteScrollingCoordinatorProxy::hasActiveSnapPoint const):
(WebKit::RemoteScrollingCoordinatorProxy::nearestActiveContentInsetAdjustedSnapOffset const):
(WebKit::RemoteScrollingCoordinatorProxy::nearestActiveContentInsetAdjustedSnapPoint const): Deleted.

LayoutTests:

  • css3/scroll-snap/resources/iframe-content-rtl.html: Added.
  • css3/scroll-snap/scroll-snap-2d-change-axis-type-rtl-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-2d-change-axis-type-rtl.html: Copied from LayoutTests/css3/scroll-snap/scroll-snap-2d-change-axis-type.html.
  • css3/scroll-snap/scroll-snap-2d-change-axis-type.html:
  • css3/scroll-snap/scroll-snap-2d-offsets-computed-independently.html:
  • css3/scroll-snap/scroll-snap-2d-offsets-computed-independently.rtl-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-2d-offsets-computed-independently.rtl.html: Copied from LayoutTests/css3/scroll-snap/scroll-snap-2d-offsets-computed-independently.html.
  • css3/scroll-snap/scroll-snap-elements-container-larger-than-children-rtl-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-elements-container-larger-than-children-rtl.html: Copied from LayoutTests/css3/scroll-snap/scroll-snap-elements-container-larger-than-children.html.
  • css3/scroll-snap/scroll-snap-elements-container-larger-than-children.html:
  • css3/scroll-snap/scroll-snap-iframe-rtl-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-iframe-rtl.html: Added.
  • css3/scroll-snap/scroll-snap-offsets-mixed-rtl-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-offsets-mixed-rtl.html: Added.
  • css3/scroll-snap/scroll-snap-offsets-rtl-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-offsets-rtl.html: Added.
  • fast/scrolling/home-end-keys-scroll-in-rtl-document-expected.txt: Added.
12:25 PM Changeset in webkit [264907] by Wenson Hsieh
  • 20 edits in trunk

REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214688
<rdar://problem/65993683>

Reviewed by Darin Adler.

Source/WebCore/PAL:

Remove logging added in r264882, r264890, r264892, and r264896.

  • pal/spi/ios/GraphicsServicesSPI.h:

Source/WebKit:

Remove logging added in r264882, r264890, r264892, and r264896.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _singleTapIdentified:]):
(-[WKContentView _singleTapRecognized:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::commitPotentialTap):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):

Tools:

Attempt another speculative fix for this flaky test, motivated by logging introduced in r264896. This recently
introduced telemetry would suggest that this test fails when the act of handling a synthetic modifier keydown
fails to update GSKeyboardRef's live modifier flags if the keyboard layout changes mid-event, forcing the
existing GSKeyboardRef to be destroyed and rebuilt.

In this case, the keyboard layout changes from "Hebrew" to "US" when this test fails. There is only one (sane)
explanation for this, which is that one of the editing/input/ios/rtl-keyboard-input-*.html tests switch to an
RTL keyboard ("he_IL" in both cases) by swizzling out -currentInputMode and -currentInputModeInPreference on
UIKeyboardInputModeController. While the swizzling is torn down in between test runs via logic in
TestController::platformResetStateToConsistentValues, it's possible that this change hasn't propagated to
the UIKit or GraphicsServices layers -- in other words, UIApplication's GSKeyboardRef remains stuck in the
Hebrew layout until the next time -GSKeyboardForHWLayout:forceRebuild:createIfNeeded: forces the keyboard to
be rebuilt, which (in this case) seems to happen while running shift-click-includes-existing-selection.html.

For reasons that are still unclear, this lazy regeneration of the GSKeyboardRef causes GraphicsServices' live
modifier state to not update when handling a shift key down HID event. However, we might be able to fix this by
forcing UIKit to sync the default (unswizzled) keyboard layout back to its GSKeyboardRef immediately when we
stop swizzling UIKeyboardInputModeController after running a test that attempts to simulate changing keyboard
input modes.

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformResetStateToConsistentValues):

Call -prepareKeyboardInputModeFromPreferences: to force the UIApp to update its hardware keyboard state (i.e.
GSKeyboardRef).

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):

Also, restore this method to how it was prior to r264890, as it doesn't seem like waiting for the HID marker
event after synthesizing a keydown had any effect.

  • WebKitTestRunner/ios/mainIOS.mm:

(-[WebKitTestRunnerApp handleKeyHIDEvent:]): Deleted.

WebKitLibraries:

Remove logging added in r264882, r264890, r264892, and r264896.

  • WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd:

LayoutTests:

Remove the failing test expectation.

  • platform/ios-simulator-wk2/TestExpectations:
12:22 PM Changeset in webkit [264906] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

-Wunused-parameter in FilterEffectRenderer.cpp
https://bugs.webkit.org/show_bug.cgi?id=214808

Unreviewed.

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-07-26

  • platform/graphics/filters/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::tryCreate):

12:12 PM Changeset in webkit [264905] by Darin Adler
  • 23 edits
    1 add
    2 deletes in trunk

Stop using live ranges in SpellChecker.h and TextCheckingHelper.h
https://bugs.webkit.org/show_bug.cgi?id=214648

Reviewed by Sam Weinig.

Source/WebCore:

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

Removed unneeded include of TextCheckingHelper.h.

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::removeMarkers): Updated for change
to the argument type name.
(WebCore::DocumentMarkerController::filterMarkers): Ditto.
(WebCore::addMarker): Added. Convenience so call doesn't have to get
the document to call this.
(WebCore::removeMarkers): Ditto.

  • dom/DocumentMarkerController.h: Moved RemovePartiallyOverlappingMarker

out of the DocumentMarkerController class, tweaked its name and changed
it into an enum class. Added conveniences functions for add/removeMarker.

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
Use convenience versions of removeMarkers and addMarker.
(WebCore::AlternativeTextController::handleAlternativeTextUIResult): Ditto.
(WebCore::AlternativeTextController::respondToUnappliedEditing): Ditto.
(WebCore::AlternativeTextController::markReversed): Ditto.
(WebCore::AlternativeTextController::markCorrection): Ditto.
(WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection): Ditto.
(WebCore::AlternativeTextController::markPrecedingWhitespaceForDeletedAutocorrectionAfterCommand): Ditto.
(WebCore::AlternativeTextController::applyAlternativeTextToRange): Ditto.

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers): Ditto.

  • editing/Editor.cpp:

(WebCore::Editor::ignoreSpelling): Ditto.
(WebCore::Editor::learnSpelling): Ditto.
(WebCore::Editor::advanceToNextMisspelling): Rewrote to not use a live
range and for the changes to the TextCheckingHelper.
(WebCore::Editor::isSelectionUngrammatical): Deleted.
(WebCore::Editor::guessesForMisspelledOrUngrammatical): Changed to use a
return value instead of out arguments.
(WebCore::Editor::clearMisspellingsAndBadGrammar): Use convenience
versions of removeMarkers.
(WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto.
(WebCore::Editor::markMisspellingsOrBadGrammar): Updated for change to
TextCheckingHelper.
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Do not use
live ranges.
(WebCore::correctSpellcheckingPreservingTextCheckingParagraph): Take a
range that isn't a live range.
(WebCore::Editor::markAndReplaceFor): Tweak for changes to text checking
and to use convenience version of addMarker.
(WebCore::Editor::changeBackToReplacedString): Use convenience versions of
removeMarkers and addMarker.
(WebCore::Editor::updateMarkersForWordsAffectedByEditing): Ditto.
(WebCore::Editor::countMatchesForText): Ditto.
(WebCore::Editor::scanSelectionForTelephoneNumbers): Ditto.
(WebCore::Editor::editorUIUpdateTimerFired): Ditto.
(WebCore::Editor::handleAcceptedCandidate): Ditto.

  • editing/Editor.h: Update for the above.
  • editing/SpellChecker.cpp:

(WebCore::SpellCheckRequest::SpellCheckRequest): No longer take live ranges.
(WebCore::SpellCheckRequest::create): Ditto.
(WebCore::SpellChecker::canCheckAsynchronously const): Ditto.
(WebCore::SpellChecker::isCheckable const): Ditto.
(WebCore::SpellChecker::didCheckSucceed): Use convenience versions of
removeMarkers.

  • editing/SpellChecker.h: Remove the use of live ranges. Removed many

unneeded includes and forward declarations.

  • editing/TextCheckingHelper.cpp:

(WebCore::expandToParagraphBoundary): Take and return non-live ranges.
(WebCore::TextCheckingParagraph::TextCheckingParagraph): Ditto.
(WebCore::TextCheckingParagraph::expandRangeToNextEnd): Updated to use
non-live ranges.
(WebCore::TextCheckingParagraph::invalidateParagraphRangeValues): Ditto.
(WebCore::TextCheckingParagraph::paragraphRange const): Ditto.
(WebCore::TextCheckingParagraph::subrange const): Ditto.
(WebCore::TextCheckingParagraph::offsetTo const): Ditto.
(WebCore::TextCheckingParagraph::offsetAsRange const): Ditto.
(WebCore::TextCheckingParagraph::automaticReplacementStart const): Ditto.
(WebCore::TextCheckingParagraph::automaticReplacementLength const): Ditto.
(WebCore::TextCheckingHelper::~TextCheckingHelper): Deleted.
(WebCore::TextCheckingHelper::findMispelledWords const): Renamed from
findFirstMispelling, and made this private function since it has confusing
argument and return types. Reimplemented to use non-live ranges and to use
return values and the addMarker convenience function. Also changed this to
not mark when called just to find the first mispelled word. The old version
always marked, which didn't make logical sense, but was harmless because
the caller always marked the same way. Now this does what it says.
(WebCore::TextCheckingHelper::findFirstMisspelledWord const): Added.
Replaces findFirstMispelling as a public function, and returns a structure
instead of using out arguments.
(WebCore::TextCheckingHelper::findFirstMisspelledWordOrUngrammaticalPhrase const):
Renamed from findFirstMisspellingOrBadGrammar and changed to return a structure
instead of using out arguments.
(WebCore::TextCheckingHelper::findUngrammaticalPhrases const): Renamed from
findFirstGrammarDetail and findFirstBadGrammar. Both functions are now private
and use the new Operation enum class to distinguish the "find first" from
"mark all" usage. Also use the convience version of addMarker and return results
in a structure instead of using out arguments.
(WebCore::TextCheckingHelper::findFirstUngrammaticalPhrase const): Added.
Replaces findFirstBadGrammar as a public function, returns a structure
instead of using out arguments.
(WebCore::TextCheckingHelper::guessesForMisspelledWordOrUngrammaticalPhrase const):
Renamed from guessesForMisspelledOrUngrammaticalRange and changed to return
a structure instead of out arguments.
(WebCore::TextCheckingHelper::markAllMisspelledWords const): Renamed from
markAllMisspellings and changed to use a return value instead of an out argument.
(WebCore::TextCheckingHelper::markAllUngrammaticalPhrases const): Renamed
from markAllBadGrammar.

  • editing/TextCheckingHelper.h: Removed unneed include of "EditorClient.h".

Use non-live ranges. Updated for the other changes above.

  • editing/ios/DictationCommandIOS.cpp:

(WebCore::DictationCommandIOS::doApply): Use the convenience version of addMarker.

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::setDictationPhrasesAsChildOfElement): Ditto.

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::populate): Updated for the change to
Editor::guessesForMisspelledOrUngrammatical.

  • platform/text/TextChecking.h: Added a TextCheckingGuesses structure here

used both by Editor and TextCheckingHelper.

Source/WebKit:

  • WebProcess/WebCoreSupport/WebEditorClient.cpp: Added an include

of Range.h, no longer pulled in indirectly by another header.

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::requestCheckingOfString): Pass the specific types of
results we expect, rather than NSTextCheckingAllSystemTypes.

LayoutTests:

  • editing/spelling/design-mode-spellcheck-off-expected.txt: Updated to use the misspelling

"tyop" instead of "asdf", otherwise spell checking thinks the text is in Romanian,
rather than misspelled US English.

  • editing/spelling/design-mode-spellcheck-off.html: Ditto.
  • platform/mac/editing/pasteboard/drop-text-without-selection-expected.html: Added.

Changed this test into a reference test.

  • platform/mac/editing/pasteboard/drop-text-without-selection-expected.png: Removed.
  • platform/mac/editing/pasteboard/drop-text-without-selection-expected.txt: Removed.
12:10 PM Changeset in webkit [264904] by commit-queue@webkit.org
  • 7 edits in trunk/Source/ThirdParty/libwebrtc

libwebrtc uint64_t build fixes
https://bugs.webkit.org/show_bug.cgi?id=214806

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-07-26
Reviewed by Darin Adler.

WebKitGTK currently fails to build with -DENABLE_EXPERIMENTAL_FEATURES=ON because a bunch of
libwebrtc headers use integer typedefs without declaring them:

  • Source/webrtc/call/rtx_receive_stream.h:
  • Source/webrtc/common_video/h264/pps_parser.h:
  • Source/webrtc/common_video/h264/sps_parser.h:
  • Source/webrtc/modules/audio_processing/aec3/clockdrift_detector.h:
  • Source/webrtc/modules/include/module_common_types_public.h:
  • Source/webrtc/modules/video_coding/decoding_state.h:
12:08 PM Changeset in webkit [264903] by Diego Pino Garcia
  • 2 edits in trunk/Tools

[WPE] Unreviewed test gardening. Update API test expectations.

  • TestWebKitAPI/glib/TestExpectations.json:
11:24 AM Changeset in webkit [264902] by Diego Pino Garcia
  • 12 edits
    1 copy
    1 move
    2 adds
    1 delete in trunk/LayoutTests

[WPE] Unreviewed test gardening. Update test expectations and baselines after r264899.

  • platform/glib/TestExpectations:
  • platform/glib/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt: Renamed from LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt.
  • platform/glib/mathml/opentype/opentype-stretchy-expected.txt: Renamed from LayoutTests/platform/gtk/mathml/opentype/opentype-stretchy-expected.txt.
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
  • platform/wpe/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/wpe/fast/table/cell-absolute-child-expected.txt:
  • platform/wpe/fast/table/empty-cells-expected.txt:
  • platform/wpe/fast/table/prepend-in-anonymous-table-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug10633-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1302-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug16012-expected.txt:
10:38 AM Changeset in webkit [264901] by youenn@apple.com
  • 6 edits in trunk

Update capture MediaStreamTrack frameRate and aspectRatio capabilities
https://bugs.webkit.org/show_bug.cgi?id=214741

Reviewed by Eric Carlson.

Source/WebCore:

We support frame decimation to decrease the frame rate.
This allows to get a frame rate down to 1.
We support resizing up to max width/height resolution.
This allows very wide aspect ratios.
Covered by updated tests.

  • platform/mediastream/RealtimeVideoCaptureSource.cpp:

(WebCore::RealtimeVideoCaptureSource::updateCapabilities):

LayoutTests:

  • fast/mediastream/MediaStreamTrack-getCapabilities-expected.txt:
  • fast/mediastream/apply-constraints-video-expected.txt:
  • fast/mediastream/apply-constraints-video.html:
10:20 AM Changeset in webkit [264900] by Diego Pino Garcia
  • 2 edits in trunk/Tools

[GTK] Unreviewed test gardening. Update API tests expectations.

  • TestWebKitAPI/glib/TestExpectations.json:
8:35 AM Changeset in webkit [264899] by Wenson Hsieh
  • 4 edits in trunk

Unreviewed, partially revert r264896.
https://bugs.webkit.org/show_bug.cgi?id=214688

This logging is no longer needed.

Source/WebKit:

  • Platform/spi/ios/UIKitSPI.h:

Tools:

  • WebKitTestRunner/ios/mainIOS.mm:

(-[WebKitTestRunnerApp GSKeyboardForHWLayout:forceRebuild:createIfNeeded:]): Deleted.

7:08 AM Changeset in webkit [264898] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Garden flaky failures after r264897.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
5:03 AM Changeset in webkit [264897] by Diego Pino Garcia
  • 1 edit
    2 adds in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Added baseline for WebGL test after r264845.

  • platform/glib/webgl/1.0.3/conformance/renderbuffers/framebuffer-object-attachment-expected.txt: Added.
1:17 AM Changeset in webkit [264896] by Wenson Hsieh
  • 13 edits in trunk

Unreviewed, add even more logging to try and diagnose a flaky test
https://bugs.webkit.org/show_bug.cgi?id=214688
<rdar://problem/65993683>

Source/WebCore/PAL:

Add more GraphicsServices SPI declarations.

  • pal/spi/ios/GraphicsServicesSPI.h:

Source/WebKit:

Add another IPI declaration on UIApplication.

  • Platform/spi/ios/UIKitSPI.h:

Tools:

Evidence so far suggests that this test fails when the process of dispatching a keydown event for a modifier
(in this case, the shift key) causes the UIApplication's hardware keyboard (GSKeyboardRef) to be regenerated.
This may happen in one of two ways: either a rebuild is forced by logic in -[UIApplication handleKeyHIDEvent:],
or forceRebuild is NO, but the keyboard is rebuilt anyways due to a mismatched layout and/or keyboard type.

  • WebKitTestRunner/ios/mainIOS.mm:

(-[WebKitTestRunnerApp GSKeyboardForHWLayout:forceRebuild:createIfNeeded:]):
(-[WebKitTestRunnerApp handleKeyHIDEvent:]):

WebKitLibraries:

Add symbol stubs for non-internal builds.

  • WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd:

Jul 25, 2020:

10:11 PM Changeset in webkit [264895] by mark.lam@apple.com
  • 8 edits in trunk/Source

pluginElementCustomGetOwnPropertySlot() should support VMInquiry requests.
https://bugs.webkit.org/show_bug.cgi?id=214555
<rdar://problem/65855400>

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  1. Add handling for VMInquiry failure in JSObject::getPropertySlot() and JSObject::getNonIndexPropertySlot(). Basically, if the query isTaintedByOpaqueObject, then we should treat the false result as a failed VMInquiry.
  1. Fix JSModuleNamespaceObject::getOwnPropertySlotCommon() and ProxyObject::getOwnPropertySlotCommon() to initialize the PropertySlot to a jsUndefined() value if we have a failed VMInquiry. The client shouldn't be reading the value if the VMInquiry failed, but as a defensive action, we'll initialize the slot to effectively return an undefined value.
  • runtime/JSModuleNamespaceObject.cpp:

(JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon):

  • runtime/JSObjectInlines.h:

(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getNonIndexPropertySlot):

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::getOwnPropertySlotCommon):

Source/WebCore:

  1. Add handling for VMInquiry failure in CodeGeneratorJS.
  1. Fix pluginElementCustomGetOwnPropertySlot() to setIsTaintedByOpaqueObject().
  1. Fix pluginElementCustomGetOwnPropertySlot() handle a VMInquiry failure case and if so, to initialize the PropertySlot to a jsUndefined() value. The client shouldn't be reading the value if the VMInquiry failed, but as a defensive action, we'll initialize the slot to effectively return an undefined value.
  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginElementCustomGetOwnPropertySlot):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlot):
(GenerateGetOwnPropertySlotByIndex):

  • bindings/scripts/test/JS/JSTestPluginInterface.cpp:

(WebCore::JSTestPluginInterface::getOwnPropertySlot):
(WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex):

10:03 PM Changeset in webkit [264894] by ysuzuki@apple.com
  • 23 edits
    2 adds in trunk/JSTests

Update test262
https://bugs.webkit.org/show_bug.cgi?id=214791

Reviewed by Ross Kirsling.

  • test262/config.yaml:
  • test262/expectations.yaml:
  • test262/harness/async-gc.js:
  • test262/latest-changes-summary.txt:
  • test262/test/annexB/language/expressions/typeof/emulates-undefined.js: Added.
  • test262/test/built-ins/FinalizationRegistry/gc-has-one-chance-to-call-cleanupCallback.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/callback-not-callable-throws.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-reference.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-unregister.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/custom-this.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/holdings-multiple-values.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/length.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/name.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/prop-desc.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/reentrancy.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined-with-gc.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/this-does-not-have-internal-cells-throws.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/this-not-object-throws.js:
  • test262/test/built-ins/FinalizationRegistry/prototype/unregister/unregister-cleaned-up-cell.js:
  • test262/test/built-ins/WeakRef/prototype/deref/gc-cleanup-not-prevented-with-wr-deref.js:
  • test262/test/intl402/DisplayNames/length.js:
  • test262/test262-Revision.txt:
9:00 PM Changeset in webkit [264893] by Wenson Hsieh
  • 4 edits
    1 add in trunk

[iOS] Crash under ValidationBubble::setAnchorRect when showing form validation UI in unparented view
https://bugs.webkit.org/show_bug.cgi?id=214789
<rdar://problem/66104012>

Reviewed by Tim Horton.

Source/WebCore:

On iOS, in the case where WKWebView is unparented (or is otherwise missing a root view controller, or the
private WKUIDelegate method -_presentingViewControllerForWebView: returns nil), we end up crashing under
ValidationBubble::setAnchorRect while attempting to add presentingViewController.view (which is nil) to an
array of passthrough views.

Since fallbackViewController is not guaranteed to successfully find a view controller anyways, make this
scenario fail gracefully with a null check, instead of crashing the app.

Test: FormValidation.PresentingFormValidationUIWithoutViewControllerDoesNotCrash

  • platform/ios/ValidationBubbleIOS.mm:

(WebCore::ValidationBubble::setAnchorRect):

Tools:

Add an API test that reproduces the crash.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/FormValidation.mm: Added.
5:39 PM Changeset in webkit [264892] by Wenson Hsieh
  • 13 edits in trunk

REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214688
<rdar://problem/65993683>

Reviewed by Tim Horton.

Source/WebCore/PAL:

  • pal/spi/ios/GraphicsServicesSPI.h:

Source/WebKit:

Add an SPI declaration on UIApplication.

  • Platform/spi/ios/UIKitSPI.h:

Tools:

Continue to add logging in an attempt to debug this flaky test.

  • WebKitTestRunner/ios/mainIOS.mm:

(-[WebKitTestRunnerApp handleKeyHIDEvent:]):
(-[WebKitTestRunnerApp _handleHIDEvent:]): Drive-by fix: add a missing call to the superclass method.

WebKitLibraries:

Declare the symbol for GSKeyboardGetLiveModifierState(), for non-internal builds.

  • WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd:
  • WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd:
3:33 PM Changeset in webkit [264891] by Simon Fraser
  • 12 edits in trunk

Some scroll snap cleanup
https://bugs.webkit.org/show_bug.cgi?id=214788

Reviewed by Wenson Hsieh.
Source/WebCore:

Mostly cleanup in updateSnapOffsetsForScrollableArea() related to getting the scroll limits,
which changes behavior.

updateSnapOffsetsForScrollableArea() was manually computing the scroll limits with
scrollingElementBox.scrollWidth() - scrollingElementBox.contentWidth(), but needs to use
the same computation that scrolling uses, namely scrollableArea.maximumScrollOffset().
This changes results, since the old code could compute offsets outside of the scroll limits.
It can also get the scrollPosition from the scrollableArea, instead of going via Element.

When computing scroll offsets, explicitly round now (which changes some test results).

  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::updateSnapOffsetsForScrollableArea):

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::updateActiveScrollSnapIndexForOffset): Explicitly round.

  • platform/ScrollTypes.h:
  • platform/ScrollableArea.h:
  • platform/cocoa/ScrollController.h:
  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::setActiveScrollSnapIndicesForOffset): Use ScrollOffset instead
of x,y.

LayoutTests:

New results.

  • css3/scroll-snap/scroll-snap-children-with-padding-expected.txt:
  • css3/scroll-snap/scroll-snap-children-with-transforms-expected.txt:
  • css3/scroll-snap/scroll-snap-offsets-expected.txt:
  • css3/scroll-snap/scroll-snap-positions-expected.txt:
1:02 PM Changeset in webkit [264890] by Wenson Hsieh
  • 2 edits in trunk/Tools

REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214688
<rdar://problem/65993683>

Reviewed by Tim Horton.

Attempt a second speculative fix that waits for the keydown HID event to be dequeued and handled by
UIApplication when simulating a shift-tap, to guarantee that the synthetic click gesture recognizer has
up-to-date modifier flags upon dispatching the synthetic HID events on tap.

It's unclear how or why the current implementation might result in the gesture recognizer not being updated with
the right modifier flags, since events in the HID event queue should be handled in order.

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):

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

[WebGL2] Context state updates
https://bugs.webkit.org/show_bug.cgi?id=209513

Patch by Kenneth Russell <kbr@chromium.org> on 2020-07-25
Reviewed by Dean Jackson.

Refactor a few methods related to context state to reduce
duplicated code between WebGL 1.0 and 2.0. No behavioral changes.

Covered by existing WebGL conformance tests.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::validateCapability):
(WebCore::WebGL2RenderingContext::clear): Deleted.
(WebCore::WebGL2RenderingContext::hint): Deleted.

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::hint): Deleted.
(WebCore::WebGLRenderingContext::clear): Deleted.
(WebCore::WebGLRenderingContext::validateCapability): Deleted.

  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::clear):
(WebCore::WebGLRenderingContextBase::hint):
(WebCore::WebGLRenderingContextBase::validateCapability):

  • html/canvas/WebGLRenderingContextBase.h:
Note: See TracTimeline for information about the timeline view.