Timeline



Jun 30, 2020:

10:53 PM Changeset in webkit [263788] by weinig@apple.com
  • 40 edits
    2 adds in trunk

Split Color serialization out of Color classes
https://bugs.webkit.org/show_bug.cgi?id=213820

Reviewed by Darin Adler.

Source/WebCore:

Move all color serialization related functions out of the Color family
of classes, and into a standalone ColorSerialization.h

Now all color serialization calls one of the following three functions, depending on need:

  • serializationForCSS(...)
  • serializationForHTML(...)
  • serializationForRenderTreeAsText(...)

These are overload for all three Color classes (Color, SimpleColor and ExtendedColor) to
allow easy use without necessarily needing to construct another type.

  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Add new files.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::inverseTransformColorIfNeeded):
(WebCore::StyleChange::extractTextStyles):

  • editing/cocoa/DataDetection.mm:

(WebCore::DataDetection::detectContentInRange):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::didChooseColor):

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::shadowColor const):

  • html/canvas/CanvasStyle.h:

(WebCore::CanvasStyle::color const):

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
(WebCore::TextTrackCueGeneric::toJSON const):

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::buildArrayForCanvasGradient):

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::CaptionUserPreferencesMediaAF::colorPropertyCSS const):

  • page/DragController.cpp:

(WebCore::DragController::concludeEditDrag):
(WebCore::DragController::insertDroppedImagePlaceholdersAtCaret):

  • platform/graphics/Color.cpp:

(WebCore::operator<<):
(WebCore::Color::serialized const): Deleted.
(WebCore::Color::cssText const): Deleted.
(WebCore::Color::nameForRenderTreeAsText const): Deleted.

  • platform/graphics/Color.h:
  • platform/graphics/ColorSerialization.cpp: Added.

(WebCore::decimalDigit):
(WebCore::fractionDigitsForFractionalAlphaValue):
(WebCore::serializationForCSS):
(WebCore::serializationForHTML):
(WebCore::serializationForRenderTreeAsText):
(WebCore::serialization):

  • platform/graphics/ColorSerialization.h: Added.
  • platform/graphics/ExtendedColor.cpp:

(WebCore::ExtendedColor::cssText const): Deleted.

  • platform/graphics/ExtendedColor.h:
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::dumpProperties const):

  • platform/graphics/InbandGenericCue.cpp:

(WebCore::InbandGenericCue::toJSONString const):

  • platform/graphics/SimpleColor.cpp:

(WebCore::SimpleColor::serializationForHTML const): Deleted.
(WebCore::decimalDigit): Deleted.
(WebCore::fractionDigitsForFractionalAlphaValue): Deleted.
(WebCore::SimpleColor::serializationForCSS const): Deleted.
(WebCore::SimpleColor::serializationForRenderTreeAsText const): Deleted.

  • platform/graphics/SimpleColor.h:
  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::externalRepresentation const):

  • platform/graphics/filters/FEFlood.cpp:

(WebCore::FEFlood::externalRepresentation const):

  • rendering/RenderTreeAsText.cpp:

(WebCore::RenderTreeAsText::writeRenderObject):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeRenderSVGTextBox):

  • svg/properties/SVGPropertyTraits.h:

(WebCore::SVGPropertyTraits<Color>::toString):

  • testing/Internals.cpp:

(WebCore::Internals::viewBaseBackgroundColor):
(WebCore::Internals::highlightPseudoElementColor):
(WebCore::Internals::systemColorForCSSValue):
(WebCore::Internals::focusRingColor):
Adopt new serialization functions.

Source/WebKit:

Adopt ColorSerialization.h serialization functions.

  • UIProcess/API/Cocoa/WKWebView.mm:

(dictionaryRepresentationForEditorState):

  • UIProcess/Cocoa/WebViewImpl.mm:

(-[WKTextTouchBarItemController _wkChangeColor:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _setTextColorForWebView:sender:]):

  • UIProcess/ios/forms/WKFormColorPicker.mm:

(-[WKColorPicker setControlValueFromUIColor:]):

  • WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:

(WebKit::PDFPluginChoiceAnnotation::createAnnotationElement):

  • WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:

(WebKit::PDFPluginTextAnnotation::createAnnotationElement):

Source/WebKitLegacy/mac:

Adopt ColorSerialization.h serialization functions.

  • WebView/WebView.mm:

(-[WebTextTouchBarItemController _webChangeColor:]):

Tools:

  • TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:

(TestWebKitAPI::TEST):
Update tests to use ColorSerialization.h

10:35 PM Changeset in webkit [263787] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[WPE] Garden some failures and add new section to expectation

Start new sections for triaged tests like GTK and GLib.

Unreviewed test gardening.

  • platform/wpe/TestExpectations:
10:21 PM Changeset in webkit [263786] by ggaren@apple.com
  • 2 edits in trunk/Source/WebKit

[Cocoa] [GTK] RunLoop::Timer::isActive() is incorrect for timers while they are firing
https://bugs.webkit.org/show_bug.cgi?id=213771

Unreviewed assertion fix.

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::AuthenticatorManager::timeOutTimerFired): Removed this ASSERT.
One-shot timers are not active while they are firing.

10:10 PM Changeset in webkit [263785] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[WinCairo] Unreviewed build fix after r263776

WebCore\platform\graphics\ColorUtilities.h(67): error C2039: 'lround': is not a member of 'std'

  • platform/graphics/ColorUtilities.h: Include <cmath> for std::lround.
7:35 PM Changeset in webkit [263784] by Wenson Hsieh
  • 4 edits in trunk

Several key event tests in fast/events/ios are failing after <rdar://problem/62197116>
https://bugs.webkit.org/show_bug.cgi?id=213821
<rdar://problem/64821309>

Reviewed by Megan Gardner.

Source/WebKit:

Add an SPI method declaration.

  • Platform/spi/ios/UIKitSPI.h:

Tools:

After the UIKit changes in <rdar://problem/62197116>, double tapping the Option key now enters dictation mode
by default, and additionally displays a modal popup prompting the user to set up dictation. Both of these
behaviors interfere with layout tests that attempt to press the option key twice in rapid succession, causing
them to time out or fail.

Fix this by setting the default that determines the modifier key to use as the dictation shortcut to -1, which
disables the dictation keyboard shortcut altogether.

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformResetStateToConsistentValues):

7:17 PM Changeset in webkit [263783] by ggaren@apple.com
  • 5 edits in trunk

[Cocoa] [GTK] RunLoop::Timer::isActive() is incorrect for timers while they are firing
https://bugs.webkit.org/show_bug.cgi?id=213771

Reviewed by Darin Adler.

Source/WTF:

I noticed this because it triggered an assertion failure in
BackgroundProcessResponsivenessTimer::scheduleNextResponsivenessCheck().

In WebKit timer parlance "isActive()" means "will fire again", so a
one-shot timer should report inactive right when it fires. Otherwise,
there's no way to check if it needs to be rescheduled.

  • wtf/cf/RunLoopCF.cpp:

(WTF::RunLoop::TimerBase::timerFired): For one-shot timers, stop our
timer before it fires, so that we know it is not active.

  • wtf/glib/RunLoopGLib.cpp:

(WTF::RunLoop::TimerBase::TimerBase): For repeating timers, reschedule
our timer before it fires, so that we know it is active.

Tools:

  • TestWebKitAPI/Tests/WTF/RunLoop.cpp:

(TestWebKitAPI::DerivedOneShotTimer::fired):
(TestWebKitAPI::DerivedRepeatingTimer::fired):

6:52 PM Changeset in webkit [263782] by jiewen_tan@apple.com
  • 2 edits in trunk/Source/WebKit

[WebAuthn] Remove whitelistedRpId
https://bugs.webkit.org/show_bug.cgi?id=213817
<rdar://problem/60108131>

Reviewed by Geoffrey Garen.

Remove the whitelist such that we can test the attestation service in a wider range.

  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):
(WebKit::LocalAuthenticatorInternal::whitelistedRpId): Deleted.

6:08 PM Changeset in webkit [263781] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit

Fix Swift overlay build after r263727.
<rdar://problem/64962370> and https://bugs.webkit.org/show_bug.cgi?id=213823

Reviewed by Darin Adler.

No new tests (No behavior change).

Adapt the Swift overlay refinemnt to handle the inFrame: argument for these methods.

  • UIProcess/API/Cocoa/WebKitSwiftOverlay.swift:

(callAsyncJavaScript(_:arguments:in:in:completionHandler:Error:)):
(evaluateJavaScript(_:in:in:completionHandler:Error:)):
(callAsyncJavaScript(_:arguments:in:completionHandler:Error:)): Deleted.
(evaluateJavaScript(_:in:completionHandler:Error:)): Deleted.

6:06 PM Changeset in webkit [263780] by Kate Cheney
  • 5 edits in trunk/Source/WebKitLegacy/mac

Remove NeedsInAppBrowserPrivacyQuirks flag from WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=213802
<rdar://problem/64945642>

Reviewed by Darin Adler.

This feature is for testing only and is not needed in WebKitLegacy.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences needsInAppBrowserPrivacyQuirks]): Deleted.
(-[WebPreferences setNeedsInAppBrowserPrivacyQuirks:]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

5:41 PM Changeset in webkit [263779] by Alan Coon
  • 1 copy in tags/Safari-610.1.18.20.3

Tag Safari-610.1.18.20.3.

5:15 PM Changeset in webkit [263778] by Alan Coon
  • 8 edits in branches/safari-610.1.18.20-branch/Source

Versioning.

WebKit-610.1.18.20.3

4:11 PM Changeset in webkit [263777] by Andres Gonzalez
  • 5 edits in trunk

Code cleanup in AccessibilityMenuList.cpp and AXIsolatedTree.h.
https://bugs.webkit.org/show_bug.cgi?id=213806

Reviewed by Darin Adler.

.:

  • WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:

Source/WebCore:

No change in functionality.
Minor code cleanup pointed out by Darin Adler in reviews for bug 209169 and bug 213575.

  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::isCollapsed const):

  • accessibility/isolatedtree/AXIsolatedTree.h:
3:50 PM Changeset in webkit [263776] by weinig@apple.com
  • 14 edits
    2 adds in trunk/Source/WebCore

Move Color blending related functions to their own files
https://bugs.webkit.org/show_bug.cgi?id=213742

Reviewed by Dean Jackson.

  • Moves Color::blend(const Color&), Color::blendWithWhite(), blend(const Color&, const Color&, double) and blendWithoutPremultiply(const Color&, const Color&, double) to their own files: ColorBlending.h/cpp
  • Renames Color::blend(const Color&) to blendSourceOver(const Color&, const Color&)
  • Renames Color::blendWithWhite() to blendWithWhite(const Color&).
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Add new files.

  • platform/graphics/Color.cpp:

(WebCore::Color::blend const): Deleted.
(WebCore::Color::blendWithWhite const): Deleted.
(WebCore::blend): Deleted.
(WebCore::blendWithoutPremultiply): Deleted.

  • platform/graphics/Color.h:
  • platform/graphics/ColorBlending.cpp: Copied from Source/WebCore/platform/graphics/Color.cpp.
  • platform/graphics/ColorBlending.h: Added.

Move declarations / implementations from Color.h/cpp to ColorBlending.h/cpp.

  • css/CSSGradientValue.cpp:
  • editing/FrameSelection.cpp:

(WebCore::CaretBase::computeCaretColor):

  • page/FrameView.cpp:

(WebCore::FrameView::documentBackgroundColor const):

  • page/TextIndicator.cpp:

(WebCore::estimatedBackgroundColorForRange):

  • page/animation/CSSPropertyAnimation.cpp:
  • platform/graphics/filters/FilterOperation.cpp:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::getItemBackgroundColor const):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::transformSelectionBackgroundColor const):
Update for new signatures and #include ColorBlending.h as neeeded.

3:43 PM Changeset in webkit [263775] by weinig@apple.com
  • 4 edits
    2 moves in trunk/Source/WebCore

Rename ManifestParser.h/cpp to ApplicationCacheManifestParser.h/cpp to make it clear its not the ApplicationManifestParser (a different thing entirely)
https://bugs.webkit.org/show_bug.cgi?id=213815

Reviewed by Darin Adler.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/appcache/ApplicationCacheGroup.cpp:
  • loader/appcache/ApplicationCacheManifestParser.cpp: Copied from Source/WebCore/loader/appcache/ManifestParser.cpp.
  • loader/appcache/ApplicationCacheManifestParser.h: Copied from Source/WebCore/loader/appcache/ManifestParser.h.
  • loader/appcache/ManifestParser.cpp: Removed.
  • loader/appcache/ManifestParser.h: Removed.
3:21 PM Changeset in webkit [263774] by beidson@apple.com
  • 12 edits in trunk

App-bound JavaScript and Navigation failures should have specific error codes.
<rdar://problem/64940268> and https://bugs.webkit.org/show_bug.cgi?id=213808

Reviewed by Tim Hatcher.
(Informally by Kate Cheney)

Source/WebCore:

Covered by API tests.

  • bindings/js/ExceptionDetails.h:

Source/WebKit:

  • UIProcess/API/Cocoa/WKError.h:
  • UIProcess/API/Cocoa/WKError.mm:

(localizedDescriptionForErrorCode):

  • UIProcess/API/Cocoa/WKWebView.mm:

(nsErrorFromExceptionDetails):

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::errorForUnpermittedAppBoundDomainNavigation):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNavigationAction):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScript):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:

(TEST):

3:18 PM Changeset in webkit [263773] by pvollan@apple.com
  • 10 edits in trunk/Source

[macOS] Connections to the preference daemon are established before entering the sandbox
https://bugs.webkit.org/show_bug.cgi?id=213379

Reviewed by Darin Adler.

Source/WebCore/PAL:

Use correct parameter types in _CFPrefsSetDirectModeEnabled and _CFPrefsSetReadOnly, and move
_CFPrefsSetDirectModeEnabled inside an Objective-C guard, since BOOL only seems to be a builtin
type in Objective-C.

  • pal/spi/cf/CFUtilitiesSPI.h:

Source/WebKit:

On macOS, connections to the preference daemon are established before entering the sandbox. These connections also persist
after entering the sandbox and denying access to the preference daemon. There should not be attempts to connect to the
preference daemon before entering the sandbox, since these attempts will not be stopped by the sandbox. This patch moves
code that connects to the preference daemon to be executed after the sandbox has been entered. That includes code to
prevent connections to the Dock and code to initialize WebKit logging. Also, instead of calling [NSBundle bundleForClass:],
call [NSBundle bundleWithIdentifier:], since calling [NSBundle bundleForClass:] will connect to the preference daemon.
Finally, allow the syscall SYS_gethostuuid, since that is needed by CoreFoundation when there is no access to the
preference daemon.

No new tests. This should be covered by existing tests. It would be nice to have a test to make sure that there are no
connections to the preference daemon just before entering the sandbox, but I am not aware of how to implement this.

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::initializeSandbox):

  • Shared/AuxiliaryProcess.cpp:

(WebKit::AuxiliaryProcess::initialize):

  • Shared/Cocoa/WebKit2InitializeCocoa.mm:

(WebKit::runInitializationCode):

  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceMain):

  • Shared/mac/AuxiliaryProcessMac.mm:

(WebKit::webKit2Bundle):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::initializeSandbox):

  • WebProcess/com.apple.WebProcess.sb.in:
3:01 PM Changeset in webkit [263772] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Partially revert r257135 now that the underlying bug is resolved
https://bugs.webkit.org/show_bug.cgi?id=213814
<rdar://problem/59859573>

Reviewed by Per Arne Vollan.

This patch is a partial revert of the code change in Bug 208033, where a temporary
workaround was added for a bug in an underlying framework. Now that the bug has been
fixed, we can remove this workaround.

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::gpuProcessSessionParameters):

2:17 PM Changeset in webkit [263771] by mark.lam@apple.com
  • 11 edits
    3 adds in trunk

Add handling for a case of OOME in CSSTokenizer and CSSParser.
https://bugs.webkit.org/show_bug.cgi?id=213702
<rdar://problem/64808889>

Reviewed by Darin Adler.

Source/WebCore:

We add a bool* constructionSuccess feedback argument to the private CSSTokenizer
constructor. If construction fails and constructionSuccess is provided, the
constructor will set *constructionSuccess to false. If construction fails and
constructionSuccess is not provided, the constructor will crash with a failed
RELEASE_ASSERT. In other words, the client may opt in to handle the failure to
construct if it doesn't want the default behavior of crashing on failure.

We also provide 2 convenience factory methods for CSSTokenizer which will return
a null std::unique_ptr<CSSTokenizer> if construction fails. This is currently
only used by CSSParserImpl, and ensures that its m_tokenizer is null if we fail to
construct. This ensures that there isn't a pointer to a partially constructed
tokenizer that some code may unknowingly use.

The reason we don't force all clients of CSSTokenizer to use the factory methods
instead is because there are clients that currently use on-stack instantiations
of CSSTokenizer to do their work. We don't want to force them to switch to using
a malloc instance. Currently, the constructors used by those clients do not
provide a constructionSuccess argument to the underlying private constructor.
Hence, for them, the CSSTokenizer constructor will crash if construction fails,
which is how things work in pre-existing code. The only difference is that
the crash is deferred till the client attempts to use the tokenizer instead of at
construction time.

As of this patch, only CSSParser::parseSupportsCondition() makes use of the new
feedback mechanism, and handles OOME during CSSTokenizer construction by
interpreting it as CSS not supporting the passed in condition string.

Test: css3/out-of-memory-in-css-tokenizer.html

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseSupportsCondition):

  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::CSSParserImpl):
(WebCore::CSSParserImpl::failed const):

  • css/parser/CSSParserImpl.h:
  • css/parser/CSSTokenizer.cpp:

(WebCore::CSSTokenizer::CSSTokenizer):

  • css/parser/CSSTokenizer.h:

(WebCore::CSSTokenizer::failed const):

Source/WTF:

  1. Added FailureAction so that we can parameterize how we want to handle failures. In this patch, we're only using this for allocation failures, but we could technically apply this to other types of failures as well.
  1. Apply FailureAction to many methods in Vector (and its super classes) so that we can start de-duplicating code. Previously, we were always duplicating code just to have a "try" version of the same method that reports the failure to allocate instead of crashing. We can now parameterize all these methods on a FailureAction template parameter instead, and avoid the code duplication. This patch also reverses some of the existing code duplication.
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/FailureAction.h: Added.
  • wtf/Vector.h:

(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(WTF::VectorBuffer::allocateBuffer):
(WTF::VectorBuffer::tryAllocateBuffer):
(WTF::Vector::reserveCapacity):
(WTF::Vector::tryReserveCapacity):
(WTF::Vector::reserveInitialCapacity):
(WTF::Vector::tryReserveInitialCapacity):
(WTF::Vector::append):
(WTF::Vector::tryAppend):
(WTF::Vector::constructAndAppend):
(WTF::Vector::tryConstructAndAppend):
(WTF::Vector::expandCapacity):
(WTF::Vector::resize):
(WTF::Vector::grow):
(WTF::Vector::reserveCapacity):
(WTF::Vector::reserveInitialCapacity):
(WTF::Vector::append):
(WTF::Vector::constructAndAppend):
(WTF::Vector::appendSlowCase):
(WTF::Vector::constructAndAppendSlowCase):
(WTF::Vector::appendVector):
(WTF::Vector::insert):
(WTF::Vector::tryExpandCapacity): Deleted.
(WTF::Vector::tryReserveCapacity): Deleted.
(WTF::Vector::tryAppend): Deleted.
(WTF::Vector::tryConstructAndAppend): Deleted.
(WTF::Vector::tryConstructAndAppendSlowCase): Deleted.

LayoutTests:

  • css3/out-of-memory-in-css-tokenizer-expected.txt: Added.
  • css3/out-of-memory-in-css-tokenizer.html: Added.
1:58 PM Changeset in webkit [263770] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for fast/attachment/attachment-folder-icon.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=213813

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios/TestExpectations:
1:55 PM Changeset in webkit [263769] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for editing/style/push-down-font-styles-win.html and editing/style/push-down-implicit-styles-around-list-win.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213812

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios-wk2/TestExpectations:
1:37 PM Changeset in webkit [263768] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for css3/filters/null-effect-check.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=213810

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios-wk2/TestExpectations:
1:31 PM Changeset in webkit [263767] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for editing/inserting/insert-paragraph-selection-outside-contenteditable.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213811

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios-simulator-wk2/TestExpectations:
1:08 PM Changeset in webkit [263766] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectations for <canvas/philip/tests/2d.gradient.radial.touch1.html and canvas/philip/tests/2d.gradient.radial.touch2.html and canvas/philip/tests/2d.gradient.radial.touch3.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213800

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios/TestExpectations:
12:52 PM Changeset in webkit [263765] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[macOS] Stop blocking two audio-related user client classes
https://bugs.webkit.org/show_bug.cgi?id=213807
<rdar://problem/64874902>

Reviewed by Per Arne Vollan.

Restore IOAudioControlUserClient and IOAudioEngineUserClient since we find them being
actively used on macOS for some media playback purposes.

  • WebProcess/com.apple.WebProcess.sb.in:
12:41 PM Changeset in webkit [263764] by Peng Liu
  • 14 edits in trunk

Enable the support of FULLSCREEN_API in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=213774

Reviewed by Youenn Fablet.

Replace the definition of ENABLE_FULLSCREEN_API in FeatureDefines.xcconfig with
the one in PlatformEnableCocoa.h. We have to do that because WebKitTestRunner
does not have a FeatureDefines.xcconfig but it uses "ENABLE(FULLSCREEN_API)"
to conditionally compile code to test the element fullscreen API.
WebKitTestRunner can use the macro defined in PlatformEnableCocoa.h.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/PlatformEnableCocoa.h:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
12:14 PM Changeset in webkit [263763] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for compositing/contents-scale/rasterization-scale.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213805

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios-wk2/TestExpectations:
12:05 PM Changeset in webkit [263762] by dbates@webkit.org
  • 36 edits
    3 copies
    3 adds in trunk

[iOS] Editable regions causes ~1% slowdown in PLT5
https://bugs.webkit.org/show_bug.cgi?id=213659
<rdar://problem/64361390>

Reviewed by Simon Fraser.

Source/WebCore:

Fix the slowdown by only enabling editable region when Page::editableElementsInRect is called.

There are two parts that make computing the editable region expensive:

  1. Requires traversing descendents during painting when a normal paint may be able to avoid this.
  2. Can cause more event region invalidations because it extends the invalidation criterion to include changes to element editability.

Tests: editing/editable-region/hit-test-basic-without-editable-region.html

editing/editable-region/iframe-without-editable-region.html
editing/editable-region/text-field-basic-without-editable-region.html

Tests: editing/editable-region/hit-test-basic-without-editable-region.html

editing/editable-region/iframe-without-editable-region.html
editing/editable-region/text-field-basic-without-editable-region.html

  • page/Frame.cpp:

(WebCore::Frame::invalidateContentEventRegionsIfNeeded): Check if editable region is enabled.
If it is then do what we do now. Otherwise, don't invalidate the region unless we were going
to do so anyway.

  • page/Page.cpp:

(WebCore::Page::setEditableRegionEnabled): Added. Update state and then invalidate
the event region in all layers.
(WebCore::Page::shouldBuildEditableRegion const): Added. Returns whether to build the
editable region: either when Page::isEditableRegionEnabled() is true or the editable
region debug overlay is enabled.
(WebCore::Page::didFinishLoad): Turn off editable region as it may not be needed on
the new page.

  • page/Page.h:

(WebCore::Page::isEditableRegionEnabled const): Added.

  • rendering/EventRegion.cpp:

(WebCore::EventRegion::unite):
(WebCore::EventRegion::translate):
(WebCore::EventRegion::containsEditableElementsInRect const):
(WebCore::EventRegion::dump const):

  • rendering/EventRegion.h:

(WebCore::EventRegion::hasEditableRegion const):
(WebCore::EventRegion::rectsForEditableElements const):
(WebCore::EventRegion::decode):
(WebCore::EventRegion::ensureEditableRegion):
The editable region is now an Optional<>. There will only be one if ensureEditableRegion
was called, which is only when Page::isEditableRegionEnabled() returns true.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleWillChange):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::maintainsEventRegion const):
Only do what we do now if Page::shouldBuildEditableRegion() returns true.

(WebCore::RenderLayerBacking::updateEventRegion): Instantiate the editable region, if needed.
Painting will then populate it.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::applyToCompositedLayerIncludingDescendants): Added.
(WebCore::RenderLayerCompositor::invalidateEventRegionForAllLayers): Added.
(WebCore::RenderLayerCompositor::clearBackingForAllLayers): Wrote in terms of applyToCompositedLayerIncludingDescendants.
(WebCore::RenderLayerCompositor::clearBackingForLayerIncludingDescendants): Deleted.

  • rendering/RenderLayerCompositor.h:
  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::setEditableRegionEnabled):

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

Add a new internal setting for testing purposes to toggle enabling/disabling editable region.

Source/WebKit:

Fix up RemoteLayerTreeViews now that the editable region is an Optional<>. Have
the UI process message the web process to enable editable region on the first
invocation of _requestTextInputContextsInRect, which is good indicator that there
would be benefit to computing it as a typical client that calls it will call it
many times.

  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:

(WebKit::mayContainEditableElementsInRect): Fix up the logic now that there may
be not be an editable region sent over in the last event region update. If there
isn't one then we don't know if there are editable elements in the rect of not.
So, return true, which could turn out to be a false positive if there aren't any
editable elements in the rect. The caller will have to message the web process
to find out the real answer if they want it. Just to clarify, it's OK for this
function to have false positives, but it must never have false negatives.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::textInputContextsInRect): Enable editable region. If it's already
enabled then doing so again does nothing.

LayoutTests:

Add some tests to ensure the new setting works and the feature can be disabled. Note
that the setting is enabled by default to keep the current behavior. See the WebCore
ChangeLog entry for more details.

Update existings tests that need the editable region enabled to enable it now that it must
be explicitly enabled.

  • editing/editable-region/fixed-and-absolute-contenteditable-scrolled.html:
  • editing/editable-region/float-contenteditable.html:
  • editing/editable-region/hit-test-basic-without-editable-region-expected.txt: Added.
  • editing/editable-region/hit-test-basic-without-editable-region.html: Copied from LayoutTests/editing/editable-region/hit-test-basic.html.
  • editing/editable-region/hit-test-basic.html:
  • editing/editable-region/hit-test-editable-document-element.html:
  • editing/editable-region/hit-test-fixed.html:
  • editing/editable-region/hit-test-overlap.html:
  • editing/editable-region/hit-test-textarea-empty-space.html:
  • editing/editable-region/iframe-without-editable-region-expected.txt: Added.
  • editing/editable-region/iframe-without-editable-region.html: Copied from LayoutTests/editing/editable-region/iframe.html.
  • editing/editable-region/iframe.html:
  • editing/editable-region/out-hanging-child-of-contenteditable.html:
  • editing/editable-region/overflow-scroll-text-field-and-contenteditable.html:
  • editing/editable-region/relative-inside-fixed-contenteditable-scrolled.html:
  • editing/editable-region/relative-inside-transformed-contenteditable.html:
  • editing/editable-region/search-field-basic.html:
  • editing/editable-region/text-field-basic-without-editable-region-expected.txt: Added.
  • editing/editable-region/text-field-basic-without-editable-region.html: Copied from LayoutTests/editing/editable-region/text-field-basic.html.
  • editing/editable-region/text-field-basic.html:
  • editing/editable-region/text-field-inside-composited-negative-z-index-layer.html:
  • editing/editable-region/textarea-basic.html:
  • editing/editable-region/transformed-scrolled-on-top-of-fixed-contenteditables.html:
11:22 AM Changeset in webkit [263761] by graouts@webkit.org
  • 3 edits in trunk/LayoutTests

[iOS] Test landed flaky: webanimations/accelerated-animation-with-easing.html
https://bugs.webkit.org/show_bug.cgi?id=213758
<rdar://problem/64911008>

Reviewed by Dean Jackson.

Adding a little tolerance which seems to address the reported flakiness, at least locally.

  • platform/ios/TestExpectations:
  • webanimations/accelerated-animation-with-easing.html:
10:53 AM Changeset in webkit [263760] by Peng Liu
  • 6 edits in trunk/Source

Scrunching a video to PiP can result in broken animation and leave Safari in a bad state
https://bugs.webkit.org/show_bug.cgi?id=213175

Reviewed by Jer Noble.

Source/WebCore:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setVideoFullscreenStandby):
(WebCore::HTMLMediaElement::setVideoFullscreenStandby):
The "standby" state is relevant to a video element only when its presentation mode is VideoFullscreenModeNone.

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

(VideoFullscreenInterfaceAVKit::exitFullscreen):
(VideoFullscreenInterfaceAVKit::cleanupFullscreen):
Add a flag m_enteringPictureInPicture. Function exitFullscreen() and cleanupFullscreen() will check
m_enteringPictureInPicture and they will abort the process to exit fullscreen/picture-in-picture if the flag
is true. However, VideoFullscreenManager will retry to exit fullscreen/picture-in-picture after it confirms that
the previous starting picture-in-picture process is completed.

(VideoFullscreenInterfaceAVKit::willStartPictureInPicture):
Set the flag m_enteringPictureInPicture.

(VideoFullscreenInterfaceAVKit::didStartPictureInPicture):
Call m_fullscreenChangeObserver->didEnterFullscreen() if the entering picture-in-picture process is
started by the UI process (e.g., swipe-up gesture).
Clear m_standby and m_enteringPictureInPicture after the video element enters picture-in-picture.

Source/WebKit:

  • UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:

(-[WKFullScreenWindowController _completedExitFullScreen]):
Update _exitRequested after exiting fullscreen to make sure the following
enter fullscreen request can be processed.
(-[WKFullScreenWindowController _dismissFullscreenViewController]):
Make sure _completedExitFullScreen function will always execute.
(-[WKFullScreenWindowController _interactivePinchDismissChanged:]):
Remove a function call which corrupts the state machine under stress test.

10:26 AM Changeset in webkit [263759] by commit-queue@webkit.org
  • 18 edits
    5 deletes in trunk

Remove WTF::MD5
https://bugs.webkit.org/show_bug.cgi?id=213766

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

Source/WebCore:

  • Modules/websockets/WebSocketHandshake.cpp:
  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::generateBaseFilename):

Source/WTF:

It was only used for CURL's cache file name generation.
If you want to use a broken hash function, use SHA1.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/MD5.cpp: Removed.
  • wtf/MD5.h: Removed.

Tools:

  • DumpRenderTree/PlatformWin.cmake:
  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/MD5.cpp: Removed.
  • WebKitTestRunner/cg/TestInvocationCG.cpp:

(WTR::computeSHA1HashStringForContext):
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
(WTR::computeMD5HashStringForContext): Deleted.

10:16 AM Changeset in webkit [263758] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Set runtime flag m_isWebRTCPlatformCodecsInGPUProcessEnabled to false by default
https://bugs.webkit.org/show_bug.cgi?id=213779

Reviewed by Alex Christensen.

No change of behavior since this flag is WebKit 2 only and off by default.
Move off by default WebRTC flags at the end of the section.

  • page/RuntimeEnabledFeatures.h:
9:54 AM Changeset in webkit [263757] by Jason_Lawrence
  • 14 edits
    2 deletes in trunk/Source/WebCore

Unreviewed, reverting r263753.

This commit caused build failures across multiple platforms.

Reverted changeset:

"Move Color blending related functions to their own files"
https://bugs.webkit.org/show_bug.cgi?id=213742
https://trac.webkit.org/changeset/263753

9:36 AM Changeset in webkit [263756] by Alan Coon
  • 1 copy in tags/Safari-610.1.19.1

Tag Safari-610.1.19.1.

9:35 AM Changeset in webkit [263755] by Alan Coon
  • 2 edits in branches/safari-610.1.19-branch/Source/WebKit

Cherry-pick r263462. rdar://problem/64941936

Fix the build once RBSProcessLimitations.h is introduced
https://bugs.webkit.org/show_bug.cgi?id=213562

Reviewed by Wenson Hsieh.

  • Platform/spi/ios/RunningBoardServicesSPI.h: We can't forward-declare Objective-C SPI if it actually exists without inspiring duplicate definition errors.

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

9:34 AM Changeset in webkit [263754] by Alan Coon
  • 8 edits in branches/safari-610.1.19-branch/Source

Versioning.

WebKit-610.1.19.1

9:11 AM Changeset in webkit [263753] by weinig@apple.com
  • 14 edits
    1 copy
    1 add in trunk/Source/WebCore

Move Color blending related functions to their own files
https://bugs.webkit.org/show_bug.cgi?id=213742

Reviewed by Dean Jackson.

  • Moves Color::blend(const Color&), Color::blendWithWhite(), blend(const Color&, const Color&, double) and blendWithoutPremultiply(const Color&, const Color&, double) to their own files: ColorBlending.h/cpp
  • Renames Color::blend(const Color&) to blendSourceOver(const Color&, const Color&)
  • Renames Color::blendWithWhite() to blendWithWhite(const Color&).
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Add new files.

  • platform/graphics/Color.cpp:

(WebCore::Color::blend const): Deleted.
(WebCore::Color::blendWithWhite const): Deleted.
(WebCore::blend): Deleted.
(WebCore::blendWithoutPremultiply): Deleted.

  • platform/graphics/Color.h:
  • platform/graphics/ColorBlending.cpp: Copied from Source/WebCore/platform/graphics/Color.cpp.
  • platform/graphics/ColorBlending.h: Added.

Move declarations / implementations from Color.h/cpp to ColorBlending.h/cpp.

  • css/CSSGradientValue.cpp:
  • editing/FrameSelection.cpp:

(WebCore::CaretBase::computeCaretColor):

  • page/FrameView.cpp:

(WebCore::FrameView::documentBackgroundColor const):

  • page/TextIndicator.cpp:

(WebCore::estimatedBackgroundColorForRange):

  • page/animation/CSSPropertyAnimation.cpp:
  • platform/graphics/filters/FilterOperation.cpp:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::getItemBackgroundColor const):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::transformSelectionBackgroundColor const):
Update for new signatures and #include ColorBlending.h as neeeded.

8:56 AM Changeset in webkit [263752] by graouts@webkit.org
  • 2 edits in trunk/Source/WebKit

[iOS] Crash under WebKit::WebPage::getFocusedElementInformation()
https://bugs.webkit.org/show_bug.cgi?id=213798
<rdar://problem/62754594>

Reviewed by Wenson Hsieh.

Since LabelableElement::labels() returns a RefPtr<NodeList>, ensure we get a value before attempting to read data from it.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getFocusedElementInformation):

8:47 AM Changeset in webkit [263751] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectations for canvas/philip/tests/2d.gradient.radial.cone.bottom.html and canvas/philip/tests/2d.gradient.radial.cone.cylinder.html and canvas/philip/tests/2d.gradient.radial.cone.front.html and canvas/philip/tests/2d.gradient.radial.cone.shape1.html and canvas/philip/tests/2d.gradient.radial.cone.top.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213799

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios/TestExpectations:
8:22 AM Changeset in webkit [263750] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for canvas/philip/tests/2d.drawImage.animated.gif.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213797

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/ios/TestExpectations:
7:48 AM Changeset in webkit [263749] by Jonathan Bedard
  • 2 edits in trunk/Tools

[TestExpectations] Add architecture for Apple's ports
https://bugs.webkit.org/show_bug.cgi?id=213769
<rdar://problem/64920013>

Rubber-stamped by Aakash Jain.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationParser): Add architectures for Apple's ports.

7:48 AM Changeset in webkit [263748] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Gardened failures from EWS GTK-WK2 queue.

  • platform/gtk/TestExpectations:
7:23 AM Changeset in webkit [263747] by Jason_Lawrence
  • 3 edits in trunk/LayoutTests

[ iOS Debug and Mojave Debug ] http/tests/storage/storage-map-leaking.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=213795

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
7:08 AM Changeset in webkit [263746] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for svg/custom/subpaths-moveto-only-rendering.svg as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=213790

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-30

  • platform/mac/TestExpectations:
6:59 AM Changeset in webkit [263745] by aestes@apple.com
  • 27 edits in trunk

[Xcode] Enable the "My Mac (Mac Catalyst)" destination in WebKit Xcode projects
https://bugs.webkit.org/show_bug.cgi?id=213740

Reviewed by Darin Adler.

Source/bmalloc:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that

this project supports building for Mac Catalyst.

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/WebCore:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/WebCore/PAL:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/WebInspectorUI:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/WebKit:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/WebKitLegacy/mac:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Source/WTF:

  • Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this

project supports building for Mac Catalyst.

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • ImageDiff/cg/Configurations/Base.xcconfig:
  • MiniBrowser/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell

Xcode that these projects support building for Mac Catalyst.

  • MiniBrowser/Configurations/MiniBrowser.xcconfig: Excluded all source files on Mac Catalyst

so that schemes that include MiniBrowser can build for Mac Catalyst.

5:10 AM Changeset in webkit [263744] by Diego Pino Garcia
  • 4 edits in trunk/LayoutTests

[WPE] Unreviewed test gardening. Update test expectations after r263737.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
5:09 AM Changeset in webkit [263743] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

[WPE][GTK] Port API test harness to Python3
https://bugs.webkit.org/show_bug.cgi?id=213784

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-30
Reviewed by Carlos Alberto Lopez Perez.

At least now the import chain starting from run-gtk-tests succeeds when the host Python
version is 3. Within the SDK the harness is still executed under Python2 though, for now.

  • Scripts/run-gtk-tests:

(GtkTestRunner._setup_testing_environment):

  • glib/api_test_runner.py:

(TestRunner._run_test_qt):

  • glib/glib_test_runner.py:

(GLibTestRunner._read_from_pipe):
(GLibTestRunner._read_from_stderr):

  • jhbuild/jhbuildutils.py:
4:52 AM Changeset in webkit [263742] by Jonathan Bedard
  • 3 edits in trunk/Tools

[webkitperl] nativeArchitecture() needs to support remote devices
https://bugs.webkit.org/show_bug.cgi?id=213727
<rdar://problem/64892021>

Reviewed by Aakash Jain.

  • Scripts/run-javascriptcore-tests: Determine the machine actually running tests and pass

that to nativeArchitecture(...).
(runTest): Pass nativeTarget and nativePort.
(runJSCStressTests): Ditto.

  • Scripts/webkitdirs.pm:

(determineNativeArchitecture): Native architecture is dependent on the target device.
(determineArchitecture): Call nativeArchitecture() instead of accessing the variable directly.
(nativeArchitecture): Ensure that we return only the architecture of the specified target.

4:34 AM Changeset in webkit [263741] by Diego Pino Garcia
  • 2 edits in trunk/Tools

[GTK] Unreviewed API test gardening. Update test expectations after r263738.

  • TestWebKitAPI/glib/TestExpectations.json:
4:03 AM Changeset in webkit [263740] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/Tools

[Flatpak SDK] Add libserf
https://bugs.webkit.org/show_bug.cgi?id=213682

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-30
Reviewed by Carlos Alberto Lopez Perez.

Subversion depends on SERF, which requires SCons for its build (the SERF CMake support is
incomplete)...

  • buildstream/elements/sdk-build-depends/scons.bst: Added.
  • buildstream/elements/sdk/libserf.bst: Added.
  • buildstream/elements/sdk/subversion.bst:
3:40 AM Changeset in webkit [263739] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Upload test expectations after r263737.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
3:19 AM Changeset in webkit [263738] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WPE][GTK] Update stale comment in UserAgentGLib.cpp
https://bugs.webkit.org/show_bug.cgi?id=213749

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-06-30
Reviewed by Adrian Perez de Castro.

Remove outdated comment.

  • platform/glib/UserAgentGLib.cpp:

(WebCore::platformVersionForUAString):

2:29 AM Changeset in webkit [263737] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Update test expectations after r263734.

  • platform/glib/TestExpectations:
2:26 AM Changeset in webkit [263736] by commit-queue@webkit.org
  • 24 edits in trunk/Source

Unreviewed, reverting r263724.
https://bugs.webkit.org/show_bug.cgi?id=213781

Reverted changeset:

"Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to
replace _WKProcessPoolConfiguration.hstsStorageDirectory"
https://bugs.webkit.org/show_bug.cgi?id=213048
https://trac.webkit.org/changeset/263724

1:20 AM Changeset in webkit [263735] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

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

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
12:19 AM Changeset in webkit [263734] by youenn@apple.com
  • 31 edits
    2 adds in trunk

Add VP9 WebRTC codec runtime flag
https://bugs.webkit.org/show_bug.cgi?id=213724

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Update WebKit binding code to switch on/off VP9 encoder/decoder.
We still use vp9_noop for now, so encoder/decoder is not functional.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Configurations/libwebrtc.xcconfig:
  • Configurations/libwebrtcpcrtc.xcconfig:
  • Source/webrtc/modules/video_coding/codecs/vp9/vp9_noop.cc:
  • Source/webrtc/sdk/WebKit/WebKitDecoder.mm:

(webrtc::createWebKitDecoderFactory):

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

(webrtc::createWebKitEncoderFactory):
(webrtc::setH264HardwareEncoderAllowed):
(webrtc::isH264HardwareEncoderAllowed):

  • Source/webrtc/sdk/WebKit/WebKitUtilities.h:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
  • Source/webrtc/sdk/objc/api/video_codec/RTCVideoDecoderVP9.h:
  • Source/webrtc/sdk/objc/api/video_codec/RTCVideoEncoderVP9.h:
  • Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h:
  • Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:

(-[RTCDefaultVideoDecoderFactory initWithH265:vp9:]):
(-[RTCDefaultVideoDecoderFactory supportedCodecs]):

  • Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.h:
  • Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.m:

(-[RTCDefaultVideoEncoderFactory initWithH265:vp9:]):
(-[RTCDefaultVideoEncoderFactory supportedCodecs]):

  • libwebrtc.xcodeproj/project.pbxproj:

Source/WebCore:

Add binding code to switch on/off VP9 in WebRTC factories based on runtime flag.

Test: webrtc/vp9.html

  • page/Page.cpp:

(WebCore::m_shouldRelaxThirdPartyCookieBlocking):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::webRTCVP9CodecEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebRTCVP9CodecEnabled):

  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:
  • platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:

(WebCore::LibWebRTCProviderCocoa::createDecoderFactory):
(WebCore::LibWebRTCProviderCocoa::createEncoderFactory):

  • testing/Internals.cpp:

(WebCore::Internals::setWebRTCH265Support):
(WebCore::Internals::setWebRTCVP9Support):

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

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:

  • webrtc/h265.html:
  • webrtc/vp9-expected.txt: Added.
  • webrtc/vp9.html: Added.
12:18 AM Changeset in webkit [263733] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Add more OffscreenCanvas flaky failures.

  • platform/glib/TestExpectations:
12:09 AM Changeset in webkit [263732] by Diego Pino Garcia
  • 4 edits in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Move WPE and GTK OffscreenCanvas failures to GLIB.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:

Jun 29, 2020:

11:17 PM Changeset in webkit [263731] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Failures happening in the EWS GTK-WK2 queue.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
10:59 PM Changeset in webkit [263730] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Dump JS output of several canvas tests in stderr.

  • platform/gtk/TestExpectations:
10:56 PM Changeset in webkit [263729] by graouts@webkit.org
  • 6 edits
    2 adds in trunk

[Web Animations] REGRESSION: Bootstrap Carousel component v4.1 regressed with Web Animations
https://bugs.webkit.org/show_bug.cgi?id=213376
<rdar://problem/64531242>

Reviewed by Dean Jackson.

Source/WebCore:

An older version of the Bootstrap CSS and JS library had a rather odd way to implement a completion callback
for a transition: it would register a "transitionend" event but also set a timeout of the transition's duration
and use whichever came first as a callback to run completion tasks for the transition.

Additionally, in that callback, it would set the transitioned value to the same computed value but using a different
specified value, for instance setting the "transform" CSS property to "translateX(0)" instead of "translateY(0)".

In our implementation this would make the completed transition repeat. Indeed, we would first incorrectly assume that
the transition was still "running" and not "finished", per the CSS Transitions spec terminology as we only update
that status when we update animations under Page::updateRendering(). We now update an existing transition's
status first in AnimationTimeline::updateCSSTransitionsForElementAndProperty().

Another issue is that when we considered the existing transition to be running, even though it was finished, we would
use the "timeline time at creation" to compute its current progress, which would yield situations where we computed
the before-change style to be the existing transition's current computed value, except that transition's progress was
0 since the "timeline time at creation" happens before the transition's resolved start time. We now only use the
"timeline time at creation" in the situations it was designed to be used: either when the transition has not yet had
a resolved start time, or its resolved start time is the current timeline time (ie. it was just set).

To be able to compare the transition's resolved start time and the current timeline time, we also updated the internal
start time getter and setter methods to use Seconds instead of double which is only needed for the JS bindings.

Test: webanimations/css-transition-retargeting-to-same-value-upon-completion-with-timeout.html

  • animation/AnimationTimeline.cpp:

(WebCore::AnimationTimeline::updateCSSTransitionsForElementAndProperty):

  • animation/DeclarativeAnimation.cpp:

(WebCore::DeclarativeAnimation::bindingsStartTime const):
(WebCore::DeclarativeAnimation::setBindingsStartTime):

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::bindingsStartTime const):
(WebCore::WebAnimation::setBindingsStartTime):
(WebCore::WebAnimation::setStartTime):
(WebCore::WebAnimation::startTime const): Deleted.

  • animation/WebAnimation.h:

(WebCore::WebAnimation::startTime const):
(WebCore::WebAnimation::bindingsStartTime const): Deleted.

LayoutTests:

Add a test that uses a timeout instead of a "transitionend" event to retarget a transition upon completion
to the same computed value but not the same specified value to check that we generate a transition that has
no visual effect.

  • webanimations/css-transition-retargeting-to-same-value-upon-completion-with-timeout-expected.txt: Added.
  • webanimations/css-transition-retargeting-to-same-value-upon-completion-with-timeout.html: Added.
10:55 PM Changeset in webkit [263728] by Wenson Hsieh
  • 3 edits in trunk/LayoutTests

REGRESSION (r263624): http/tests/quicklook/submit-form-blocked.html fails consistently
https://bugs.webkit.org/show_bug.cgi?id=213767
<rdar://problem/64893698>

Reviewed by Tim Horton.

This test loads a Word document (.docx) in an iframe, and then taps a JavaScript link in the Word document
that creates a new form element and attempts to submit it. The test requires a particular error message to be
logged to the console in order to pass (i.e. "Blocked form submission to '<URL>' because the form's frame is
sandboxed and the 'allow-forms' permission is not set.").

After r263624, this message is no longer logged, because the form element created by the Word document's
JavaScript link is disconnected from the DOM, and so we bail immediately in HTMLFormElement::submit without
ever getting to the security check.

To fix this and make it exercise what it was originally intended to test, we tweak the JavaScript link contained
within the Word document, such that it additionally appends the newly created form element to the document. This
is the modified (percent-decoded) JavaScript URL:

`
(function() {

var form = document.createElement("form");
document.body.appendChild(form);
form.action = "fail.html";
form.innerHTML = '<input type="hidden" name="secret" value="webkit">';
form.submit();

})();
`

This patch simply adds the third line (with the call to document.body.appendChild).

  • http/tests/quicklook/resources/submit-form-blocked.docx:
  • http/tests/quicklook/submit-form-blocked.html:

Make sure we also hit-test to the link in the Word document by making the link much bigger, and adjusting the
touch location offset to match.

10:43 PM Changeset in webkit [263727] by beidson@apple.com
  • 16 edits in trunk

JavaScript cannot be injected into iframes
<rdar://problem/54168946> and https://bugs.webkit.org/show_bug.cgi?id=213556

Reviewed by Geoff Garen.
Source/WebCore:

Covered by API tests.

  • bindings/js/ExceptionDetails.h: Start a collection of "exception types" that will grow quickly, beginning with the specialized "missing frame" type.

Source/WebKit:

This adds a few mechanisms:

  • Allows for WKUserScripts to have a target content world
  • Allows "evaluateJavaScript" and "callAsyncJavaScript" to target a specific frame
  • Allows for the completion handlers of those methods to be able to distinguish failure-due-to-missing-frame.
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ExceptionDetails>::encode):
(IPC::ArgumentCoder<ExceptionDetails>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • UIProcess/API/Cocoa/WKError.h:
  • UIProcess/API/Cocoa/WKError.mm:

(localizedDescriptionForErrorCode):

  • UIProcess/API/Cocoa/WKUserScript.h:
  • UIProcess/API/Cocoa/WKUserScript.mm:

(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:inContentWorld:]):

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView evaluateJavaScript:inFrame:inContentWorld:completionHandler:]):
(-[WKWebView callAsyncJavaScript:arguments:inFrame:inContentWorld:completionHandler:]):
(nsErrorFromExceptionDetails):
(-[WKWebView _evaluateJavaScript:asAsyncFunction:withSourceURL:withArguments:forceUserGesture:inFrame:inWorld:completionHandler:]):
(-[WKWebView callAsyncJavaScript:arguments:inContentWorld:completionHandler:]): Deleted.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScript):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/AsyncFunction.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:

(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:

(TEST):
(-[FramesMessageHandler userContentController:didReceiveScriptMessage:]):

  • TestWebKitAPI/cocoa/TestWKWebView.mm:

(-[WKWebView objectByCallingAsyncFunction:withArguments:error:]):

10:33 PM Changeset in webkit [263726] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed, rolling out an accidental change from r263723.

  • wtf/cf/RunLoopCF.cpp:

(WTF::RunLoop::TimerBase::timerFired):

10:10 PM Changeset in webkit [263725] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Update baseline after r263673.

  • platform/glib/accessibility/aria-hidden-negates-no-visibility-expected.txt:
9:39 PM Changeset in webkit [263724] by commit-queue@webkit.org
  • 24 edits in trunk/Source

Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to replace _WKProcessPoolConfiguration.hstsStorageDirectory
https://bugs.webkit.org/show_bug.cgi?id=213048

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

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

This uses CFNetwork SPI introduced in rdar://problem/50109631 to allow HSTS storage per NSURLSession.
To be complete, I also deprecated our UI process HSTS state removal attempt SPIs, WKContextResetHSTSHosts and
WKContextResetHSTSHostsAddedAfterDate, which had their last use removed in rdar://problem/64220838.

I manually verified that this new SPI puts HSTS data in the specified location, and I also verified that HSTS
state querying and removal works with the new CFNetwork SPI as it did with the old one.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::registrableDomainsWithWebsiteData):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkSessionCreationParameters.cpp:

(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):

  • NetworkProcess/NetworkSessionCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::hostNamesWithHSTSCache const):
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):
(WebKit::NetworkProcess::clearHSTSCache):
(WebKit::NetworkProcess::getHostNamesWithHSTSCache): Deleted.

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::hstsStorage const):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::hostNamesWithHSTSCache const):
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):
(WebKit::NetworkProcess::clearHSTSCache):
(WebKit::NetworkProcess::getHostNamesWithHSTSCache): Deleted.

  • UIProcess/API/C/mac/WKContextPrivateMac.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:

(WKContextResetHSTSHosts):
(WKContextResetHSTSHostsAddedAfterDate):

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:

(-[_WKWebsiteDataStoreConfiguration hstsStorageDirectory]):
(-[_WKWebsiteDataStoreConfiguration setHSTSStorageDirectory:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::privateBrowsingSession): Deleted.
(WebKit::WebProcessPool::resetHSTSHosts): Deleted.
(WebKit::WebProcessPool::resetHSTSHostsAddedAfterDate): Deleted.

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::resolvedHSTSStorageDirectory const):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:

(WebKit::WebsiteDataStoreConfiguration::copy const):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:

Source/WTF:

  • wtf/PlatformHave.h:
9:25 PM Changeset in webkit [263723] by ggaren@apple.com
  • 5 edits in trunk/Source/WTF

[GTK] [Win] Build callOnMainThread on WTF::RunLoop rather than on a timer
https://bugs.webkit.org/show_bug.cgi?id=213694

Reviewed by Carlos Garcia Campos.

As of https://bugs.webkit.org/show_bug.cgi?id=213063, Darwin platforms
use the RunLoop. Let's match them for consistency, and to delete some
code.

  • wtf/generic/MainThreadGeneric.cpp:

(WTF::scheduleDispatchFunctionsOnMainThread):
(WTF::MainThreadDispatcher::MainThreadDispatcher): Deleted.
(WTF::MainThreadDispatcher::schedule): Deleted.
(WTF::MainThreadDispatcher::fired): Deleted.

  • wtf/glib/RunLoopSourcePriority.h:
  • wtf/win/MainThreadWin.cpp:

(WTF::initializeMainThreadPlatform):
(WTF::scheduleDispatchFunctionsOnMainThread):
(WTF::ThreadingWindowWndProc): Deleted.

8:52 PM Changeset in webkit [263722] by weinig@apple.com
  • 5 edits in trunk/Source/WebCore

Convert AppCache manifest parser over to using StringParsingBuffer
https://bugs.webkit.org/show_bug.cgi?id=213680

Reviewed by Darin Adler.

  • Renames parseManifest to parseApplicationCacheManifest to differentiate between the manifest for the application cache and the "application manifest", which is a different thing entirely. Also renames the container struct from being called Manifest to ApplicationCacheManifest. (The file should be renamed as well, but will do that in a seperate pass).
  • Update parser to return an Optional<ApplicationCacheManifest> rather than using bool + out parameter.
  • Adopt readCharactersForParsing to replace unnecessary call to StringView::upconvertedCharacters().
  • Adopt StringParsingBuffer and ParsingUtilities along with some refinements to the code to make the intent more clear.
  • html/parser/ParsingUtilities.h:

(WebCore::skipUntil):
Fix formatting, putting the whole signature on one line.

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
Update for new parser function name and Optional return type.

  • loader/appcache/ManifestParser.cpp:

(WebCore::isManifestWhitespace):
(WebCore::isManifestNewline):
(WebCore::isManifestWhitespaceOrNewline):
(WebCore::makeManifestURL):
(WebCore::parseApplicationCacheManifest):

  • loader/appcache/ManifestParser.h:

Update parsing logic to use readCharactersForParsing (to avoid upconvesion) and rework
using StringParsingBuffer/ParsingUtilities to make things more clear.

8:35 PM Changeset in webkit [263721] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Adopt adjusted symbol image names
https://bugs.webkit.org/show_bug.cgi?id=213768
<rdar://problem/64472257>

Reviewed by Andy Estes.

  • UIProcess/API/Cocoa/_WKElementAction.mm:

(+[_WKElementAction imageForElementActionType:]):

8:04 PM Changeset in webkit [263720] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][TFC] Adjust baseline when the table cell itself establishes an IFC
https://bugs.webkit.org/show_bug.cgi?id=213735

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/layoutformattingcontext/table-cell-baseline-offset-simple2.html

  • layout/tableformatting/TableFormattingContextGeometry.cpp:

(WebCore::Layout::TableFormattingContext::Geometry::usedBaselineForCell):

LayoutTests:

  • fast/layoutformattingcontext/table-cell-baseline-offset-simple2-expected.html: Added.
  • fast/layoutformattingcontext/table-cell-baseline-offset-simple2.html: Added.
7:32 PM Changeset in webkit [263719] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][TFC] Adjust baseline offset for continuation
https://bugs.webkit.org/show_bug.cgi?id=213732

Reviewed by Antti Koivisto.

Source/WebCore:

Skip empty IFC generated for the "pre" part of the continuation (e.g. <span><div>text content</div></span>).

Test: fast/layoutformattingcontext/table-cell-baseline-offset-simple.html

  • layout/tableformatting/TableFormattingContextGeometry.cpp:

(WebCore::Layout::TableFormattingContext::Geometry::usedBaselineForCell):

LayoutTests:

  • fast/layoutformattingcontext/table-cell-baseline-offset-simple-expected.html: Added.
  • fast/layoutformattingcontext/table-cell-baseline-offset-simple.html: Added.
6:59 PM Changeset in webkit [263718] by commit-queue@webkit.org
  • 9 edits in trunk

Adding Experimental Feature Flags for CoreImage backed SVG/CSS Filters
https://bugs.webkit.org/show_bug.cgi?id=213578

Patch by Guowei Yang <guowei_yang@apple.com> on 2020-06-29
.:

Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield.

Preparing to implement CoreImage backed filter rendering
Needs Compiler guards and experimental feature guard.

  • Source/cmake/WebKitFeatures.cmake: added definition of CoreImage-accelerated filter rendering feature flag, ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER

Source/WebCore:

Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield.

Preparing to implement CoreImage backed filter rendering
Needs Compiler guards and experimental feature guard.

No tests are required because this is just a feature flag set up

  • page/Settings.yaml: added default settings for the feature flag. Default value of the feature switch is off

Source/WebKit:

Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield.

Preparing to implement CoreImage backed filter rendering
Needs Compiler guards and experimental feature guard.

  • Shared/WebPreferences.yaml: added feature flag definition

Source/WTF:

Reviewed by Darin Adler, Simon Fraser, Myles C. Maxfield.

Preparing to implement CoreImage backed filter rendering
Needs Compiler guards and experimental feature guard.

  • wtf/PlatformEnableCocoa.h: Added definition of a feature flag, ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER
  • wtf/PlatformUse.h: Added compiler guard #define USE_CORE_IMAGE 1 to indicate whether CoreImage code is visible to the compiler
6:49 PM Changeset in webkit [263717] by stephan.szabo@sony.com
  • 2 edits in trunk/Source/WebCore

Fix build when !ENABLE(ACCESSIBILITY) after r263673
https://bugs.webkit.org/show_bug.cgi?id=213759

Reviewed by Chris Fleizach.

No new tests, build fix.

  • accessibility/AXObjectCache.h:
6:36 PM Changeset in webkit [263716] by Alan Coon
  • 1 copy in tags/Safari-610.1.18.20.2

Tag Safari-610.1.18.20.2.

6:34 PM Changeset in webkit [263715] by Alan Coon
  • 8 edits in branches/safari-610.1.18.20-branch/Source

Versioning.

WebKit-610.1.18.20.2

6:33 PM Changeset in webkit [263714] by Jonathan Bedard
  • 4 edits in trunk/Tools

[TestExpectations] Remove --csv option
https://bugs.webkit.org/show_bug.cgi?id=213762
<rdar://problem/64913762>

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationLine.to_csv): Deleted.

  • Scripts/webkitpy/tool/commands/queries.py:

(PrintExpectations.init): Remove --csv option.
(PrintExpectations._format_lines): Ditto.
(PrintBaselines.init): Ditto.
(PrintBaselines.execute): Ditto.
(PrintBaselines._print_baselines): Ditto.

  • Scripts/webkitpy/tool/commands/queries_unittest.py:

(PrintExpectationsTest.run_test):
(PrintExpectationsTest.test_include):
(PrintBaselinesTest.test_basic):
(PrintBaselinesTest.test_multiple):
(PrintExpectationsTest.test_csv): Deleted.
(PrintBaselinesTest.test_csv): Deleted.

6:32 PM Changeset in webkit [263713] by weinig@apple.com
  • 4 edits in trunk/Source/WebCore

Simplify Color's interface by removing isDark()
https://bugs.webkit.org/show_bug.cgi?id=213707

Reviewed by Darin Adler.

  • Move Color::isDark to RenderThemeIOS.mm, its one client and rename it to useConvexGradient() to indicate what it is actually determining.
  • platform/graphics/Color.cpp:

(WebCore::Color::isDark const): Deleted.

  • platform/graphics/Color.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::useConvexGradient):
(WebCore::RenderThemeIOS::paintPushButtonDecorations):
(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):

6:12 PM Changeset in webkit [263712] by Tadeu Zagallo
  • 1 edit
    46 adds in trunk/PerformanceTests

New API benchmark
https://bugs.webkit.org/show_bug.cgi?id=213750

Reviewed by Saam Barati.

APIBench is a new benchmark suite to measure the performance of the JavaScriptCore API. It has 4 benchmarks:

  • RichardsJS: This is imported from Octane and used as a reference so we know how fast the pure JS implementation runs.
  • RichardsSwift: a Swift port of the benchmark, also used as reference for how fast the pure Swift implementation is.
  • RichardsMostlyJS: As the name suggests, mostly the same the as the JS benchmark, but here the WorkerTask is implemented in Swift. The API is used to write to the packet being processed and talking to the scheduler.
  • RichardsMostlySwift: inverse of the above. Mostly the same code from the Swift benchark, but here the WorkerTask is implemented in JavaScript. The API is used to run the JS version of the task and marshaling the Packet by using JSExport.

The benchmark can be built and run using the api-bench script, as following:

PerformanceTests/APIBench/api-bench WebKitBuild/Release

By default, it will build each of the benchmarks and run 5 iterations.
The score is calculated as 5000 / geomean([avg of RichardsMostlySwift, avg of RichardsMostlyJS]).
The script prints the average for the references and tests and the final score:

Results for /Volumes/Data/wk2/OpenSource/WebKitBuild/Release (5 iterations)
================================================================================

References:


RichardsJS: 14ms
RichardsSwift: 29ms

Tests:


RichardsMostlyJS: 218ms
RichardsMostlySwift: 315ms

Score: 19.0804

  • APIBench/RichardsJS/RichardsJS.js: Added.

(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(WorkerTask):
(WorkerTask.prototype.run):
(WorkerTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):

  • APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj: Added.
  • APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/xcshareddata/xcschemes/RichardsMostlyJS.xcscheme: Added.
  • APIBench/RichardsMostlyJS/RichardsMostlyJS/main.swift: Added.

(run(_:)):
(toString):
(WorkerTask.toString):
(WorkerTask.run(_:)):

  • APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js: Added.

(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj: Added.
  • APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme: Added.
  • APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift: Added.

(DeviceTask.create(_:device:priority:)):
(DeviceTask.run(_:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/HandlerTask.swift: Added.

(HandlerTask.device):
(HandlerTask.create(_:device:priority:queue:)):
(HandlerTask.run(_:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/IdleTask.swift: Added.

(IdleTask.create(_:priority:)):
(IdleTask.run(_:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/Packet.swift: Added.

(Packet.addTo(_:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/Scheduler.swift: Added.

(waitCurrent):
(handle(_:)):
(Scheduler.schedule):
(Scheduler.add(_:)):
(Scheduler.release_(_:)):
(holdCurrent):
(queue(_:)):
(queueImpl(_:packet:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/Task.swift: Added.

(Task.run(_:)):
(Task.release_):
(Task.hold):
(Task.wait):
(Task.resume):
(Task.takePacket):
(Task.checkPriorityAdd(_:packet:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/WorkerTask.swift: Added.

(WorkerTask.create(_:priority:queue:)):
(WorkerTask.run(_:)):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/main.swift: Added.
  • APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.js: Added.

(return.prototype.run):

  • APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.swift: Added.

(runRichards):

  • APIBench/RichardsSwift/RichardsSwift.xcodeproj/project.pbxproj: Added.
  • APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme: Added.
  • APIBench/RichardsSwift/RichardsSwift/DeviceTask.swift: Added.

(DeviceTask.create(_:device:priority:)):
(DeviceTask.run(_:)):

  • APIBench/RichardsSwift/RichardsSwift/HandlerTask.swift: Added.

(HandlerTask.device):
(HandlerTask.create(_:device:priority:queue:)):
(HandlerTask.run(_:)):

  • APIBench/RichardsSwift/RichardsSwift/IdleTask.swift: Added.

(IdleTask.create(_:priority:)):
(IdleTask.run(_:)):

  • APIBench/RichardsSwift/RichardsSwift/Packet.swift: Added.

(Packet.addTo(_:)):

  • APIBench/RichardsSwift/RichardsSwift/Scheduler.swift: Added.

(Scheduler.schedule):
(Scheduler.add(_:)):
(Scheduler.release(_:)):
(holdCurrent):
(waitCurrent):
(queue(_:)):
(handle(_:)):
(queueImpl(_:packet:)):

  • APIBench/RichardsSwift/RichardsSwift/Task.swift: Added.

(Task.run(_:)):
(Task.release):
(Task.hold):
(Task.wait):
(Task.resume):
(Task.takePacket):
(Task.checkPriorityAdd(_:packet:)):

  • APIBench/RichardsSwift/RichardsSwift/WorkerTask.swift: Added.

(WorkerTask.create(_:priority:queue:)):
(WorkerTask.run(_:)):

  • APIBench/RichardsSwift/RichardsSwift/main.swift: Added.
  • APIBench/RichardsSwift/RichardsSwift/richards.swift: Added.

(runRichards):

  • APIBench/api-bench: Added.
6:06 PM Changeset in webkit [263711] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-ui/text-overflow-005.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=175290

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

6:00 PM Changeset in webkit [263710] by Alan Coon
  • 1 copy in tags/Safari-610.1.18.20.1

Tag Safari-610.1.18.20.1.

5:55 PM Changeset in webkit [263709] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for svg/batik/text/textEffect3.svg as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213760

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac/TestExpectations:
4:58 PM Changeset in webkit [263708] by Wenson Hsieh
  • 5 edits in trunk/LayoutTests

[iOS 14] A couple of tests in editing/selection/ios fail after <rdar://problem/60978283>
https://bugs.webkit.org/show_bug.cgi?id=213746
More work towards <rdar://problem/64808138>

Reviewed by Devin Rousso.

The UIKit change in <rdar://problem/60978283> adjusts text interaction behaviors such that a long press gesture
while editing makes a new caret selection, rather than a new word-granularity selection. Tweak a couple of
layout tests in editing/selection/ios that currently assume that long presses while editing will select a word.

  • editing/selection/ios/select-text-in-existing-selection-expected.txt:
  • editing/selection/ios/select-text-in-existing-selection.html:

This test verifies that the selection can be changed by making a long press inside an existing selection.
However, it now fails after the changes in <rdar://problem/60978283> because it expects the selected text to be
"jumped", but instead, the selection ends up being a caret inside the word "jumped". Tweak this test to verify
that the selection anchors' common ancestor node is the text node with the text "jumped" instead, to handle both
possibilities (where a long press selects a word vs. sets a caret selection).

  • editing/selection/ios/selection-extends-into-overflow-area.html:

This test verifies the position and size of a ranged selection made inside content that visibly overflows its
parent container. It now fails because it tries to long press the word to make a selection; instead, use a
double tap gesture to make the word selection.

  • resources/ui-helper.js:

(window.UIHelper.doubleTapElement):

Add a new helper method that double taps in the middle of the given element.

(window.UIHelper.callFunctionAndWaitForEvent):

Adjust this helper method to wait for the given function to resolve, if the given function returns a Promise.

4:32 PM Changeset in webkit [263707] by Peng Liu
  • 10 edits
    2 adds in trunk

Video spills over PiP screen a little when using Picture in Picture
https://bugs.webkit.org/show_bug.cgi?id=213658

Reviewed by Eric Carlson.

Source/WebCore:

We need to provide video content dimensions instead of video element sizes to
AVPlayerController to make sure that the Picture-in-Picture window will have
the correct aspect ratio.

Test: media/picture-in-picture/picture-in-picture-window-aspect-ratio.html

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

(VideoFullscreenInterfaceAVKit::setupFullscreen):

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(VideoFullscreenControllerContext::setUpFullscreen):

Source/WebKit:

Add the video content dimensions to the IPC message VideoFullscreenManagerProxy::SetupFullscreenWithID.

  • UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
  • UIProcess/Cocoa/VideoFullscreenManagerProxy.messages.in:
  • UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:

(WebKit::VideoFullscreenManagerProxy::setupFullscreenWithID):
(WebKit::VideoFullscreenManagerProxy::setVideoDimensions):
(WebKit::VideoFullscreenManagerProxy::enterFullscreen):

  • WebProcess/cocoa/VideoFullscreenManager.mm:

(WebKit::VideoFullscreenManager::enterVideoFullscreenForVideoElement):

LayoutTests:

  • media/picture-in-picture/picture-in-picture-window-aspect-ratio-expected.txt: Added.
  • media/picture-in-picture/picture-in-picture-window-aspect-ratio.html: Added.
4:31 PM Changeset in webkit [263706] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for svg/W3C-SVG-1.1/fonts-elem-01-t.svg and svg/W3C-SVG-1.1/fonts-elem-02-t.svg and svg/W3C-SVG-1.1/fonts-elem-03-b.svg and svg/W3C-SVG-1.1/fonts-elem-07-b.svg as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=188729

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac/TestExpectations:
3:55 PM Changeset in webkit [263705] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r262004.
<rdar://problem/64540215>

Revert r262004 as it is not OK to have a data vault in
TMPDIR.

Reverted changeset:

"[WK2] WebKit abandons compiled sandbox profiles"
https://bugs.webkit.org/show_bug.cgi?id=212177
https://trac.webkit.org/changeset/262004

3:50 PM Changeset in webkit [263704] by Alan Coon
  • 2 edits in branches/safari-610.1.18.20-branch/Source/WebKit

Cherry-pick r263699. rdar://problem/64707000

[iOS] Temporarily open up sandbox for mapping of Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=213756
<rdar://problem/64707000>

Reviewed by Brent Fulgham.

Address review comments.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

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

3:50 PM Changeset in webkit [263703] by Alan Coon
  • 2 edits in branches/safari-610.1.18.20-branch/Source/WebKit

Cherry-pick r263698. rdar://problem/64707000

[iOS] Temporarily open up sandbox for mapping of Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=213756
<rdar://problem/64707000>

Reviewed by Brent Fulgham.

Temporarily open up sandbox for mapping of Launch Services database in the WebContent process on iOS.
This is just a short term fix, and access to the service will be closed again soon.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

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

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

Remove expectation for media/media-source/media-source-abort-resets-parser.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=213755

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac/TestExpectations:
3:42 PM Changeset in webkit [263701] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[iOS] webanimations/accelerated-animation-with-easing.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=213758

Unreviewed test gardening.

  • platform/ios/TestExpectations: Mark test as flaky to speed up EWS.
3:40 PM Changeset in webkit [263700] by commit-queue@webkit.org
  • 69 edits in trunk

Remove ENABLE_STREAMS_API compilation flag
https://bugs.webkit.org/show_bug.cgi?id=213728

Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-06-29
Reviewed by Sam Weinig.

.:

  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/OptionsWin.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmake/tools/vsprops/FeatureDefines.props:

Source/JavaScriptCore:

test cases under Scripts/tests/builtins/ does not uses
this removed compilation flag. So we don't have to touch them in this change.

But they are confusable so I plan to fix them in bug 213733.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • Modules/fetch/FetchBody.cpp:
  • Modules/fetch/FetchBody.h:
  • Modules/fetch/FetchBodyOwner.cpp:

(WebCore::FetchBodyOwner::isDisturbed const):
(WebCore::FetchBodyOwner::isDisturbedOrLocked const):
(WebCore::FetchBodyOwner::blobLoadingSucceeded):
(WebCore::FetchBodyOwner::blobLoadingFailed):
(WebCore::FetchBodyOwner::blobChunk):

  • Modules/fetch/FetchBodyOwner.h:

(WebCore::FetchBodyOwner::cancel):

  • Modules/fetch/FetchBodySource.cpp:
  • Modules/fetch/FetchBodySource.h:
  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::BodyLoader::didSucceed):
(WebCore::FetchResponse::BodyLoader::didFail):
(WebCore::FetchResponse::BodyLoader::didReceiveData):

  • Modules/fetch/FetchResponse.h:
  • Modules/streams/ByteLengthQueuingStrategy.idl:
  • Modules/streams/ByteLengthQueuingStrategy.js:
  • Modules/streams/CountQueuingStrategy.idl:
  • Modules/streams/CountQueuingStrategy.js:
  • Modules/streams/ReadableByteStreamController.idl:
  • Modules/streams/ReadableByteStreamController.js:
  • Modules/streams/ReadableByteStreamInternals.js:
  • Modules/streams/ReadableStream.idl:
  • Modules/streams/ReadableStream.js:
  • Modules/streams/ReadableStreamBYOBReader.idl:
  • Modules/streams/ReadableStreamBYOBReader.js:
  • Modules/streams/ReadableStreamBYOBRequest.idl:
  • Modules/streams/ReadableStreamBYOBRequest.js:
  • Modules/streams/ReadableStreamDefaultController.idl:
  • Modules/streams/ReadableStreamDefaultController.js:
  • Modules/streams/ReadableStreamDefaultReader.idl:
  • Modules/streams/ReadableStreamDefaultReader.js:
  • Modules/streams/ReadableStreamInternals.js:
  • Modules/streams/ReadableStreamSink.cpp:
  • Modules/streams/ReadableStreamSink.h:
  • Modules/streams/ReadableStreamSink.idl:
  • Modules/streams/ReadableStreamSource.cpp:
  • Modules/streams/ReadableStreamSource.h:
  • Modules/streams/ReadableStreamSource.idl:
  • Modules/streams/StreamInternals.js:
  • Modules/streams/WritableStream.idl:
  • Modules/streams/WritableStream.js:
  • Modules/streams/WritableStreamInternals.js:
  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::isReadableByteStreamAPIEnabled):
(WebCore::JSDOMGlobalObject::addBuiltinGlobals):

  • bindings/js/JSReadableStreamSourceCustom.cpp:
  • bindings/js/ReadableStreamDefaultController.cpp:
  • bindings/js/ReadableStreamDefaultController.h:
  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::writableStreamAPIEnabled const):

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

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/WebPreferences.yaml:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WTF:

  • wtf/PlatformEnable.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3:31 PM Changeset in webkit [263699] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Temporarily open up sandbox for mapping of Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=213756
<rdar://problem/64707000>

Reviewed by Brent Fulgham.

Address review comments.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
3:25 PM Changeset in webkit [263698] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Temporarily open up sandbox for mapping of Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=213756
<rdar://problem/64707000>

Reviewed by Brent Fulgham.

Temporarily open up sandbox for mapping of Launch Services database in the WebContent process on iOS.
This is just a short term fix, and access to the service will be closed again soon.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
3:22 PM WebInspectorCodingStyleGuide edited by Devin Rousso
(diff)
2:42 PM Changeset in webkit [263697] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for media/fullscreen-api-enabled-media-with-presentation-mode.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=172998

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac-wk2/TestExpectations:
2:41 PM Changeset in webkit [263696] by Chris Dumez
  • 4 edits in trunk/Source/WebKit

Unreviewed, rebaseline messages.py tests.

  • Scripts/MessageNames.cpp:

(IPC::description):
(IPC::receiverName):
(IPC::isValidMessageName):

  • Scripts/MessageNames.h:

(WTF::isValidEnum):

  • Scripts/test-superclassMessagesReplies.h:
2:39 PM Changeset in webkit [263695] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebKit

Crash in NetworkProcessProxy::getNetworkProcessConnection() lambda due to missing Optional<> value check
<https://webkit.org/b/213700>
<rdar://problem/64852903>

Reviewed by Darin Adler.

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::getGPUProcessConnection):

  • Rename connectionIdentifier to identifier.
  • Return early from the lamba if identifier does not contain a value.
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::getNetworkProcessConnection):

  • Ditto.
2:38 PM Changeset in webkit [263694] by Alan Coon
  • 1 copy in tags/Safari-610.1.18.4

Tag Safari-610.1.18.4.

2:26 PM Changeset in webkit [263693] by Wenson Hsieh
  • 4 edits in trunk

[iOS] editing/selection/ios/select-text-after-changing-focus.html sometimes fails
https://bugs.webkit.org/show_bug.cgi?id=213745
Work towards <rdar://problem/64808138>

Reviewed by Tim Horton.

Source/WebKit:

This test first taps an input field to focus it, taps a button below the input field to focus the button and
dismiss the keyboard, and finally long presses to select a word below the button. On recent iOS 14 builds, this
test occasionally fails due to recent changes in UIKit that may cause the callout bar appearance callback to
fire after focusing the input field. If this happens, we end up showing the callout bar with a single option to
"Select All" (despite the field being empty), and the subsequent tap that's intended to hit the button instead
hit-tests to this callout bar item. The tests subsequently times out waiting for the keyboard to dismiss, which
never happens because the input field remains focused.

Showing the "Select All" callout bar option in empty text fields is inconsistent with the rest of the platform
(iOS), and appears to have been unintentionally introduced in iOS 12 by <https://trac.webkit.org/r231726>. While
it's still unknown which exact system changes caused this test to begin timing out, we can at least fix it by
addressing this existing regression in behavior.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView canPerformActionForWebView:withSender:]):

Check -hasContent here, instead of just checking if the selection is a caret. Note that we don't need to check
whether the selection is none separately, since -hasContent will always return NO if there is no selection.

Tools:

See WebKit/ChangeLog for more details. If this test happens to be run after another test that has written
something to the pasteboard, it will still fail due to the callout menu showing up with the option to paste.
Mitigate this by clearing the contents of the system pasteboard between tests, such that content copied from
previous tests doesn't change the behavior of subsequent tests.

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformResetStateToConsistentValues):

2:12 PM Changeset in webkit [263692] by Russell Epstein
  • 1 copy in tags/Safari-610.1.15.52.2

Tag Safari-610.1.15.52.2.

1:56 PM Changeset in webkit [263691] by Russell Epstein
  • 8 edits in branches/safari-610.1.15.52-branch/Source

Versioning.

WebKit-610.1.15.52.2

1:51 PM Changeset in webkit [263690] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-elements-filter.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=177319

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac/TestExpectations:
1:48 PM Changeset in webkit [263689] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/webrtc/getstats.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=172521

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

1:31 PM Changeset in webkit [263688] by weinig@apple.com
  • 25 edits in trunk/Source

Remove remaining makeSimpleColorFrom* variants
https://bugs.webkit.org/show_bug.cgi?id=213706

Reviewed by Darin Adler.

Source/WebCore:

Removed makeSimpleColorFromFloats and makeSimpleColorFromCMYKA.

  • Updated callers that need to pass floats to use makeSimpleColor(SRGBA { ... });
  • Updated callers that don't need to pass floats, mostly compile time constant SimpleColors to use makeSimpleColor(...), passing in 0-255 based component values.
  • Updated callers of makeSimpleColorFromCMYKA to use makeSimpleColor(toSRGBA(CMYKA { ... })). This required adding CMYKA type to ColorTypes.h and moving conversion SRGBA to ColorUtilities with the other color conversion code.
  • Added deduction guides for color types to allow component type deduction. This allows us to write:

function(SRGBA { redFloat, greenFloat, blueFloat, alphaFloat })

reather than the more cumbersome:

function(SRGBA<float> { redFloat, greenFloat, blueFloat, alphaFloat })

  • Added operator==/operator!= for each color type. Only used by CMYKA at the moment, but generally useful, so added for all of them. For all types convertable to ColorComponents, the implementation uses the conversion to ColorComponents to avoid redundancy.
  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::setStrokeColor):
(WebCore::CanvasRenderingContext2DBase::setFillColor):
Update to call new typed color based CanvasStyle functions.
(WebCore::CanvasRenderingContext2DBase::setShadow):
Use makeSimpleColor rather than makeSimpleColorFromFloats/makeSimpleColorFromCMYKA.

  • html/canvas/CanvasStyle.cpp:

(WebCore::CanvasStyle::CanvasStyle):
Replace constructors taking raw floats with ones taking typed colors (SRGBA<float>/CMYKA<float>)
to make it more clear what the parameters mean.
(WebCore::CanvasStyle::isEquivalentColor const):
Compare the cmyka components using new operator== implementation for CMYKA<float>.
(WebCore::CanvasStyle::isEquivalent const):
(WebCore::CanvasStyle::isEquivalentRGBA const): Deleted.
(WebCore::CanvasStyle::isEquivalentCMYKA const): Deleted.
Replace isEquivalentRGBA/isEquivalentCMYKA with overloaded isEquivalent.
(WebCore::CanvasStyle::applyStrokeColor const):
(WebCore::CanvasStyle::applyFillColor const):
Update for new names of CMYKA members.

  • html/canvas/CanvasStyle.h:

Use SRGBA<float> and CMYKA<float> to simplify interfaces

  • page/DebugPageOverlays.cpp:
  • page/linux/ResourceUsageOverlayLinux.cpp:

(WebCore::ResourceUsageOverlay::platformInitialize):
Use makeSimpleColor rather than makeSimpleColorFromFloats, allowing for
constant expression creation of SimpleColors.

  • platform/graphics/Color.cpp:

(WebCore::Color::lightened const):
(WebCore::Color::darkened const):
Use makeSimpleColor(SRGBA { ... }) rather than makeSimpleColorFromFloats.

(WebCore::Color::luminance const):
Fix comment.

(WebCore::blendWithoutPremultiply):
Use makeSimpleColor(...) rather than makeSimpleColorFromFloats.

  • platform/graphics/ColorTypes.h:

(WebCore::operator==):
(WebCore::operator!=):

  • Add deduction guides and operator==/operator!= for each color type.
  • Add CMYKA type. No conversion to ColorComponents yet, as ColorComponents only works with 4 component colors, not ones with 5 like CMYKA.
  • platform/graphics/ColorUtilities.cpp:

(WebCore::toSRGBA):
Move conversion from CMYKA to SRGBA from makeSimpleColorFromCMYKA to here.

  • platform/graphics/ColorUtilities.h:

(WebCore::convertPrescaledToComponentByte):
(WebCore::convertToComponentByte):
Use std::round rather than std::lroundf, since it will have the same result
and it reads nicer.

  • platform/graphics/SimpleColor.cpp:

(WebCore::makeSimpleColorFromCMYKA): Deleted.

  • platform/graphics/SimpleColor.h:

(WebCore::makeSimpleColor):
(WebCore::makeSimpleColorFromFloats): Deleted.

  • Removed makeSimpleColorFromFloats and makeSimpleColorFromCMYKA.
  • Added constexpr overload of makeSimpleColor taking a const SRGBA<uint8_t>&.
  • Fixed forward declaration of makeSimpleColor that was taking ColorComponents to actually take an SRGBA<float>, which is what the inline implementation actually takes.
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::makeSimpleColorFromARGBCFArray):

  • platform/graphics/cairo/GradientCairo.cpp:

(WebCore::interpolateColorStop):

  • platform/graphics/cg/ColorCG.cpp:

(WebCore::makeSimpleColorFromCGColor):

  • platform/graphics/win/PlatformContextDirect2D.cpp:

(WebCore::PlatformContextDirect2D::brushWithColor):
Use makeSimpleColor(SRGBA { ... }) rather than makeSimpleColorFromFloats.

  • platform/graphics/mac/ColorMac.mm:

(WebCore::makeSimpleColorFromNSColor):

  • platform/ios/ColorIOS.mm:

(WebCore::colorFromUIColor):
Use makeSimpleColor(SRGBA { ... }) rather than makeSimpleColorFromFloats. Casting to
float is needed, as the input types are CGFloat which is double in 64-bit environments
and won't automatically narrow with the new types.

  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::colorForGridTileBorder const):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::beginTransparencyLayers):
Use makeSimpleColor rather than makeSimpleColorFromFloats, allowing for
constant expression creation of SimpleColors.

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSystemPreviewBadge):
Use Color::black/Color::white.colorWithAlpha(...) rather than makeSimpleColorFromFloats,
allowing for constant expression creation of SimpleColors.

Source/WebKit:

  • UIProcess/API/wpe/WebKitColor.cpp:

(webkitColorToWebCoreColor):
Use makeSimpleColor(SRGBA { ... }) rather than makeSimpleColorFromFloats.

  • WebProcess/Inspector/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::showPaintRect):

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::drawRect):
Use makeSimpleColor rather than makeSimpleColorFromFloats, allowing for
constant expression creation of SimpleColors.

1:24 PM Changeset in webkit [263687] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-values/ch-unit-004.html and imported/w3c/web-platform-tests/css/css-values/ch-unit-012.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=203333

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

1:18 PM Changeset in webkit [263686] by Alan Coon
  • 5 edits in branches/safari-610.1.18.20-branch

Cherry-pick r263630. rdar://problem/64903618

Revert r262654 because it caused <rdar://problem/64664156>.
Moreover it is no longer necessary as the embedding client
changes selection through a different SPI after focusing.

Source/WebKit:

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView cleanUpInteraction]): (-[WKContentView _didCommitLoadForMainFrame]): (-[WKContentView _focusTextInputContext:placeCaretAt:completionHandler:]):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm: (TestWebKitAPI::TEST):

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

1:15 PM Changeset in webkit [263685] by Alan Coon
  • 8 edits in branches/safari-610.1.18.20-branch/Source

Versioning.

WebKit-610.1.18.20.1

1:09 PM Changeset in webkit [263684] by Fujii Hironori
  • 2 edits in trunk/Tools

[Win] run-webkit-tests is failing to run DRT and WTR without --architecture x86_64
https://bugs.webkit.org/show_bug.cgi?id=213688

Reviewed by Jonathan Bedard.

  • Scripts/webkitpy/port/win.py:

(WinPort._port_flag_for_scripts):
(WinPort._build_path):
(WinPort._ntsd_location):
Replaced self.get_option('architecture') with self.architecture().

1:05 PM Changeset in webkit [263683] by Alan Coon
  • 1 copy in branches/safari-610.1.18.20-branch

New branch.

12:56 PM Changeset in webkit [263682] by Russell Epstein
  • 1 copy in branches/safari-610.1.20-branch

New branch.

12:38 PM Changeset in webkit [263681] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-010.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213737

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac/TestExpectations:
12:28 PM Changeset in webkit [263680] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-ui/outline-019.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=175288

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

12:15 PM Changeset in webkit [263679] by Russell Epstein
  • 1 copy in tags/Safari-610.1.18.3.2

Tag Safari-610.1.18.3.2.

12:12 PM Changeset in webkit [263678] by Alan Coon
  • 4 edits in branches/safari-610.1.18-branch/Source/ThirdParty/libwebrtc

Cherry-pick r263375. rdar://problem/64901603

libwebrtc fails to build on arm64
https://bugs.webkit.org/show_bug.cgi?id=213476

Reviewed by Maciej Stachowiak.

  • Configurations/libvpx.xcconfig:
  • Configurations/libwebrtc.xcconfig:
  • Configurations/opus.xcconfig: Use architecture conditionals instead of SDK conditionals for code that is architecture-dependent.

Remove an macOS-version-dependent definition of EXCLUDED_SOURCE_FILE_NAMES
which is no longer used after r232665.

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

12:11 PM Changeset in webkit [263677] by Alan Coon
  • 8 edits in branches/safari-610.1.18-branch/Source

Versioning.

WebKit-610.1.18.4

12:11 PM Changeset in webkit [263676] by Russell Epstein
  • 2 edits in branches/safari-610.1.18.3-branch/Source/WebKit

Cherry-pick r263462. rdar://problem/64897984

Fix the build once RBSProcessLimitations.h is introduced
https://bugs.webkit.org/show_bug.cgi?id=213562

Reviewed by Wenson Hsieh.

  • Platform/spi/ios/RunningBoardServicesSPI.h: We can't forward-declare Objective-C SPI if it actually exists without inspiring duplicate definition errors.

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

12:08 PM Changeset in webkit [263675] by Russell Epstein
  • 8 edits in branches/safari-610.1.18.3-branch/Source

Versioning.

WebKit-610.1.18.3.2

12:07 PM Changeset in webkit [263674] by keith_miller@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

ConservativeRoots should mark any cell it finds an interior pointer to
https://bugs.webkit.org/show_bug.cgi?id=213686

Reviewed by Yusuke Suzuki.

Currently, if ConserativeRoots finds an interior pointer to a cell
it will only mark that cell if it's a butterfly of some
kind. However, this can cause problems if the C++ or B3 compilers
pre-compute the offset of some cell member they want to load from
after a call. If this happens and that interior pointer is the
only reference to the cell it can get collected while it is still
"alive".

A naive patch that doesn't return from
findGCObjectPointersForMarking after finding a live non-interior,
non-butterfly cell was a 2% regression on Speedometer2 and
JetStream2. So, this patch immediately returns after
marking some non-butterfly cell, which appears to have fixed the
regression locally. Given this was such a big regression (likely
from running MarkedBlock::isLive) more than once there's possibly
an optimization opportunity here. I filed
https://bugs.webkit.org/show_bug.cgi?id=213687 to investigate
further.

  • heap/HeapCell.cpp:

(WTF::printInternal):

  • heap/HeapCell.h:

(JSC::isJSCellKind):
(JSC::mayHaveIndexingHeader):
(JSC::hasInteriorPointers): Deleted.

  • heap/HeapUtil.h:

(JSC::HeapUtil::findGCObjectPointersForMarking):

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::appendJSCellOrAuxiliary):

  • runtime/VM.cpp:

(JSC::VM::VM):

11:54 AM Changeset in webkit [263673] by Chris Fleizach
  • 9 edits
    2 adds in trunk

AX: aria-modal nodes wrapped in aria-hidden are not honored
https://bugs.webkit.org/show_bug.cgi?id=212849
<rdar://problem/64047019>

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: accessibility/aria-modal-in-aria-hidden.html

If aria-modal was wrapped inside aria-hidden, we were still processing that as the modal node.
Fixing that uncovered a host of very finicky issues related to aria-modal.

  1. We were processing modal status immediately instead of after a delay, so visibility requirements were not correct.
  2. In handleModalChange: We were processing multiple modal nodes perhaps incorrectly (the spec doesn't account for multiple modal nodes).
    • had to update a test to turn off modal status before adding a new modal node
  3. Changed the modal node to a WeakPtr
  4. In isNodeAriaVisible: We stopped processing for visibile with aria-hidden as soon as we hit a renderable block, but that means it won't account for nodes higher in the tree with aria-hidden.
  5. In handleAttributeChange: if aria-hidden changes, we should update modal status if needed.
  6. In focusModalNodeTimerFired: we need to verify the element is still live, otherwise it can lead to a crash.
  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::findModalNodes):
(WebCore::AXObjectCache::currentModalNode):
(WebCore::AXObjectCache::modalNode):
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::deferModalChange):
(WebCore::AXObjectCache::focusModalNodeTimerFired):
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::handleModalChange):
(WebCore::AXObjectCache::prepareForDocumentDestruction):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
(WebCore::isNodeAriaVisible):

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::handleModalChange):
(WebCore::AXObjectCache::deferModalChange):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::firstChild const):
(WebCore::AccessibilityRenderObject::lastChild const):

LayoutTests:

  • accessibility/aria-hidden-negates-no-visibility-expected.txt:
  • accessibility/aria-hidden-negates-no-visibility.html:
  • accessibility/aria-modal-in-aria-hidden-expected.txt: Added.
  • accessibility/aria-modal-in-aria-hidden.html: Added.
  • accessibility/aria-modal.html:
  • accessibility/mac/aria-modal-auto-focus.html:
11:48 AM Changeset in webkit [263672] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-transitions/before-load-001.html as it is passing.
https://bugs.webkit.org/show_bug.cgi?id=203416

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

  • platform/mac/TestExpectations:
11:32 AM Changeset in webkit [263671] by youenn@apple.com
  • 7 edits in trunk

Support MediaRecorder.onstart
https://bugs.webkit.org/show_bug.cgi?id=213720

Reviewed by Darin Adler.

Source/WebCore:

Fire start event if MediaRecorder.start is successful.
Do some WebIDL clean-up, in particular change timeSlice from long to unsigned long, as per spec.
Covered by added test.

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::startRecording):

  • Modules/mediarecorder/MediaRecorder.h:
  • Modules/mediarecorder/MediaRecorder.idl:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice-expected.txt:
  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html:
11:27 AM Changeset in webkit [263670] by youenn@apple.com
  • 5 edits in trunk/Source/WebKit

Send WebRTC packets received from network process to web process from a background thread
https://bugs.webkit.org/show_bug.cgi?id=213548

Reviewed by Eric Carlson.

Make LibWebRTCSocketClient take a ref to an IPC connection at creation time.
Use this connection from the RTC network thread to send received packets to improve performances.
Covered by existing tests.

  • NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:

(WebKit::LibWebRTCSocketClient::LibWebRTCSocketClient):
(WebKit::LibWebRTCSocketClient::signalReadPacket):
(WebKit::LibWebRTCSocketClient::signalSentPacket):
(WebKit::LibWebRTCSocketClient::signalAddressReady):
(WebKit::LibWebRTCSocketClient::signalConnect):
(WebKit::LibWebRTCSocketClient::signalClose):

  • NetworkProcess/webrtc/LibWebRTCSocketClient.h:
  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::createSocket):
(WebKit::NetworkRTCProvider::createUDPSocket):
(WebKit::NetworkRTCProvider::createServerTCPSocket):
(WebKit::NetworkRTCProvider::createClientTCPSocket):
(WebKit::NetworkRTCProvider::wrapNewTCPConnection):

  • NetworkProcess/webrtc/NetworkRTCProvider.h:
11:08 AM Changeset in webkit [263669] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-scoping/stylesheet-title-001.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213736

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

10:53 AM Changeset in webkit [263668] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Garden tests failing on the EWS GTK-WK2 queue.

  • platform/gtk/TestExpectations:
10:51 AM Changeset in webkit [263667] by Ryan Haddad
  • 1 edit
    2 adds in trunk/LayoutTests

REGRESSION(r263626): 2 imported/w3c/web-platform-tests/cors/ tests failing constantly
https://bugs.webkit.org/show_bug.cgi?id=213729

Unreviewed test gardening.

Add baselines for Mojave.

  • platform/mac-mojave/imported/w3c/web-platform-tests/cors/credentials-flag-expected.txt: Added.
  • platform/mac-mojave/imported/w3c/web-platform-tests/cors/origin-expected.txt: Added.
10:30 AM Changeset in webkit [263666] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-lists/counter-increment-inside-display-contents.html and imported/w3c/web-platform-tests/css/css-lists/counter-reset-inside-display-contents.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213734

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

10:23 AM Changeset in webkit [263665] by ysuzuki@apple.com
  • 7 edits
    1 copy in trunk/Source/WTF

[WTF] Add more StringView / ASCIILiteral helper functions and add ICUDeleter
https://bugs.webkit.org/show_bug.cgi?id=209774

Reviewed by Ross Kirsling and Darin Adler.

Add ICUDeleter for cleaner ICU object deletion.
Add ICU::majorVersion and ICU::minorVersion to switch the skeleton string in Intl.NumberFormat.
Add more features for ASCIILiteral.

This patch is part of https://bugs.webkit.org/show_bug.cgi?id=209774. I land it separately from
Intl.NumberFormat change to unlock the further Intl implementations using ICUDeleter.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/text/ASCIILiteral.h:
  • wtf/text/StringView.cpp:

(WTF::codePointCompare):

  • wtf/text/StringView.h:

(WTF::StringView::StringView):

  • wtf/unicode/icu/ICUHelpers.cpp: Copied from Source/WTF/wtf/text/ASCIILiteral.h.

(WTF::ICU::version):
(WTF::ICU::majorVersion):
(WTF::ICU::minorVersion):

  • wtf/unicode/icu/ICUHelpers.h:

(WTF::ICUDeleter::operator()):

10:21 AM Changeset in webkit [263664] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/css/css-display/display-contents-button.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213731

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

9:37 AM Changeset in webkit [263663] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/web-platform-tests/cors/preflight-failure.htm and imported/w3c/web-platform-tests/cors/status-async.htm as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213730

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-29

9:32 AM Changeset in webkit [263662] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

On load from back/forward cache, call checkCompleted() for ALL frames inside FrameLoader::commitProvisionalLoad()
https://bugs.webkit.org/show_bug.cgi?id=213657

Reviewed by Youenn Fablet.

On load from back/forward cache, call checkCompleted() for ALL frames inside FrameLoader::commitProvisionalLoad().
Previously, we were doing it for the main frame in FrameLoader::commitProvisionalLoad() and for subframes in
FrameLoader::open(). Doing it all in one place results in more understandable code and is less error-prone.

Note that calling checkCompleted() for subframes was new in r262221 and is covered by:
fast/history/multiple-back-forward-navigations.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::open):

7:38 AM Changeset in webkit [263661] by Chris Dumez
  • 3 edits in trunk/LayoutTests/imported/w3c

REGRESSION(r263626): 2 imported/w3c/web-platform-tests/cors/ tests failing constantly
https://bugs.webkit.org/show_bug.cgi?id=213729

Unreviewed, rebaseline a couple of cors tests after upstream resync in r263626.

  • web-platform-tests/cors/credentials-flag-expected.txt:
  • web-platform-tests/cors/origin-expected.txt:
7:22 AM Changeset in webkit [263660] by Jonathan Bedard
  • 2 edits in trunk/Tools

run-javascriptcore-tests: Support Apple Silicon running x86 processes
https://bugs.webkit.org/show_bug.cgi?id=213487
<rdar://problem/64606667>

Unreviewed infrastructure fix.

  • Scripts/webkitdirs.pm:

(architecturesForProducts): Return architecutre(), not determineArchitecture().

5:15 AM Changeset in webkit [263659] by svillar@igalia.com
  • 8 edits in trunk

[css-flexbox] WebKit mistakenly lets pointer events (click/hover/etc) pass through flex items, if they have negative margin
https://bugs.webkit.org/show_bug.cgi?id=185771

Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-flexbox/hittest-overlapping-margin-expected.txt: Replaced FAIL by PASS expectation.
  • web-platform-tests/css/css-flexbox/hittest-overlapping-order-expected.txt: Ditto.

Source/WebCore:

When multiple child elements of a flexbox overlap (for example, due to negative margins), the element drawn in the
foreground may not actually capture the hit if the element underneath it is hit-tested despite being occluded.
This is because painting of flexbox children is done in order modified document order instead of raw document order.

In order to achieve this we should inspect flex items in reverse order modified document order. As the OrderIterator
cannot go backwards, we cache the reverse order of items when doing the layout in order to have fast hit testing in
flexbox containers.

As this behaviour is different to the one implemented in RenderBlock a new virtual method to perform hit testing of children
was extracted from RenderBlock:nodeAtPoint() to a new method called RenderBlock::hitTestChildren. The RenderBlock
implementation is identical to the current one but flexbox containers overwrite it.

Two WPT flexbox hittests are passing now thanks to this patch.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::hitTestChildren): Implementation of the new virtual method extracted from nodeAtPoint.
(WebCore::RenderBlock::nodeAtPoint): Moved code to hit test children to hitTestChildren()

  • rendering/RenderBlock.h: Added hitTestChildren new virtual method.
  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::hitTestChildren): Implemented.
(WebCore::RenderFlexibleBox::layoutFlexItems): Cache the reverse of the order iterator to be used by hit testing.

  • rendering/RenderFlexibleBox.h: Added hitTestChildren.
5:06 AM Changeset in webkit [263658] by calvaris@igalia.com
  • 7 edits in trunk

[GStreamer] imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately.https.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=213385

Reviewed by Philippe Normand.

Source/WebCore:

Add a way to release the decryption resources when the player
private is destroyed. That way we can release the secure memory
allocated by libgcrypt and allow for more tests to get, which
caused the crash.

Tests: imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately.https.html.

  • platform/encryptedmedia/CDMProxy.h:

(WebCore::CDMProxy::releaseDecryptionResources):
(WebCore::CDMInstanceSessionProxy::releaseDecryptionResources):
(WebCore::CDMInstanceProxy::releaseDecryptionResources):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):

  • platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp:

(WebCore::CDMProxyClearKey::~CDMProxyClearKey):
(WebCore::CDMProxyClearKey::releaseDecryptionResources):
(WebCore::CDMProxyClearKey::closeGCryptHandle):

  • platform/graphics/gstreamer/eme/CDMProxyClearKey.h:

LayoutTests:

  • platform/glib/TestExpectations: Removed test from expectations.
5:06 AM Changeset in webkit [263657] by calvaris@igalia.com
  • 3 edits
    1 add in trunk

[webkitpy] PHP7.4 support on Debian platforms
https://bugs.webkit.org/show_bug.cgi?id=213721

Reviewed by Carlos Garcia Campos.

Tools:

  • Scripts/webkitpy/port/base.py:

(Port._debian_php_version):

LayoutTests:

  • http/conf/debian-httpd-2.4-php7.4.conf: Added.
4:50 AM Changeset in webkit [263656] by aboya@igalia.com
  • 9 edits
    2 moves in trunk/Source/WebCore

[MSE][GStreamer] Rename MediaSourceGStreamer to MediaSourcePrivateGStreamer
https://bugs.webkit.org/show_bug.cgi?id=213722

Reviewed by Xabier Rodriguez-Calvar.

It's about time to remove this FIXME:

FIXME: Should this be called MediaSourcePrivateGStreamer?

Yes, it should. Because it's a MediaSourcePrivate, and that is an
important fact. The MSE class diagram is confusing enough already,
let's fix this.

To rebase commits after this change use git format-patch first to
get them in a patch format and then run:

sed -i 's|\<MediaSourceGStreamer\>|MediaSourcePrivateGStreamer|g' *.patch

This patch is a refactor that produces no behavior changes.

  • platform/GStreamer.cmake:
  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:

(WebCore::MediaPlayerPrivateGStreamerMSE::sourceSetup):

  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
  • platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.h:
  • platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.cpp: Renamed from Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceGStreamer.cpp.

(WebCore::MediaSourcePrivateGStreamer::open):
(WebCore::MediaSourcePrivateGStreamer::MediaSourcePrivateGStreamer):
(WebCore::MediaSourcePrivateGStreamer::~MediaSourcePrivateGStreamer):
(WebCore::MediaSourcePrivateGStreamer::addSourceBuffer):
(WebCore::MediaSourcePrivateGStreamer::removeSourceBuffer):
(WebCore::MediaSourcePrivateGStreamer::durationChanged):
(WebCore::MediaSourcePrivateGStreamer::markEndOfStream):
(WebCore::MediaSourcePrivateGStreamer::unmarkEndOfStream):
(WebCore::MediaSourcePrivateGStreamer::readyState const):
(WebCore::MediaSourcePrivateGStreamer::setReadyState):
(WebCore::MediaSourcePrivateGStreamer::waitForSeekCompleted):
(WebCore::MediaSourcePrivateGStreamer::seekCompleted):
(WebCore::MediaSourcePrivateGStreamer::sourceBufferPrivateDidChangeActiveState):
(WebCore::MediaSourcePrivateGStreamer::buffered):
(WebCore::MediaSourcePrivateGStreamer::logChannel const):

  • platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.h: Renamed from Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceGStreamer.h.
  • platform/graphics/gstreamer/mse/PlaybackPipeline.h:
  • platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:

(WebCore::SourceBufferPrivateGStreamer::create):
(WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer):

  • platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h:
  • platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
4:50 AM Changeset in webkit [263655] by youenn@apple.com
  • 9 edits
    2 adds in trunk

RTCDataChannel.bufferedAmount should stay the same even if channel is closed
https://bugs.webkit.org/show_bug.cgi?id=213698

Reviewed by Darin Adler.

Source/WebCore:

bufferedAmount was set back to zero when closing.
Instead, we should keep the value in RTCDataChannel and update it either when sending data
or being notified or some data getting sent.

Test: webrtc/datachannel/bufferedAmount-afterClose.html

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::bufferedAmountIsDecreasing):

  • platform/mock/RTCDataChannelHandlerMock.h:

LayoutTests:

  • webrtc/datachannel/bufferedAmount-afterClose-expected.txt: Added.
  • webrtc/datachannel/bufferedAmount-afterClose.html: Added.
4:31 AM Changeset in webkit [263654] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

checked overflow in WebCore::findClosestFont
https://bugs.webkit.org/show_bug.cgi?id=213719
<rdar://47765225>

Reviewed by David Kilzer.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::findClosestFont):

If indexOfBestCapabilities doesn't find anything it returns notFound and indexing to the vector overflows.

3:54 AM Changeset in webkit [263653] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r262776): Leak of NSMutableURLRequest in -[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]
<https://webkit.org/b/213690>
<rdar://problem/64853619>

Reviewed by Anders Carlsson.

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):

  • Use RetainPtr<> for the mutable copy and autorelease the return value.
3:19 AM Changeset in webkit [263652] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GTK] Dark mode for GTK themes that end with -Dark
https://bugs.webkit.org/show_bug.cgi?id=213465

Patch by Elliot <CheeseEBoi@mailo.com> on 2020-06-29
Reviewed by Carlos Garcia Campos.

WebKitGtk has support for automatic detection of dark mode when it comes to GTK themes with the "-dark" and
":dark" suffixes. However, when using GTK themes that end with "-Dark" or ":Dark", this is not the case. This
affects many themes like "Arc" and "Flat-Remix".

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::effectiveAppearanceIsDark const):
(WebKit::PageClientImpl::themeName const):

3:10 AM Changeset in webkit [263651] by youenn@apple.com
  • 4 edits
    2 adds in trunk

MediaRecorder.start() Method is Ignoring the "timeslice" Parameter
https://bugs.webkit.org/show_bug.cgi?id=202233
<rdar://problem/55720555>

Reviewed by Eric Carlson.

Source/WebCore:

Use a timer to implement timeSlice parameter.
Schedule timer either when start is called or as part of requestData callback.
This should ensure that, if requestData is called by the application, the timer will be rescheduled appropriately.

Test: http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::requestData):

  • Modules/mediarecorder/MediaRecorder.h:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice-expected.txt: Added.
  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html: Added.
2:50 AM Changeset in webkit [263650] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed WPE gardening. Addressing some timeouts and flaky failures.

  • platform/wpe/TestExpectations:
2:38 AM Changeset in webkit [263649] by commit-queue@webkit.org
  • 6 edits in trunk/Tools

REGRESSION(r263625): [WPE][GTK] MiniBrowser output no longer includes stderr and stdout
https://bugs.webkit.org/show_bug.cgi?id=213696

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-29
Reviewed by Žan Doberšek.

This patch adds a new optional argument to Executive.run_command() to control stdout output.
By default the subprocess.PIPE value is used, to keep backward compatibility. Set the stdout
argument to None to display the output on the terminal tty.

The GTK and WPE run_minibrowser() implementations now use this new argument, along with
setting return_stderr to False to indicate we also want stderr displayed on the terminal
tty.

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

(AbstractExecutive.run_command):

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

(Executive.run_command):

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

(MockExecutive.run_command):

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.run_minibrowser):

  • Scripts/webkitpy/port/wpe.py:

(WPEPort.run_minibrowser):

2:32 AM Changeset in webkit [263648] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

REGRESSION(r263625): run-minibrowser --debug/--release options gone
https://bugs.webkit.org/show_bug.cgi?id=213697

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-29
Reviewed by Žan Doberšek.

  • Scripts/webkitpy/minibrowser/run_webkit_app.py:

(main): Explicitely skip the --target option. Previous code was also skipping --release and
--debug options because their dest is the same as with the --target option.

1:04 AM Changeset in webkit [263647] by commit-queue@webkit.org
  • 7 edits in trunk

window.location.replace with invalid urls should throw
https://bugs.webkit.org/show_bug.cgi?id=153121

Patch by Rob Buis <rbuis@igalia.com> on 2020-06-29
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Add a subtest to verify that location.replace throws SyntaxError if
the resulting url is not valid.

  • web-platform-tests/html/browsers/history/the-location-interface/location_replace-expected.txt:
  • web-platform-tests/html/browsers/history/the-location-interface/location_replace.html:

Source/WebCore:

Throw SyntaxError if the url resulting from the
location.replace operation is not valid.

Behavior matches Firefox and Chrome.

Tests: imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location_replace.html

[1] https://html.spec.whatwg.org/multipage/history.html#dom-location-replace

  • page/Location.cpp:

(WebCore::Location::replace):

  • page/Location.h:
  • page/Location.idl:
1:00 AM Changeset in webkit [263646] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests/imported/w3c

Add a new Web Platform Test in LayoutTest/imported/w3c/web-platform-tests/dom/ranges
https://bugs.webkit.org/show_bug.cgi?id=213667

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

Adding a Web Platfotm Test to test the handling of Ranges, when range is associated with a parentless node, and this parentless node moves to
new document.

This test has been provided by Darin Adler.

  • web-platform-tests/dom/ranges/Range-adopt-test-expected.txt: Added.
  • web-platform-tests/dom/ranges/Range-adopt-test.html: Added.
12:39 AM Changeset in webkit [263645] by Carlos Garcia Campos
  • 8 edits in trunk

[GTK][WPE] Add webkit_authentication_request_get_security_origin
https://bugs.webkit.org/show_bug.cgi?id=213596

Reviewed by Michael Catanzaro.

Source/WebKit:

Returns the security origin for the authentication protection space.

  • UIProcess/API/glib/WebKitAuthenticationRequest.cpp:

(webkit_authentication_request_get_security_origin):

  • UIProcess/API/gtk/WebKitAuthenticationRequest.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
  • UIProcess/API/wpe/WebKitAuthenticationRequest.h:
  • UIProcess/API/wpe/docs/wpe-1.0-sections.txt:

Tools:

Update the unit tests to check the new API.

  • TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:

(testWebViewAuthenticationRequest):
(testWebViewAuthenticationProxy):
(testWebViewAuthenticationProxyHTTPS):

12:23 AM Changeset in webkit [263644] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GTK4] Context menu is misaligned
https://bugs.webkit.org/show_bug.cgi?id=213703

Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2020-06-29
Reviewed by Carlos Garcia Campos.

Set halign on the context menu popover to the same value other context menus in GTK use,
like in GtkEntry.

  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

(WebKit::createMenuWidget): Set halign for the context menu to 'start'.

Jun 28, 2020:

8:48 PM Changeset in webkit [263643] by Lauro Moura
  • 2 edits
    2 adds in trunk/LayoutTests

[GTK][WPE] Add baseline for imported/w3c/web-platform-tests/cors/credentials-flag.htm

Unreviewed test gardening.

The current baseline seems to be based on the Mojave results, where
the last two test cases fail. Let's add a glib baseline with a Pass
expectation with a link to the bug discussing the main expectation.

The added baseline mirrors the current WebKitGTK results from wpt.fyi,
with the two cookie failures.

  • platform/glib/TestExpectations:
  • platform/glib/imported/w3c/web-platform-tests/cors/credentials-flag-expected.txt: Added.
7:15 PM Changeset in webkit [263642] by Lauro Moura
  • 4 edits in trunk/LayoutTests

[GTK][WPE] Merge crypto expectations

Unreviwed test gardening.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
6:16 PM Changeset in webkit [263641] by Lauro Moura
  • 4 edits in trunk/LayoutTests

[GTK][WPE] Move WebCryptoAPI expectations to glib

Unreviewed test gardening.

Some expectations in the glib file were being overriden by the generic
gtk one marking the tests as Slow.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
5:03 PM Changeset in webkit [263640] by Alan Bujtas
  • 5 edits
    2 adds in trunk

[LFC][TFC] Adjust table content vertical position to match vertical-align
https://bugs.webkit.org/show_bug.cgi?id=213692

Reviewed by Antti Koivisto.

Source/WebCore:

Child boxes (and runs) are always in the coordinate system of the containing block's border box.
The content box (where the child content lives) is inside the padding box, which is inside the border box.
In order to compute the child box top/left position, we need to know both the padding and the border offsets.

<div style="border: 2px solid green; padding-top: 10px;"><div></div></div>
The inner div's top left position is at [12px, 2px] (let's ignore margin collapsing for now).

Normally by the time we start positioning the child content, we already have computed borders and paddings for the containing block.
This is different with table cells where the final padding offset depends on the content height as we use
the padding box to vertically align the table cell content.

Let's adjust the child boxes and runs to match the new content box position.

Test: fast/layoutformattingcontext/table-cell-vertical-alignment-simple.html

  • layout/displaytree/DisplayLineBox.h:

(WebCore::Display::LineBox::moveVertically):

  • layout/displaytree/DisplayRun.h:

(WebCore::Display::Run::moveVertically):

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):

LayoutTests:

  • fast/layoutformattingcontext/table-cell-vertical-alignment-simple-expected.html: Added.
  • fast/layoutformattingcontext/table-cell-vertical-alignment-simple.html: Added.
5:00 PM Changeset in webkit [263639] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Painting] Use the table section as the paint container for table cells
https://bugs.webkit.org/show_bug.cgi?id=213693

Reviewed by Antti Koivisto.

The cell's containing block is the table box (skipping both the row and the section),
but it's positioned relative to the table section.

Let's skip the row and go right to the section box when painting the cells.

  • layout/displaytree/DisplayPainter.cpp:

(WebCore::Display::absoluteDisplayBox):

3:49 PM Changeset in webkit [263638] by Alexey Shvayka
  • 11 edits in trunk

Improve error message for primitive callback interfaces
https://bugs.webkit.org/show_bug.cgi?id=213684

Reviewed by Darin Adler.

Source/WebCore:

This patch rewords TypeError message for non-object callback interfaces
because apart from function, an object with certain method is also allowed.
New error message matches Chrome and Firefox.

Tests: fast/dom/createNodeIterator-parameters.html

fast/dom/createTreeWalker-parameters.html

  • bindings/js/JSDOMExceptionHandling.cpp:

(WebCore::throwArgumentMustBeObjectError):

  • bindings/js/JSDOMExceptionHandling.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GetArgumentExceptionFunction):

  • bindings/scripts/test/*: Updated.

LayoutTests:

  • fast/dom/createNodeIterator-parameters-expected.txt:
  • fast/dom/createNodeIterator-parameters.html:
  • fast/dom/createTreeWalker-parameters-expected.txt:
  • fast/dom/createTreeWalker-parameters.html:
2:36 PM Changeset in webkit [263637] by commit-queue@webkit.org
  • 4 edits in trunk

Setting url.search="??" (two questionmarks) has incorrect behavior
https://bugs.webkit.org/show_bug.cgi?id=170452

Patch by Rob Buis <rbuis@igalia.com> on 2020-06-28
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Update improved test result.

  • web-platform-tests/url/url-setters-expected.txt:

Source/WebCore:

There is no need to strip leading "?" character since
URLParser expects it to be there. This differs from the
specification algorithm [1], which relies on state override,
which URLParser does not support.

Behavior matches Firefox and Chrome.

Test: imported/w3c/web-platform-tests/url/url-setters.html

[1] https://url.spec.whatwg.org/#dom-url-search

  • html/URLDecomposition.cpp:

(WebCore::URLDecomposition::setSearch):

2:34 PM Changeset in webkit [263636] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Fix thread-safety issue in webProcessPoolHighDynamicRangeDidChangeCallback()
https://bugs.webkit.org/show_bug.cgi?id=213689
<rdar://problem/64443996>

Reviewed by Darin Adler.

webProcessPoolHighDynamicRangeDidChangeCallback() gets called on a background thread so we
need to make sure we dispatch to the main thread before we iterate over the process pools.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::webProcessPoolHighDynamicRangeDidChangeCallback):

1:55 PM Changeset in webkit [263635] by ggaren@apple.com
  • 77 edits in trunk

Rename initializeThreading to initialize
https://bugs.webkit.org/show_bug.cgi?id=213674

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • API/JSClassRef.cpp:
  • API/JSContextRef.cpp:

(JSContextGroupCreate):
(JSGlobalContextCreate):
(JSGlobalContextCreateInGroup):

  • API/JSObjectRef.cpp:

(JSClassCreate):

  • API/JSStringRef.cpp:

(JSStringCreateWithCharacters):
(JSStringCreateWithUTF8CString):
(JSStringCreateWithCharactersNoCopy):

  • API/JSStringRefCF.cpp:

(JSStringCreateWithCFString):

  • API/tests/CompareAndSwapTest.cpp:

(testCompareAndSwap):

  • API/tests/ExecutionTimeLimitTest.cpp:

(testExecutionTimeLimit):

  • API/tests/FunctionOverridesTest.cpp:

(testFunctionOverrides):

  • API/tests/MultithreadedMultiVMExecutionTest.cpp:

(startMultithreadedMultiVMExecutionTest):

  • API/tests/PingPongStackOverflowTest.cpp:

(testPingPongStackOverflow):

(JSC::run):

  • b3/air/testair.cpp:

(main):

  • b3/testb3_1.cpp:

(main):

  • dfg/testdfg.cpp:

(main):

  • dynbench.cpp:

(main):

  • inspector/remote/cocoa/RemoteInspectorCocoa.mm:

(Inspector::RemoteInspector::singleton):

  • jsc.cpp:

(main):
(jscmain):

  • runtime/InitializeThreading.cpp:

(JSC::initialize):
(JSC::initializeThreading): Deleted.

  • runtime/InitializeThreading.h:
  • runtime/JSCConfig.h:
  • shell/playstation/TestShell.cpp:

(setupTestRun):

  • testRegExp.cpp:

(main):

Source/WebCore:

  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::openDatabase):

  • WebCore.order:
  • bindings/js/CommonVM.cpp:

(WebCore::commonVMSlow):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::initializeMainThread):
(WebCore::ScriptController::initializeThreading): Deleted.

  • bindings/js/ScriptController.h:
  • bridge/objc/WebScriptObject.mm:

(+[WebScriptObject initialize]):

  • platform/cocoa/SharedBufferCocoa.mm:

(+[WebCoreSharedBufferData initialize]):

  • platform/ios/wak/WebCoreThread.mm:

(RunWebThread):

Source/WebKit:

  • Shared/API/c/WKString.cpp:

(WKStringCopyJSString):

  • Shared/Cocoa/WebKit2InitializeCocoa.mm:

(WebKit::runInitializationCode):

  • Shared/WebKit2Initialize.cpp:

(WebKit::InitializeWebKit2):

Source/WebKitLegacy/mac:

  • History/WebBackForwardList.mm:

(+[WebBackForwardList initialize]):

  • History/WebHistoryItem.mm:

(+[WebHistoryItem initialize]):

  • Misc/WebCache.mm:

(+[WebCache initialize]):

  • Misc/WebElementDictionary.mm:

(+[WebElementDictionary initialize]):

  • Misc/WebIconDatabase.mm:
  • Misc/WebStringTruncator.mm:

(+[WebStringTruncator initialize]):

  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(+[WebHostedNetscapePluginView initialize]):

  • Plugins/WebBaseNetscapePluginView.mm:
  • Plugins/WebBasePluginPackage.mm:

(+[WebBasePluginPackage initialize]):

  • Plugins/WebNetscapePluginView.mm:

(+[WebNetscapePluginView initialize]):

  • WebCoreSupport/WebEditorClient.mm:

(+[WebUndoStep initialize]):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(+[WebFramePolicyListener initialize]):

  • WebView/WebArchive.mm:

(+[WebArchivePrivate initialize]):

  • WebView/WebDataSource.mm:

(+[WebDataSource initialize]):

  • WebView/WebHTMLView.mm:

(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

  • WebView/WebResource.mm:

(+[WebResourcePrivate initialize]):

  • WebView/WebTextIterator.mm:

(+[WebTextIteratorPrivate initialize]):

  • WebView/WebView.mm:

(+[WebView initialize]):

  • WebView/WebViewData.mm:

(+[WebViewPrivate initialize]):

Source/WebKitLegacy/win:

  • WebKitClassFactory.cpp:

(WebKitClassFactory::WebKitClassFactory):

  • WebView.cpp:

(WebView::WebView):

Source/WTF:

Reasons:

(1) You need to call it even if you don't use threads.

(2) It initializes things unrelated to threads (like the PRNG).

(3) People seem to get confused about the relationship between
initializeThreading() and initializeMainThread(), and sometimes think
initializeThreading() is a superset. The opposite is true! I think the
confusion may come from "threading" being read as "all threading".

Some filenames still use the legacy name. We can fix that in post.

  • benchmarks/ConditionSpeedTest.cpp:

(main):

  • benchmarks/HashSetDFGReplay.cpp:

(main):

  • benchmarks/LockFairnessTest.cpp:

(main):

  • benchmarks/LockSpeedTest.cpp:

(main):

  • wtf/MainThread.cpp:

(WTF::initializeMainThread):

  • wtf/Threading.cpp:

(WTF::Thread::create):
(WTF::initialize):
(WTF::initializeThreading): Deleted.

  • wtf/Threading.h:

(WTF::Thread::current):

Tools:

  • TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:

(ApplicationManifestParserTest::SetUp):

  • TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:

(TestWebKitAPI::ComplexTextControllerTest::SetUp):

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::ContentExtensionTest::SetUp):

  • TestWebKitAPI/Tests/WebCore/StringUtilities.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:

(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):

  • TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:

(WebKitTestServer::WebKitTestServer):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

12:16 PM Changeset in webkit [263634] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit

[iOS] Clean up visible position comparisons in WebPage::requestDocumentEditingContext()
https://bugs.webkit.org/show_bug.cgi?id=213701

Reviewed by Geoffrey Garen.

Use std::min and std::max when the result needs to be copied instead of doing the comparison
by hand to make the code a tiny bit more clear. Also, don't copy a VisiblePosition when doing
the min/max in-place. Both of these things are unlikely to effect code generation. If they do,
the latter makes things a tiny bit more efficient.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::requestDocumentEditingContext):

8:11 AM Changeset in webkit [263633] by youenn@apple.com
  • 16 edits
    2 adds in trunk

MediaRecorder stopRecorder() returns empty Blob after first use
https://bugs.webkit.org/show_bug.cgi?id=212274
<rdar://problem/63601298>

Reviewed by Eric Carlson.

Source/WebCore:

Refactor code to create/destroy MediaRecorderPrivate on MediaRecorder start/stop.
This allows reusing a MediaRecorder after a stop and restarting with a clean state.

We introduce MediaRecorderPrivate::startRecording to do the initialization,
which allows to fix a potential ref cycle as part of the error callback handling.

Make some improvements to the platform implementation, in particular add default initialization to all fields.
Align the code using AudioConverterRef to what is done in AudioSampleDataSource.
Also call VTCompressionSessionInvalidate when destroying the VideoSampleBufferCompressor.

Test: http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::create):
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::stopRecording):
(WebCore::MediaRecorder::requestData):

  • Modules/mediarecorder/MediaRecorder.h:
  • platform/mediarecorder/MediaRecorderPrivateMock.cpp:

(WebCore::MediaRecorderPrivateMock::fetchData):

  • platform/mediarecorder/MediaRecorderPrivate.h:

(WebCore::MediaRecorderPrivate::startRecording):

  • platform/mediarecorder/cocoa/AudioSampleBufferCompressor.h:
  • platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:

(WebCore::AudioSampleBufferCompressor::~AudioSampleBufferCompressor):
(WebCore::AudioSampleBufferCompressor::initAudioConverterForSourceFormatDescription):
(WebCore::AudioSampleBufferCompressor::attachPrimingTrimsIfNeeded):
(WebCore::AudioSampleBufferCompressor::gradualDecoderRefreshCount):
(WebCore::AudioSampleBufferCompressor::sampleBufferWithNumPackets):
(WebCore::AudioSampleBufferCompressor::processSampleBuffersUntilLowWaterTime):

  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::stopRecording):

  • platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm:

(WebCore::VideoSampleBufferCompressor::~VideoSampleBufferCompressor):

Source/WebKit:

Update implementation to do initialization as part of startRecording.

  • GPUProcess/webrtc/RemoteMediaRecorderManager.cpp:

(WebKit::RemoteMediaRecorderManager::releaseRecorder):
Remove ASSERT as recorder creation in WebProcess is always ok while creation in GPUProcess may fail and m_recorders may not be populated.

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::startRecording):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.h:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-multiple-start-stop-expected.txt: Added.
  • http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html: Added.
4:49 AM Changeset in webkit [263632] by Philippe Normand
  • 2 edits in trunk/Source/WebKit

Unreviewed GTK/WPE Debug build fix after r263589.

  • Platform/Logging.h: Define a log category for Memory Pressure.

Jun 27, 2020:

10:26 PM Changeset in webkit [263631] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][IFC] Replaced inline boxes sit on the baseline with their margins
https://bugs.webkit.org/show_bug.cgi?id=213679

Reviewed by Antti Koivisto.

Source/WebCore:

Take the margin box into account when computing the top position of a baseline aligned replaced inline box.

Test: fast/layoutformattingcontext/replaced-box-with-margin-on-baseline.html

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::alignContentVertically):

LayoutTests:

  • fast/layoutformattingcontext/replaced-box-with-margin-on-baseline-expected.html: Added.
  • fast/layoutformattingcontext/replaced-box-with-margin-on-baseline.html: Added.
3:59 PM Changeset in webkit [263630] by dbates@webkit.org
  • 5 edits in trunk

Revert r262654 because it caused <rdar://problem/64664156>.
Moreover it is no longer necessary as the embedding client
changes selection through a different SPI after focusing.

Source/WebKit:

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView cleanUpInteraction]):
(-[WKContentView _didCommitLoadForMainFrame]):
(-[WKContentView _focusTextInputContext:placeCaretAt:completionHandler:]):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:

(TestWebKitAPI::TEST):

3:18 PM Changeset in webkit [263629] by keith_miller@apple.com
  • 5 edits
    1 copy in trunk/Tools

compare-results should be able to parse multiple JSONs at once by merging them
https://bugs.webkit.org/show_bug.cgi?id=213685

Reviewed by Saam Barati.

This patch improves the compare-results script to enable it to
merge JSON output files. This is handy when running scripts by
hand where you'll get many a and b JSONs. To do the merging this
patch moves the logic of merge-result-jsons into a shared library.

compare-results can take multiple files sequentally or by passing
the '-a'/'-b' flags multiple times. e.g. `/compare-results -a
OG-1.json -a OG-2.json -a OG-3.json -a OG-4.json -b MC-1.json
MC-2.json MC-3.json MC-4.json` will behave as you'd expect;
combining all the OG JSONs and the MC JSONs before computing the
result.

Lastly, the benchmark_results script now can handle duplicates of
an aggregator in the aggregator list. This is useful because
otherwise the logic of merging JSONs is significantly more
complicated.

  • Scripts/compare-results:

(getOptions):
(main):

  • Scripts/merge-result-jsons:

(readJSONFile):
(deepAppend): Deleted.
(mergeJSONs): Deleted.

  • Scripts/webkitpy/benchmark_runner/benchmark_json_merge.py: Copied from Tools/Scripts/merge-result-jsons.

(deepAppend):
(mergeJSONs):

  • Scripts/webkitpy/benchmark_runner/benchmark_results.py:

(BenchmarkResults._aggregate_results_for_test):
(BenchmarkResults._lint_subtest_results):

  • Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py:
3:14 PM Changeset in webkit [263628] by mark.lam@apple.com
  • 11 edits
    2 adds in trunk

Fix missing exception check in createIDBKeyFromValue().
https://bugs.webkit.org/show_bug.cgi?id=213681
<rdar://problem/64804893>

Reviewed by Chris Dumez.

Source/WebCore:

Test: storage/indexeddb/missing-exception-check-in-IDBKey.html

Also fixed up miscellaneous other exception check related code to enable the
new test to run with exception check validation.

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::createIDBKeyFromValue):

  • bindings/js/JSDOMBindingSecurity.cpp:

(WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::updateDocument):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::put):
(WebCore::JSDOMWindow::defineOwnProperty):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::initScriptForWindowProxy):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeGetterBodyDefinition):
(GenerateAttributeSetterBodyDefinition):
(GenerateOperationBodyDefinition):

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

(WebCore::jsTestActiveDOMObjectExcitingAttrGetter):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionOverloadedMethodOverloadDispatcher):

  • bridge/objc/WebScriptObject.mm:

(-[WebScriptObject _isSafeScript]):

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::injectInternalsObject):

LayoutTests:

  • storage/indexeddb/missing-exception-check-in-IDBKey-expected.txt: Added.
  • storage/indexeddb/missing-exception-check-in-IDBKey.html: Added.
12:31 PM Changeset in webkit [263627] by jer.noble@apple.com
  • 4 edits
    1 add in trunk

iOS Safari incorrectly reports "AppleCoreMedia" as UA string
https://bugs.webkit.org/show_bug.cgi?id=213245
<rdar://problem/64471582>

Reviewed by Youenn Fablet.

Source/WebCore:

Tests: TestWebKitAPI.MediaLoading.UserAgentStringCRABS

TestWebKitAPI.MediaLoading.UserAgentStringHLS

  • platform/network/cocoa/WebCoreNSURLSession.mm:

(-[WebCoreNSURLSessionDataTask initWithSession:identifier:request:]):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm: Added.

(TestWebKitAPI::parseUserAgent):
(TestWebKitAPI::TEST):

10:36 AM Changeset in webkit [263626] by Chris Dumez
  • 28 edits
    1 copy
    4 adds
    1 delete in trunk/LayoutTests

Update web-platform-tests/cors from upstream
https://bugs.webkit.org/show_bug.cgi?id=213668

Reviewed by Sam Weinig.

Update web-platform-tests/cors from upstream b076c305a256e7.

LayoutTests/imported/w3c:

  • web-platform-tests/cors/*: Updated.

LayoutTests:

  • tests-options.json:
10:00 AM Changeset in webkit [263625] by commit-queue@webkit.org
  • 6 edits
    1 copy
    3 adds in trunk/Tools

Migrate run-minibrowser to webkitpy
https://bugs.webkit.org/show_bug.cgi?id=213431

Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-27
Reviewed by Jonathan Bedard.

The perl version was renamed to old-run-minibrowser and remains used by the Mac ports.
run-minibrowser is now a Python script hooking into webkitpy and the Port infrastructure.
Both WPE and GTK ports will now use the pure python implementation.

  • Scripts/old-run-minibrowser: Copied from Tools/Scripts/run-minibrowser.
  • Scripts/run-minibrowser:
  • Scripts/webkitpy/minibrowser/run_minibrowser.py: Added.

(main):
(parse_args):

  • Scripts/webkitpy/port/base.py:

(Port.run_minibrowser_arguments):
(Port):
(Port.run_minibrowser):

  • Scripts/webkitpy/port/darwin.py:

(DarwinPort.environment_for_api_tests):
(DarwinPort):
(DarwinPort.run_minibrowser_arguments):

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.show_results_html_file):
(GtkPort.configuration_for_upload):
(GtkPort):
(GtkPort.run_minibrowser):

  • Scripts/webkitpy/port/wpe.py:

(WPEPort.show_results_html_file):
(WPEPort.configuration_for_upload):
(WPEPort):
(WPEPort.run_minibrowser):

9:44 AM Changeset in webkit [263624] by commit-queue@webkit.org
  • 4 edits in trunk

Require <form> to be connected
https://bugs.webkit.org/show_bug.cgi?id=177356

Patch by Rob Buis <rbuis@igalia.com> on 2020-06-27
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Update improved test result.

  • web-platform-tests/html/semantics/forms/form-submission-0/submission-checks.window-expected.txt:

Source/WebCore:

Implement step 1 of [1], i.e. do not submit form if it
is not connected.

Test: imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/submission-checks.html

[1] https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#concept-form-submit

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::submit):

9:20 AM Changeset in webkit [263623] by youenn@apple.com
  • 9 edits in trunk/Source/WebCore

Log capture device information in case of getUserMedia failing to select a device
https://bugs.webkit.org/show_bug.cgi?id=213643

Reviewed by Eric Carlson.

Log constraints and device in case of a failing getUserMedia call.
No obserable change, logging addition.

  • platform/mediastream/mac/CoreAudioCaptureDevice.cpp:

(WebCore::getDeviceInfo):
(WebCore::CoreAudioCaptureDevice::deviceClock):

  • platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:

(WebCore::isValidCaptureDevice):

  • platform/mediastream/MediaConstraints.cpp:

(WebCore::MediaConstraint::log const):
(WebCore::BooleanConstraint::logAsBoolean const):
(WebCore::DoubleConstraint::logAsDouble const):
(WebCore::IntConstraint::logAsInt const):

  • platform/mediastream/MediaConstraints.h:
  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::supportsSizeAndFrameRate):
(WebCore::RealtimeMediaSource::selectSettings):

  • platform/mediastream/RealtimeMediaSourceCenter.cpp:

(WebCore::RealtimeMediaSourceCenter::validateRequestConstraints):

  • platform/mediastream/RealtimeVideoCaptureSource.cpp:

(WebCore::RealtimeVideoCaptureSource::bestSupportedSizeAndFrameRate):

  • platform/mediastream/VideoPreset.h:

(WebCore::VideoPreset::log const):

9:13 AM Changeset in webkit [263622] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Protect SWServer::claim from a registration without active worker
https://bugs.webkit.org/show_bug.cgi?id=213597

Reviewed by Chris Dumez.

SWServerWorker might be active while being terminated.
If terminated as part of SWServerRegistration::clear, the registration no longer has a service worker.
SWServer::claim should therefore check for registration active worker.
This is difficult to test as one needs to claim at the time the service worker is being terminated but not yet terminated.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::claim):

9:08 AM Changeset in webkit [263621] by Chris Dumez
  • 32 edits
    7 adds in trunk/LayoutTests/imported/w3c

Update web-platform-tests/common from upstream
https://bugs.webkit.org/show_bug.cgi?id=213665

Reviewed by Sam Weinig.

Update web-platform-tests/common from upstream b076c305a256e7fb7.

  • web-platform-tests/common/*: Updated.
9:07 AM Changeset in webkit [263620] by weinig@apple.com
  • 2 edits in trunk/Source/WTF

Improve assertions in StringParsingBuffer
https://bugs.webkit.org/show_bug.cgi?id=213633

Reviewed by Darin Adler.

  • wtf/text/StringParsingBuffer.h:

Address additional feedback and improve the assertions by making them more
clear and avoid potential overflows.

8:53 AM Changeset in webkit [263619] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

BytecodeBasicBlock::addSuccessor should check if the successor already exists
https://bugs.webkit.org/show_bug.cgi?id=213670

Reviewed by Yusuke Suzuki.

It makes it nicer for algorithms using BytecodeGraph to not have to consider
whether or not there are duplicates in the successor list. Also, because of
this, bytecode liveness was doing extra work since it walked the successor list,
including any duplicates in it.

  • bytecode/BytecodeBasicBlock.h:

(JSC::BytecodeBasicBlock::addSuccessor):

8:52 AM Changeset in webkit [263618] by sbarati@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Change bytecode dumping to dump the bytecode control flow graph
https://bugs.webkit.org/show_bug.cgi?id=213669

Reviewed by Yusuke Suzuki.

This makes the bytecode control flow graphs much easier to understand, and
puts bytecode dumping in more in line with how we dump other IRs.

The new dumps look like this:
`
foo#Ahf63N:[0x1035bc120->0x1035e5100, NoneFunctionCall, 36]: 13 instructions (0 16-bit instructions, 0 32-bit instructions, 1 instructions with metadata); 156 bytes (120 metadata bytes); 2 parameter(s); 8 callee register(s); 6 variable(s); scope at loc4

bb#1
[ 0] enter
[ 1] get_scope loc4
[ 3] mov loc5, loc4
[ 6] check_traps
[ 7] mov loc6, <JSValue()>(const0)
[ 10] mov loc6, Undefined(const1)
[ 13] mod loc7, arg1, Int32: 2(const2)
[ 17] jfalse loc7, 8(->25)
Successors: [ #3 #2 ]

bb#2
[ 20] mov loc6, Int32: 42(const3)
[ 23] jmp 5(->28)
Successors: [ #4 ]

bb#3
[ 25] mov loc6, Int32: 77(const4)
Successors: [ #4 ]

bb#4
[ 28] add loc7, arg1, loc6, OperandTypes(126, 126)
[ 34] ret loc7
Successors: [ ]
`

  • bytecode/BytecodeDumper.cpp:

(JSC::dumpHeader):
(JSC::dumpFooter):
(JSC::CodeBlockBytecodeDumper<Block>::dumpBlock):
(JSC::CodeBlockBytecodeDumper<Block>::dumpGraph):

  • bytecode/BytecodeDumper.h:
  • bytecode/BytecodeGraph.h:

(JSC::BytecodeGraph::dump):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

8:29 AM Changeset in webkit [263617] by weinig@apple.com
  • 30 edits
    2 copies
    3 adds in trunk/Source/WebCore

Convert SVG related parsers over to using StringParsingBuffer
https://bugs.webkit.org/show_bug.cgi?id=213635

Reviewed by Darin Adler.

  • Adopt StringParsingBuffer across SVG code.
  • Remove UTF-16 upconversions in SVGAnimationElement, SVGFitToViewBox, SVGLengthList, SVGLengthValue, SVGNumberList, SVGParserUtilities, SVGPointList, SVGPreserveAspectRatioValue, SVGStringList, SVGTransformList, SVGTransformable and SVGViewSpec.
  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:

Export ParsingUtilities.h, which is now included by SVGParserUtilities.h

  • Sources.txt:

Add implementation files for SVGLengthList, SVGNumberList, SVGPointList, SVGStringList
and SVGTransformList to hold large functions are unlikely to benefit from inlining.

  • html/parser/ParsingUtilities.h:

(WebCore::skipCharactersExactly):
Add new skipCharactersExactly, which takes a c-array (NOT null-terminated) of characters
to compare against.

  • svg/SVGAngleValue.cpp:

(WebCore::parseAngleType):
(WebCore::SVGAngleValue::setValueAsString):
Adopt StringParsingBuffer.

  • svg/SVGAnimateTransformElement.cpp:

(WebCore::SVGAnimateTransformElement::parseAttribute):
Adapt to new shared parseTransformType, which now returns an Optional and default to
SVG_TRANSFORM_UNKNOWN on parse failure as the old parseTransformType did.

  • svg/SVGAnimationElement.cpp:

(WebCore::parseKeySplines):
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters()

  • svg/SVGFitToViewBox.cpp:

(WebCore::SVGFitToViewBox::parseViewBox):
(WebCore::SVGFitToViewBox::parseViewBoxGeneric):

  • svg/SVGFitToViewBox.h:

Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters()

  • svg/SVGLengthList.cpp: Added.

(WebCore::SVGLengthList::parse):
(WebCore::SVGLengthList::valueAsString const):

  • svg/SVGLengthList.h:

Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.

  • svg/SVGLengthValue.cpp:

(WebCore::parseLengthType):
(WebCore::SVGLengthValue::construct):
(WebCore::SVGLengthValue::setValueAsString):

  • svg/SVGLengthValue.h:

Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters()

  • svg/SVGNumberList.cpp: Added.

(WebCore::SVGNumberList::parse):
(WebCore::SVGNumberList::valueAsString const):

  • svg/SVGNumberList.h:

Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.

  • svg/SVGParserUtilities.cpp:

(WebCore::genericParseNumber):
(WebCore::parseNumber):
(WebCore::genericParseArcFlag):
(WebCore::parseArcFlag):
(WebCore::parseNumberOptionalNumber):
(WebCore::parsePoint):
(WebCore::parseRect):
(WebCore::parseGlyphName):
(WebCore::parseUnicodeRange):
(WebCore::parseKerningUnicodeString):
(WebCore::genericParseFloatPoint):
(WebCore::parseFloatPoint):

  • svg/SVGParserUtilities.h:

(WebCore::isSVGSpaceOrComma):
(WebCore::skipOptionalSVGSpaces):
(WebCore::skipOptionalSVGSpacesOrDelimiter):
(WebCore::skipString): Deleted.
Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.

  • svg/SVGPathSource.h:

Add missing include, which is now needed do to removing unncessary includes in other files.

  • svg/SVGPathStringSource.cpp:

(WebCore::SVGPathStringSource::SVGPathStringSource):
(WebCore::SVGPathStringSource::hasMoreData const):
(WebCore::SVGPathStringSource::moveToNextToken):
(WebCore::nextCommandHelper):
(WebCore::SVGPathStringSource::nextCommand):
(WebCore::SVGPathStringSource::parse):
(WebCore::SVGPathStringSource::parseSVGSegmentType):
(WebCore::SVGPathStringSource::parseMoveToSegment):
(WebCore::SVGPathStringSource::parseLineToSegment):
(WebCore::SVGPathStringSource::parseLineToHorizontalSegment):
(WebCore::SVGPathStringSource::parseLineToVerticalSegment):
(WebCore::SVGPathStringSource::parseCurveToCubicSegment):
(WebCore::SVGPathStringSource::parseCurveToCubicSmoothSegment):
(WebCore::SVGPathStringSource::parseCurveToQuadraticSegment):
(WebCore::SVGPathStringSource::parseCurveToQuadraticSmoothSegment):
(WebCore::SVGPathStringSource::parseArcToSegment):
(WebCore::parseSVGSegmentTypeHelper): Deleted.

  • svg/SVGPathStringSource.h:

Adopt StringParsingBuffer. Replace existing set of unions with a single
union of StringParsingBuffers.

  • svg/SVGPointList.cpp: Added.

(WebCore::SVGPointList::parse):
(WebCore::SVGPointList::valueAsString const):

  • svg/SVGPointList.h:

Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.

  • svg/SVGPreserveAspectRatioValue.cpp:

(WebCore::SVGPreserveAspectRatioValue::SVGPreserveAspectRatioValue):
(WebCore::SVGPreserveAspectRatioValue::parse):
(WebCore::SVGPreserveAspectRatioValue::parseInternal):
(WebCore::SVGPreserveAspectRatioValue::valueAsString const):

  • svg/SVGPreserveAspectRatioValue.h:

Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters().

  • svg/SVGStringList.cpp: Added.

(WebCore::SVGStringList::parse):
(WebCore::SVGStringList::valueAsString const):

  • svg/SVGStringList.h:

Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse and valueAsString out of line.

  • svg/SVGTransformList.cpp: Added.

(WebCore::SVGTransformList::consolidate):
(WebCore::SVGTransformList::concatenate const):
(WebCore::SVGTransformList::parseGeneric):
(WebCore::SVGTransformList::parse):
(WebCore::SVGTransformList::valueAsString const):

  • svg/SVGTransformList.h:

Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Move parse, valueAsString, consolidate and
concatenate out of line.

  • svg/SVGTransformable.cpp:

(WebCore::parseTransformParamList):
(WebCore::parseTransformValueGeneric):
(WebCore::SVGTransformable::parseTransformValue):
(WebCore::parseTransformTypeGeneric):
(WebCore::SVGTransformable::parseTransformType):
(WebCore::SVGTransformable::parseAndSkipType): Deleted.

  • svg/SVGTransformable.h:

Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Unify parseTransformType implementations to all
use a single implementation and return an Optional<SVGTransformType>.

  • svg/SVGViewSpec.cpp:

(WebCore::SVGViewSpec::parseViewSpec):

  • svg/SVGViewSpec.h:

Adopt StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters().

  • svg/SVGZoomAndPan.cpp:

(WebCore::parseZoomAndPanGeneric):
(WebCore::SVGZoomAndPan::parseZoomAndPan):

  • svg/SVGZoomAndPan.h:

Adopt StringParsingBuffer.

7:18 AM Changeset in webkit [263616] by stephan.szabo@sony.com
  • 5 edits in trunk

[PlayStation] Update test runner for changes to Options and signing
https://bugs.webkit.org/show_bug.cgi?id=213650

Reviewed by Don Olmstead.

Source/JavaScriptCore:

  • shell/playstation/Initializer.cpp: Load ICU library
  • shell/playstation/TestShell.cpp: Update between test options reset

Tools:

  • Scripts/webkitdirs.pm: Update extension for PlayStation binary

Jun 26, 2020:

11:17 PM Changeset in webkit [263615] by Diego Pino Garcia
  • 4 edits
    3 adds in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Update test expectations after r263609.

  • platform/glib/TestExpectations:
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.https.any-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt: Added.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt:
10:25 PM Changeset in webkit [263614] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, rename beacon-redirect.window.html to beacon-redirect.sub.window.html in TestExpectations

This needed updating since the test got renamed upstream and we resync'd it recently in r263595.

10:21 PM Changeset in webkit [263613] by Chris Dumez
  • 2 edits
    13 deletes in trunk/LayoutTests

Unreviewed, drop tests that got renamed in r263598 when re-syncing WebCryptAPI tests.

LayoutTests/imported/w3c:

  • web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker.html: Removed.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker.html: Removed.

LayoutTests:

  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Removed.
  • platform/glib/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Removed.
  • platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Removed.
  • platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Removed.
  • platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt: Removed.
  • platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt: Removed.
  • platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Removed.
10:14 PM Changeset in webkit [263612] by Chris Dumez
  • 1 edit
    2 deletes in trunk/LayoutTests/imported/w3c

Unreviewed, drop test that got renamed in r263595.

This test is now called beacon-redirect.sub.window.html.

  • web-platform-tests/beacon/beacon-redirect.window-expected.txt: Removed.
  • web-platform-tests/beacon/beacon-redirect.window.html: Removed.
10:09 PM Changeset in webkit [263611] by Chris Dumez
  • 2 edits
    2 adds in trunk/LayoutTests

Unreviewed, land iOS-specific baselines after WebCryptoAPI WPT tests resync in r263598.

  • platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/idlharness.https.worker-expected.txt: Added.
9:37 PM Changeset in webkit [263610] by Jonathan Bedard
  • 4 edits in trunk/Tools

[webkitpy] Allow callers to override the reported model (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=213677
<rdar://problem/64834043>

Reviewed by Dewei Zhu.

  • Scripts/webkitpy/port/base.py:

(Port.configuration_for_upload): Set the model based on --model.

  • Scripts/webkitpy/port/factory.py:

(configuration_options): Add --model option, drive-by fix for --architecture.

  • Scripts/webkitpy/port/mac.py:

(MacPort.configuration_for_upload): --model overrides detected model.

9:20 PM Changeset in webkit [263609] by ggaren@apple.com
  • 2 edits in trunk/Source/WebKitLegacy/mac

WebSecurityOrigin needs to initialize the main thread
https://bugs.webkit.org/show_bug.cgi?id=213675

Reviewed by Tim Horton.

Safari uses WebSecurityOrigin stand-alone in unit tests.

(And any client can use WebSecurityOrigin without first using other
WebKit data types.)

  • WebCoreSupport/WebSecurityOrigin.mm:

(-[WebSecurityOrigin initWithURL:]):

9:17 PM Changeset in webkit [263608] by ysuzuki@apple.com
  • 505 edits
    3 copies
    1 move
    51 adds
    20 deletes in trunk/JSTests

Update test262
https://bugs.webkit.org/show_bug.cgi?id=213676

Reviewed by Ross Kirsling.

Update and rebaseline expectations.

  • test262/expectations.yaml:
  • test262/harness/testBigIntTypedArray.js:

(testWithBigIntTypedArrayConstructors):

  • test262/harness/testIntl.js:
  • test262/harness/testTypedArray.js:

(testWithNonAtomicsFriendlyTypedArrayConstructors):
(testWithAtomicsFriendlyTypedArrayConstructors):

  • test262/latest-changes-summary.txt:
  • test262/test/annexB/built-ins/Function/createdynfn-no-line-terminator-html-close-comment-body.js:
  • test262/test/built-ins/Array/prototype/indexOf/length-zero-returns-minus-one.js: Added.

(fromIndex.valueOf):

  • test262/test/built-ins/Array/prototype/lastIndexOf/length-zero-returns-minus-one.js: Added.

(fromIndex.valueOf):

  • test262/test/built-ins/Atomics/add/bigint/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/add/bigint/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/add/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/add/non-shared-int-views-throws.js: Added.
  • test262/test/built-ins/Atomics/add/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/and/bigint/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/and/bigint/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/and/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/and/non-shared-int-views-throws.js: Added.
  • test262/test/built-ins/Atomics/and/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/compareExchange/bigint/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/compareExchange/bigint/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/compareExchange/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/compareExchange/non-shared-int-views-throws.js: Added.
  • test262/test/built-ins/Atomics/compareExchange/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/exchange/bigint/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/exchange/bigint/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/exchange/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/exchange/non-shared-int-views-throws.js: Added.
  • test262/test/built-ins/Atomics/load/bigint/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/load/bigint/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/load/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/load/non-shared-int-views-throws.js: Added.
  • test262/test/built-ins/Atomics/load/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-count-evaluation-throws.js: Added.

(const.poisoned.valueOf):

  • test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-index-evaluation-throws.js: Added.

(const.poisoned.valueOf):

  • test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-non-shared-int-views-throws.js: Added.

(const.poisoned.valueOf):

  • test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-returns-0.js: Added.
  • test262/test/built-ins/Atomics/notify/bigint/non-shared-bufferdata-throws.js: Removed.
  • test262/test/built-ins/Atomics/notify/non-shared-bufferdata-count-evaluation-throws.js: Added.

(const.poisoned.valueOf):

  • test262/test/built-ins/Atomics/notify/non-shared-bufferdata-index-evaluation-throws.js: Added.

(const.poisoned.valueOf):

  • test262/test/built-ins/Atomics/notify/non-shared-bufferdata-non-shared-int-views-throws.js: Renamed from JSTests/test262/test/built-ins/Atomics/notify/non-shared-bufferdatate-non-shared-int-views.js.
  • test262/test/built-ins/Atomics/notify/non-shared-bufferdata-returns-0.js: Added.
  • test262/test/built-ins/Atomics/notify/non-shared-bufferdata-throws.js: Removed.
  • test262/test/built-ins/Atomics/or/bigint/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/or/bigint/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/or/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/or/non-shared-int-views-throws.js: Added.
  • test262/test/built-ins/Atomics/or/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/store/bigint/bad-range.js:

(testWithBigIntTypedArrayConstructors): Deleted.

  • test262/test/built-ins/Atomics/store/bigint/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/store/bigint/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/store/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/store/non-shared-int-views-throws.js: Added.
  • test262/test/built-ins/Atomics/store/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/sub/bigint/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/sub/bigint/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/sub/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/sub/non-shared-int-views-throws.js: Added.
  • test262/test/built-ins/Atomics/sub/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/wait/bigint/non-shared-bufferdata-throws.js:
  • test262/test/built-ins/Atomics/waitAsync/bigint/false-for-timeout.js:
  • test262/test/built-ins/Atomics/waitAsync/bigint/good-views.js:

(async const):

  • test262/test/built-ins/Atomics/waitAsync/bigint/negative-timeout.js:

(1.value.then):

  • test262/test/built-ins/Atomics/waitAsync/bigint/null-for-timeout.js:
  • test262/test/built-ins/Atomics/waitAsync/bigint/object-for-timeout.js:
  • test262/test/built-ins/Atomics/waitAsync/bigint/true-for-timeout.js:
  • test262/test/built-ins/Atomics/waitAsync/bigint/undefined-for-timeout.js:
  • test262/test/built-ins/Atomics/waitAsync/bigint/value-not-equal.js:
  • test262/test/built-ins/Atomics/waitAsync/false-for-timeout.js:
  • test262/test/built-ins/Atomics/waitAsync/good-views.js:

(async const):

  • test262/test/built-ins/Atomics/waitAsync/negative-timeout.js:

(then):

  • test262/test/built-ins/Atomics/waitAsync/null-for-timeout.js:
  • test262/test/built-ins/Atomics/waitAsync/object-for-timeout.js:
  • test262/test/built-ins/Atomics/waitAsync/true-for-timeout.js:
  • test262/test/built-ins/Atomics/waitAsync/undefined-for-timeout.js:
  • test262/test/built-ins/Atomics/waitAsync/value-not-equal.js:
  • test262/test/built-ins/Atomics/xor/bigint/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/xor/bigint/nonshared-int-views.js: Removed.
  • test262/test/built-ins/Atomics/xor/non-shared-bufferdata.js: Added.
  • test262/test/built-ins/Atomics/xor/non-shared-int-views-throws.js: Added.
  • test262/test/built-ins/Atomics/xor/nonshared-int-views.js: Removed.
  • test262/test/built-ins/NativeErrors/AggregateError/prototype/errors-absent-on-prototype.js: Added.
  • test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/invoked-as-accessor.js: Removed.
  • test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/invoked-as-func.js: Removed.
  • test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/length.js: Removed.
  • test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/name.js: Removed.
  • test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/prop-desc.js: Removed.
  • test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/return-from-iterable-errors.js: Removed.
  • test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/return-new-array-from-list.js: Removed.
  • test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/this-has-no-typedarrayname-internal.js: Removed.
  • test262/test/built-ins/NativeErrors/AggregateError/prototype/errors/this-is-not-object.js: Removed.
  • test262/test/built-ins/Object/defineProperties/15.2.3.7-2-18.js:

(catch):

  • test262/test/built-ins/Promise/all/S25.4.4.1_A2.2_T1.js:

(then):

  • test262/test/built-ins/Promise/all/S25.4.4.1_A7.2_T1.js:

(Promise.all.p1.then):
(p1.then):
(then):

  • test262/test/built-ins/Promise/all/S25.4.4.1_A8.1_T1.js:

(p1.then):
(p2.then):

  • test262/test/built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-custom.js:

(values.then):

  • test262/test/built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-promise.js:

(Promise.all.values.then):

  • test262/test/built-ins/Promise/all/invoke-resolve-on-values-every-iteration-of-promise.js:

(Promise.all.values.then):

  • test262/test/built-ins/Promise/allSettled/invoke-resolve-on-promises-every-iteration-of-custom.js:

(values.then):

  • test262/test/built-ins/Promise/allSettled/invoke-resolve-on-promises-every-iteration-of-promise.js:

(Promise.allSettled.values.then):

  • test262/test/built-ins/Promise/allSettled/invoke-resolve-on-values-every-iteration-of-promise.js:

(Promise.allSettled.values.then):

  • test262/test/built-ins/Promise/allSettled/resolved-immed.js:

(then):

  • test262/test/built-ins/Promise/allSettled/resolved-sequence-extra-ticks.js:

(Promise.allSettled.p1.then):
(p1.then):
(then):

  • test262/test/built-ins/Promise/allSettled/resolved-sequence-mixed.js:

(p1.catch):
(p3.then):
(p2.then):
(p3.catch):

  • test262/test/built-ins/Promise/allSettled/resolved-sequence-with-rejections.js:

(p1.catch):
(p2.then):
(p2.catch):

  • test262/test/built-ins/Promise/allSettled/resolved-sequence.js:

(p1.then):
(p2.then):

  • test262/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-custom.js:

(values.then):

  • test262/test/built-ins/Promise/any/invoke-resolve-on-promises-every-iteration-of-promise.js:

(Promise.any.values.then):

  • test262/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-custom.js:

(values.then):

  • test262/test/built-ins/Promise/any/invoke-resolve-on-values-every-iteration-of-promise.js:

(Promise.any.values.then):

  • test262/test/built-ins/Promise/any/invoke-then-on-promises-every-iteration.js:

(Promise.any.promises.then):

  • test262/test/built-ins/Promise/any/resolved-sequence-extra-ticks.js:

(Promise.any.p1.then):
(p1.then):
(then):

  • test262/test/built-ins/Promise/any/resolved-sequence-mixed.js:

(p1.catch):
(p3.then):
(p2.then):
(p3.catch):

  • test262/test/built-ins/Promise/any/resolved-sequence-with-rejections.js:

(p1.catch):
(p2.then):
(p2.catch):

  • test262/test/built-ins/Promise/any/resolved-sequence.js:

(p1.then):
(p2.then):

  • test262/test/built-ins/Promise/prototype/finally/rejected-observable-then-calls.js:

(then):

  • test262/test/built-ins/Promise/prototype/finally/rejection-reason-no-fulfill.js:

(then):

  • test262/test/built-ins/Promise/prototype/finally/rejection-reason-override-with-throw.js:

(then):

  • test262/test/built-ins/Promise/prototype/finally/resolution-value-no-override.js:

(then):

  • test262/test/built-ins/Promise/prototype/finally/resolved-observable-then-calls.js:

(then):

  • test262/test/built-ins/Promise/prototype/then/S25.4.4_A1.1_T1.js:

(then):

  • test262/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T1.js:

(then):

  • test262/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T2.js:

(then):

  • test262/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T3.js:

(Promise.resolve.then):

  • test262/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.1_T1.js:

(p.then):
(Promise.resolve.then):

  • test262/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.2_T1.js:

(p.then):
(Promise.resolve.then):

  • test262/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js:

(Promise.resolve.then):

  • test262/test/built-ins/Promise/race/S25.4.4.3_A6.1_T1.js:

(p.then):
(Promise.resolve.then):
(then):

  • test262/test/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js:

(Promise.resolve.then):
(then):

  • test262/test/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js:

(p.then):
(Promise.resolve.then):
(then):

  • test262/test/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js:

(p.then):
(Promise.resolve.then):
(then):

  • test262/test/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js:

(p.then):
(Promise.resolve.then):
(then):

  • test262/test/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js:

(Promise.resolve.then):
(then):

  • test262/test/built-ins/Promise/race/invoke-resolve-on-promises-every-iteration-of-custom.js: Copied from JSTests/test262/test/built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-custom.js.

(Custom):
(Custom.resolve):
(Promise.resolve):
(values.then):

  • test262/test/built-ins/Promise/race/invoke-resolve-on-promises-every-iteration-of-promise.js: Copied from JSTests/test262/test/built-ins/Promise/all/invoke-resolve-on-promises-every-iteration-of-promise.js.

(Promise.resolve):
(Promise.race.values.then):

  • test262/test/built-ins/Promise/race/invoke-resolve-on-values-every-iteration-of-promise.js: Copied from JSTests/test262/test/built-ins/Promise/all/invoke-resolve-on-values-every-iteration-of-promise.js.

(Promise.resolve):
(Promise.race.values.then):

  • test262/test/built-ins/Promise/race/reject-from-same-thenable.js: Added.

(Constructor.reject):
(Constructor.resolve):
(let.a.then):

  • test262/test/built-ins/Promise/race/resolve-element-function-extensible.js: Added.

(let.thenable.then):
(NotPromise):
(NotPromise.resolve):

  • test262/test/built-ins/Promise/race/resolve-element-function-name.js: Added.

(let.thenable.then):
(NotPromise):
(NotPromise.resolve):

  • test262/test/built-ins/Promise/race/resolve-element-function-nonconstructor.js: Added.

(let.thenable.then):
(NotPromise):
(NotPromise.resolve):

  • test262/test/built-ins/Promise/race/resolve-element-function-prototype.js: Added.

(let.thenable.then):
(NotPromise):
(NotPromise.resolve):

  • test262/test/built-ins/Promise/race/resolve-from-same-thenable.js: Added.

(Constructor.resolve):
(let.a.then):

  • test262/test/built-ins/Promise/race/resolve-ignores-late-rejection-deferred.js: Added.

(let.lateRejector.then):

  • test262/test/built-ins/Promise/race/resolve-ignores-late-rejection.js: Added.

(let.resolver.then):
(let.lateRejector.then):

  • test262/test/built-ins/Promise/race/resolved-sequence-extra-ticks.js: Added.

(a.then):
(then):

  • test262/test/built-ins/Promise/race/resolved-sequence-mixed.js: Added.

(Promise.all.a.catch):
(c.then):
(b.then):
(catch):

  • test262/test/built-ins/Promise/race/resolved-sequence-with-rejections.js: Added.

(Promise.all.a.catch):
(b.catch):

  • test262/test/built-ins/Promise/race/resolved-sequence.js: Added.

(Promise.all.a.then):
(b.then):

  • test262/test/built-ins/Promise/race/resolved-then-catch-finally.js: Added.

(let.b.Promise.resolve.string_appeared_here.then):
(let.c.Promise.reject.string_appeared_here.then):
(let.f.Promise.resolve.string_appeared_here.finally):
(let.g.Promise.reject.string_appeared_here.finally):

  • test262/test/built-ins/Promise/resolve/S25.4.4.5_A3.1_T1.js:

(thenable.then):
(p1.then):

  • test262/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_2.js:

(thenable.then):
(p.then):

  • test262/test/intl402/DateTimeFormat/constructor-options-fractionalSecondDigits-valid.js:

(valueOf):

  • test262/test/intl402/NumberFormat/constructor-order.js:
  • test262/test/intl402/NumberFormat/constructor-unit.js:

(string_appeared_here.new.Intl.NumberFormat):

  • test262/test/intl402/NumberFormat/prototype/format/numbering-systems.js:

(digitList.of.Object.entries):

  • test262/test/language/expressions/class/elements/after-same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/after-same-line-gen-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/after-same-line-gen-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/after-same-line-gen-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/after-same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/after-same-line-method-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/after-same-line-method-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/after-same-line-method-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-computed-names.js:

(prototype.C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-computed-symbol-names.js:

(prototype.C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-grammar-privatename-identifier-semantics-stringvalue.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-literal-names-asi.js:

(prototype.C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-literal-names.js:

(prototype.C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-private-field-usage.js:

(prototype.C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-private-method-getter-usage.js:

(prototype.C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-private-method-usage.js:

(prototype.C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-private-names.js:

(prototype.C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-field-identifier-initializer.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-field-identifier.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-getter-alt.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-getter.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-method-alt.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-method.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-setter-alt.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-private-setter.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-alt.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-initializer-alt.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-initializer.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-privatename-identifier.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js:

(C.get return):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier.js:

(C):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-async-method-privatename-identifier-alt.js:

(C.async return):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-async-method-privatename-identifier.js:

(C):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-method-privatename-identifier-alt.js:

(prototype.C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-method-privatename-identifier.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-alt-by-classname.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-alt.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-by-classname.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier.js:

(C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-static-private-fields.js:

(prototype.C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-static-private-methods-with-fields.js:

(prototype.C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-static-private-methods.js:

(prototype.C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-gen-string-literal-names.js:

(prototype.C.m.next.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-computed-names.js:

(prototype.C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-computed-symbol-names.js:

(prototype.C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-grammar-privatename-identifier-semantics-stringvalue.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-literal-names-asi.js:

(prototype.C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-literal-names.js:

(prototype.C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-private-field-usage.js:

(prototype.C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-private-method-getter-usage.js:

(prototype.C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-private-method-usage.js:

(prototype.C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-private-names.js:

(prototype.C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-field-identifier-initializer.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-field-identifier.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-getter-alt.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-getter.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-method-alt.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-method.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-setter-alt.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-private-setter.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-privatename-identifier-alt.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-privatename-identifier-initializer-alt.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-privatename-identifier-initializer.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-privatename-identifier.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier-alt.js:

(C.get return):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier.js:

(C):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-async-method-privatename-identifier-alt.js:

(C.async return):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-async-method-privatename-identifier.js:

(C):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-generator-method-privatename-identifier.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-method-privatename-identifier-alt.js:

(prototype.C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-method-privatename-identifier.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-alt-by-classname.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-alt.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-by-classname.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier.js:

(C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-static-private-fields.js:

(prototype.C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-static-private-methods-with-fields.js:

(prototype.C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-static-private-methods.js:

(prototype.C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-async-method-string-literal-names.js:

(prototype.C.m.then):

  • test262/test/language/expressions/class/elements/after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/after-same-line-static-gen-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/after-same-line-static-gen-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/after-same-line-static-method-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/after-same-line-static-method-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/after-same-line-static-method-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/after-same-line-static-method-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/multiple-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/multiple-definitions-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/multiple-definitions-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/multiple-definitions-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/multiple-stacked-definitions-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/multiple-stacked-definitions-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/new-no-sc-line-method-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/new-no-sc-line-method-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/new-sc-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/new-sc-line-gen-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/new-sc-line-gen-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/new-sc-line-gen-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/new-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/new-sc-line-method-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/new-sc-line-method-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/new-sc-line-method-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/private-methods/prod-private-async-generator.js:

(ctorPromise.then):

  • test262/test/language/expressions/class/elements/private-methods/prod-private-async-method.js:

(ctorPromise.then):

  • test262/test/language/expressions/class/elements/regular-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/regular-definitions-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/regular-definitions-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/regular-definitions-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/same-line-async-gen-computed-names.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-computed-symbol-names.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-grammar-privatename-identifier-semantics-stringvalue.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-literal-names-asi.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-literal-names.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-private-field-usage.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-private-method-getter-usage.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-private-method-usage.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-private-names.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-field-identifier-initializer.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-field-identifier.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-getter-alt.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-getter.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-method-alt.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-method.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-setter-alt.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-private-setter.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-privatename-identifier-alt.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-privatename-identifier-initializer-alt.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-privatename-identifier-initializer.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-privatename-identifier.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js:

(assertions):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-async-generator-method-privatename-identifier.js:

(c.m.next.then.assertions):
(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-async-method-privatename-identifier-alt.js:

(c.m.next.then.assertions):
(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-async-method-privatename-identifier.js:

(c.m.next.then.assertions):
(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-generator-method-privatename-identifier.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-method-privatename-identifier-alt.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-method-privatename-identifier.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-alt-by-classname.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-alt.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-by-classname.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer-alt.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-rs-static-privatename-identifier.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-static-private-fields.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-static-private-methods-with-fields.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-static-private-methods.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-gen-string-literal-names.js:

(c.m.next.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-computed-names.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-computed-symbol-names.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-grammar-privatename-identifier-semantics-stringvalue.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-literal-names-asi.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-literal-names.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-private-field-usage.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-private-method-getter-usage.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-private-method-usage.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-private-names.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-field-identifier-initializer.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-field-identifier.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-private-getter-alt.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-private-getter.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-private-method-alt.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-private-method.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-private-setter-alt.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-private-setter.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-privatename-identifier-alt.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-privatename-identifier-initializer-alt.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-privatename-identifier-initializer.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-privatename-identifier.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-async-generator-method-privatename-identifier-alt.js:

(assertions):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-async-generator-method-privatename-identifier.js:

(c.m.then.assertions):
(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-async-method-privatename-identifier-alt.js:

(c.m.then.assertions):
(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-async-method-privatename-identifier.js:

(c.m.then.assertions):
(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-generator-method-privatename-identifier.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-method-privatename-identifier-alt.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-method-privatename-identifier.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-alt-by-classname.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-alt.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-by-classname.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer-alt.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-rs-static-privatename-identifier.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-static-private-fields.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-static-private-methods-with-fields.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-static-private-methods.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-async-method-string-literal-names.js:

(c.m.then):

  • test262/test/language/expressions/class/elements/same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/same-line-gen-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/same-line-gen-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/same-line-gen-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/same-line-method-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/same-line-method-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/same-line-method-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/wrapped-in-sc-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/wrapped-in-sc-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/expressions/class/elements/wrapped-in-sc-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/expressions/class/elements/wrapped-in-sc-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/expressions/optional-chaining/eval-optional-call.js: Added.
  • test262/test/language/statements/class/elements/after-same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/after-same-line-gen-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/after-same-line-gen-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/after-same-line-gen-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/after-same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/after-same-line-method-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/after-same-line-method-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/after-same-line-method-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-computed-names.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-computed-symbol-names.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-grammar-privatename-identifier-semantics-stringvalue.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-literal-names-asi.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-literal-names.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-private-field-usage.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-private-method-getter-usage.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-private-method-usage.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-private-names.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-field-identifier-initializer.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-field-identifier.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-getter-alt.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-getter.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-method-alt.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-method.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-setter-alt.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-private-setter.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-alt.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-initializer-alt.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-privatename-identifier-initializer.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-privatename-identifier.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js:

(C.get return):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-async-generator-method-privatename-identifier.js:

(C):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-async-method-privatename-identifier-alt.js:

(C.async return):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-async-method-privatename-identifier.js:

(C):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-generator-method-privatename-identifier.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-method-privatename-identifier-alt.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-method-privatename-identifier.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-alt-by-classname.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-alt.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-by-classname.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer-alt.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier-initializer.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-rs-static-privatename-identifier.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-static-private-fields.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-static-private-methods-with-fields.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-static-private-methods.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-gen-string-literal-names.js:

(C.m.next.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-computed-names.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-computed-symbol-names.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-grammar-privatename-identifier-semantics-stringvalue.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-literal-names-asi.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-literal-names.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-private-field-usage.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-private-method-getter-usage.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-private-method-usage.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-private-names.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-field-identifier-initializer.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-field-identifier.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-getter-alt.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-getter.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-method-alt.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-method.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-setter-alt.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-private-setter.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-privatename-identifier-alt.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-privatename-identifier-initializer-alt.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-privatename-identifier-initializer.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-privatename-identifier.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier-alt.js:

(C.get return):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-async-generator-method-privatename-identifier.js:

(C):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-async-method-privatename-identifier-alt.js:

(C.async return):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-async-method-privatename-identifier.js:

(C):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-generator-method-privatename-identifier.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-method-privatename-identifier-alt.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-method-privatename-identifier.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-alt-by-classname.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-alt.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-by-classname.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer-alt.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier-initializer.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-rs-static-privatename-identifier.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-static-private-fields.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-static-private-methods-with-fields.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-static-private-methods.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-async-method-string-literal-names.js:

(C.m.then):

  • test262/test/language/statements/class/elements/after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/after-same-line-static-gen-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/after-same-line-static-gen-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/after-same-line-static-gen-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/after-same-line-static-method-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/after-same-line-static-method-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/after-same-line-static-method-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/after-same-line-static-method-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/multiple-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/multiple-definitions-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/multiple-definitions-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/multiple-definitions-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/multiple-stacked-definitions-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/multiple-stacked-definitions-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/multiple-stacked-definitions-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/new-no-sc-line-method-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/new-no-sc-line-method-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/new-no-sc-line-method-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/new-sc-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/new-sc-line-gen-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/new-sc-line-gen-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/new-sc-line-gen-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/new-sc-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/new-sc-line-method-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/new-sc-line-method-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/new-sc-line-method-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/private-methods/prod-private-async-generator.js:

(ctorPromise.then):

  • test262/test/language/statements/class/elements/private-methods/prod-private-async-method.js:

(ctorPromise.then):

  • test262/test/language/statements/class/elements/regular-definitions-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/regular-definitions-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/regular-definitions-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/regular-definitions-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/same-line-async-gen-computed-names.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-computed-symbol-names.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-grammar-privatename-identifier-semantics-stringvalue.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-literal-names-asi.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-literal-names.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-private-field-usage.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-private-method-getter-usage.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-private-method-usage.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-private-names.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-field-identifier-initializer.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-field-identifier.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-private-getter-alt.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-private-getter.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-private-method-alt.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-private-method.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-private-setter-alt.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-private-setter.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-privatename-identifier-alt.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-privatename-identifier-initializer-alt.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-privatename-identifier-initializer.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-privatename-identifier.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-async-generator-method-privatename-identifier-alt.js:

(C.get return):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-async-generator-method-privatename-identifier.js:

(C):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-async-method-privatename-identifier-alt.js:

(C.async return):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-async-method-privatename-identifier.js:

(C):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-generator-method-privatename-identifier.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-method-privatename-identifier-alt.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-method-privatename-identifier.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-alt-by-classname.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-alt.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-by-classname.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer-alt-by-classname.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer-alt.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier-initializer.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-rs-static-privatename-identifier.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-static-private-fields.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-static-private-methods-with-fields.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-static-private-methods.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-gen-string-literal-names.js:

(c.m.next.then):

  • test262/test/language/statements/class/elements/same-line-async-method-computed-names.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-computed-symbol-names.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-grammar-privatename-identifier-semantics-stringvalue.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-literal-names-asi.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-literal-names.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-private-field-usage.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-private-method-getter-usage.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-private-method-usage.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-private-names.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-field-identifier-initializer.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-field-identifier.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-private-getter-alt.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-private-getter.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-private-method-alt.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-private-method.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-private-setter-alt.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-private-setter.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-privatename-identifier-alt.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-privatename-identifier-initializer-alt.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-privatename-identifier-initializer.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-privatename-identifier.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-async-generator-method-privatename-identifier-alt.js:

(C.get return):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-async-generator-method-privatename-identifier.js:

(C):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-async-method-privatename-identifier-alt.js:

(C.async return):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-async-method-privatename-identifier.js:

(C):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-generator-method-privatename-identifier.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-method-privatename-identifier-alt.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-method-privatename-identifier.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-alt-by-classname.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-alt.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-by-classname.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer-alt-by-classname.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer-alt.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier-initializer.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-rs-static-privatename-identifier.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-static-private-fields.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-static-private-methods-with-fields.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-static-private-methods.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-async-method-string-literal-names.js:

(c.m.then):

  • test262/test/language/statements/class/elements/same-line-gen-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/same-line-gen-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/same-line-gen-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/same-line-gen-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/same-line-method-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/same-line-method-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/same-line-method-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/same-line-method-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/wrapped-in-sc-rs-static-async-generator-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/wrapped-in-sc-rs-static-async-generator-method-privatename-identifier.js:
  • test262/test/language/statements/class/elements/wrapped-in-sc-rs-static-async-method-privatename-identifier-alt.js:
  • test262/test/language/statements/class/elements/wrapped-in-sc-rs-static-async-method-privatename-identifier.js:
  • test262/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-init-yield-expr.js:
  • test262/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-nested-array-yield-expr.js:
  • test262/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-nested-obj-yield-expr.js:
  • test262/test262-Revision.txt:
6:16 PM Changeset in webkit [263607] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

Crash at WebKit: 62-[WKContentView(WKInteraction) resignFirstResponderForWebView]_block_invoke
<https://webkit.org/b/213666>
<rdar://problem/64238661>

Reviewed by Darin Adler.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView resignFirstResponderForWebView]):

  • Speculative fix to return early if there are no queued key events available by the time the block runs.
5:13 PM Changeset in webkit [263606] by Chris Dumez
  • 7 edits
    2 moves in trunk/LayoutTests/imported/w3c

Resync web-platform-tests/WebIDL from upstream
https://bugs.webkit.org/show_bug.cgi?id=213539

Reviewed by Sam Weinig.

Resync web-platform-tests/WebIDL from upstream 1001bb6b2d6b9.

  • web-platform-tests/WebIDL/ecmascript-binding/class-string-iterator-prototype-object.any-expected.txt:
  • web-platform-tests/WebIDL/ecmascript-binding/class-string-iterator-prototype-object.any.js:

(test):

  • web-platform-tests/WebIDL/ecmascript-binding/class-string-iterator-prototype-object.any.worker-expected.txt:
  • web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window-expected.txt:
  • web-platform-tests/WebIDL/ecmascript-binding/class-string-named-properties-object.window.js:
  • web-platform-tests/WebIDL/idlharness-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebIDL/interfaces-expected.txt.
  • web-platform-tests/WebIDL/idlharness.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebIDL/interfaces.html.
  • web-platform-tests/WebIDL/w3c-import.log:
4:58 PM Changeset in webkit [263605] by Chris Dumez
  • 60 edits
    1 copy
    16 moves
    24 adds in trunk/LayoutTests

Update web-platform-tests/content-security-policy from upstream
https://bugs.webkit.org/show_bug.cgi?id=213664

Reviewed by Darin Adler.

Update web-platform-tests/content-security-policy from upstream b076c305a256e7fb7.

LayoutTests/imported/w3c:

  • resources/resource-files.json:
  • web-platform-tests/content-security-policy/*: Updated.

LayoutTests:

  • tests-options.json:
4:56 PM Changeset in webkit [263604] by Alan Coon
  • 1 copy in tags/Safari-610.1.18.3

Tag Safari-610.1.18.3.

4:44 PM Changeset in webkit [263603] by Alan Coon
  • 8 edits in branches/safari-610.1.18-branch/Source

Versioning.

WebKit-610.1.18.3

4:41 PM Changeset in webkit [263602] by Alan Coon
  • 1 delete in branches/safari-610.1.18.0-branch

Delete branch.

4:38 PM Changeset in webkit [263601] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk

CRASH: incompatible downcast<> operation in SourceBufferPrivateAVFObjC::setCDMInstance()
https://bugs.webkit.org/show_bug.cgi?id=213660
<rdar://problem/63831593>

Reviewed by Eric Carlson.

Source/WebCore:

Test: platform/mac/media/encrypted-media/fps-clearkey-crash.html

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

(WebCore::SourceBufferPrivateAVFObjC::setCDMInstance):

LayoutTests:

  • platform/mac/media/encrypted-media/fps-clearkey-crash-expected.txt: Added.
  • platform/mac/media/encrypted-media/fps-clearkey-crash.html: Added.
4:37 PM Changeset in webkit [263600] by Alan Coon
  • 1 copy in branches/safari-610.1.18.0-branch

New branch.

4:34 PM Changeset in webkit [263599] by Alan Coon
  • 1 delete in branches/safari-610.1.18.10-branch

Delete tag.

4:32 PM Changeset in webkit [263598] by Chris Dumez
  • 43 edits
    5 copies
    1 move
    19 adds
    31 deletes in trunk/LayoutTests

Update web-platform-tests/WebCryptoAPI from upstream
https://bugs.webkit.org/show_bug.cgi?id=213662

Reviewed by Darin Adler.

Update web-platform-tests/WebCryptoAPI from upstream b076c305a256e7.

LayoutTests/imported/w3c:

  • web-platform-tests/WebCryptoAPI/*: Updated.

LayoutTests:

  • platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.https.worker-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.https.worker-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt:
4:26 PM Changeset in webkit [263597] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][BFC] Add support for <center>
https://bugs.webkit.org/show_bug.cgi?id=213649

Reviewed by Antti Koivisto.

Source/WebCore:

Adjust the margin box to center the block content (this is very similar to [style="margin-left: auto; margin-right: auto;"]).

Test: fast/layoutformattingcontext/center-alignment-with-block-content-simple.html

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):

LayoutTests:

  • fast/layoutformattingcontext/center-alignment-with-block-content-simple-expected.html: Added.
  • fast/layoutformattingcontext/center-alignment-with-block-content-simple.html: Added.
4:23 PM Changeset in webkit [263596] by Alan Coon
  • 1 copy in branches/safari-610.1.18.10-branch

New branch.

4:07 PM Changeset in webkit [263595] by Chris Dumez
  • 10 edits
    1 move
    5 adds in trunk/LayoutTests/imported/w3c

Update web-platform-tests/beacon from upstream
https://bugs.webkit.org/show_bug.cgi?id=213663

Reviewed by Darin Adler.

Update web-platform-tests/beacon from upstream b076c305a256e7fb7.

  • web-platform-tests/beacon/*: Updated.
3:33 PM Changeset in webkit [263594] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for imported/w3c/canvas/2d.line.cap.round.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=138676

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-26

3:29 PM Changeset in webkit [263593] by Alan Coon
  • 1 copy in tags/Safari-610.1.15.51.6

Tag Safari-610.1.15.51.6.

3:09 PM Changeset in webkit [263592] by Jonathan Bedard
  • 9 edits in trunk/Tools

[webkitpy] Automatically detect hw architecture for supporting Apple Silicon
https://bugs.webkit.org/show_bug.cgi?id=213653
<rdar://problem/64817656>

Rubber-stamped by Aakash Jain.

  • Scripts/webkitpy/common/config/ews.json: iOS has the correct defaults, no need to override them.
  • Scripts/webkitpy/common/system/platforminfo.py:

(PlatformInfo):
(PlatformInfo.architecture): Retrieve the current system's architecture.

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

(MockPlatformInfo.init):
(MockPlatformInfo.architecture):

  • Scripts/webkitpy/port/base.py:

(Port.init): Remove 'did_override_architecture', should be implied by architecture compared with DEFAULT_ARCHITECTURE.
(Port.architecture): Return the architecture specified by the user, if it exists.
(Port.set_architecture): Remove 'did_override_architecture'.

  • Scripts/webkitpy/port/factory.py:

(configuration_options): Add --arm and --architecture flags.

  • Scripts/webkitpy/port/mac.py:

(MacPort): Add arm64 to supported architectures.
(MacPort.architecture): Convert arm64e to arm64, check the host's architecture.
(MacPort._build_driver_flags): Always specify the build architecture since it may be x86_64 or arm64.

  • Scripts/webkitpy/port/mac_unittest.py:

(MacTest.test_64bit):
(MacTest):
(MacTest.test_arm):
(MacTest.test_default):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

(AbstractEarlyWarningSystem.run_command): Remove did_override_architecture.

3:00 PM Changeset in webkit [263591] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

[iOS] Layout tests sometimes assert under -[WKContentView hasContent]
https://bugs.webkit.org/show_bug.cgi?id=213656
<rdar://problem/64818648>

Reviewed by Tim Horton.

Make it safe to invoke -[WKContentView hasContent] when post-layout data is not present, and there is no
ranged or caret selection. Some editing layout tests on iOS tend to hit the post-layout data assertion due to
the callout bar presentation callback firing while we reset the test harness to a consistent state (and spin the
runloop while doing so).

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView hasContent]):

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

Remove expectations for imported/w3c/canvas/2d.gradient.linear.transform.1.html and imported/w3c/canvas/2d.gradient.linear.transform.2.html and imported/w3c/canvas/2d.gradient.linear.transform.3.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=170757

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-26

  • platform/mac/TestExpectations:
2:53 PM Changeset in webkit [263589] by Pablo Saavedra
  • 2 edits in trunk/Source/WebKit

[GTK][WPE] Fix the matching of an empty value in getCgroupControllerPath() when only cgroupsV2 hierarchy is found
https://bugs.webkit.org/show_bug.cgi?id=213646

Reviewed by Adrian Perez de Castro.

  • UIProcess/linux/MemoryPressureMonitor.cpp:

(WebKit::getCgroupFile):
(WebKit::getCgroupControllerPath):
(WebKit::systemMemoryUsedAsPercentage):

2:45 PM Changeset in webkit [263588] by Jason_Lawrence
  • 15 edits
    4 deletes in trunk

Unreviewed, reverting r263511, r263514, and r263565.

r263511 caused MediaRecorder test crashes on internal testers.

Reverted changesets:

"MediaRecorder stopRecorder() returns empty Blob after first
use"
https://bugs.webkit.org/show_bug.cgi?id=212274
https://trac.webkit.org/changeset/263511

"Unreviewed iOS build fix after r263511."
https://trac.webkit.org/changeset/263514

"MediaRecorder.start() Method is Ignoring the "timeslice"
Parameter"
https://bugs.webkit.org/show_bug.cgi?id=202233
https://trac.webkit.org/changeset/263565

2:24 PM Changeset in webkit [263587] by Alan Coon
  • 1 copy in tags/Safari-610.1.18.2

Tag Safari-610.1.18.2.

2:19 PM Changeset in webkit [263586] by Alan Coon
  • 1 copy in tags/Safari-610.1.18.3.1

Tag Safari-610.1.18.3.1.

2:18 PM Changeset in webkit [263585] by Alan Coon
  • 4 edits in branches/safari-610.1.18.3-branch/Source/WTF

Cherry-pick r263524. rdar://problem/64814318

WTF::callOnMainThread should not require the main runloop to be initialized
https://bugs.webkit.org/show_bug.cgi?id=213612
<rdar://problem/64446028>

Reviewed by Yusuke Suzuki.

When using JavaScriptCore as a framework, the WTF main runloop is never initialized. However,
the inspector uses CFString wrappers, which use callOnMainThread when deallocating the
underlying string. For now, we bring back the old JSWTFMainThreadCaller to ensure we have
a way of dispatching to the main thread, even when the main runloop hasn't been initialized.

  • wtf/RunLoop.cpp: (WTF::RunLoop::mainIfExists):
  • wtf/RunLoop.h:
  • wtf/cocoa/MainThreadCocoa.mm: (-[JSWTFMainThreadCaller call]): (WTF::initializeMainThreadPlatform): (WTF::scheduleDispatchFunctionsOnMainThread):

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

2:13 PM Changeset in webkit [263584] by Alan Coon
  • 8 edits in branches/safari-610.1.18.3-branch/Source

Versioning.

WebKit-610.1.18.3.1

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

[Big Sur] Handle baseline search path (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=213639
<rdar://problem/64789480>

Unreviewed follow-up fix.

  • Scripts/webkitpy/port/mac.py:

(MacPort.default_baseline_search_path): Copy reference version by value, not by reference.

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

Remove expectation for imported/w3c/canvas/2d.gradient.interpolate.solid.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=174015

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-26

  • platform/mac/TestExpectations:
1:58 PM Changeset in webkit [263581] by weinig@apple.com
  • 11 edits in trunk/Source/WebCore

Convert ContentSecurityPolicy related parsers over to using StringParsingBuffer
https://bugs.webkit.org/show_bug.cgi?id=213631

Reviewed by Darin Adler.

  • Adopt StringParsingBuffer across CSP code.
  • Remove UTF-16 upconversions in ContentSecurityPolicy, ContentSecurityPolicyDirectiveList, ContentSecurityPolicyMediaListDirective and ContentSecurityPolicySourceList.
  • html/parser/ParsingUtilities.h:

(WebCore::isNotASCIISpace):
(WebCore::skipExactly):
(WebCore::characterPredicate):
(WebCore::skipUntil):
(WebCore::skipExactlyIgnoringASCIICase):
Add overloads for each helper that take a StringParsingBuffer.

  • loader/ResourceCryptographicDigest.cpp:

(WebCore::parseHashAlgorithmAdvancingPosition):
Convert to use an Optional return value rather than outparameter + bool.

(WebCore::parseCryptographicDigestImpl):
(WebCore::parseCryptographicDigest):
(WebCore::parseEncodedCryptographicDigestImpl):
(WebCore::parseEncodedCryptographicDigest):

  • loader/ResourceCryptographicDigest.h:

Use StringParsingBuffer rather than raw pointers for parsing.

  • loader/SubresourceIntegrity.cpp:

(WebCore::splitOnSpaces):
(WebCore::parseIntegrityMetadata):
Use StringParsingBuffer and readCharactersForParsing rather than raw pointers for parsing.

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::didReceiveHeader):
Use StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters().

  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::isDirectiveNameCharacter):
(WebCore::isDirectiveValueCharacter):
(WebCore::ContentSecurityPolicyDirectiveList::parse):
(WebCore::ContentSecurityPolicyDirectiveList::parseDirective):
(WebCore::ContentSecurityPolicyDirectiveList::parseReportURI):
(WebCore::ContentSecurityPolicyDirectiveList::setCSPDirective):
(WebCore::ContentSecurityPolicyDirectiveList::applySandboxPolicy):
(WebCore::ContentSecurityPolicyDirectiveList::setUpgradeInsecureRequests):
(WebCore::ContentSecurityPolicyDirectiveList::setBlockAllMixedContentEnabled):
(WebCore::ContentSecurityPolicyDirectiveList::addDirective):

  • page/csp/ContentSecurityPolicyDirectiveList.h:

Use StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Also switch to using Optional for return values
rather than outparameter + bool. To make things read more cleanly, package up name
and value pair into a new ParsedDirective struct that can be passed around more easily.

  • page/csp/ContentSecurityPolicyMediaListDirective.cpp:

(WebCore::isMediaTypeCharacter):
(WebCore::ContentSecurityPolicyMediaListDirective::parse):
Use StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters().

  • page/csp/ContentSecurityPolicySourceList.cpp:

(WebCore::isSourceCharacter):
(WebCore::isHostCharacter):
(WebCore::isPathComponentCharacter):
(WebCore::isSchemeContinuationCharacter):
(WebCore::isNotColonOrSlash):
(WebCore::isSourceListNone):
(WebCore::ContentSecurityPolicySourceList::parse):
(WebCore::ContentSecurityPolicySourceList::parseSource):
(WebCore::ContentSecurityPolicySourceList::parseScheme):
(WebCore::ContentSecurityPolicySourceList::parseHost):
(WebCore::ContentSecurityPolicySourceList::parsePath):
(WebCore::ContentSecurityPolicySourceList::parsePort):
(WebCore::isNonceCharacter):
(WebCore::ContentSecurityPolicySourceList::parseNonceSource):
(WebCore::ContentSecurityPolicySourceList::parseHashSource):

  • page/csp/ContentSecurityPolicySourceList.h:

Use StringParsingBuffer and readCharactersForParsing to replace unnecessary call to
StringView::upconvertedCharacters(). Also switch to using Optional for return values
rather than outparameter + bool. To make things read more cleanly, package up source
return values into structs that can be more easily returned / passed around.

1:52 PM Changeset in webkit [263580] by ggaren@apple.com
  • 4 edits in trunk/Source/WTF

Re-land r262863
https://bugs.webkit.org/show_bug.cgi?id=213654

Reviewed by Tadeu Zagallo.

r263575 should fix the crash we saw.

  • wtf/cocoa/MainThreadCocoa.mm:

(WTF::initializeMainThreadPlatform):
(WTF::scheduleDispatchFunctionsOnMainThread):
(-[JSWTFMainThreadCaller call]): Deleted.

1:41 PM Changeset in webkit [263579] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for https://results.webkit.org/?suite=layout-tests&test=imported%2Fmozilla%2Fsvg%2Fdynamic-textPath-02.svg as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213655

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-26

1:16 PM Changeset in webkit [263578] by Simon Fraser
  • 6 edits
    2 adds in trunk

Content sometimes missing in nested scrollers with border-radius
https://bugs.webkit.org/show_bug.cgi?id=213580
<rdar://problem/64460373>

Reviewed by Zalan Bujtas.
Source/WebCore:

RenderLayer::clipToRect() has a special case for clips involving border-radius,
involving an ancestor tree walk which applies the rounded clips.

When inside composited overflow, don't include the border-radius from the scroller since
that does its own clipping.

Test: compositing/clipping/nested-overflow-with-border-radius.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayer.h:

LayoutTests:

  • compositing/clipping/nested-overflow-with-border-radius-expected.html: Added.
  • compositing/clipping/nested-overflow-with-border-radius.html: Added.
  • compositing/hidpi-compositing-layer-with-tile-layers-on-subpixel-position-expected.html:
  • compositing/hidpi-compositing-layer-with-tile-layers-on-subpixel-position.html: Tweak the colors and radii to make failures on this test more obvious.
1:00 PM Changeset in webkit [263577] by Alan Coon
  • 1 copy in branches/safari-610.1.18.3-branch

New branch.

12:43 PM Changeset in webkit [263576] by Jacob Uphoff
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] REGRESSION: webrtc/video-autoplay1.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=213652

Unreviewed test gardening

  • platform/mac-wk2/TestExpectations:
12:28 PM Changeset in webkit [263575] by ggaren@apple.com
  • 48 edits in trunk

Initializing the main thread should initialize the main run loop
https://bugs.webkit.org/show_bug.cgi?id=213637

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • JavaScriptCore.order: Removed some defunct stuff.
  • shell/playstation/TestShell.cpp:

(setupTestRun): Merged initializeThreading call with
initializeMainThread call because initializeMainThread is a superset.

Source/WebCore:

  • platform/ios/wak/WebCoreThread.mm:

(RunWebThread): Removed call to initializeMainThread() because the main
thread calls it before starting the web thread, so it's a no-op. (And if
it were an op, it would be broken.)
(StartWebThread): Merged RunLoop::initializeMain and initializeThreading
into initializeMainThread.

Source/WebDriver:

  • WebDriverService.cpp:

(WebDriver::WebDriverService::run):

Source/WebKit:

  • Shared/Cocoa/WebKit2InitializeCocoa.mm:

(WebKit::runInitializationCode):
(WebKit::InitializeWebKit2):

  • Shared/WebKit2Initialize.cpp:

(WebKit::InitializeWebKit2):

Source/WebKitLegacy/mac:

  • History/WebBackForwardList.mm:

(+[WebBackForwardList initialize]):

  • History/WebHistoryItem.mm:

(+[WebHistoryItem initialize]):

  • Misc/WebCache.mm:

(+[WebCache initialize]):

  • Misc/WebElementDictionary.mm:

(+[WebElementDictionary initialize]):

  • Misc/WebIconDatabase.mm:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(+[WebHostedNetscapePluginView initialize]):

  • Plugins/WebBaseNetscapePluginView.mm:
  • Plugins/WebBasePluginPackage.mm:

(+[WebBasePluginPackage initialize]):

  • Plugins/WebNetscapePluginView.mm:

(+[WebNetscapePluginView initialize]):

  • WebCoreSupport/WebEditorClient.mm:

(+[WebUndoStep initialize]):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(+[WebFramePolicyListener initialize]):

  • WebView/WebArchive.mm:

(+[WebArchivePrivate initialize]):

  • WebView/WebDataSource.mm:

(+[WebDataSource initialize]):

  • WebView/WebHTMLView.mm:

(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

  • WebView/WebResource.mm:

(+[WebResourcePrivate initialize]):

  • WebView/WebTextIterator.mm:

(+[WebTextIteratorPrivate initialize]):

  • WebView/WebView.mm:

(+[WebView initialize]):

  • WebView/WebViewData.mm:

(+[WebViewPrivate initialize]):

Source/WebKitLegacy/win:

  • WebView.cpp:

(WebView::WebView):

Source/WTF:

Previously, some code initialized one, some the other, and some both;
and some code tried to initialize more than once; and some code tried
to initialize in ways that would crash but luckily got pre-empted by
other code that had already initialized.

In addition to general confusion, this setup made it subtly high stakes
to call certain functions, like callOnMainThread or
RunLoop::main().dispatch(), because they might crash if the right
initialization had not been performed.

Let's fix that.

  • wtf/MainThread.cpp:

(WTF::initializeMainThread): Removed defunct comment about
initializeMainThreadToProcessMainThread. Shrank scope of initializeKey.

  • wtf/RunLoop.cpp:

(WTF::RunLoop::initializeMain): Don't call initializeMainThread anymore
because it calls us now. No need for a store fence since we run on the
main thread and we don't store anything.
(WTF::RunLoop::initializeWeb): Upgrade to RELEASE_ASSERT.

  • wtf/RunLoop.h: Removed incorrect comment. (Fascinating to wonder when

it became incorrect.)

Tools:

Updated TestWebKitAPI to stop using RunLoop::initializeMain directly.

  • TestWebKitAPI/Tests/WTF/RefPtr.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/RunLoop.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:

(ApplicationManifestParserTest::SetUp):

  • TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:

(TestWebKitAPI::ComplexTextControllerTest::SetUp):

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::ContentExtensionTest::SetUp):

  • TestWebKitAPI/Tests/WebCore/DNS.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:

(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:

(initializeInAppBrowserPrivacyTestSettings):

  • TestWebKitAPI/TestsController.cpp:

(TestWebKitAPI::TestsController::TestsController):

  • WebKitTestRunner/TestController.cpp:

(TestController::initialize):

12:26 PM Changeset in webkit [263574] by Russell Epstein
  • 8 edits in branches/safari-610.1.15.51-branch/Source

Versioning.

WebKit-610.1.15.51.6

12:26 PM Changeset in webkit [263573] by Andres Gonzalez
  • 2 edits in trunk/Source/WebCore

Fix for crash in AXIsolatedObject::relativeFrame.
https://bugs.webkit.org/show_bug.cgi?id=213363

Reviewed by Chris Fleizach.

Covered by existing testss.

Between the time an isolated object dispatches the method to the main
thread and the time the lambda is executed, the isolated object is
detached and hence its object ID becomes invalid. Thus, trying to get
the associated AX object results in an assert/crash.

  • accessibility/isolatedtree/AXIsolatedObject.h:
12:20 PM Changeset in webkit [263572] by Andres Gonzalez
  • 3 edits in trunk/Source/WebCore

Access to AXIsolatedTree:m_readerThreadNodeMap should happen only on the secondary AX thread.
https://bugs.webkit.org/show_bug.cgi?id=213575

Reviewed by Chris Fleizach.

After calling AXObjectCache::initializeSecondaryAXThread, there may
still be some client requests coming in on the main thread. Thus
AXIsolatedTree::applyPendingchanges and nodeForID can be called on the
main thread. Since these two methods access the member variable
m_readerThreadNodeMap which should be accessed only on the secondary AX
thread, we now check for this condition and bail out if needed.

  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::nodeForID const):
(WebCore::AXIsolatedTree::applyPendingChanges):

  • accessibility/isolatedtree/AXIsolatedTree.h: Reordered private methods

above member variables to comply with WebKit coding conventions,
pointed out by Darin Adler in review for https://bugs.webkit.org/show_bug.cgi?id=213435.

11:07 AM Changeset in webkit [263571] by Andres Gonzalez
  • 5 edits in trunk/Source/WebCore

Fix for crash in accessibility/roles-exposed.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=213648

Reviewed by Chris Fleizach.

LayoutTest: accessibility/roles-exposed.html.

  • In layout tests, when AXObjectCache::notificationPostTimerFired is

triggered, and we try to update the isolated tree, some of the
underlying objects may already be gone. So this change ensure we don't
try to update an isolated object that corresponds to an already detached
live object.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::cacheAndInitializeWrapper): Sanity check.

  • accessibility/AccessibilityListBox.cpp:

(WebCore::AccessibilityListBox::addChildren): m_renderer can be null
when trying to update the isolated tree.

  • accessibility/AccessibilityListBoxOption.cpp:

(WebCore::AccessibilityListBoxOption::computeAccessibilityIsIgnored const):
Parent object may be gone when trying to update the isolated tree.

  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::updateChildrenIDs):
(WebCore::AXIsolatedTree::generateSubtree):
(WebCore::AXIsolatedTree::updateChildren):

10:37 AM Changeset in webkit [263570] by Chris Dumez
  • 5 edits in trunk/Source/WebKit

[iOS] Network process is crashing when launching TJMaxx app due to invalid NetworkProcess::DestroySession IPC message
https://bugs.webkit.org/show_bug.cgi?id=213625
<rdar://problem/64737890>

Reviewed by Alex Christensen.

The app is calling [WKWebsiteDataStore init] despite the method being marked as unavailable in
WKWebsiteDataStore.h. As a result, they end up with a WKWebsiteDataStore object whose internal
_websiteDataStore is bad because its constructor was never called. When [WKWebsiteDataStore dealloc]
gets called later own, it calls the ~WebsiteDataStore() destructor for _websiteDataStore but its
m_sessionID is 0 because we never called the constructor. This causes us to send a
NetworkProcess::DestroySession IPC with a sessionID that is 0, which is not valid so the
NetworkProcess crashes.

To address the issue, we now provide an implementation of [WKWebsiteDataStore init] which raises an
exception, behind a linked-on-after check. To keep the app working, [WKWebsiteDataStore init] returns
a new ephemeral data store until rebuilt with the new SDK.

  • UIProcess/API/Cocoa/WKWebsiteDataStore.h:

Mark "new" as unavailable, otherwise [WKWebsiteDataStore new] builds.

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore init]):
Raise an exception with latest SDK, a new ephemeral data store otherwise.

  • UIProcess/Cocoa/VersionChecks.h:

Add linked-on-after check.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::~WebsiteDataStore):
Add a release assertion to make sure that m_sessionID is always valid when the destructor is called.

10:18 AM Changeset in webkit [263569] by Jonathan Bedard
  • 4 edits in trunk/Tools

run-javascriptcore-tests: Support Apple Silicon running x86 processes
https://bugs.webkit.org/show_bug.cgi?id=213487
<rdar://problem/64606667>

Reviewed by Saam Barati.

  • Scripts/run-javascriptcore-tests:

(configurationForUpload): Add --architecture flag.
(runTest): Run test suite with specific architecture.
(runJSCStressTests): Pass architecture to run-jsc-stress-tests.

  • Scripts/run-jsc-stress-tests: Add --force-architecture flag.
  • Scripts/webkitdirs.pm:

(determineNativeArchitecture): Add function to determine machine's native architecture.
(determineArchitecture): Leverage the nativeArchitecture instead of hard-coding simulator
architectures.
(architecturesForProducts): Determine the architectures supported by a given build.
(nativeArchitecture): Return nativeArchitecture.

10:16 AM Changeset in webkit [263568] by stephan.szabo@sony.com
  • 3 edits in trunk/Source/WebKit

[WinCairo] Cannot build without resource load statistics
https://bugs.webkit.org/show_bug.cgi?id=213534

Reviewed by Don Olmstead.

Build fix for !ENABLE(RESOURCE_LOAD_STATISTICS)

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:
10:00 AM Changeset in webkit [263567] by Wenson Hsieh
  • 4 edits
    2 adds in trunk

Add a test to verify that async clipboard API write access is granted when copying in subframes
https://bugs.webkit.org/show_bug.cgi?id=213581

Reviewed by Darin Adler.

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(-[WebView _executeCoreCommandByName:value:]):

Adjust the behavior of this SPI to trigger the editing command in the focused frame, rather than always the
mainframe. This matches the behavior of WKBundlePageExecuteEditingCommand, and is also consistent with
user-triggered editing commands.

LayoutTests:

Add a new test to verify that clipboard write access is granted when copying in a subframe.

  • editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe-expected.txt: Added.
  • editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe.html: Added.
  • platform/win/TestExpectations:
9:51 AM Changeset in webkit [263566] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Change expectations to http/tests/webarchive/test-css-url-encoding-shift-jis.html and
http/tests/webarchive/test-css-url-encoding-utf-8.html and
http/tests/webarchive/test-css-url-encoding.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=82665

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-26

  • platform/mac/TestExpectations:
9:49 AM Changeset in webkit [263565] by youenn@apple.com
  • 4 edits
    2 adds in trunk

MediaRecorder.start() Method is Ignoring the "timeslice" Parameter
https://bugs.webkit.org/show_bug.cgi?id=202233
<rdar://problem/55720555>

Reviewed by Eric Carlson.

Source/WebCore:

Use a timer to implement timeSlice parameter.
Schedule timer either when start is called or as part of requestData callback.
This should ensure that, if requestData is called by the application, the timer will be rescheduled appropriately.

Test: http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::requestData):

  • Modules/mediarecorder/MediaRecorder.h:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice-expected.txt: Added.
  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html: Added.
9:44 AM Changeset in webkit [263564] by Jack Lee
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: (it != m_map.end()) in TreeScopeOrderedMap::remove
https://bugs.webkit.org/show_bug.cgi?id=213611
<rdar://problem/64493506>

Reviewed by Geoffrey Garen.

Source/WebCore:

In function HTMLImageElement::parseAttribute(), empty name attribute is considered valid
which makes the function skip handling of subsequent name changes. Modified the check of
name attribute so only non-empty name is considered valid. This code change is to match
<https://trac.webkit.org/changeset/262360>.

Test: fast/images/img-change-name-assert.html

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):

LayoutTests:

Added a regression test for the crash.

  • fast/images/img-change-name-assert-expected.txt: Added.
  • fast/images/img-change-name-assert.html: Added.
9:41 AM Changeset in webkit [263563] by sihui_liu@apple.com
  • 6 edits in trunk

Text manipulation should observe adjacent elements with new renderer together
https://bugs.webkit.org/show_bug.cgi?id=213333

Reviewed by Geoffrey Garen.

Source/WebCore:

TextManipulationController only keeps track of manipulated Elements. For other types of Node, like Text,
TextManipulationController does not mark them as manipulated and may manipulate it again. r263132 tried to solve
the problem by marking Element with only manipulated children as manipulated, but it did not iterate all
children of Element. So, if one Element has children in different paragraphs, it may fail to mark the Element
manipulated. See updated test.
To fix this issue completely, TextManipulationController now tracks all manipulated Nodes, so it can skip the
manipulated Nodes during observation.

For elements with new renderer, TextManipulationController observes them one by one. However, adjacent elements
can be in the same paragraph, if there is no delimiter in their text, and should be observed together. To solve
this problem, TextManipulationController now starts observing from the common ancestor of these elements. If a
Node in range is manipulated, split the paragrph there. This makes sure content in paragraph is not manipulated.
Relevant test is updated for this new behavior.

Tests: TextManipulation.StartTextManipulationFindNewlyDisplayedParagraph

TextManipulation.CompleteTextManipulationAvoidExtractingManipulatedTextAfterManipulation

  • dom/Node.cpp:

(WebCore::Node::~Node):

  • editing/TextManipulationController.cpp:

(WebCore::TextManipulationController::observeParagraphs):
(WebCore::TextManipulationController::didCreateRendererForElement):
(WebCore::TextManipulationController::scheduleObservationUpdate):
(WebCore::TextManipulationController::updateInsertions):
(WebCore::TextManipulationController::replace):
(WebCore::TextManipulationController::removeNode):
(WebCore::makePositionTuple): Deleted.
(WebCore::makeHashablePositionRange): Deleted.

  • editing/TextManipulationController.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:

(TestWebKitAPI::TEST):

9:38 AM Changeset in webkit [263562] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Clean up some PaintBehavior-related code in RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=213634

Reviewed by Sam Weinig.

Move the computation of paintBehavior into a lambda, and share the flags between
normal painting and mask painting.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayer.h:
9:31 AM Changeset in webkit [263561] by Jonathan Bedard
  • 3 edits in trunk/Tools

[Big Sur] Handle baseline search path
https://bugs.webkit.org/show_bug.cgi?id=213639
<rdar://problem/64789480>

Rubber-stamped by Aakash Jain.

  • Scripts/webkitpy/port/mac.py:

(MacPort):
(MacPort.default_baseline_search_path): Break infinite loop for major version bump.

  • Scripts/webkitpy/port/mac_unittest.py:

(MacTest.test_big_sur_baseline_search_path): Test Big Sur baseline search path.

8:58 AM Changeset in webkit [263560] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-main-frame.html and http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=160445

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-26

  • platform/mac-wk2/TestExpectations:
8:12 AM Changeset in webkit [263559] by Jacob Uphoff
  • 2 edits in trunk/LayoutTests

[ iOS ] REGRESSON: imported/w3c/web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsic_sizes.htm is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=213645

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
8:05 AM Changeset in webkit [263558] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectation for http/tests/media/hls/video-cookie.html as they are passing.
https://bugs.webkit.org/show_bug.cgi?id=213644

Unreviewed test gardening.

Patch by Karl Rackler <Karl Rackler> on 2020-06-26

  • platform/mac/TestExpectations:
7:44 AM Changeset in webkit [263557] by clopez@igalia.com
  • 2 edits in trunk/Tools

generate-jsc-bundle should fail if passed an invalid remote-config-file parameter
https://bugs.webkit.org/show_bug.cgi?id=213615

Reviewed by Žan Doberšek.

Raise an exception if the parameter passed as remote-config-file is not a file.

  • Scripts/generate-jsc-bundle:

(main):

6:36 AM Changeset in webkit [263556] by aboya@igalia.com
  • 2 edits in trunk/Source/WebCore

[GStreamer] Initialize m_currentState and m_oldState
https://bugs.webkit.org/show_bug.cgi?id=213604

Reviewed by Eric Carlson.

MediaPlayerPrivateGStreamer was not initializing m_currentState and
m_oldState, causing them to be checked e.g. updateStates() while they
still contain garbage.

Because the biggest uninitialized usage is a != comparison, in
practice things still worked, but that's still a bug. I detected the
bug after seeing this in the logs:

playbin3SendSelectStreamsIfAppropriate:<media-player-0> Checking if to send SELECT_STREAMS, m_waitingForStreamsSelectedEvent = false, haveDifferentStreamIds = false, m_currentState = UNKNOWN!(-8421505)... shouldSendSelectStreams = false

This patch fixes a slight memory error which doesn't alter
TestExpectations.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2:38 AM Changeset in webkit [263555] by Takashi Komori
  • 2 edits in trunk/Tools

Add myself to contributors.json

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:
Note: See TracTimeline for information about the timeline view.