Timeline



Apr 13, 2020:

10:32 PM Changeset in webkit [260059] by commit-queue@webkit.org
  • 22 edits in trunk/Source

Unreviewed, reverting r260052.
https://bugs.webkit.org/show_bug.cgi?id=210479

Breaks iOS tests, needs more work (Requested by smfr on
#webkit).

Reverted changeset:

"Add ENABLE_CUSTOM_SCROLLBARS and define it for macOS and for
non-Cocoa platforms"
https://bugs.webkit.org/show_bug.cgi?id=210460
https://trac.webkit.org/changeset/260052

10:12 PM Changeset in webkit [260058] by Adrian Perez de Castro
  • 4 edits in trunk/Source/WebCore

[GTK4] Use ThemeAdwaita instead of ThemeGtk
https://bugs.webkit.org/show_bug.cgi?id=210334

Reviewed by Carlos Garcia Campos.

No new tests needed.

  • platform/adwaita/ThemeAdwaita.cpp: Build the Theme::singleton() factory also with USE(GTK4).
  • platform/gtk/ThemeGtk.cpp: Conditionally build if !USE(GTK4).

(WebCore::ThemeGtk::ensurePlatformColors const): Add deprecation ignore guards.

  • platform/gtk/ThemeGtk.h: Conditionally build if !USE(GTK4).
8:05 PM Changeset in webkit [260057] by Alexey Shvayka
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION (r259587): bterlson/eshost throws during init in strict mode
https://bugs.webkit.org/show_bug.cgi?id=210470

Reviewed by Ross Kirsling.

This change makes $262.IsHTMLDDA of JSC shell a CustomValue, allowing it to be reassigned
and restoring compatibility with any version of https://github.com/bterlson/eshost.

Since putDirectCustomAccessor() is now used instead of putGetter(), scope exception assert
is no longer needed and can be safely removed, as well as JSObject::putGetter() export.

  • jsc.cpp:
  • runtime/JSObject.h:
7:59 PM Changeset in webkit [260056] by Simon Fraser
  • 4 edits
    4 adds in trunk

[Async overflow] Get scroll-snap working with async overflow scrolling on macOS
https://bugs.webkit.org/show_bug.cgi?id=210471
<rdar://problem/61643199>

Reviewed by Wenson Hsieh.

Source/WebCore:

Obey the FIXME and move scroll-snap related code to the delegate so that it works for
both frame and overflow nodes.

Tests: tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-async-overflow-stateless.html

tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-async-overflow.html

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateBeforeChildren):
(WebCore::convertToLayoutUnits): Deleted.

  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::convertToLayoutUnits):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode):

LayoutTests:

Clone some overflow scroll-snap tests, and enable async scrolling for them.

  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-async-overflow-expected.txt: Added.
  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-async-overflow-stateless-expected.txt: Added.
  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-async-overflow-stateless.html: Added.
  • tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-async-overflow.html: Added.
7:40 PM Changeset in webkit [260055] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Do not cache definite height against perpendicular flex items.
https://bugs.webkit.org/show_bug.cgi?id=207603
<rdar://problem/59135373>

Reviewed by Simon Fraser.

Source/WebCore:

RenderFlexibleBox::m_hasDefiniteHeight should not be set when the child we check against is a perpendicular item
because a perpendicular box's height is resolved against the containing block's width.

Test: fast/flexbox/unresolved-height-percentage-crash.html

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild):

LayoutTests:

  • fast/flexbox/unresolved-height-percentage-crash-expected.txt: Added.
  • fast/flexbox/unresolved-height-percentage-crash.html: Added.
6:40 PM Changeset in webkit [260054] by ddkilzer@apple.com
  • 17 edits in trunk/Source

Replace use of Checked<size_t, RecordOverflow> with CheckedSize
<https://webkit.org/b/210461>

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • heap/Heap.cpp:

(JSC::Heap::deprecatedReportExtraMemorySlowCase):
(JSC::Heap::extraMemorySize):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::reportExtraMemoryVisited):

  • heap/SlotVisitor.h:
  • runtime/ArgList.cpp:

(JSC::MarkedArgumentBuffer::expandCapacity):

Source/WebCore:

  • platform/audio/ios/AudioFileReaderIOS.cpp:

(WebCore::createAudioBufferList):

  • platform/graphics/ImageBufferBackend.cpp:

(WebCore::ImageBufferBackend::calculateBackendSize):

  • platform/graphics/win/Direct2DUtilities.cpp:

(WebCore::Direct2D::createDirect2DImageSurfaceWithData):

  • platform/graphics/win/ImageBufferDirect2DBackend.cpp:

(WebCore::ImageBufferDirect2DBackend::copyNativeImage const):

Source/WebKit:

  • Platform/IPC/cocoa/MachMessage.cpp:

(IPC::MachMessage::messageSize):

  • Platform/IPC/cocoa/MachMessage.h:
  • WebProcess/Network/WebSocketChannel.cpp:

(WebKit::WebSocketChannel::increaseBufferedAmount):

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::tryFastCalloc):

  • wtf/Gigacage.cpp:

(Gigacage::tryMallocArray):

  • wtf/glib/SocketConnection.cpp:

(WTF::SocketConnection::sendMessage):

6:30 PM Changeset in webkit [260053] by Devin Rousso
  • 2 edits in trunk/Tools

REGRESSION (r259900) : Speedometer failing on Catalina-Release-WK2-Perf bot
https://bugs.webkit.org/show_bug.cgi?id=210442
<rdar://problem/61727169>

Reviewed by Stephanie Lewis.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest):

5:47 PM Changeset in webkit [260052] by Simon Fraser
  • 22 edits in trunk/Source

Add ENABLE_CUSTOM_SCROLLBARS and define it for macOS and for non-Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=210460

Reviewed by Tim Horton.

Source/WebCore:

Wrap all custom scrollbar and custom scroll corner code in ENABLE(CUSTOM_SCROLLBARS).

  • page/FrameView.cpp:

(WebCore::FrameView::createScrollbar):
(WebCore::FrameView::updateScrollCorner):

  • page/FrameView.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::createScrollbar):
(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerCompositor.cpp:
  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::createScrollbar):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::createScrollbar):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containingBlock const):

  • rendering/RenderObject.h:
  • rendering/RenderScrollbar.cpp:
  • rendering/RenderScrollbar.h:
  • rendering/RenderScrollbarPart.cpp:
  • rendering/RenderScrollbarPart.h:
  • rendering/RenderScrollbarTheme.cpp:
  • rendering/RenderScrollbarTheme.h:
  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::createScrollbar):

  • rendering/RenderTextControlSingleLine.cpp:
  • style/StyleResolver.cpp:

Source/WTF:

Define ENABLE_CUSTOM_SCROLLBARS for PLATFORM(MAC) and other non-Cocoa platforms.

  • wtf/PlatformEnable.h:
  • wtf/PlatformEnableCocoa.h:
5:32 PM Changeset in webkit [260051] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

check-webkit-style should warn about attributes that appear after function definitions
<https://webkit.org/b/210459>

Reviewed by Darin Adler.

  • Scripts/webkitpy/style/checkers/cpp.py:

(_FunctionState.attributes_after_definition): Add.

  • Return list of attributes that appear after a function definition.

(check_function_definition):

  • Add new check for attributes that appear after a function definition.
  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_decode_functions_missing_warn_unused_return):

  • Update test to fix new warning.

(CppStyleTest.test_function_readability_for_attributes): Add.

  • Add tests.
4:48 PM Changeset in webkit [260050] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GTK][WPE] Gardening, update expectations after r260016
https://bugs.webkit.org/show_bug.cgi?id=210466

Unreviewed gardening.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
4:42 PM Changeset in webkit [260049] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Clean up more resources during WebGLLayer teardown
https://bugs.webkit.org/show_bug.cgi?id=210222

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

Release OpenGL resources just before destruction of the underlying
OpenGL context.

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::GraphicsContextGLOpenGL::~GraphicsContextGLOpenGL):

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

(-[WebGLLayer releaseGLResources]):
(-[WebGLLayer dealloc]): Deleted.

3:49 PM Changeset in webkit [260048] by Russell Epstein
  • 1 copy in tags/Safari-609.2.6

Tag Safari-609.2.6.

3:43 PM Changeset in webkit [260047] by Russell Epstein
  • 3 edits in branches/safari-609-branch

Cherry-pick r257595. rdar://problem/61735200

[Win] Fix AppleWin build
https://bugs.webkit.org/show_bug.cgi?id=208330

Reviewed by Don Olmstead.

Set framework headers directory for AppleWin build.

  • Source/cmake/target/TargetJavaScriptCore.cmake:
  • Source/cmake/target/TargetWTF.cmake:

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

3:41 PM Changeset in webkit [260046] by Russell Epstein
  • 8 edits in branches/safari-609-branch/Source

Versioning.

3:13 PM Changeset in webkit [260045] by Noam Rosenthal
  • 7 edits in trunk/Source/WebCore

Background images should figure into visually non empty heuristic
https://bugs.webkit.org/show_bug.cgi?id=208501

Reviewed by Simon Fraser.

This makes the visually non-empty heuristic treat background images the same
as it treats regular images. This is in line with first contentful paint spec in paint timing:
https://w3c.github.io/paint-timing/.

Note that the pixel count is computed based on the image size rather than the box size, as the box size might not be known at this time.
This is equivalent to the pixel reporting done for RenderImage.

Border-images and masks are excluded, as per the spec.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::imageChanged):

Call incrementVisuallyNonEmptyPixelCountIfNeeded for background images

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderBox.cpp:

(WebCore::RenderElement::incrementVisuallyNonEmptyPixelCountIfNeeded):

  • rendering/RenderBox.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::incrementVisuallyNonEmptyPixelCountIfNeeded): Deleted.

  • rendering/RenderImage.h:

Moved incrementVisuallyNonEmptyPixelCountIfNeeded from RenderImage to RenderElement

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

Tag Safari-610.1.9.1.

3:05 PM Changeset in webkit [260043] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKitLegacy/mac

REGRESSION (r259843): "Missing Plug-In" when dragging an image into Mail Compose
https://bugs.webkit.org/show_bug.cgi?id=210458
<rdar://problem/61735361>

Reviewed by Wenson Hsieh.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::createPlugin):
r259843 changed this code from making a dictionary with a set of key->object mappings
to making a dictionary with an array of keys as its only key and an array of objects
as that key's value. Not quite the same thing.

Go back to dictionaryWithObjects:forKeys:.

3:02 PM Changeset in webkit [260042] by Alan Coon
  • 1 copy in tags/Safari-609.2.5

Tag Safari-609.2.5.

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

[iOS] Update message filters in the WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=210455

Reviewed by Geoffrey Garen.

Update message filters in the WebContent sandbox on iOS with required messages.

No new tests, since this patch should not introduce a behavior change.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
2:37 PM Changeset in webkit [260040] by Kate Cheney
  • 8 edits in trunk

http/tests/in-app-browser-privacy/app-bound-domain.html is a constant failure on iOS
https://bugs.webkit.org/show_bug.cgi?id=210344
<rdar://problem/61583925>

Reviewed by Brent Fulgham.

Tools:

This patch creates a new TestOption parameter for enabling In-App
Browser Privacy because its NSUserDefaults key is not set using the
internal or experimental keywords. It enables this flag for
WebKitTestRunner if the option is set (and disables it otherwise).

  • WebKitTestRunner/TestController.cpp:

(WTR::updateTestOptionsFromTestHeader):

  • WebKitTestRunner/TestOptions.h:

(WTR::TestOptions::hasSameInitializationOptions const):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::platformAddTestOptions const):

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformResetStateToConsistentValues):

LayoutTests:

Update comment to match changes in TestOptions.

  • http/tests/in-app-browser-privacy/app-bound-domain.html:
  • http/tests/in-app-browser-privacy/switch-session-on-navigation-to-app-bound-domain.html:
2:24 PM Changeset in webkit [260039] by Jacob Uphoff
  • 2 edits
    2 deletes in trunk/LayoutTests

[ macOS ] REGRESSION(r260024) inspector/css/selector-dynamic-specificity.html is constantly failing
https://bugs.webkit.org/show_bug.cgi?id=210450

Removing a test that is no longer supported.

Unreviewed test gardening.

  • inspector/css/selector-dynamic-specificity-expected.txt: Removed.
  • inspector/css/selector-dynamic-specificity.html: Removed.
  • platform/mac/TestExpectations:
1:59 PM Changeset in webkit [260038] by ysuzuki@apple.com
  • 7 edits
    10 adds in trunk

module's default cross-origin value should be "anonymous"
https://bugs.webkit.org/show_bug.cgi?id=210326

Reviewed by Sam Weinig.

Source/WebCore:

Tests: http/tests/security/cookie-module-import-propagate.html

http/tests/security/cookie-module-import.html
http/tests/security/cookie-module-propagate.html
http/tests/security/cookie-module.html

The original spec was using "omit" crossorigin for modules when crossorigin is not set / empty.
However, the spec is changed to sending requests with "same-origin" credentials ("anonymous" crossorigin mode)
by default. We should follow it.

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestModuleScript):

  • dom/ScriptElementCachedScriptFetcher.cpp:

(WebCore::ScriptElementCachedScriptFetcher::requestModuleScript const):

  • dom/ScriptElementCachedScriptFetcher.h:
  • html/parser/HTMLResourcePreloader.cpp:

(WebCore::PreloadRequest::resourceRequest):

  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::script): While this is not directly related to this patch, added new tests found that we are returning
null StringView if the resource is zero byte. This totally works, but JSC::Parser has assertion that this is non-null
StringView. For zero byte CachedScript resource, we should return non-null empty StringView instead.

LayoutTests:

  • http/tests/security/cookie-module-expected.txt: Added.
  • http/tests/security/cookie-module-import-expected.txt: Added.
  • http/tests/security/cookie-module-import-propagate-expected.txt: Added.
  • http/tests/security/cookie-module-import-propagate.html: Added.
  • http/tests/security/cookie-module-import.html: Added.
  • http/tests/security/cookie-module-propagate-expected.txt: Added.
  • http/tests/security/cookie-module-propagate.html: Added.
  • http/tests/security/cookie-module.html: Added.
  • http/tests/security/resources/cookie-protected-script.php: Added.
  • http/tests/security/resources/module-nest-import.php: Added.
1:40 PM Changeset in webkit [260037] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Add roblox.com to the desktop class quirks list
https://bugs.webkit.org/show_bug.cgi?id=210452
<rdar://problem/58859657>

Reviewed by Zalan Bujtas.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::desktopClassBrowsingRecommendedForRequest):

1:39 PM Changeset in webkit [260036] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Add Apple's Reality files to AR System Preview
https://bugs.webkit.org/show_bug.cgi?id=210449
<rdar://problem/61732793>

Reviewed by Sam Weinig.

Add support for Apples .reality AR files - both the vendor MIME
Type and our UTI. These have been supported by WebKitAdditions for
a while. Move them into Open Source.

  • platform/MIMETypeRegistry.cpp:

(WebCore::MIMETypeRegistry::systemPreviewMIMETypes):

  • platform/network/mac/UTIUtilities.mm:

(WebCore::UTIFromUnknownMIMEType):

12:42 PM Changeset in webkit [260035] by Wenson Hsieh
  • 6 edits in trunk/Source/WebKit

Remove the "IgnoreViewportScalingConstraints" debug WebKit feature
https://bugs.webkit.org/show_bug.cgi?id=210440

Reviewed by Tim Horton.

Remove the internal WebKit2 feature; this was introduced around iOS 9 to unconditionally force pages to shrink
to fit if they specified a responsive viewport, to avoid horizontal scrolling.

Nowadays, this behavior is instead controlled by the -[WKWebView _allowsViewportShrinkToFit] SPI, which
ensures that this shrink-to-fit preference is updated in sync with the visible content rect update lifecycle; it
is currently used by Safari to scale web pages down to fit in smaller multitasking viewports.

In contrast, this preference has no internal clients. Instead of maintaining two different ways for clients to
control shrink-to-fit behavior, remove support for the preference and make it a no-op.

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetIgnoreViewportScalingConstraints):
(WKPreferencesGetIgnoreViewportScalingConstraints):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

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

Remove this redundant mechanism for shrinking web pages down to fit.

(WebKit::WebPage::updateVisibleContentRects):

12:30 PM Changeset in webkit [260034] by pvollan@apple.com
  • 11 edits
    4 deletes in trunk

[iOS] Remove unused UTType swizzler code
https://bugs.webkit.org/show_bug.cgi?id=210435

Unreviewed rollout of r258120.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • platform/cocoa/UTTypeRecordSwizzler.h: Removed.
  • platform/cocoa/UTTypeRecordSwizzler.mm: Removed.

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/cocoa/NSUTTypeRecordSPI.h: Removed.

Source/WebKit:

  • Shared/WebProcessCreationParameters.cpp:

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

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

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/UTIFromTag.mm: Removed.
12:19 PM Changeset in webkit [260033] by msaboff@apple.com
  • 4 edits
    1 add in trunk

[YARR] Allow for Unicode named capture group identifiers in non-Unicode regular expressions
https://bugs.webkit.org/show_bug.cgi?id=210309

Reviewed by Ross Kirsling.

JSTests:

  • stress/regexp-named-capture-groups.js: New test added.

(shouldBe):
(shouldThrowInvalidGroupSpecifierName):

  • test262/expectations.yaml: Updated for now failing tests.

When test262 gets updated for this change, this can be reverted.

Source/JavaScriptCore:

Update YARR pattern processing to allow for non-BMP unicode identifier characters in named capture groups.

This change was discussed and approved at the March/April 2020 TC-39 meeting.
See https://github.com/tc39/ecma262/pull/1869 for the discussion and change.

Updated tryConsumeUnicodeEscape() to allow for unicode escapes in non-unicode flagged regex's.
Added the same support to consumePossibleSurrogatePair().

  • yarr/YarrParser.h:

(JSC::Yarr::Parser::consumePossibleSurrogatePair):
(JSC::Yarr::Parser::parseCharacterClass):
(JSC::Yarr::Parser::parseTokens):
(JSC::Yarr::Parser::tryConsumeUnicodeEscape):
(JSC::Yarr::Parser::tryConsumeIdentifierCharacter):

12:02 PM Changeset in webkit [260032] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Gardening, WebRTC flaky failures
https://bugs.webkit.org/show_bug.cgi?id=210444

Unreviewed gardening.

  • platform/gtk/TestExpectations:
11:15 AM Changeset in webkit [260031] by Kate Cheney
  • 36 edits in trunk/Source/WebKit

Turn all instances of NavigatingToAppBoundDomain into Optionals
https://bugs.webkit.org/show_bug.cgi?id=210363
<rdar://problem/61612861>

Reviewed by Brent Fulgham.

NavigatingToAppBoundDomain should be an Optional when passed to the
Network Process to distinguish the case of an empty app-bound domain
list versus an actual app-bound domain navigation. An empty list and
an app-bound navigation should have the same behavior in NetworkSessionCocoa,
but we will need distinguished behavior in the future.

  • NetworkProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::startDownload):

  • NetworkProcess/Downloads/DownloadManager.h:

(WebKit::DownloadManager::startDownload):

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::startDownload):
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):

  • NetworkProcess/NetworkConnectionToWebProcess.h:

(WebKit::NetworkConnectionToWebProcess::startDownload):

  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkLoadParameters.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::preconnectTo):
(WebKit::NetworkProcess::downloadRequest):

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

(WebKit::NetworkResourceLoadParameters::decode):

  • NetworkProcess/NetworkResourceLoadParameters.h:
  • NetworkProcess/cache/AsyncRevalidation.cpp:

(WebKit::NetworkCache::AsyncRevalidation::AsyncRevalidation):

  • NetworkProcess/cache/AsyncRevalidation.h:
  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::startAsyncRevalidationIfNeeded):
(WebKit::NetworkCache::Cache::retrieve):

  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:

(WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::preconnectForSubresource):
(WebKit::NetworkCache::SpeculativeLoadManager::revalidateSubresource):
(WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

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

(WebKit::NetworkSessionCocoa::sessionWrapperForTask):
We should treat an empty WKAppBoundDomains list like an app-bound domain
navigation in the network session, so this sets
NavigatingToAppBoundDomain to Yes if the Optional is WTF::nullopt.

(WebKit::NetworkSessionCocoa::appBoundSession): Deleted.
(WebKit::NetworkSessionCocoa::isolatedSession): Deleted.
(WebKit::NetworkSessionCocoa::hasIsolatedSession const): Deleted.
(WebKit::NetworkSessionCocoa::clearIsolatedSessions): Deleted.
(WebKit::NetworkSessionCocoa::invalidateAndCancel): Deleted.
(WebKit::NetworkSessionCocoa::clearCredentials): Deleted.
(WebKit::certificatesMatch): Deleted.
(WebKit::NetworkSessionCocoa::allowsSpecificHTTPSCertificateForHost): Deleted.
(WebKit::NetworkSessionCocoa::continueDidReceiveChallenge): Deleted.
(WebKit::NetworkSessionCocoa::deviceManagementPolicyMonitor): Deleted.
(WebKit::NetworkSessionCocoa::createWebSocketTask): Deleted.
(WebKit::NetworkSessionCocoa::addWebSocketTask): Deleted.
(WebKit::NetworkSessionCocoa::removeWebSocketTask): Deleted.
(WebKit::NetworkSessionCocoa::hostNamesWithAlternativeServices const): Deleted.
(WebKit::NetworkSessionCocoa::deleteAlternativeServicesForHostNames): Deleted.
(WebKit::NetworkSessionCocoa::clearAlternativeServices): Deleted.

  • Shared/LoadParameters.h:
  • Shared/PolicyDecision.h:

(WebKit::PolicyDecision::decode):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::preconnectTo):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/ProvisionalPageProxy.cpp:

(WebKit::ProvisionalPageProxy::loadData):
(WebKit::ProvisionalPageProxy::loadRequest):

  • UIProcess/ProvisionalPageProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::loadDataWithNavigationShared):
(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomain):
Set this to WTF::nullopt instead of NavigatingToAppBoundDomain::Yes
so the two cases are distinguished.

(WebKit::WebPageProxy::isNavigatingToAppBoundDomainTesting):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::isNavigatingToAppBoundDomain const):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::download):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertMainResourceLoadToDownload):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadDataImpl):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::setIsNavigatingToAppBoundDomain):
(WebKit::WebPage::isNavigatingToAppBoundDomain const):

10:57 AM Changeset in webkit [260030] by commit-queue@webkit.org
  • 7 edits
    18 deletes in trunk

Unreviewed, reverting r260003.
https://bugs.webkit.org/show_bug.cgi?id=210441

Avoid using basic-authentication for tests (Requested by

yusukesuzuki on #webkit).

Reverted changeset:

"module's default cross-origin value should be "anonymous""
https://bugs.webkit.org/show_bug.cgi?id=210326
https://trac.webkit.org/changeset/260003

10:56 AM Changeset in webkit [260029] by Andres Gonzalez
  • 3 edits in trunk/Tools

Make WTR::AccessibilityUIElement methods run on AX secondary thread.
https://bugs.webkit.org/show_bug.cgi?id=210392

Reviewed by Chris Fleizach.

In order to test accessibility isolated tree mode, it is necessary to
run WTR::AccessibilityUIElement methods on the AX secondary thread. This
change uses the functionality built-in AccessibilityController to
dispatch the calls to WebAccessibilityObjectWrapper to the AX thread.

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::supportedAttributes):
(WTR::attributeValue):
(WTR::descriptionOfValue):
(WTR::attributesOfElement):
(WTR::AccessibilityUIElement::getLinkedUIElements):
(WTR::AccessibilityUIElement::getDocumentLinks):
(WTR::AccessibilityUIElement::getUIElementsWithAttribute const):
(WTR::AccessibilityUIElement::getChildren):
(WTR::AccessibilityUIElement::getChildrenWithRange):
(WTR::AccessibilityUIElement::rowHeaders const):
(WTR::AccessibilityUIElement::columnHeaders const):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::elementForAttribute const):
(WTR::AccessibilityUIElement::elementForAttributeAtIndex const):
(WTR::AccessibilityUIElement::linkedUIElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
(WTR::AccessibilityUIElement::ariaControlsElementAtIndex):
(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
(WTR::AccessibilityUIElement::disclosedRowAtIndex):
(WTR::AccessibilityUIElement::rowAtIndex):
(WTR::AccessibilityUIElement::selectedChildAtIndex const):
(WTR::AccessibilityUIElement::selectedChildrenCount const):
(WTR::AccessibilityUIElement::selectedRowAtIndex):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::disclosedByRow):
(WTR::AccessibilityUIElement::numberAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSupported):
(WTR::AccessibilityUIElement::isSelected const):
(WTR::AccessibilityUIElement::selectTextWithCriteria):

10:56 AM Changeset in webkit [260028] by Lauro Moura
  • 2 edits in trunk/Tools

[Flatpak SDK] test262-runner fails to run with WEBKIT_JHBUILD enabled
https://bugs.webkit.org/show_bug.cgi?id=210430

Make sure we check the WEBKIT_JHBUILD env var directly to avoid
requiring webkitdirs early and messing up Runner.pm compilation.

Reviewed by Philippe Normand.

  • Scripts/test262-runner:
10:53 AM Changeset in webkit [260027] by ddkilzer@apple.com
  • 6 edits in trunk/Source

Fix clang static analyzer warnings about unused instance variables in WebIconDatabase, WKView
<https://webkit.org/b/210427>

Reviewed by Alex Christensen.

Source/WebKit:

  • UIProcess/API/Cocoa/WKView.h:

(WKView._unused):

  • Use WK_UNUSED_INSTANCE_VARIABLE to ignore unused instance variable.

Source/WebKitLegacy/mac:

  • Misc/WebIconDatabase.h:

(WebIconDatabase._private):

  • Use WK_UNUSED_INSTANCE_VARIABLE to ignore unused instance variable.

Source/WTF:

  • wtf/Compiler.h:

(WK_UNUSED_INSTANCE_VARIABLE): Add.

10:52 AM Changeset in webkit [260026] by Jason_Lawrence
  • 3 edits in trunk/LayoutTests

[ macOS wk1 ] css2.1/20110323/replaced-intrinsic-ratio-001.htm is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207160

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
10:48 AM Changeset in webkit [260025] by ddkilzer@apple.com
  • 68 edits in trunk

Add WARN_UNUSED_RETURN to decode methods in Source/WebKit
<https://webkit.org/b/210423>
<rdar://problem/61715582>

Reviewed by Alex Christensen.

Source/WebKit:

  • GPUProcess/GPUProcessCreationParameters.h:
  • NetworkProcess/Downloads/DownloadID.h:

(IPC::ArgumentCoder<WebKit::DownloadID>::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cache/NetworkCacheKey.h:

(WebKit::NetworkCache::DataKey::decode):

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::decodeRecordMetaData):
(WebKit::NetworkCache::decodeRecordHeader):

  • Platform/SharedMemory.h:
  • PluginProcess/PluginCreationParameters.h:
  • Shared/API/APIData.h:
  • Shared/API/APIError.h:
  • Shared/API/APIFrameHandle.h:
  • Shared/API/APIGeometry.h:
  • Shared/API/APINumber.h:

(API::Number::decode):

  • Shared/API/APIPageGroupHandle.h:
  • Shared/API/APIPageHandle.h:
  • Shared/API/APIURL.h:

(API::URL::decode):

  • Shared/API/APIURLRequest.h:
  • Shared/API/APIURLResponse.h:
  • Shared/API/Cocoa/RemoteObjectInvocation.h:
  • Shared/Cocoa/ArgumentCodersCocoa.h:
  • Shared/ContextMenuContextData.h:
  • Shared/Databases/IndexedDB/WebIDBResult.h:
  • Shared/EditorState.h:
  • Shared/FocusedElementInformation.h:
  • Shared/FontInfo.h:
  • Shared/LayerTreeContext.h:
  • Shared/LoadParameters.h:
  • Shared/OptionalCallbackID.h:

(WebKit::OptionalCallbackID::decode):

  • Shared/PlatformPopupMenuData.h:
  • Shared/Plugins/PluginProcessCreationParameters.h:
  • Shared/PrintInfo.h:
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
  • Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
  • Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.h:
  • Shared/SessionState.h:
  • Shared/ShareableBitmap.h:
  • Shared/ShareableResource.h:
  • Shared/TouchBarMenuData.h:
  • Shared/UpdateInfo.h:
  • Shared/VisibleContentRectUpdateInfo.h:
  • Shared/WebEvent.h:
  • Shared/WebHitTestResultData.h:
  • Shared/WebNavigationDataStore.h:

(WebKit::WebNavigationDataStore::decode):

  • Shared/WebPreferencesStore.h:
  • Shared/WebProcessCreationParameters.h:
  • Shared/WebsiteData/WebsiteData.h:
  • Shared/cf/ArgumentCodersCF.h:
  • Shared/gtk/ArgumentCodersGtk.cpp:

(IPC::decodeImage):
(IPC::decodeGKeyFile):

  • Shared/gtk/ArgumentCodersGtk.h:
  • Shared/gtk/WebSelectionData.h:
  • Shared/ios/InteractionInformationAtPosition.h:
  • Shared/ios/InteractionInformationRequest.h:
  • Shared/mac/ColorSpaceData.h:
  • Shared/mac/ObjCObjectGraph.h:
  • Shared/mac/SecItemRequestData.h:
  • Shared/mac/WebGestureEvent.h:
  • UIProcess/Cocoa/SessionStateCoding.h:
  • UIProcess/LegacySessionStateCoding.h:
  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::decodeSessionHistoryEntryData):
(WebKit::decodeSessionHistoryEntry):
(WebKit::decodeSessionHistoryEntries):
(WebKit::decodeV0SessionHistory):
(WebKit::decodeV1SessionHistory):
(WebKit::decodeSessionHistory):

  • WebProcess/GPU/GPUProcessConnectionInfo.h:

(WebKit::GPUProcessConnectionInfo::decode):

  • WebProcess/GPU/media/RemoteAudioBusData.h:

(WebKit::RemoteAudioBusData::decode):

  • WebProcess/MediaStream/MediaDeviceSandboxExtensions.h:
  • WebProcess/Network/NetworkProcessConnectionInfo.h:

(WebKit::NetworkProcessConnectionInfo::decode):

  • WebProcess/Plugins/Plugin.h:
  • Add WARN_UNUSED_RETURN to all decode functions.

Tools:

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_function_definition):

  • Add check for platformDecode() methods.
  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest):

  • Add tests for platformDecode() methods.
10:45 AM Changeset in webkit [260024] by Antti Koivisto
  • 50 edits in trunk

[CSS Selectors] Selectors Level 4 specificity calculation for pseudo classes
https://bugs.webkit.org/show_bug.cgi?id=210419

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/selectors/invalidation/is-expected.txt:

Source/WebCore:

CSS selector specification drafts at some point had a concept of "dynamic specificity" where
the specificity of a selector depended on the element it matched. It was only ever used with
:matches and :nth-child pseudo classes and has subsequently been removed. Selector specificity
can now always be computed statically.

There is a ton of code to support this obsolete feature. Remove it.

https://drafts.csswg.org/selectors-4/#specificity-rules

"The specificity of an :is(), :not(), or :has() pseudo-class is replaced by the specificity
of the most specific complex selector in its selector list argument.

Analogously, the specificity of an :nth-child() or :nth-last-child() selector is the specificity
of the pseudo class itself (counting as one pseudo-class selector) plus the specificity of the
most specific complex selector in its selector list argument (if any)."

  • css/html.css:

Reorganize a :matches rule into a selector list to keep the exact specificites.
It matters here to select between listbox and menulist correctly based on the 'size' and 'multiple' attributes.

  • css/CSSSelector.cpp:

(WebCore::selectorSpecificity):
(WebCore::maxSpecificity):
(WebCore::simpleSelectorSpecificityInternal):
(WebCore::CSSSelector::simpleSelectorSpecificity const):

Also handle nth here.

(WebCore::CSSSelector::specificity const):
(WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity): Deleted.
(WebCore::functionalPseudoClassStaticSpecificity): Deleted.
(WebCore::staticSpecificityInternal): Deleted.
(WebCore::CSSSelector::staticSpecificity const): Deleted.

Rename to just computeSpecificity(), there is no other kind than static.

  • css/CSSSelector.h:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::match const):
(WebCore::SelectorChecker::matchHostPseudoClass const):
(WebCore::SelectorChecker::matchRecursively const):
(WebCore::SelectorChecker::checkOne const):
(WebCore::SelectorChecker::matchSelectorList const):

SelectorChecker doesn't need to deal with specificity anymore.

  • css/SelectorChecker.h:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addNthChildType):
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::constructFragmentsInternal):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):

Neither does SelectorCompiler.

  • cssjit/SelectorCompiler.h:
  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::selectorMatches const):
(WebCore::SelectorDataList::selectorClosest const):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelector):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::hasDynamicSpecificity): Deleted.

  • inspector/InspectorStyleSheet.h:
  • inspector/agents/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):

  • inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::highlightSelector):

  • style/ElementRuleCollector.cpp:

(WebCore::Style::ElementRuleCollector::ruleMatches):
(WebCore::Style::ElementRuleCollector::collectMatchingRulesForList):

Switch to get the specificity from the selector instead of computing it during selector checking.

  • style/ElementRuleCollector.h:
  • style/RuleData.cpp:

(WebCore::Style::computeMatchesBasedOnRuleHash):
(WebCore::Style::RuleData::RuleData):
(WebCore::Style::computeMatchBasedOnRuleHash): Deleted.

  • style/RuleData.h:

(WebCore::Style::RuleData::matchesBasedOnRuleHash const):
(WebCore::Style::RuleData::matchBasedOnRuleHash const): Deleted.

This can be a bit instead of an enum since there is no need to communicate specificity.

LayoutTests:

Update specificity tests for static behavior, trying to also keep them useful.

  • fast/css/is-specificity-10-expected.html:
  • fast/css/is-specificity-10.html:
  • fast/css/is-specificity-2-expected.html:
  • fast/css/is-specificity-2.html:
  • fast/css/is-specificity-3-expected.html:
  • fast/css/is-specificity-3.html:
  • fast/css/is-specificity-4-expected.html:
  • fast/css/is-specificity-4.html:
  • fast/css/is-specificity-5.html:
  • fast/css/matches-specificity-10-expected.html:
  • fast/css/matches-specificity-10.html:
  • fast/css/matches-specificity-2-expected.html:
  • fast/css/matches-specificity-2.html:
  • fast/css/matches-specificity-3-expected.html:
  • fast/css/matches-specificity-3.html:
  • fast/css/matches-specificity-4-expected.html:
  • fast/css/matches-specificity-4.html:
  • fast/css/matches-specificity-5.html:
  • fast/css/nth-child-specificity-2-expected.html:
  • fast/css/nth-child-specificity-2.html:
  • fast/css/nth-child-specificity-3-expected.html:
  • fast/css/nth-child-specificity-3.html:
  • fast/css/nth-child-specificity-4-expected.html:
  • fast/css/nth-child-specificity-4.html:
  • fast/css/nth-last-child-specificity-2-expected.html:
  • fast/css/nth-last-child-specificity-2.html:
  • fast/css/nth-last-child-specificity-3-expected.html:
  • fast/css/nth-last-child-specificity-3.html:
  • fast/css/nth-last-child-specificity-4-expected.html:
  • fast/css/nth-last-child-specificity-4.html:
10:41 AM Changeset in webkit [260023] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebCore

KeyedDecoder functions in ResourceLoadStatistics.{cpp,h} should return bool and use WARN_UNUSED_RETURN
<https://webkit.org/b/210414>
<rdar://problem/61693118>

Reviewed by Alex Christensen.

  • loader/ResourceLoadStatistics.cpp:

(WebCore::decodeHashCountedSet):
(WebCore::decodeHashSet):
(WebCore::decodeOptionSet):
(WebCore::decodeFontHashSet):
(WebCore::decodeCanvasActivityRecord):
(WebCore::ResourceLoadStatistics::decode):

  • loader/ResourceLoadStatistics.h:
  • Change decode functions to return bool.
  • Add WARN_UNUSED_RETURN to all decode functions.
  • Check the return value of all decode functions.
10:15 AM Changeset in webkit [260022] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac wk2 ] WebKit::ViewGestureController::handleSwipeGesture(WebKit::WebBackForwardListItem*, double, WebKit::ViewGestureController::SwipeDirection) - flaky crashes.
https://bugs.webkit.org/show_bug.cgi?id=210433

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
9:58 AM Changeset in webkit [260021] by Russell Epstein
  • 2 edits in branches/safari-610.1.9-branch/Source/WebKit

Cherry-pick r259590. rdar://problem/61691110

Unreviewed sandbox compile fix.

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

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

9:54 AM Changeset in webkit [260020] by Russell Epstein
  • 8 edits in branches/safari-610.1.9-branch/Source

Versioning.

9:51 AM Changeset in webkit [260019] by Russell Epstein
  • 1 delete in branches/safari-610.1.9.1-branch

Delete branch.

9:48 AM Changeset in webkit [260018] by Russell Epstein
  • 2 edits in branches/safari-610.1.9.1-branch/Source/WebKit

Cherry-pick r259590. rdar://problem/61691110

Unreviewed sandbox compile fix.

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

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

9:48 AM Changeset in webkit [260017] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Add message filtering to all iokit open rules
https://bugs.webkit.org/show_bug.cgi?id=210352

Reviewed by Sam Weinig.

Apply message filtering with reports and telemetry to all iokit-open rules in the WebContent process' sandbox on iOS
to gain a better understanding of which iokit-open rules we can investigate.

No new tests, since adding telemetry will not introduce a change in behavior.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
9:43 AM Changeset in webkit [260016] by commit-queue@webkit.org
  • 6 edits in trunk

When drawing an image srcRect and imageRect have to be in the orientation of destRect
https://bugs.webkit.org/show_bug.cgi?id=210364

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-04-13
Reviewed by Darin Adler.

Source/WebCore:

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::drawImage):
Use the renderer to get the orientation of the image if it is available.
Otherwise fall back to computedStyle().

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::draw):
For async image decoding, we will use the none oriented size as the
sizeForDrawing. imageRect must be in the same orientation as destRect.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawImage):
srcRect must be in the same orientation as destRect.

LayoutTests:

  • fast/images/image-orientation-none-canvas.html:

Make this test for images with "visibility: hidden;" only. This guarantees
the images have renderers. Images with "display: none;" will be covered
in another patch because the width and height is currently incorrect if
"image-orientation: none;".

9:43 AM Changeset in webkit [260015] by Russell Epstein
  • 8 edits in branches/safari-610.1.9.1-branch/Source

Versioning.

9:40 AM Changeset in webkit [260014] by jh718.park@samsung.com
  • 8 edits in trunk/Source

Unreviewed. Remove redundant move in return statement.

Return statement already returns rvalue,
so we don't need move here.

This patch removes the build warning below since r259922.
warning: redundant move in return statement [-Wredundant-move]

Source/WebCore:

No new tests, no new behaviours.

  • page/csp/ContentSecurityPolicyResponseHeaders.h:

(WebCore::ContentSecurityPolicyResponseHeaders::decode):

  • platform/network/cf/CertificateInfoCFNet.cpp:

(WTF::Persistence::decodeSecTrustRef):

Source/WebKit:

  • NetworkProcess/cache/NetworkCacheCoders.cpp:

(WTF::Persistence::Coder<WebCore::HTTPHeaderMap>::decode):

Source/WTF:

  • wtf/persistence/PersistentCoders.cpp:

(WTF::Persistence::Coder<CString>::decode):
(WTF::Persistence::decodeStringText):
(WTF::Persistence::Coder<SHA1::Digest>::decode):

  • wtf/persistence/PersistentCoders.h:
9:35 AM Changeset in webkit [260013] by youenn@apple.com
  • 7 edits
    2 copies
    2 adds in trunk

Fix mute/unmute of CoreAudioCapture sources after revision 257914
https://bugs.webkit.org/show_bug.cgi?id=210381

Reviewed by Eric Carlson.

Source/WebCore:

Revert part of revision 257914 since we still need the active source registration/unregistration when capturing in web process.
Make sure mock factory delegates all active source handling to CoreAudioCaptureSourceFactory,
now that the mock factory is using CoreAudioCaptureSources with a mock share dunit.

Tests: platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html

platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html

  • platform/mediastream/RealtimeMediaSourceFactory.h:
  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:

(WebCore::CoreAudioCaptureSource::~CoreAudioCaptureSource):
(WebCore::CoreAudioCaptureSource::startProducingData):

  • platform/mock/MockRealtimeMediaSourceCenter.cpp:

LayoutTests:

Clone tests for having both GPU and non GPU test runs.

  • platform/ios/mediastream/audio-muted-in-background-tab-gpu-process-expected.txt: Added.
  • platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: Copied from LayoutTests/platform/ios/mediastream/audio-muted-in-background-tab.html.
  • platform/ios/mediastream/audio-muted-in-background-tab.html:
  • platform/ios/mediastream/getUserMedia-single-capture-gpu-process-expected.txt: Added.
  • platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: Copied from LayoutTests/platform/ios/mediastream/getUserMedia-single-capture.html.
  • platform/ios/mediastream/getUserMedia-single-capture.html:
9:33 AM Changeset in webkit [260012] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Fix various build warnings
https://bugs.webkit.org/show_bug.cgi?id=210429

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-04-13
Reviewed by Mark Lam.

Source/JavaScriptCore:

Fix -Wimplicit-fallthrough warning by adding a default case CRASH() to prevent the inner
switch from falling through to the outer switch.

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::alreadyChecked const):

Source/WebCore:

Fix -Wunused-parameter warning.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::texImage2DBase):

Source/WebKit:

Use private-code instead of deprecated code command to build the Wayland protocol.

  • PlatformGTK.cmake:
9:31 AM Changeset in webkit [260011] by Russell Epstein
  • 1 copy in branches/safari-610.1.9.1-branch

New branch.

9:21 AM Changeset in webkit [260010] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Improve handling of unexpected network issues while communicating with Bugzilla
https://bugs.webkit.org/show_bug.cgi?id=210377

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-app/ews/common/bugzilla.py:

(BugzillaBeautifulSoup.authenticate):

8:58 AM Changeset in webkit [260009] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][TFC] Pre-fill columnIntrinsicWidths vector
https://bugs.webkit.org/show_bug.cgi?id=210415

Reviewed by Antti Koivisto.

Source/WebCore:

Vector<ColumnMinimumWidth> has a fixed number of entries (number of columns in the table).
(This patch also flips the shouldFlex flag to isFixedWidth. It reads better in the context of minimum _widths_).

Test: fast/layoutformattingcontext/table-with-column-spanner-first-row.html

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraHorizontalSpace):

LayoutTests:

  • fast/layoutformattingcontext/table-with-column-spanner-first-row-expected.txt: Added.
  • fast/layoutformattingcontext/table-with-column-spanner-first-row.html: Added.
8:23 AM Changeset in webkit [260008] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebCore

[GTK4] Fix usage of GDK event functions in PlatformWheelEventGtk
https://bugs.webkit.org/show_bug.cgi?id=210160

Reviewed by Michael Catanzaro.

No new tests needed.

  • platform/gtk/PlatformWheelEventGtk.cpp:

(WebCore::PlatformWheelEvent::PlatformWheelEvent): Conditionally
use the new GDK event functions when building with GTK4.

8:22 AM Changeset in webkit [260007] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

ews status-bubble hover-over message include unhelpful message 'Crash collection has quiesced'
https://bugs.webkit.org/show_bug.cgi?id=210378

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-app/ews/views/statusbubble.py:

(StatusBubble):

8:00 AM Changeset in webkit [260006] by Adrian Perez de Castro
  • 2 edits in trunk

[GTK][CMake] Introduce an USE_GTK4 build option
https://bugs.webkit.org/show_bug.cgi?id=210154

Reviewed by Carlos Garcia Campos.

Do the bare minimum changes to build against GTK4 and produce a WebKit port library with a
different name than GTK3 builds. Note that this does not attempt to make the built artifacts
parallel-installable yet, though at least the main library, headers, and the pkg-config .pc
file should be safe to install. The final names for built artifacts for GTK4 builds may
still change.

  • Source/cmake/OptionsGTK.cmake: Add a new USE_GTK4 public build option, which defaults

to FALSE for now, and depending on its value choose the required version of GTK and set
a different API version versions. This is enough to build a library with a different
name (libwebkit2gtk-5.0 vs. libwebkit2gtk-4.0) when GTK4 is in use.

7:36 AM Changeset in webkit [260005] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.28.1

WPE WebKit 2.28.1

7:28 AM Changeset in webkit [260004] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.28

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

.:

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

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.28.1.
6:10 AM Changeset in webkit [260003] by ysuzuki@apple.com
  • 7 edits
    18 adds in trunk

module's default cross-origin value should be "anonymous"
https://bugs.webkit.org/show_bug.cgi?id=210326

Reviewed by Sam Weinig.

Source/WebCore:

The original spec was using "omit" crossorigin for modules when crossorigin is not set / empty.
However, the spec is changed to sending requests with "same-origin" credentials ("anonymous" crossorigin mode)
by default. We should follow it.

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestModuleScript):

  • dom/ScriptElementCachedScriptFetcher.cpp:

(WebCore::ScriptElementCachedScriptFetcher::requestModuleScript const):

  • dom/ScriptElementCachedScriptFetcher.h:
  • html/parser/HTMLResourcePreloader.cpp:

(WebCore::PreloadRequest::resourceRequest):

  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::script): While this is not directly related to this patch, added new tests found that we are returning
null StringView if the resource is zero byte. This totally works, but JSC::Parser has assertion that this is non-null
StringView. For zero byte CachedScript resource, we should return non-null empty StringView instead.

LayoutTests:

  • http/tests/security/basic-auth-module-expected.txt: Added.
  • http/tests/security/basic-auth-module-import-expected.txt: Added.
  • http/tests/security/basic-auth-module-import-propagate-expected.txt: Added.
  • http/tests/security/basic-auth-module-import-propagate.html: Added.
  • http/tests/security/basic-auth-module-import.html: Added.
  • http/tests/security/basic-auth-module-propagate-expected.txt: Added.
  • http/tests/security/basic-auth-module-propagate.html: Added.
  • http/tests/security/basic-auth-module.html: Added.
  • http/tests/security/resources/module-nest-import.php: Added.
  • http/tests/security/resources/protected-script.php: Added.
  • platform/mac-wk1/http/tests/security/basic-auth-module-expected.txt: Added.
  • platform/mac-wk1/http/tests/security/basic-auth-module-import-expected.txt: Added.
  • platform/mac-wk1/http/tests/security/basic-auth-module-import-propagate-expected.txt: Added.
  • platform/mac-wk1/http/tests/security/basic-auth-module-propagate-expected.txt: Added.
  • platform/win/http/tests/security/basic-auth-module-expected.txt: Added.
  • platform/win/http/tests/security/basic-auth-module-import-expected.txt: Added.
  • platform/win/http/tests/security/basic-auth-module-import-propagate-expected.txt: Added.
  • platform/win/http/tests/security/basic-auth-module-propagate-expected.txt: Added.
3:30 AM Changeset in webkit [260002] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Gardening, flaky failures in editing/pasteboard and editing/deleting
https://bugs.webkit.org/show_bug.cgi?id=210421

Unreviewed gardening.

  • platform/gtk/TestExpectations:
3:18 AM Changeset in webkit [260001] by cturner@igalia.com
  • 2 edits in trunk/Source/WebCore

[EME][GStreamer] remove m_cdmInstance ASSERT in cdmInstanceDetached
https://bugs.webkit.org/show_bug.cgi?id=210331

Reviewed by Xabier Rodriguez-Calvar.

In tests that reset the src very quickly, the MediaKeys can be
installed and then the src is reset before an attachment message
is sent. Hence, detachment can result in no CDM currently
existing.

Covered by imported/w3c/web-platform-tests/encrypted-media.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::cdmInstanceDetached): Only
assert if the CDM instance has been set before detachment.
(WebCore::MediaPlayerPrivateGStreamer::attemptToDecryptWithInstance):
Do not need the .get(), the operator== overload in RefPtr does
this for us, and it makes the code more consistent.

1:45 AM Changeset in webkit [260000] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.28.1

WebKitGTK 2.28.1

1:45 AM Changeset in webkit [259999] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.28

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.28.1 release

.:

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

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.28.1.
1:24 AM Changeset in webkit [259998] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove return parameter from FrameLoader::closeURL
https://bugs.webkit.org/show_bug.cgi?id=210404

Patch by Rob Buis <rbuis@igalia.com> on 2020-04-13
Reviewed by Manuel Rego Casasnovas.

Remove return parameter from FrameLoader::closeURL since it always
returns true and is never tested.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::closeURL):

  • loader/FrameLoader.h:
1:04 AM Changeset in webkit [259997] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove addExtraFieldsToSubresourceRequest
https://bugs.webkit.org/show_bug.cgi?id=210407

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

Remove addExtraFieldsToSubresourceRequest since it can be replaced by
calling addExtraFieldsToRequest. The loadType parameter is not taken
into account by defaultRequestCachingPolicy so FrameLoadType::Standard
rather than m_loadType is passed.

This patch also replaces the isMainResource boolean parameter with an enum.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::loadResourceSynchronously):
(WebCore::FrameLoader::loadDifferentDocumentItem):
(WebCore::FrameLoader::addExtraFieldsToSubresourceRequest): Deleted.

  • loader/FrameLoader.h:
  • loader/PingLoader.cpp:

(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::sendViolationReport):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

12:15 AM Changeset in webkit [259996] by mark.lam@apple.com
  • 6 edits in trunk/Source

Enable the ability to build the ASM LLInt for ARMv7k.
https://bugs.webkit.org/show_bug.cgi?id=210412

Reviewed by Sam Weinig.

Source/JavaScriptCore:

Fix the offlineasm so that it can build the ASM LLInt for ARMv7k. This patch does
not actually enable the ASM LLInt. The ARMv7k port still build the C Loop LLInt.

Also, the ARMv7k ASM LLInt is still broken and needs additional work before it
can run. This patch only fixes things so that it will build.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Added generate_settings_extractor.rb to the project so that we can view it from inside Xcode.
  • offlineasm/arm.rb:
  • Added support for the globaladdr LLInt instruction for ARMv7k.
  • offlineasm/backends.rb:
  • Fix the backend to enable ARMV7 also when building for ARMv7k.

Source/WTF:

Remove some old code that forces the ENABLE(C_LOOP) to be true if ENABLE(JIT) is
false. These 2 options used to be mutually exclusive, but is no more. Now, we
allow platforms to choose to build the ASM LLInt instead even if ENABLE(JIT) is
false.

  • wtf/PlatformEnable.h:

Apr 12, 2020:

11:39 PM Changeset in webkit [259995] by Antti Koivisto
  • 8 edits in trunk/LayoutTests/imported/w3c

Update imported/w3c/web-platform-tests/css/selectors/invalidation/is.html
https://bugs.webkit.org/show_bug.cgi?id=210418

Unreviewed.

Also some other minor updates from syncing css/selectors from WPT repo.

  • web-platform-tests/css/selectors/invalidation/defined.html:
  • web-platform-tests/css/selectors/invalidation/is-expected.txt:

Specificify subtest is correctly FAIL.

  • web-platform-tests/css/selectors/invalidation/is.html:
  • web-platform-tests/css/selectors/invalidation/selectorText-dynamic-001.html:
  • web-platform-tests/css/selectors/invalidation/sheet-going-away-001.html:
  • web-platform-tests/css/selectors/invalidation/sheet-going-away-002.html:
  • web-platform-tests/css/selectors/x-pseudo-element.html:
8:48 PM Changeset in webkit [259994] by Alan Coon
  • 11 edits in branches/safari-609-branch/Source

Cherry-pick r259316. rdar://problem/61269751

IndexedDB: destroy WebIDBServer when session is removed in network process
https://bugs.webkit.org/show_bug.cgi?id=209606
<rdar://problem/59310081>

Reviewed by Geoffrey Garen.

Source/WebCore:

Rename immediateCloseForUserDelete to immediateClose as we now use it in destructor of IDBServer to make sure
everything in database finishes correctly.

  • Modules/indexeddb/server/IDBServer.cpp: (WebCore::IDBServer::IDBServer::~IDBServer): (WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince): (WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesForOrigins):
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp: (WebCore::IDBServer::UniqueIDBDatabase::immediateClose): (WebCore::IDBServer::UniqueIDBDatabase::immediateCloseForUserDelete): Deleted.
  • Modules/indexeddb/server/UniqueIDBDatabase.h:

Source/WebKit:

Tested manually to verify WebIDBServer is removed and its thread ends when session is removed.

  • NetworkProcess/IndexedDB/WebIDBServer.cpp: (WebKit::WebIDBServer::~WebIDBServer): (WebKit::WebIDBServer::addConnection): (WebKit::WebIDBServer::removeConnection): (WebKit::WebIDBServer::close):
  • NetworkProcess/IndexedDB/WebIDBServer.h:
  • NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::destroySession): (WebKit::NetworkProcess::connectionToWebProcessClosed):

Source/WTF:

Add function to kill CrossThreadTaskHandler and make thread finish. Also add a callback to be called before
thread finishes.

  • wtf/CrossThreadTaskHandler.cpp: (WTF::CrossThreadTaskHandler::CrossThreadTaskHandler): (WTF::CrossThreadTaskHandler::setCompletionCallback): (WTF::CrossThreadTaskHandler::kill):
  • wtf/CrossThreadTaskHandler.h:

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

8:48 PM Changeset in webkit [259993] by Alan Coon
  • 3 edits in branches/safari-609-branch/Source/WebCore

Cherry-pick r257901. rdar://problem/61269751

Remove unused variable m_allUniqueIDBDatabases in IDBServer
https://bugs.webkit.org/show_bug.cgi?id=208613

Reviewed by Chris Dumez.

  • Modules/indexeddb/server/IDBServer.h: (WebCore::IDBServer::IDBServer::addDatabase): Deleted. (WebCore::IDBServer::IDBServer::removeDatabase): Deleted.
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp: (WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase): (WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase):

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

8:37 PM Changeset in webkit [259992] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[WPE] Layout test gardening.

Some EME previous crashes are now failing.

Unreviewed test gardening.

  • platform/wpe/TestExpectations:
4:09 PM Changeset in webkit [259991] by Alan Bujtas
  • 1 edit
    2 adds in trunk/LayoutTests

[LFC][TFC] Add columnSpan test case (fixed width)
https://bugs.webkit.org/show_bug.cgi?id=210411

Unreviewed.

  • fast/layoutformattingcontext/table-fixed-width-colspans.html: Added.
12:51 PM Changeset in webkit [259990] by Darin Adler
  • 10 edits in trunk/Source

Fix a few mispellings of descendant and propagation
https://bugs.webkit.org/show_bug.cgi?id=210409

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • ftl/FTLAbstractHeap.h: "descendants"
  • offlineasm/ast.rb: "descendants"

Source/WebCore:

  • dom/Element.cpp:

(WebCore::Element::dispatchWheelEvent): "propagation"

  • dom/TreeScopeOrderedMap.cpp:

(WebCore::TreeScopeOrderedMap::getAllElementsById const):
"descendants". Also refactored this function a bit.

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::canShowControlsManager const):
"descendants"

  • rendering/RenderFrameSet.cpp:

(WebCore::resetFrameRendererAndDescendants): "descendants"
(WebCore::RenderFrameSet::positionFrames): "descendants"
(WebCore::RenderFrameSet::positionFramesWithFlattening): "descendants"

Source/WebInspectorUI:

  • UserInterface/Views/TreeOutline.js:

(WI.TreeOutline.prototype._rememberTreeElement):
(WI.TreeOutline.prototype._forgetTreeElement):
(WI.TreeOutline.prototype.selectionControllerNumberOfItems):

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

[GTK][WPE] Gardening some crashes and flakiness

Unreviewed gardening.

  • platform/gtk-wayland/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
12:33 PM Changeset in webkit [259988] by Darin Adler
  • 5 edits in trunk/Source/WebCore

Refactor and tighten up the CSSVariableReferenceValue class
https://bugs.webkit.org/show_bug.cgi?id=210406

Reviewed by Anders Carlsson.

  • css/CSSCustomPropertyValue.h: Remove uneeded forward declaration of

CSSVariableReferenceValue, since it's not used here. Added inclde of
CSSVariableData.h since the use of Variant in this class does require
that header, which we were getting indirectly before from
CSSVariableReferenceValue.h in some translation units.

  • css/CSSVariableReferenceValue.cpp:

(WebCore::CSSVariableReferenceValue::CSSVariableReferenceValue): Moved here
from the header.
(WebCore::CSSVariableReferenceValue::create): Ditto.
(WebCore::CSSVariableReferenceValue::equals const): Ditto.
(WebCore::CSSVariableReferenceValue::customCSSText const): Use non-null to
indicate this is not serialized.

  • css/CSSVariableReferenceValue.h: Reduced includes, inlining, marked

constructor explicit, removed unneeded m_serialized boolean.

  • rendering/style/StyleCustomPropertyData.h: Remove unneeded include

of CSSVariableReferenceValue.h, not used here.

12:31 PM Changeset in webkit [259987] by Darin Adler
  • 6 edits in trunk/Source

Fix some strange uses of start/endOfDocument
https://bugs.webkit.org/show_bug.cgi?id=210408

Reviewed by Wenson Hsieh.

Source/WebCore:

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
Call startOfDocument and endOfDocument without unnecessarily turning a Position
into a VisiblePostion, since those functions just require any node from the document.

Source/WebKit:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::replaceDictatedText): Pass the document to startOfDocument,
rather than getting the documentelement, because the function works on any
node, so there's no reason to write code to get a particular one.
(WebKit::WebPage::applyAutocorrectionInternal): Ditto.

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebFrameIOS.mm:

(-[WebFrame moveSelectionToStart]): Call startOfDocument on the document;
there is no need to pass a particular VisiblePosition, since all it gets
from the VisiblePosition is the document.
(-[WebFrame moveSelectionToEnd]): Ditto, for endOfDocument.
(-[WebFrame startPosition]): Call startOfDocument on the document rather
than using code to find the document element, since the function works
on any node.
(-[WebFrame endPosition]): Ditto.

12:28 PM Changeset in webkit [259986] by Darin Adler
  • 2 edits in trunk/Source/WTF

[Cocoa] Minor tweaks to code to get locale strings to remove one-time-initialization booleans
https://bugs.webkit.org/show_bug.cgi?id=210410

Reviewed by Sam Weinig.

  • wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp:

(WTF::textBreakLocalePreference): Use auto, and no need to explicitly mark this inline.
(WTF::topLanguagePreference): Use auto.
(WTF::localeIDInBuffer): Renamed from getLocale. Changed to return a std::array and to
handle failure cases afterward rather than by initializing beforehand.
(WTF::getSearchLocale): Deleted.
(WTF::currentSearchLocaleID): Using "static const auto", wrote this in a straightforward
and compact way, using localeIDInBuffer and topLanguagePreference.
(WTF::textBreakLocale): Renamed from getTextBreakLocale and changed to return a
RetainPtr<CFStringRef>.
(WTF::currentTextBreakLocaleID): Using "static const auto", wrote this in a straightforward
and compact way, using localeIDInBuffer and textBreakLocale.

12:04 PM Changeset in webkit [259985] by Chris Dumez
  • 2 edits in trunk/LayoutTests

fast/dom/timer-throttling-hidden-page.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=210355
<rdar://problem/61462972>

Reviewed by Sam Weinig.

The test was changing the page's visiblity to 'hidden' using testRunner.setPageVisibility("hidden")
in the first timer call and then expecting that by the 5th timer iteration, the page would actually
be hidden for timer throtting to kick in. While this happen to work most of the time, this would
cause flakiness because testRunner.setPageVisibility("hidden") involves an async IPC to the
UIProcess and then an IPC back to the WebProcess to update the page's activity state.

To address the issue, we now listen for the 'visibilitychange' event and only start the test / timer
once document.hidden actually returns true.

  • fast/dom/timer-throttling-hidden-page.html:
11:32 AM Changeset in webkit [259984] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][TFC] Add support for column spanners
https://bugs.webkit.org/show_bug.cgi?id=210403

Reviewed by Antti Koivisto.

Table width constraint computation with spanner support is as follows:

  1. Collect each cells' width constraints.
  2. Collect fixed column widths set by <colgroup>'s and <col>s.
  3. Find the min/max width for each columns using the cell constraints and the <col> fixed widths but ignore column spans.
  4. Distribute column spanning cells min/max widths.
  5. Add them all up and return the computed min/max widths.
  • layout/FormattingContext.h:

(WebCore::Layout::FormattingContext::IntrinsicWidthConstraints::operator-=):

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraHorizontalSpace):

  • layout/tableformatting/TableFormattingContextGeometry.cpp:

(WebCore::Layout::TableFormattingContext::Geometry::intrinsicWidthConstraintsForCell):

  • layout/tableformatting/TableGrid.cpp:

(WebCore::Layout::TableGrid::Columns::hasFixedColumnsOnly const):

  • layout/tableformatting/TableGrid.h:
10:53 AM Changeset in webkit [259983] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][TFC] Column, Row and Cell boxes are always ContainerBoxes
https://bugs.webkit.org/show_bug.cgi?id=210402

Reviewed by Antti Koivisto.

These boxes are always ContainerBox types.

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::layoutCell):
(WebCore::Layout::TableFormattingContext::ensureTableGrid):
(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):

  • layout/tableformatting/TableGrid.cpp:

(WebCore::Layout::TableGrid::Column::Column):
(WebCore::Layout::TableGrid::Columns::addColumn):
(WebCore::Layout::TableGrid::Rows::addRow):
(WebCore::Layout::TableGrid::Row::Row):
(WebCore::Layout::TableGrid::Cell::Cell):
(WebCore::Layout::TableGrid::appendCell):
(WebCore::Layout::TableGrid::insertCell):
(WebCore::Layout::TableGrid::removeCell):

  • layout/tableformatting/TableGrid.h:

(WebCore::Layout::TableGrid::Column::box const):
(WebCore::Layout::TableGrid::Row::box const):
(WebCore::Layout::TableGrid::Cell::box const):

10:21 AM Changeset in webkit [259982] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

[LFC][TFC] Add support for fixed width columns
https://bugs.webkit.org/show_bug.cgi?id=210401

Reviewed by Antti Koivisto.

This is in preparation for adding support for spanner cells.
Fixed width columns (<col> and <td>) don't participate in the spanner width distribution.

  • layout/FormattingContext.h:

(WebCore::Layout::FormattingContext::IntrinsicWidthConstraints::operator-=):

  • layout/Verification.cpp:

(WebCore::Layout::areEssentiallyEqual):
(WebCore::Layout::LayoutContext::verifyAndOutputMismatchingLayoutTree):

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::TableFormattingContext::computedPreferredWidthForColumns):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraHorizontalSpace):
(WebCore::Layout::TableFormattingContext::computePreferredWidthForColumns): Deleted.
(WebCore::Layout::TableFormattingContext::useAsContentLogicalWidth): Deleted.

  • layout/tableformatting/TableFormattingContext.h:
  • layout/tableformatting/TableFormattingContextGeometry.cpp:

(WebCore::Layout::TableFormattingContext::Geometry::intrinsicWidthConstraintsForCell):

  • layout/tableformatting/TableGrid.cpp:

(WebCore::Layout::TableGrid::Column::isFixedWidth const):
(WebCore::Layout::TableGrid::Cell::isFixedWidth const):
(WebCore::Layout::TableGrid::Slot::Slot):
(WebCore::Layout::TableGrid::appendCell):
(WebCore::Layout::TableGrid::Column::setWidthConstraints): Deleted.
(WebCore::Layout::TableGrid::Column::widthConstraints const): Deleted.
(WebCore::Layout::TableGrid::Column::hasFixedWidth const): Deleted.
(WebCore::Layout::TableGrid::widthConstraints): Deleted.

  • layout/tableformatting/TableGrid.h:

(WebCore::Layout::TableGrid::setWidthConstraints):
(WebCore::Layout::TableGrid::widthConstraints):
(WebCore::Layout::TableGrid::Column::setHasFixedWidthCell):
(WebCore::Layout::TableGrid::Column::hasFixedWidthCell const):
(WebCore::Layout::TableGrid::Slot::cell const):
(WebCore::Layout::TableGrid::Slot::cell):
(WebCore::Layout::TableGrid::Slot::widthConstraints const):
(WebCore::Layout::TableGrid::Slot::setWidthConstraints):
(WebCore::Layout::TableGrid::Slot::hasColumnSpan const):
(WebCore::Layout::TableGrid::Slot::hasRowSpan const):
(WebCore::Layout::TableGrid::Slot::isColumnSpanned const):
(WebCore::Layout::TableGrid::Slot::isRowSpanned const):
(WebCore::Layout::TableGrid::hasComputedWidthConstraints const): Deleted.

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

[LFC][TFC] Introduce dedicated SlotPosition/CellSpan structs
https://bugs.webkit.org/show_bug.cgi?id=210399

Reviewed by Antti Koivisto.

SlotPosition.column/row and CellSpan.column/row read better.

  • layout/LayoutUnits.h:

(WebCore::Layout::SlotPosition::SlotPosition):
(WebCore::Layout::operator==):
(WTF::SlotPositionHash::hash):
(WTF::SlotPositionHash::equal):
(WTF::HashTraits<WebCore::Layout::SlotPosition>::emptyValue):
(WTF::HashTraits<WebCore::Layout::SlotPosition>::constructDeletedValue):
(WTF::HashTraits<WebCore::Layout::SlotPosition>::isDeletedValue):

  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::setRowSpan):
(WebCore::Layout::Box::setColumnSpan):
(WebCore::Layout::Box::rowSpan const):
(WebCore::Layout::Box::columnSpan const):

  • layout/layouttree/LayoutBox.h:
  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::computePreferredWidthForColumns):

  • layout/tableformatting/TableGrid.cpp:

(WebCore::Layout::TableGrid::Cell::Cell):
(WebCore::Layout::TableGrid::appendCell):

  • layout/tableformatting/TableGrid.h:

(WebCore::Layout::TableGrid::Cell::startColumn const):
(WebCore::Layout::TableGrid::Cell::endColumn const):
(WebCore::Layout::TableGrid::Cell::startRow const):
(WebCore::Layout::TableGrid::Cell::endRow const):
(WebCore::Layout::TableGrid::Cell::columnSpan const):
(WebCore::Layout::TableGrid::Cell::rowSpan const):
(WebCore::Layout::TableGrid::Cell::span const):
(WebCore::Layout::TableGrid::Cell::size const): Deleted.

9:05 AM Changeset in webkit [259980] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WTF

Follow-up: WTF::Persistence::Coder and WTF::Persistence::Decoder should use WARN_UNUSED_RETURN
<https://webkit.org/b/210238>
<rdar://problem/61491575>

Changes based on feedback from Alex Christensen and Darin Adler:

  • Remove WARN_UNUSED_RETURN from methods returning Optional<>.
  • Place WARN_UNUSED_RETURN consistently before the return type.
  • wtf/persistence/PersistentDecoder.h:
9:04 AM Changeset in webkit [259979] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][TFC] Add table support to BlockFormattingContext::Geometry::inFlowWidthAndMargin
https://bugs.webkit.org/show_bug.cgi?id=210400

Reviewed by Antti Koivisto.

Use a slightly modified shrink-to-fit logic to compute the table width.

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin):

8:46 AM Changeset in webkit [259978] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][TFC] Cleanup class/struct/variable names in TableGrid/TableFormattingContext
https://bugs.webkit.org/show_bug.cgi?id=210397

Reviewed by Antti Koivisto.

This is in preparation for the column spanner work.

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::layoutInFlowContent):
(WebCore::Layout::TableFormattingContext::layoutCell):
(WebCore::Layout::TableFormattingContext::positionTableCells):
(WebCore::Layout::TableFormattingContext::setComputedGeometryForRows):
(WebCore::Layout::TableFormattingContext::setComputedGeometryForSections):
(WebCore::Layout::TableFormattingContext::ensureTableGrid):
(WebCore::Layout::TableFormattingContext::computePreferredWidthForColumns):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraHorizontalSpace):
(WebCore::Layout::TableFormattingContext::useAsContentLogicalWidth):
(WebCore::Layout::TableFormattingContext::layoutTableCellBox): Deleted.

  • layout/tableformatting/TableFormattingContext.h:
  • layout/tableformatting/TableGrid.cpp:

(WebCore::Layout::TableGrid::Column::Column):
(WebCore::Layout::TableGrid::Column::hasFixedWidth const):
(WebCore::Layout::TableGrid::Columns::addColumn):
(WebCore::Layout::TableGrid::Columns::addAnonymousColumn):
(WebCore::Layout::TableGrid::Rows::addRow):
(WebCore::Layout::TableGrid::Row::Row):
(WebCore::Layout::TableGrid::Cell::Cell):
(WebCore::Layout::TableGrid::Slot::Slot):
(WebCore::Layout::TableGrid::slot):
(WebCore::Layout::TableGrid::appendCell):
(WebCore::Layout::TableGrid::insertCell):
(WebCore::Layout::TableGrid::removeCell):
(WebCore::Layout::TableGrid::widthConstraints):
(WebCore::Layout::TableGrid::ColumnsContext::addColumn): Deleted.
(WebCore::Layout::TableGrid::CellInfo::CellInfo): Deleted.
(WebCore::Layout::TableGrid::SlotInfo::SlotInfo): Deleted.

  • layout/tableformatting/TableGrid.h:

(WebCore::Layout::TableGrid::totalHorizontalSpacing const):
(WebCore::Layout::TableGrid::hasComputedWidthConstraints const):
(WebCore::Layout::TableGrid::Column::box const):
(WebCore::Layout::TableGrid::Columns::list):
(WebCore::Layout::TableGrid::Columns::list const):
(WebCore::Layout::TableGrid::Columns::size const):
(WebCore::Layout::TableGrid::Columns::logicalWidth const):
(WebCore::Layout::TableGrid::Row::logicalBottom const):
(WebCore::Layout::TableGrid::Row::box const):
(WebCore::Layout::TableGrid::Rows::list):
(WebCore::Layout::TableGrid::Rows::rowList const):
(WebCore::Layout::TableGrid::Rows::size const):
(WebCore::Layout::TableGrid::Cell::startColumn const):
(WebCore::Layout::TableGrid::Cell::endColumn const):
(WebCore::Layout::TableGrid::Cell::startRow const):
(WebCore::Layout::TableGrid::Cell::endRow const):
(WebCore::Layout::TableGrid::Cell::columnSpan const):
(WebCore::Layout::TableGrid::Cell::rowSpan const):
(WebCore::Layout::TableGrid::Cell::position const):
(WebCore::Layout::TableGrid::Cell::size const):
(WebCore::Layout::TableGrid::Cell::box const):
(WebCore::Layout::TableGrid::columns const):
(WebCore::Layout::TableGrid::columns):
(WebCore::Layout::TableGrid::rows const):
(WebCore::Layout::TableGrid::rows):
(WebCore::Layout::TableGrid::cells):
(WebCore::Layout::TableGrid::CellInfo::startColumn const): Deleted.
(WebCore::Layout::TableGrid::CellInfo::endColumn const): Deleted.
(WebCore::Layout::TableGrid::CellInfo::startRow const): Deleted.
(WebCore::Layout::TableGrid::CellInfo::endRow const): Deleted.
(WebCore::Layout::TableGrid::CellInfo::columnSpan const): Deleted.
(WebCore::Layout::TableGrid::CellInfo::rowSpan const): Deleted.
(WebCore::Layout::TableGrid::Column::columnBox const): Deleted.
(WebCore::Layout::TableGrid::ColumnsContext::columns): Deleted.
(WebCore::Layout::TableGrid::ColumnsContext::columns const): Deleted.
(WebCore::Layout::TableGrid::ColumnsContext::logicalWidth const): Deleted.
(WebCore::Layout::TableGrid::columnsContext const): Deleted.
(WebCore::Layout::TableGrid::columnsContext): Deleted.

6:27 AM Changeset in webkit [259977] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.28

Merge r258978 - [GTK] Add user agent quirk for auth.mayohr.com
https://bugs.webkit.org/show_bug.cgi?id=209378

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2020-03-25
Reviewed by Michael Catanzaro.

Source/WebCore:

This site blocks the login page completely and asks the user to download
Google Chrome when using our standard user agent. It only blocks the
login page. After logging in, it works fine without user agent quirks.

Note that it is required to hide Version/X from the user agent string
for the site to recognize it as a valid Chrome user agent. Since Chrome
itself does not use Version/X, it should be safe to modify the existing
quirk instead of adding a new one to handle it.

  • platform/UserAgentQuirks.cpp:

(WebCore::urlRequiresChromeBrowser):
(WebCore::urlRequiresNoSafariVersion):
(WebCore::UserAgentQuirks::quirksForURL):
(WebCore::UserAgentQuirks::stringForQuirk):

  • platform/UserAgentQuirks.h:
  • platform/glib/UserAgentGLib.cpp:

(WebCore::buildUserAgentString):

Tools:

  • TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:

(TestWebKitAPI::assertUserAgentForURLHasNoSafariVersionQuirk):
(TestWebKitAPI::TEST):

6:27 AM Changeset in webkit [259976] by Carlos Garcia Campos
  • 16 edits in releases/WebKitGTK/webkit-2.28/Source

Merge r259284 - [GTK][WPE] Jumpy rendering of fixed-element layers while scrolling
https://bugs.webkit.org/show_bug.cgi?id=209466

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Avoid intermittent state application that can occur when asynchronous
scrolling is done on the dedicated thread while the general scene update
is being done in parallel on the composition thread, leading to partial
scrolling updates that visually present themselves as e.g. fixed
elements "jumping" around the view.

Instead of the staging state of a given Nicosia::CompositionLayer, the
scrolling nodes now update the base state with the given scrolling
change. At the end of the update, inside the UpdateScope descructor,
the updated states inside the scene are flushed into the staging phase
before they are adopted by the composition thread.

  • page/scrolling/nicosia/ScrollingTreeFixedNode.cpp:

(WebCore::ScrollingTreeFixedNode::applyLayerPositions):

  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeFrameScrollingNodeNicosia::repositionScrollingLayers):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::repositionRelatedLayers):

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollProxyNode.cpp:

(WebCore::ScrollingTreeOverflowScrollProxyNode::applyLayerPositions):

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::repositionScrollingLayers):

  • page/scrolling/nicosia/ScrollingTreePositionedNode.cpp:

(WebCore::ScrollingTreePositionedNode::applyLayerPositions):

  • page/scrolling/nicosia/ScrollingTreeStickyNode.cpp:

(WebCore::ScrollingTreeStickyNode::applyLayerPositions):

  • platform/graphics/nicosia/NicosiaPlatformLayer.h:

(Nicosia::CompositionLayer::accessStaging): Deleted.

  • platform/graphics/nicosia/NicosiaSceneIntegration.cpp:

(Nicosia::SceneIntegration::SceneIntegration):
(Nicosia::SceneIntegration::invalidate):
(Nicosia::SceneIntegration::UpdateScope::~UpdateScope):

  • platform/graphics/nicosia/NicosiaSceneIntegration.h:

(Nicosia::SceneIntegration::create):

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

(WebCore::CoordinatedGraphicsLayer::syncPosition):
Don't signal the related attribute delta flag since this change is now
strictly applied by the scrolling thread.
(WebCore::CoordinatedGraphicsLayer::syncBoundsOrigin): Ditto.

Source/WebKit:

Move the Nicosia::SceneIntegration ownership into the
CompositingCoordinator class, along with the SceneIntegration::Client
inheritance. LayerTreeHost in turn now implements the updateScene()
method that triggers a scene update when invoked.

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:

(WebKit::CompositingCoordinator::CompositingCoordinator):
(WebKit::CompositingCoordinator::invalidate):
(WebKit::CompositingCoordinator::attachLayer):
(WebKit::CompositingCoordinator::requestUpdate):

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:

(WebKit::LayerTreeHost::LayerTreeHost):
(WebKit::LayerTreeHost::~LayerTreeHost):
(WebKit::LayerTreeHost::updateScene):
(WebKit::LayerTreeHost::sceneIntegration): Deleted.
(WebKit::LayerTreeHost::requestUpdate): Deleted.

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:
6:27 AM Changeset in webkit [259975] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r258759 - [GStreamer] White-list vp09 in the codec registry
https://bugs.webkit.org/show_bug.cgi?id=209288

Reviewed by Xabier Rodriguez-Calvar.

  • platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:

(WebCore::GStreamerRegistryScanner::initialize):

6:17 AM Changeset in webkit [259974] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Tools

Merge r259339 - [GTK] MiniBrowser: valgrind claims 'Invalid write of size 8' on close
https://bugs.webkit.org/show_bug.cgi?id=209471

Reviewed by Adrian Perez de Castro.

This is because we need to remove the weak pointer added in child windows to their parent.

  • MiniBrowser/gtk/BrowserWindow.c:

(browserWindowDispose): Remove the parentWindow weak ref.
(browser_window_class_init): Add dispose.

6:17 AM Changeset in webkit [259973] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebKit

Merge r259712 - Ensure base cache path exists before calculating disk cache capacity
https://bugs.webkit.org/show_bug.cgi?id=209338

Reviewed by Adrian Perez de Castro.

The base cache path might not exist yet in Cache::open() since it's Storage::open() the one calling
FileSystem::makeAllDirectories() with the final cache directory. In such case, computeCapacity() fails because
FileSystem::getVolumeFreeSpace() needs an existing file.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::open):

6:17 AM Changeset in webkit [259972] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebKit

Merge r259944 - [GTK] Use gdk_window_move_to_rect() to position popup menus
https://bugs.webkit.org/show_bug.cgi?id=210069

Reviewed by Michael Catanzaro.

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::showPopupMenu):

6:17 AM Changeset in webkit [259971] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebKit

Merge r259943 - [GTK] Page is not drawn with PSON, hardware acceleration and address typed in URL bar
https://bugs.webkit.org/show_bug.cgi?id=208091

Reviewed by Michael Catanzaro.

This happens only when accelerated compositing mode policy is set to always. In this case, the
bindSurfaceToWebPage wayland message is received before the WebPageProxy has updated the web page identifier. We
should always check if there's a provisional page and get its web page identifier.

  • UIProcess/gtk/WaylandCompositor.cpp:

(WebKit::WaylandCompositor::bindSurfaceToWebPage):

6:16 AM Changeset in webkit [259970] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebKit

Merge r259942 - [GTK][PSON] Crash in WaylandCompositor::Surface destructor with USE_WPE_RENDERER disabled
https://bugs.webkit.org/show_bug.cgi?id=209345

Reviewed by Michael Catanzaro.

In case of PSON the web page identifier can change fo the same web page proxy. When swapping processes the new
web page calls bindSurfaceToWebPage(), but we still have the web page proxy bound to the previous surface. We
just need to unbind the current surface before binding the new one.

  • UIProcess/gtk/WaylandCompositor.cpp:

(WebKit::WaylandCompositor::bindSurfaceToWebPage):

6:16 AM Changeset in webkit [259969] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.28/Source

Merge r258831 - [WPE] AsyncScrolling: horizontal scrolling is inverted
https://bugs.webkit.org/show_bug.cgi?id=208638

Source/WebCore:

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-03-23
Reviewed by Adrian Perez de Castro.

Scrolling down should scroll to the right and up to the left..

  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeFrameScrollingNodeNicosia::handleWheelEvent): Invert also the x axis.

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::handleWheelEvent): Ditto.

Source/WebKit:

Patch by Chris Lord <Chris Lord> on 2020-03-23
Reviewed by Adrian Perez de Castro.

  • UIProcess/API/wpe/ScrollGestureController.cpp:

(WebKit::ScrollGestureController::handleEvent):

6:16 AM Changeset in webkit [259968] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r259073 - [GStreamer] Fix missing NULL-check in setSyncOnClock
https://bugs.webkit.org/show_bug.cgi?id=209609

Unreviewed, simple fix.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::setSyncOnClock): Some systems are configured so that
audio sinks are not available. Make sure not to crash when asking
to sync with a NULL sink.

6:04 AM Changeset in webkit [259967] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebKit

Merge r259459 - Unreviewed fix after r259382

Rubber-stamped by Carlos Garcia Campos.

No new tests needed.

  • UIProcess/API/glib/WebKitWebContext.cpp:

(webkit_web_context_register_uri_scheme): Change g_return_if_fail()
calls to actually check that the passed scheme is not one of the
special ones.

6:04 AM Changeset in webkit [259966] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebKit

Merge r259382 - [WPE][GTK] Public API should not allow trying to register a special URI scheme
https://bugs.webkit.org/show_bug.cgi?id=209900

Reviewed by Carlos Garcia Campos.

No new tests needed.

  • UIProcess/API/glib/WebKitWebContext.cpp:

(webkit_web_context_register_uri_scheme): Use g_return_if_fail() to
check at the public API level whether the passed URI scheme is
special and bail out early.

6:04 AM Changeset in webkit [259965] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebKit

Merge r259380 - [GTK] [2.28.0] The Yelp build crashes if DISPLAY is not set
https://bugs.webkit.org/show_bug.cgi?id=209431

Reviewed by Carlos Alberto Lopez Perez.

Remove the assert when display is not X11 nor Wayland, and simply return false to ensure acceleration is not used.

  • UIProcess/gtk/AcceleratedBackingStore.cpp:

(WebKit::AcceleratedBackingStore::checkRequirements):

6:04 AM Changeset in webkit [259964] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r259113 - [WPE] Unnecessary gl synchronization when using an OpenMAX video decoder and GLES2
https://bugs.webkit.org/show_bug.cgi?id=209647

Reviewed by Adrian Perez de Castro.

Don't perform the call to gst_gl_sync_meta_wait_cpu() when using an OpenMAX decoder,
as we don't need synchronization in that case and the internal call to glFinish()
casues an important fps drop.

  • platform/graphics/gstreamer/GStreamerCommon.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::GstVideoFrameHolder::waitForCPUSync):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):

6:04 AM Changeset in webkit [259963] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r259110 - Update Chrome and Firefox versions in user agent quirks
https://bugs.webkit.org/show_bug.cgi?id=209631

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-03-27
Reviewed by Carlos Garcia Campos.

  • platform/UserAgentQuirks.cpp:

(WebCore::UserAgentQuirks::stringForQuirk):

6:04 AM Changeset in webkit [259962] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebKit

Merge r259044 - [GTK] Crash in WebKit::LayerTreeHost::LayerTreeHost with bubblewrap sandbox enabled
https://bugs.webkit.org/show_bug.cgi?id=209106

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-03-26
Reviewed by Carlos Garcia Campos.

Don't bind the WaylandCompositor socket unless we're running under Wayland and it's actually
started successfully.

  • UIProcess/Launcher/glib/BubblewrapLauncher.cpp:

(WebKit::bindWayland):

6:03 AM Changeset in webkit [259961] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebKit

Merge r258923 - [GTK] Crash in WebKit::LayerTreeHost::LayerTreeHost with bubblewrap sandbox enabled
https://bugs.webkit.org/show_bug.cgi?id=209106

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-03-24
Reviewed by Adrian Perez de Castro.

The bubblewrap sandbox is blocking access to WebKit's nested Wayland compositor. Apparently
nobody has ever tested the nested Wayland compositor with the sandbox enabled until now.

  • UIProcess/Launcher/glib/BubblewrapLauncher.cpp:

(WebKit::bindWayland):

6:03 AM Changeset in webkit [259960] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WTF

Merge r259134 - REGRESSION(r258857): Broke aarch64 JSCOnly CI
https://bugs.webkit.org/show_bug.cgi?id=209670

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-03-27
Reviewed by Carlos Alberto Lopez Perez.

Change aarch64 to use 4 KB rather than 64 KB as the ceiling on page size.

This change is definitely incorrect, because it will break our internal aarch64 CI that uses
64 KB pages. But maybe it will fix the public aarch64 CI bot that is using 4 KB pages?
Further investigation is required, because 64 KB should have been a safe value for all
platforms, but first step is to commit this and see what happens.

  • wtf/PageBlock.h:
6:03 AM Changeset in webkit [259959] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.28/Source

Merge r258857 - REGRESSION(r249808): [GTK] Crash in JSC Config::permanentlyFreeze() on architecture ppc64el
https://bugs.webkit.org/show_bug.cgi?id=209236

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-03-23
Reviewed by Mark Lam.

Source/JavaScriptCore:

  • heap/MarkedBlock.h: Use new CeilingOnPageSize.
  • runtime/JSCConfig.cpp:

(JSC::Config::permanentlyFreeze): Use pageSize instead of vmPageSize.

  • runtime/JSCConfig.h: Use new CeilingOnPageSize.

Source/WTF:

Add new CeilingOnPageSize constants, for use in JSC, in order to centralize our compile-time
page size guessing into one place. Improve the implementation of pageSize() to
RELEASE_ASSERT() when CeilingOnPageSize is wrong, so we can detect and fix it if so. (It
will be even easier to detect if we change RELEASE_ASSERT_WITH_MESSAGE() to actually print
its message in release builds.) Change pageSize() to use sysconf(_SC_PAGESIZE), which is
specified by POSIX, instead of getpagesize(), which is nonstandard.

  • wtf/PageBlock.cpp:

(WTF::systemPageSize):
(WTF::pageSize):

  • wtf/PageBlock.h:
6:03 AM Changeset in webkit [259958] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/JavaScriptCore

Merge r258463 - Unreviewed. Fix windows build by making configSizeToProtect stay 4KB.

  • runtime/JSCConfig.h:
6:03 AM Changeset in webkit [259957] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.28/Source

Merge r258460 - configSizeToProtect should be 16KB
https://bugs.webkit.org/show_bug.cgi?id=209068

Reviewed by Keith Miller.

Source/bmalloc:

  • bmalloc/Gigacage.h:

Source/JavaScriptCore:

  • runtime/JSCConfig.h:
6:03 AM Changeset in webkit [259956] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.28/Source

Merge r257662 - Clean up code with how we choose Gigacage sizes and whether or not to use Wasm fast memory
https://bugs.webkit.org/show_bug.cgi?id=208392

Reviewed by Yusuke Suzuki.

Source/bmalloc:

  • bmalloc/Gigacage.h:

Source/JavaScriptCore:

  • runtime/OptionsList.h:
6:03 AM Changeset in webkit [259955] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r258755 - Fix build with gstreamer 1.12
https://bugs.webkit.org/show_bug.cgi?id=209296

Patch by Mike Gorse <mgorse@suse.com> on 2020-03-20
Reviewed by Philippe Normand.

No new tests (build fix only).

  • platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:

(webKitGLVideoSinkChangeState): Add GST_VERSION_CHECK around check for
GST_STATE_CHANGE_READY_TO_READY.

6:03 AM Changeset in webkit [259954] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/JavaScriptCore

Merge r258719 - Unreviewed, build fix after r258717
https://bugs.webkit.org/show_bug.cgi?id=199295

  • llint/LowLevelInterpreter.asm:
6:03 AM Changeset in webkit [259953] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/JavaScriptCore

Merge r258717 - sanitizeStackForVMImpl writes below stack pointer, triggers huge warning spam from valgrind
https://bugs.webkit.org/show_bug.cgi?id=199295

Reviewed by Mark Lam.

During sanitizeStackForVMImpl, we should not access to the region beyond the stack-pointer.
This patch changes stack-pointer while sanitizeStackForVMImpl is zero-filling the old stack region.

  • llint/LowLevelInterpreter.asm:
6:03 AM Changeset in webkit [259952] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.28/JSTests

Merge r258710 - [JSC][BigEndians] Several JSC stress tests failing
https://bugs.webkit.org/show_bug.cgi?id=194007

Reviewed by Michael Catanzaro.

Adapt the DataView tests to be able to pass on little endian as well
as the big endian hardware. Do so by introducing method that determine
the endianess and based on its value it saves the expected results in
the right format.

  • stress/dataview-get-cse.js:

(getIsLittleEndian):
(adjustForEndianess):
(test3.foo):
(test3):

  • stress/dataview-jit-get.js:

(getIsLittleEndian):
(test1.adjustForEndianess):
(test1):
(test2.adjustForEndianess):
(test2):
(test3.adjustForEndianess):
(test3):
(adjustForEndianessUint32):
(test4):
(test5):
(test6):
(test7):
(test8):

  • stress/dataview-jit-neuter.js:

(getIsLittleEndian):
(adjustForEndianess):
(test):
(test2):

  • stress/dataview-jit-set-nan.js:

(getIsLittleEndian):
(adjustForEndianessFloat32):
(test):

  • stress/dataview-jit-set.js:

(getIsLittleEndian):
(readHex):
(adjustForEndianessUint16):
(test):
(test2):
(adjustForEndianessUint32):
(test3):
(test4):
(adjustForEndianessFloat32):
(test5):
(adjustForEndianessFloat64):
(test6):
(isLittleEndian): Deleted.

6:03 AM Changeset in webkit [259951] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.28

Merge r258662 - Fix ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren crash
https://bugs.webkit.org/show_bug.cgi?id=208312

Patch by Eugene But <eugenebut@chromium.org> on 2020-03-18
Reviewed by Ryosuke Niwa

ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren
was crashing on dereferencing m_firstNodeInserted pointer. Before the crash
ReplaceSelectionCommand::InsertedNodes object received the following calls:

respondToNodeInsertion() with node A, which set m_firstNodeInserted and m_lastNodeInserted to A
willRemoveNode() with node B, which left m_firstNodeInserted and m_lastNodeInserted unchanged (A)
(node A was destroyed setting m_firstNodeInserted and m_lastNodeInserted to null)
respondToNodeInsertion() with node C, which set m_firstNodeInserted and m_lastNodeInserted to C
willRemoveNodePreservingChildren() with node C, which set m_firstNodeInserted to null and crashed

This patch checks m_firstNodeInserted before dereferencing and sets m_lastNodeInserted to null if
m_firstNodeInserted became null. It seems like having non-null value for m_lastNodeInserted would
be an invalid state.

Test: editing/pasteboard/insert-apple-style-span-after-timeout.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren):

LayoutTests:
Test for ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren crash fix
https://bugs.webkit.org/show_bug.cgi?id=208312

Patch by Eugene But <eugenebut@chromium.org> on 2020-03-18
Reviewed by Ryosuke Niwa

This test insers empty Apple-style-span after timeout to a non-empty document.

  • editing/pasteboard/insert-apple-style-span-after-timeout.html:
6:03 AM Changeset in webkit [259950] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.28

Merge r258532 - A change event gets dispatched when textarea gets changed without focus
https://bugs.webkit.org/show_bug.cgi?id=202144

Patch by ChangSeok Oh <ChangSeok Oh> on 2020-03-16
Reviewed by Ryosuke Niwa.

Source/WebCore:

A crash happens in WebCore::ValidationMessage::buildBubbleTree. An immediate reason
is that DOM tree is modified in buildBubbleTree triggered by a timer.
The function calls document.updateLayout() that causes a change event
for textarea to fire when something changed in the textarea.
This bug is not reproduced on Mac because buildBubbleTree is not called.
See ValidationMessage::setMessage.
On the other hand, the root cause of this issue is triggering the change event
for textarea even if it is not focused when a change is made. This behavior
is different to what Gecko and Chromium do. When loading the test, they do not
trigger the change event although the textarea is filled by the script
since the textarea is not focused. Only when we manually make a change (meaning
the textarea is focused by user input), the event gets dispatched. To fix it,
setChangedSinceLastFormControlChangeEvent(true) is moved below the focus check
in HTMLTextAreaElement::subtreeHasChanged();

Test: fast/forms/textfield-onchange-without-focus.html

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::subtreeHasChanged):

LayoutTests:

The test should be identical to the extected result without crash.

  • fast/forms/textfield-onchange-without-focus-expected.html: Added.
  • fast/forms/textfield-onchange-without-focus.html: Added.
6:03 AM Changeset in webkit [259949] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.28

Merge r258808 - [GTK] Use ${PYTHON_EXECUTABLE} to run generate-gtkdoc
https://bugs.webkit.org/show_bug.cgi?id=208970

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-03-21
Reviewed by Konstantin Tokarev.

.:

There's no need to rely on shebangs when executing python scripts from CMake. This should
ensure the script always works even if the shebang does not.

  • Source/cmake/GtkDoc.cmake:

Tools:

We are allowed to use /usr/bin/env in this script because it's not installed (so not
packaged). Therefore we can make the shebang compatible with FreeBSD in this particularl
case.

  • gtkdoc/generate-gtkdoc:
6:03 AM Changeset in webkit [259948] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Tools

Merge r258328 - [GTK] Use #!/usr/bin/python3 shebang to run generate-gtkdoc
https://bugs.webkit.org/show_bug.cgi?id=208970

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-03-12
Reviewed by Daniel Bates.

Fedora and Ubuntu are both patching generate-gtkdoc to use #!/usr/bin/python3 rather than

probably has similar rules.

Note this is the only script that attempts to use /usr/bin/python in tarball builds.
Everything else that does so is probably only used by webkit-build.

https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_multiple_python_runtimes

  • gtkdoc/generate-gtkdoc:
6:02 AM Changeset in webkit [259947] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r258542 - [GStreamer][MSE] Playback rate update support
https://bugs.webkit.org/show_bug.cgi?id=208454

Reviewed by Xabier Rodriguez-Calvar.

Implement playback rate update support for the MSE player. Also
includes drive-by logging cleanups.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
(WebCore::MediaPlayerPrivateGStreamer::setRate):
(WebCore::MediaPlayerPrivateGStreamer::setPreservesPitch):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(WebCore::MediaPlayerPrivateGStreamer::pipeline const):

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

(WebCore::MediaPlayerPrivateGStreamerMSE::seek):
(WebCore::MediaPlayerPrivateGStreamerMSE::doSeek):
(WebCore::MediaPlayerPrivateGStreamerMSE::maybeFinishSeek):
(WebCore::MediaPlayerPrivateGStreamerMSE::seekCompleted):
(WebCore::MediaPlayerPrivateGStreamerMSE::updatePlaybackRate): Deleted.
(WebCore::MediaPlayerPrivateGStreamerMSE::setRate): Deleted.

  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
6:02 AM Changeset in webkit [259946] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r258199 - Unreviewed, !USE(GSTREAMER_GL) build fix after r258197.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::GstVideoFrameHolder::platformLayerBuffer):

6:02 AM WebKitGTK/2.28.x edited by Carlos Garcia Campos
(diff)
6:02 AM Changeset in webkit [259945] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore

Merge r258197 - [GStreamer][GL] External OES textures rendering support
https://bugs.webkit.org/show_bug.cgi?id=208572

Patch by Philippe Normand <philn@igalia.com> on 2020-03-10
Reviewed by Žan Doberšek.

For hardware that contains native YUV samplers, some drivers may
only support external-oes import of YUV textures, so by supporting
this texture target in the MediaPlayer we can avoid some costly
operations in the pipeline.

  • platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:

(webKitGLVideoSinkSetMediaPlayerPrivate):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::GstVideoFrameHolder::GstVideoFrameHolder):
(WebCore::GstVideoFrameHolder::platformLayerBuffer):
(WebCore::MediaPlayerPrivateGStreamer::paint):

  • platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp:

(WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
(WebCore::TextureMapperGL::drawTextureExternalOES):

  • platform/graphics/texmap/TextureMapperGL.h:
  • platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:

(WebCore::TextureMapperPlatformLayerBuffer::clone):
(WebCore::TextureMapperPlatformLayerBuffer::paintToTextureMapper):

  • platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
  • platform/graphics/texmap/TextureMapperShaderProgram.cpp:

(WebCore::TextureMapperShaderProgram::create):

  • platform/graphics/texmap/TextureMapperShaderProgram.h:
2:28 AM Changeset in webkit [259944] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK] Use gdk_window_move_to_rect() to position popup menus
https://bugs.webkit.org/show_bug.cgi?id=210069

Reviewed by Michael Catanzaro.

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::showPopupMenu):

2:27 AM Changeset in webkit [259943] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK] Page is not drawn with PSON, hardware acceleration and address typed in URL bar
https://bugs.webkit.org/show_bug.cgi?id=208091

Reviewed by Michael Catanzaro.

This happens only when accelerated compositing mode policy is set to always. In this case, the
bindSurfaceToWebPage wayland message is received before the WebPageProxy has updated the web page identifier. We
should always check if there's a provisional page and get its web page identifier.

  • UIProcess/gtk/WaylandCompositor.cpp:

(WebKit::WaylandCompositor::bindSurfaceToWebPage):

2:26 AM Changeset in webkit [259942] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK][PSON] Crash in WaylandCompositor::Surface destructor with USE_WPE_RENDERER disabled
https://bugs.webkit.org/show_bug.cgi?id=209345

Reviewed by Michael Catanzaro.

In case of PSON the web page identifier can change fo the same web page proxy. When swapping processes the new
web page calls bindSurfaceToWebPage(), but we still have the web page proxy bound to the previous surface. We
just need to unbind the current surface before binding the new one.

  • UIProcess/gtk/WaylandCompositor.cpp:

(WebKit::WaylandCompositor::bindSurfaceToWebPage):

12:42 AM Changeset in webkit [259941] by Ross Kirsling
  • 8 edits in trunk

[ECMA-402] WebKit Intl does not allow calendar and numberingSystem options
https://bugs.webkit.org/show_bug.cgi?id=209784

Reviewed by Myles C. Maxfield.

JSTests:

  • stress/intl-datetimeformat.js:

Fix two test cases for old behavior.

  • test262/expectations.yaml:

Mark 16 test cases as passing.

Source/JavaScriptCore:

As an alternative to using ca and nu extensions in the locale string:

Since we already support ca and nu, this is a very simple addition.
The only interesting part is that we must verify that values for these options are 3-8 alphanumeric characters.

  • runtime/IntlDateTimeFormat.cpp:

(JSC::IntlDateTimeFormat::initializeDateTimeFormat):

  • runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::initializeNumberFormat):
(JSC::IntlNumberFormat::resolvedOptions):

  • runtime/IntlObject.cpp:

(JSC::isUnicodeLocaleIdentifierType):

  • runtime/IntlObject.h:

Apr 11, 2020:

9:32 PM Changeset in webkit [259940] by ddkilzer@apple.com
  • 11 edits in trunk/Source/WebKit

Follow-up: Add WARN_UNUSED_RETURN to decode methods in Source/WebKit/Platform/IPC
<https://webkit.org/b/210316>
<rdar://problem/61559305>

Changes based on feedback from Alex Christensen and Darin Adler:

  • Remove WARN_UNUSED_RETURN from methods returning Optional<>.
  • Place WARN_UNUSED_RETURN consistently before the return type.
  • Platform/IPC/ArgumentCoder.h:
  • Platform/IPC/ArgumentCoders.cpp:
  • Platform/IPC/ArgumentCoders.h:

(IPC::ArgumentCoder<OptionSet<T>>::decode):
(IPC::ArgumentCoder<Optional<T>>::decode):
(IPC::ArgumentCoder<Box<T>>::decode):
(IPC::TupleDecoderImpl::decode):
(IPC::TupleDecoderImpl<Type>::decode):
(IPC::TupleDecoder::decode):
(IPC::TupleDecoder<0>::decode):
(IPC::VariantCoder::decode):

  • Platform/IPC/Attachment.h:
  • Platform/IPC/DataReference.h:
  • Platform/IPC/Decoder.h:
  • Platform/IPC/FormDataReference.h:

(IPC::FormDataReference::decode):

  • Platform/IPC/ImageDataReference.h:

(IPC::ImageDataReference::decode):

  • Platform/IPC/SharedBufferDataReference.h:

(IPC::SharedBufferDataReference::decode):

  • Platform/IPC/StringReference.h:
8:13 PM Changeset in webkit [259939] by Jack Lee
  • 3 edits
    2 adds in trunk

Infinite loop in InsertListCommand::doApply()
https://bugs.webkit.org/show_bug.cgi?id=210354
<rdar://problem/61427778>

Reviewed by Darin Adler.

Source/WebCore:

Function startOfNextParagraph may return an empty position. Added null check to exit the while loop
and stop looking for next paragraph.

Test: editing/inserting/insert-list-end-of-table.html

  • editing/InsertListCommand.cpp:

(WebCore::InsertListCommand::doApply):

LayoutTests:

Added a regression test for the crash.

  • editing/inserting/insert-list-end-of-table-expected.txt: Added.
  • editing/inserting/insert-list-end-of-table.html: Added.
5:43 PM Changeset in webkit [259938] by Wenson Hsieh
  • 9 edits in trunk

[macOS] [WK1] Touch Bar flashes when typing in Vietnamese in Mail
https://bugs.webkit.org/show_bug.cgi?id=210394
<rdar://problem/60099560>

Reviewed by Tim Horton.

Source/WebCore:

See WebKitLegacy/mac/ChangeLog for more details.

Currently, many users of TemporarySelectionChange use it to temporarily avoid propagating selection changes to
the client layer during temporary selection changes. This involves creating a TemporarySelectionChange without
a new selection, but with the IgnoreSelectionChanges option specified, which makes us call `Editor::
setIgnoreSelectionChanges` to suppress selection change notifications.

Do a bit of cleanup in this area by introducing IgnoreSelectionChangeForScope, which wraps a
TemporarySelectionChange and makes it easier for a handful of call sites that currently use
TemporarySelectionChange to hide selection changes from the client layer to get their desired behavior.

Test: CandidateTests.DoNotHideCandidatesDuringTextReplacement

  • editing/Editor.cpp:

(WebCore::Editor::respondToChangedSelection):

  • editing/Editor.h:

(WebCore::TemporarySelectionChange::TemporarySelectionChange):
(WebCore::IgnoreSelectionChangeForScope::IgnoreSelectionChangeForScope):

  • page/DragController.cpp:

(WebCore::DragController::performDragOperation):
(WebCore::DragController::insertDroppedImagePlaceholdersAtCaret):

Replace these:

TemporarySelectionChange ignoreSelectionChanges { frame, WTF::nullopt, TemporarySelectionOption::IgnoreSelectionChanges };

...with these instead:

IgnoreSelectionChangeForScope ignoreSelectionChanges { *frame };

Source/WebKitLegacy/mac:

In recent versions of macOS, changes to the animation of the candidate list touch bar item when it is expanded
or collapsed using -updateWithInsertionPointVisibility: mean that back-to-back calls to hide and show the
candidate list during the same runloop now result in a visible flicker, whereas it would remain still in prior
releases.

Combined with how -[WebHTMLView insertText:] in WebKitLegacy causes multiple selection change updates if the
argument is an attributed string with the text replacement attribute, this means that there is now a visible
flicker in the touch bar when using input methods that rely on the NSTextInputReplacementRangeAttributeName
attribute. One such input method is Simple Telex (Vietnamese), when typing causes characters in other parts of
the word to gain diacritics.

To fix this, we make two small adjustments in WebKitLegacy (see below).

  • WebView/WebHTMLView.mm:

(-[WebHTMLView insertText:]):

While inserting text (which may be an NSAttibutedString or NSString), we may come across an attribute indicating
which part of the document to replace. In this case, we will select this range in the document before inserting
the given text.

This selection change is propagated to the client layer, which makes us briefly think that we have a ranged
selection, causing the flicker described above. Address this by suppressing selection change notifications while
we're selecting the range to replace, using the new IgnoreSelectionChangeForScope RAII object (see WebCore
changes for more detail).

  • WebView/WebView.mm:

(-[WebView updateTextTouchBar]):

When updating the text touch bar (which contains the candidate list item) after a selection change, we currently
handle the case where selection changes are ignored by hiding the candidate list; this doesn't seem right, since
selection changes that are ignored should simply be ignored by the client. To fix this, push the
ignoreSelectionChanges() check into the if statement.

Tools:

Add an API test that inserts an attributed string with the text replacement attribute, and verifies that we
show the candidate list when inserting the string, and also don't temporarily hide the candidate list in the
process of doing so.

To achieve this, we swizzle out calls to -[NSCandidateListTouchBarItem updateWithInsertionPointVisibility:] to
detect when the candidate list is either hidden or made visible.

  • TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
  • TestWebKitAPI/Tests/mac/CandidateTests.mm:

Fix a leak in an adjacent test too, while I'm touching this file.

(TestWebKitAPI::updateCandidateListWithVisibility):

4:56 PM Changeset in webkit [259937] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebKit

Follow-up: Add WARN_UNUSED_RETURN to decode methods in WebCoreArgumentCoders
<https://webkit.org/b/210322>
<rdar://problem/61565148>

Changes based on feedback from Alex Christensen and Darin Adler:

  • Remove WARN_UNUSED_RETURN from methods returning Optional<>.
  • Place WARN_UNUSED_RETURN consistently before the return type.
  • Shared/WebCoreArgumentCoders.cpp:
  • Shared/WebCoreArgumentCoders.h:
4:49 PM Changeset in webkit [259936] by Simon Fraser
  • 4 edits
    4 adds in trunk

[Async overflow] Can't scroll overflow:scroll in sideways-scrollable RTL document
https://bugs.webkit.org/show_bug.cgi?id=210389

Reviewed by Tim Horton.

Source/WebCore:

ScrollingTree::handleWheelEvent() converts the event coordinates from view to "content"
coordinates, but we then jump into hit-testing on CALayers. In a sideways-scrollable
RTL document, the root content layer has a negative X offset which corresponds to
scrollOrigin; we need to map the point into the coordinate space of this layer
before entering layer-based hit-testing.

Tests: fast/scrolling/mac/async-scroll-overflow-rtl-zoomed.html

fast/scrolling/mac/async-scroll-overflow-rtl.html

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::handleWheelEvent):

  • page/scrolling/mac/ScrollingTreeMac.mm:

(ScrollingTreeMac::scrollingNodeForPoint):

LayoutTests:

  • fast/scrolling/mac/async-scroll-overflow-rtl-expected.txt: Added.
  • fast/scrolling/mac/async-scroll-overflow-rtl-zoomed-expected.txt: Added.
  • fast/scrolling/mac/async-scroll-overflow-rtl-zoomed.html: Added.
  • fast/scrolling/mac/async-scroll-overflow-rtl.html: Added.
4:21 PM Changeset in webkit [259935] by dbates@webkit.org
  • 3 edits in trunk/Source/WebKit

Add text interaction delegate functions
https://bugs.webkit.org/show_bug.cgi?id=210395
<rdar://problem/61650549>

Reviewed by Wenson Hsieh.

Implement some delegate callbacks that are used to toggle selection reveal,
placeholder text, and selection assistance.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _willBeginTextInteractionInTextInputContext:]): Added.
(-[WKContentView _didFinishTextInteractionInTextInputContext:]): Added.

1:17 PM Changeset in webkit [259934] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Gardening of encrypted-media tests
https://bugs.webkit.org/show_bug.cgi?id=210391

Unreviewed gardening.

  • platform/gtk/TestExpectations:
12:36 PM Changeset in webkit [259933] by Darin Adler
  • 22 edits in trunk/Source

Move more from live range to SimpleRange: callers of absoluteTextRects
https://bugs.webkit.org/show_bug.cgi?id=210369

Reviewed by Anders Carlsson.

Source/WebCore:

  • dom/Node.cpp:

(WebCore::Node::textRects const): Deleted.

  • dom/Node.h: Updated for the above.
  • dom/Range.cpp:

(WebCore::Range::absoluteBoundingBox const): Updated since absoluteTextRects
no longer has a RangeInFixedPosition* argument.
(WebCore::Range::absoluteTextRects const): Removed the unused RangeInFixedPosition*
argument.

  • dom/Range.h: Got rid of unused RangeInFixedPosition type and also removed

RangeInFixedPosition* argument from the absoluteTextRects function. Later will
remove absoluteTextRects entirely.

  • editing/Editor.cpp:

(WebCore::Editor::firstRectForRange const): Use RenderObject::absoluteTextQuads
and unitedBoundingBoxes rather than using RenderObject::absoluteBoundingBoxRectForRange.

  • editing/cocoa/DataDetection.mm:

(WebCore::DataDetection::detectContentInRange): Use SimpleRange rather than
live ranges.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::setContainerAndOffsetForRange): Moved from int to unsigned.
(WebCore::HTMLTextFormControlElement::selection const): Return Optional<SimpleRange>
rather than a live range.

  • html/HTMLTextFormControlElement.h: Updated for the change above.
  • page/TextIndicator.cpp:

(WebCore::initializeIndicator): Updated since absoluteTextRects no longer takes
a RangeInFixedPosition* argument.

  • rendering/HighlightData.h: Removed stray obsolete declaration.
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::absoluteBoundingBoxRectForRange): Deleted. Callers can
use absoluteTextQuads directly. We need to cut down on the number of separate
functions that are not really separate concepts, and this was used in only one place.
(WebCore::RenderObject::absoluteTextRects): Added. Replaces Range::absoluteTextRects
for all callers outside the live range class and will eventually replace it entirely.

  • rendering/RenderObject.h: Updated for the above.

Source/WebKit:

  • WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:

(-[WKDOMNode textRects]): Moved implementation here. There's no reason for Node
to have a textRects function, since it's a layout/rendering operation and a
single node is also an unusual special case, but for now at least we will keep
this legacy method.

  • WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:

(-[WKDOMRange textRects]): Changed to call RenderObject::absoluteTextRects
instead of Range::absoluteTextRects.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::updateFindUIAfterPageScroll): Use
RenderObject::absoluteTextRects instead of Range::absoluteRectRects.
(WebKit::FindController::findStringMatches): Ditto.

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebFrameIOS.mm:

(-[WebFrame closestCaretRectInMarkedTextRangeForPoint:]): Use
RenderObject::absoluteTextRects instead of Range::absoluteTextRects.
Also added some missing null checks and reorganized the function a
bit to make it more direct and slightly cleaerer.

Source/WebKitLegacy/mac:

  • DOM/DOM.mm:

(-[DOMNode textRects]): Moved implementation here. There's no reason for Node
to have a textRects function, since it's a layout/rendering operation and a
single node is also an unusual special case, but for now we will keep this
legacy method for compatibility with old clients.
(-[DOMRange textRects]): Changed to call RenderObject::absoluteTextRects
instead of Range::absoluteTextRects.

  • WebView/WebFrame.mm:

(-[WebFrame _rectsForRange:]): Changed to call -[DOMRange textRects] instead
of Range::absoluteTextRects. Don't really need two identical methods but
probably need to keep this around for compatiblitiy.

11:46 AM Changeset in webkit [259932] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Gardening of mediastream tests
https://bugs.webkit.org/show_bug.cgi?id=210386

Unreviewed gardening.

  • platform/gtk/TestExpectations:
11:36 AM Changeset in webkit [259931] by Devin Rousso
  • 5 edits
    2 adds in trunk/Source/WebCore

REGRESSION (Safari 13.1?): Web Inspector: Debugger hang at breakpoint when using Keyboard Maestro
https://bugs.webkit.org/show_bug.cgi?id=210177
<rdar://problem/61485723>

Reviewed by Joseph Pecoraro.

Partial revert of r251036 <https://webkit.org/b/202716> to go back to using AppKit APIs
instead of CFRunLoopRunInMode. Only seems to affect WebKitLegacy.

  • inspector/PageScriptDebugServer.h:
  • inspector/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::runEventLoopWhilePausedInternal):
(WebCore::PageScriptDebugServer::platformShouldContinueRunningEventLoopWhilePaused):

  • inspector/mac/PageScriptDebugServerMac.mm: Added.

(WebCore::PageScriptDebugServer::platformShouldContinueRunningEventLoopWhilePaused):

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
8:35 AM Changeset in webkit [259930] by Darin Adler
  • 19 edits in trunk/Source/WebCore

Use Node::length to replace Node::maxCharacterOffset and lastOffsetInNode; switch more offsets from int to unsigned
https://bugs.webkit.org/show_bug.cgi?id=210246

Reviewed by Antti Koivisto.

  • The recently-added Node::length, which matches the DOM specification terminology for node offsets as used in ranges, is the same as the existing maxCharacterOffset and lastOffsetInNode functions. Deleted all uses of those and replaced them with calls to Node::length. One of the benefits of this is that Node::length is implemented more efficiently and is not a virtual function. Another is consistently matching the DOM specification terminology.
  • Many offsets, including the ones in live ranges, are currently implemented as signed in WebKit, but are specified as unsigned in the DOM and HTML specifications. This has very little observable effect from JavaScript that can affect website compatibility, but it's still helpful to be consistent both with the specification and internally. Accordingly, changed some of these to unsigned; more to come later.
  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::previousBoundary): Use length instead of
maxCharacterOffset.

  • dom/CharacterData.cpp:

(WebCore::CharacterData::maxCharacterOffset const): Deleted.

  • dom/CharacterData.h: Deleted maxCharacterOffset override.
  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::shiftMarkers): Use length instead of
maxCharacterOffset.

  • dom/Node.cpp:

(WebCore::Node::maxCharacterOffset const): Deleted.

  • dom/Node.h: Deleted maxCharacterOffset.
  • dom/Position.cpp:

(WebCore::Position::computeOffsetInContainerNode const): Use length instead
of lastOffsetInNode.

  • dom/Position.h:

(WebCore::lastOffsetInNode): Deleted.
(WebCore::lastPositionInNode): Use length instead of lastOffsetInNode.
(WebCore::minOffsetForNode): Use length instead of maxCharacterOffset.
(WebCore::offsetIsBeforeLastNodeOffset): Ditto.

  • dom/RangeBoundaryPoint.h:

(WebCore::RangeBoundaryPoint::setToEndOfNode): Use length instead of
maxCharacterOffset.

  • editing/ApplyBlockElementCommand.cpp:

(WebCore::isNewLineAtPosition): Use length instead of maxCharacterOffset.
(WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded):
Ditto.

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::removeInlineStyle): Use length instead of
maxCharacterOffset.

  • editing/Editing.cpp:

(WebCore::lastOffsetForEditing): Use length instead of mmaxCharacterOffset
and countChildNodes. Also improved the comment here.

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::styleAtSelectionStart): Use length instead of
maxCharacterOffset.

  • editing/InsertListCommand.cpp:

(WebCore::InsertListCommand::doApplyForSingleParagraph): Use length instead
of lastOffsetInNode.

  • editing/TextIterator.cpp:

(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
USe length instead of lastOffsetInNode.

  • editing/VisibleUnits.cpp:

(WebCore::previousBoundary): Use length instead of maxCharacterOffset.

8:14 AM Changeset in webkit [259929] by Devin Rousso
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: CSS: variables should have a go-to arrow to quickly jump to the definition
https://bugs.webkit.org/show_bug.cgi?id=195775
<rdar://problem/48905785>

Reviewed by Timothy Hatcher.

Often when debugging/editing styles that use CSS variables, the desired workflow is to
modify the variable itself, not that specific usage. This is especially helpful when editing
colors saved in CSS variables.

Add an always visible go-to arrow immediately after the variable (e.g. --XYZ (->)) that
will jump to the declaration of the variable elsewhere in the style cascade.

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype._addVariableTokens):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:

(.spreadsheet-style-declaration-editor .property .select-variable-property): Added.

  • UserInterface/Base/Setting.js:
  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

  • Localizations/en.lproj/localizedStrings.js:
7:07 AM Changeset in webkit [259928] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Gardening, mark some WebInspector tests as Slow
https://bugs.webkit.org/show_bug.cgi?id=210380

Unreviewed gardening.

  • platform/gtk/TestExpectations:
5:36 AM Changeset in webkit [259927] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Buildbot: Force crash log submission after each test run (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=210202
<rdar://problem/60508929>

Unreviewed follow-up fix.

  • BuildSlaveSupport/ews-build/steps.py:

(WaitForCrashCollection): Remove spaces from step name.

5:07 AM Changeset in webkit [259926] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Buildbot: Force crash log submission after each test run (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=210202
<rdar://problem/60508929>

Unreviewed follow-up fix.

  • BuildSlaveSupport/wait-for-crash-collection: Improved error message.
4:28 AM Changeset in webkit [259925] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

check-webkit-style should warn about 'decode' functions with missing WARN_UNUSED_RETURN attribute
<https://webkit.org/b/210336>
<rdar://problem/61585835>

Reviewed by Jonathan Bedard.

  • Scripts/webkitpy/style/checkers/cpp.py:

(_FunctionState.post_modifiers): Add. Returns string of text
that appears after the function definition's list of parameters.
This is used to find the WARN_UNUSED_RETURN attribute in
function declarations in header files.
(_FunctionState.has_attribute): Add. Takes a string (or regex)
and searchs before and after the function definition for the
attribute.
(_FunctionState.has_return_type): Add. Takes a string (or
regex) and checks the return type of the fuction.
(_FunctionState.is_static): Add. Returns True for functions
with the 'static' modifier.
(check_function_definition): Add check for decode() functions
with missing WARN_UNUSED_RETURN attribute.
(CppChecker): Add 'security/missing_warn_unused_return' to the
list of enabled style checkers.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTestBase.perform_function_definition_check): Add. This
runs the check_function_definition() function in cpp.py.
(CppStyleTest.test_decode_functions_missing_warn_unused_return): Add.
Tests for the new warning.

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

[GTK] Gardening of flaky failures
https://bugs.webkit.org/show_bug.cgi?id=210376

Unreviewed gardening.

  • platform/gtk/TestExpectations:

Apr 10, 2020:

11:56 PM Changeset in webkit [259923] by Pablo Saavedra
  • 3 edits in trunk/Source/WebKit

[GTK][WPE] Replace fopen/fclose by fopen/fseek functions in MemoryPressureMonitor
https://bugs.webkit.org/show_bug.cgi?id=209942

Reviewed by Adrian Perez de Castro.

Replacing the open()/close() logic to get the data from /proc/meminfo,
/proc/self/cgroup, ... with a new logic where the files are just
opened once and we just perform a seek to the initial position of
of an unbuffered file.

Also refactoring of some logic:

  • Added the CGroupMemoryController class what encapsulates the logic to calculate the the total memory and the memory usage with cgroups.
  • CGroupMemoryController encpasulates the FILE pointers to the relative files to cgroups.
  • The memInfoFile, zoneInfoFile and cgroupControllerFile are now opened once in the Thread::create() invoked by the MemoryPressureMonitor::start().
  • UIProcess/linux/MemoryPressureMonitor.cpp:

(WebKit::lowWatermarkPages):
(WebKit::calculateMemoryAvailable):
(WebKit::getCgroupFile):
(WebKit::getCgroupControllerPath):
(WebKit::systemMemoryUsedAsPercentage):
(WebKit::MemoryPressureMonitor::start):
(WebKit::CGroupMemoryController::setMemoryControllerPath):
(WebKit::CGroupMemoryController::disposeMemoryController):
(WebKit::CGroupMemoryController::getCgroupFileValue):
(WebKit::CGroupMemoryController::getMemoryTotalWithCgroup):
(WebKit::CGroupMemoryController::getMemoryUsageWithCgroup):
(WebKit::getCgroupFileValue): Deleted.
(WebKit::getMemoryTotalWithCgroup): Deleted.
(WebKit::getMemoryUsageWithCgroup): Deleted.

  • UIProcess/linux/MemoryPressureMonitor.h:

(WebKit::CGroupMemoryController::isActive):
(WebKit::CGroupMemoryController::~CGroupMemoryController):

11:39 PM Changeset in webkit [259922] by commit-queue@webkit.org
  • 41 edits in trunk/Source

PersistentCoders should use modern decoding syntax
https://bugs.webkit.org/show_bug.cgi?id=207497

Patch by Alex Christensen <achristensen@webkit.org> on 2020-04-10
Reviewed by Darin Adler.

Source/WebCore:

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::showCertificate):

  • loader/FetchOptions.h:

(WebCore::FetchOptions::decodePersistent):

  • page/csp/ContentSecurityPolicyResponseHeaders.h:

(WebCore::ContentSecurityPolicyResponseHeaders::encode const):
(WebCore::ContentSecurityPolicyResponseHeaders::decode):

  • platform/PasteboardCustomData.cpp:

(WebCore::PasteboardCustomData::fromSharedBuffer):

  • platform/network/ResourceLoadPriority.h:
  • platform/network/ResourceRequestBase.h:

(WebCore::ResourceRequestBase::encodeBase const):
(WebCore::ResourceRequestBase::decodeBase):

  • platform/network/cf/CertificateInfo.h:

(WTF::Persistence::decodeCFData):
(WTF::Persistence::decodeSecTrustRef):
(WTF::Persistence::decodeCertificateChain):
(WTF::Persistence::Coder<WebCore::CertificateInfo>::encode):
(WTF::Persistence::Coder<WebCore::CertificateInfo>::decode):

  • workers/service/server/RegistrationDatabase.cpp:

(WebCore::RegistrationDatabase::doPushChanges):
(WebCore::RegistrationDatabase::importRecords):

Source/WebKit:

  • NetworkProcess/cache/CacheStorageEngineCache.cpp:

(WebKit::CacheStorage::decodeDOMCacheRecord):
(WebKit::CacheStorage::Cache::decodeRecordHeader):

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::readOrigin):
(WebKit::CacheStorage::decodeCachesNames):

  • NetworkProcess/cache/NetworkCacheCoders.cpp:

(WTF::Persistence::Coder<WebCore::HTTPHeaderMap>::decode):

  • NetworkProcess/cache/NetworkCacheEntry.cpp:

(WebKit::NetworkCache::Entry::decodeStorageRecord):

  • NetworkProcess/cache/NetworkCacheKey.cpp:

(WebKit::NetworkCache::Key::decode):

  • NetworkProcess/cache/NetworkCacheKey.h:
  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::decodeRecordMetaData):

  • NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:

(WebKit::NetworkCache::SubresourceInfo::encode const):
(WebKit::NetworkCache::SubresourceInfo::decode):
(WebKit::NetworkCache::SubresourcesEntry::decodeStorageRecord):

  • NetworkProcess/cache/NetworkCacheSubresourcesEntry.h:
  • Shared/UserData.cpp:

(WebKit::UserData::decode):

  • UIProcess/API/APIContentRuleListStore.cpp:

(API::decodeContentRuleListMetaData):

Source/WTF:

This paves the way for more serialized types that do not have a default constructor.

  • wtf/persistence/PersistentCoder.h:

(WTF::Persistence::Coder::encode):
(WTF::Persistence::Coder::decode):

  • wtf/persistence/PersistentCoders.cpp:

(WTF::Persistence::Coder<AtomString>::decode):
(WTF::Persistence::Coder<CString>::decode):
(WTF::Persistence::decodeStringText):
(WTF::Persistence::Coder<String>::decode):
(WTF::Persistence::Coder<SHA1::Digest>::decode):

  • wtf/persistence/PersistentCoders.h:

(WTF::Persistence::Coder<Optional<T>>::decode):
(WTF::Persistence::Coder<Seconds>::decode):
(WTF::Persistence::Coder<WallTime>::decode):

  • wtf/persistence/PersistentDecoder.cpp:

(WTF::Persistence::Decoder::decodeNumber):
(WTF::Persistence::Decoder::operator>>):
(WTF::Persistence::Decoder::decode): Deleted.

  • wtf/persistence/PersistentDecoder.h:

(WTF::Persistence::Decoder::operator>>):
(WTF::Persistence::Decoder::decode): Deleted.
(WTF::Persistence::Decoder::decodeEnum): Deleted.

  • wtf/persistence/PersistentEncoder.h:

(WTF::Persistence::Encoder::operator<<):
(WTF::Persistence::Encoder::encode): Deleted.
(WTF::Persistence::Encoder::encodeEnum): Deleted.

10:17 PM Changeset in webkit [259921] by Simon Fraser
  • 4 edits
    2 adds in trunk

[macOS] Fix scrollbar display for async-scrolling overflow
https://bugs.webkit.org/show_bug.cgi?id=194101

Reviewed by Tim Horton.

Source/WebCore:

We need to call positionOverflowControlsLayers() from RenderLayerBacking::updateGeometry(),
otherwise, on first load, scrollbar layers have no size because we try to position them
before we've created them.

Test: fast/scrolling/mac/overflow-scrollbars-should-be-visible.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::positionOverflowControls):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):

LayoutTests:

Mismatch ref test that tests that overlay scrollbars show up.

  • fast/scrolling/mac/overflow-scrollbars-should-be-visible-expected-mismatch.html: Added.
  • fast/scrolling/mac/overflow-scrollbars-should-be-visible.html: Added.
10:09 PM Changeset in webkit [259920] by fpizlo@apple.com
  • 1 edit
    69 adds in trunk/Websites/webkit.org

Unreviewed, check in some files for a blog post.

  • blog-files/speculation-in-jsc: Added.
  • blog-files/speculation-in-jsc/ai-check-elimination-examples.graffle: Added.
  • blog-files/speculation-in-jsc/ai-check-elimination-examples.svg: Added.
  • blog-files/speculation-in-jsc/bigger-data-flow-graph.graffle: Added.
  • blog-files/speculation-in-jsc/bigger-data-flow-graph.svg: Added.
  • blog-files/speculation-in-jsc/bytecode-to-dfg-ir-lowering-with-osr-phases.graffle: Added.
  • blog-files/speculation-in-jsc/bytecode-to-dfg-ir-lowering-with-osr-phases.svg: Added.
  • blog-files/speculation-in-jsc/bytecode-to-ssa-conversion-with-osr.graffle: Added.
  • blog-files/speculation-in-jsc/bytecode-to-ssa-conversion-with-osr.svg: Added.
  • blog-files/speculation-in-jsc/dfg-and-ftl-architecture.graffle: Added.
  • blog-files/speculation-in-jsc/dfg-and-ftl-architecture.svg: Added.
  • blog-files/speculation-in-jsc/dfg-arithadd-explainer.graffle: Added.
  • blog-files/speculation-in-jsc/dfg-arithadd-explainer.svg: Added.
  • blog-files/speculation-in-jsc/dfg-pipeline.graffle: Added.
  • blog-files/speculation-in-jsc/dfg-pipeline.svg: Added.
  • blog-files/speculation-in-jsc/dfg-threaded-cps-example.graffle: Added.
  • blog-files/speculation-in-jsc/dfg-threaded-cps-example.svg: Added.
  • blog-files/speculation-in-jsc/double-monomorphic-inline-cache-speculation.graffle: Added.
  • blog-files/speculation-in-jsc/double-monomorphic-inline-cache-speculation.svg: Added.
  • blog-files/speculation-in-jsc/example-data-flow-graph.graffle: Added.
  • blog-files/speculation-in-jsc/example-data-flow-graph.svg: Added.
  • blog-files/speculation-in-jsc/five-parts-of-speculation.graffle: Added.
  • blog-files/speculation-in-jsc/five-parts-of-speculation.svg: Added.
  • blog-files/speculation-in-jsc/ftl-dfg-ir-to-bytecode-osr-exit.graffle: Added.
  • blog-files/speculation-in-jsc/ftl-dfg-ir-to-bytecode-osr-exit.svg: Added.
  • blog-files/speculation-in-jsc/ftl-pipeline.graffle: Added.
  • blog-files/speculation-in-jsc/ftl-pipeline.svg: Added.
  • blog-files/speculation-in-jsc/ftl-stackmaps.graffle: Added.
  • blog-files/speculation-in-jsc/ftl-stackmaps.svg: Added.
  • blog-files/speculation-in-jsc/ideal-jsc-optimization-workflow.graffle: Added.
  • blog-files/speculation-in-jsc/ideal-jsc-optimization-workflow.svg: Added.
  • blog-files/speculation-in-jsc/inline-caches-per-tier-dynamic.graffle: Added.
  • blog-files/speculation-in-jsc/inline-caches-per-tier-dynamic.svg: Added.
  • blog-files/speculation-in-jsc/int32-add-diamond-speculation.graffle: Added.
  • blog-files/speculation-in-jsc/int32-add-diamond-speculation.svg: Added.
  • blog-files/speculation-in-jsc/int32-add-osr-speculation.graffle: Added.
  • blog-files/speculation-in-jsc/int32-add-osr-speculation.svg: Added.
  • blog-files/speculation-in-jsc/jsc-tier-architecture.graffle: Added.
  • blog-files/speculation-in-jsc/jsc-tier-architecture.svg: Added.
  • blog-files/speculation-in-jsc/jsc-tiers.graffle: Added.
  • blog-files/speculation-in-jsc/jsc-tiers.svg: Added.
  • blog-files/speculation-in-jsc/object-model.graffle: Added.
  • blog-files/speculation-in-jsc/object-model.svg: Added.
  • blog-files/speculation-in-jsc/optimization-workflow-c-vs-js.graffle: Added.
  • blog-files/speculation-in-jsc/optimization-workflow-c-vs-js.svg: Added.
  • blog-files/speculation-in-jsc/optimization-workflow-js.graffle: Added.
  • blog-files/speculation-in-jsc/optimization-workflow-js.svg: Added.
  • blog-files/speculation-in-jsc/osr-exit-bytecode-example.graffle: Added.
  • blog-files/speculation-in-jsc/osr-exit-bytecode-example.svg: Added.
  • blog-files/speculation-in-jsc/osr-stack-register-shuffle.graffle: Added.
  • blog-files/speculation-in-jsc/osr-stack-register-shuffle.svg: Added.
  • blog-files/speculation-in-jsc/polyvariant-inline-cache-speculation.graffle: Added.
  • blog-files/speculation-in-jsc/polyvariant-inline-cache-speculation.svg: Added.
  • blog-files/speculation-in-jsc/prediction-propagation-and-value-profiling.graffle: Added.
  • blog-files/speculation-in-jsc/prediction-propagation-and-value-profiling.svg: Added.
  • blog-files/speculation-in-jsc/prediction-propagation-rules-add.graffle: Added.
  • blog-files/speculation-in-jsc/prediction-propagation-rules-add.svg: Added.
  • blog-files/speculation-in-jsc/prediction-propagation-rules-getbyval.graffle: Added.
  • blog-files/speculation-in-jsc/prediction-propagation-rules-getbyval.svg: Added.
  • blog-files/speculation-in-jsc/sample-property-lookup.graffle: Added.
  • blog-files/speculation-in-jsc/sample-property-lookup.svg: Added.
  • blog-files/speculation-in-jsc/single-monomorphic-inline-cache-speculation.graffle: Added.
  • blog-files/speculation-in-jsc/single-monomorphic-inline-cache-speculation.svg: Added.
  • blog-files/speculation-in-jsc/speculated-types.graffle: Added.
  • blog-files/speculation-in-jsc/speculated-types.svg: Added.
  • blog-files/speculation-in-jsc/xy-objects-as-maps.graffle: Added.
  • blog-files/speculation-in-jsc/xy-objects-as-maps.svg: Added.
  • blog-files/speculation-in-jsc/xy-objects-with-structures.graffle: Added.
  • blog-files/speculation-in-jsc/xy-objects-with-structures.svg: Added.
8:59 PM Changeset in webkit [259919] by Ross Kirsling
  • 9 edits
    1 add in trunk

[ECMA-402] Properly implement BigInt.prototype.toLocaleString
https://bugs.webkit.org/show_bug.cgi?id=209782

Reviewed by Darin Adler.

JSTests:

  • stress/bigint-toLocaleString.js: Added.
  • stress/intl-numberformat.js: Add test cases.
  • test262/expectations.yaml: Mark 10 test cases as passing.

Source/JavaScriptCore:

Our BigInt's toLocaleString has been simply falling back to toString instead of following ECMA-402.
(https://tc39.es/ecma402/#sup-bigint.prototype.tolocalestring)

Since {Number, BigInt}.prototype.toLocaleString are internally the same as Intl.NumberFormat.prototype.format,
this patch simultaneously lets the latter method take a BigInt argument.
(https://tc39.es/ecma402/#sec-number-format-functions)

This patch continues to use the old unum_* API instead of ICU 62's new unumf_* API,
as the latter would require a large refactor as well as fallback paths.
(This will, however, be a prerequisite for https://bugs.webkit.org/show_bug.cgi?id=209774.)

  • runtime/BigIntPrototype.cpp:

(JSC::bigIntProtoFuncToString):
(JSC::bigIntProtoFuncToLocaleString):
(JSC::bigIntProtoFuncToStringImpl): Deleted.

  • runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::format):
(JSC::IntlNumberFormat::formatNumber): Deleted.

  • runtime/IntlNumberFormat.h:
  • runtime/IntlNumberFormatPrototype.cpp:

(JSC::IntlNumberFormatFuncFormat):
(JSC::IntlNumberFormatPrototypeGetterFormat):
(JSC::IntlNumberFormatFuncFormatNumber): Deleted.

  • runtime/NumberPrototype.cpp:

(JSC::numberProtoFuncToLocaleString):

8:03 PM Changeset in webkit [259918] by Lauro Moura
  • 3 edits in trunk/LayoutTests

[GTK] Flaky test gardening.

Unreviewed test gardening.

  • platform/gtk-wayland/TestExpectations:
  • platform/gtk/TestExpectations:
6:57 PM Changeset in webkit [259917] by ddkilzer@apple.com
  • 6 edits in trunk/Source/WTF

Follow-up: Add WARN_UNUSED_RETURN to decode methods in Source/WTF
<https://webkit.org/b/210323>
<rdar://problem/61565764>

Changes based on feedback from Alex Christensen and Darin Adler:

  • Remove WARN_UNUSED_RETURN from methods returning Optional<>.
  • Place WARN_UNUSED_RETURN consistently before the return type.
  • wtf/MediaTime.h:
  • wtf/MonotonicTime.h:
  • wtf/ObjectIdentifier.h:

(WTF::ObjectIdentifier::decode):

  • wtf/Seconds.h:
  • wtf/URL.h:
6:23 PM Changeset in webkit [259916] by Simon Fraser
  • 4 edits
    2 adds in trunk

[Async overflow] Can't scroll vertically while over a horizontal scroller in this content
https://bugs.webkit.org/show_bug.cgi?id=210356
<rdar://problem/60523731>

Reviewed by Tim Horton.

Source/WebCore:

https://dozermapper.github.io/gitbook/documentation/customconverter.html has style
that triggers mismatched containing block and z-order layer trees, triggering the creation
of an "overflow scroll proxy node" in the scrolling tree.

If we encounter such a node in our ancestor tree walk while deciding which node to send
a wheel event too, we need to jump to the node that the proxy node is representing.

Test: fast/scrolling/mac/nested-overflow-proxy-node.html

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::handleWheelEvent):

LayoutTests:

  • fast/scrolling/mac/absolute-in-overflow-scroll.html:
  • fast/scrolling/mac/nested-overflow-proxy-node-expected.txt: Added.
  • fast/scrolling/mac/nested-overflow-proxy-node.html: Added.
5:41 PM Changeset in webkit [259915] by Ryan Haddad
  • 4 edits in trunk/Source/WebCore

Unreviewed, reverting r259764.

Causes layout test crashes under GuardMalloc

Reverted changeset:

"Release WebGLLayer earlier in ~GraphicsContextGLOpenGL"
https://bugs.webkit.org/show_bug.cgi?id=210213
https://trac.webkit.org/changeset/259764

5:09 PM Changeset in webkit [259914] by Devin Rousso
  • 3 edits in trunk/Source/WebKit

Web Inspector: add broadcastConsoleMessage calls for new ITPDebug logs after r259275
https://bugs.webkit.org/show_bug.cgi?id=210362

Reviewed by John Wilander.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::logFrameNavigation):
(WebKit::ResourceLoadStatisticsDatabaseStore::registrableDomainsToDeleteOrRestrictWebsiteDataFor):

  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::logFrameNavigation):
(WebKit::ResourceLoadStatisticsMemoryStore::registrableDomainsToDeleteOrRestrictWebsiteDataFor):

4:38 PM Changeset in webkit [259913] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

[IPC Hardening] WebHitTestResultData IPC decoder should validate imageSharedMemory / imageSize
https://bugs.webkit.org/show_bug.cgi?id=210361
<rdar://problem/60758280>

Reviewed by Geoffrey Garen.

WebHitTestResultData IPC decoder should validate imageSharedMemory / imageSize to make sure they are consistent.

  • Shared/WebHitTestResultData.cpp:

(WebKit::WebHitTestResultData::decode):

4:37 PM Changeset in webkit [259912] by Peng Liu
  • 4 edits in trunk

REGRESSION: (r259850)[ Mac wk1 Debug ] media/track/track-user-stylesheet.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=210350

Reviewed by Daniel Bates.

Source/WebCore:

Revert the change in r259850.

  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride):

LayoutTests:

Make the test reliable by replacing the timer-based approach with testExpectedEventually.

  • media/track/track-user-stylesheet.html:
4:15 PM Changeset in webkit [259911] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null ptr Deref in RadioButtonGroups::updateCheckedState
https://bugs.webkit.org/show_bug.cgi?id=210353

Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-04-10
Reviewed by Chris Dumez.

Source/WebCore:

This crash happened when the default checked setter was called for an input element and RadioButtonGroup was NULL.
Added condition to dereference the group only if it is non-null.

Test: fast/forms/input-element-default-checked-setter-crash.html

  • dom/RadioButtonGroups.cpp:

(WebCore::RadioButtonGroups::updateCheckedState):

LayoutTests:

Added a regression test.

  • fast/forms/input-element-default-checked-setter-crash-expected.txt: Added.
  • fast/forms/input-element-default-checked-setter-crash.html: Added.
4:08 PM Changeset in webkit [259910] by commit-queue@webkit.org
  • 18 edits in trunk

Add SPI to handle proxy authentication and require secure proxy connections
https://bugs.webkit.org/show_bug.cgi?id=210343
<rdar://problem/61546396> <rdar://problem/61546519> and <rdar://problem/61546658>

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

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

I also use WKWebViewConfiguration.connectionProxyDictionary instead of CFURLRequestSetProxySettings
to set proxy settings. The equivalence of this behavior is covered by the API tests.

  • NetworkProcess/NetworkSessionCreationParameters.cpp:

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

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

(WebKit::NetworkDataTaskCocoa::applySniffingPoliciesAndBindRequestToInferfaceIfNeeded):

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

(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

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

(-[_WKWebsiteDataStoreConfiguration preventsSystemHTTPProxyAuthentication]):
(-[_WKWebsiteDataStoreConfiguration setPreventsSystemHTTPProxyAuthentication:]):
(-[_WKWebsiteDataStoreConfiguration requiresSecureHTTPSProxyConnection]):
(-[_WKWebsiteDataStoreConfiguration setRequiresSecureHTTPSProxyConnection:]):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:

(WebKit::WebsiteDataStoreConfiguration::copy const):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:

(WebKit::WebsiteDataStoreConfiguration::preventsSystemHTTPProxyAuthentication const):
(WebKit::WebsiteDataStoreConfiguration::setPreventsSystemHTTPProxyAuthentication):
(WebKit::WebsiteDataStoreConfiguration::requiresSecureHTTPSProxyConnection const):
(WebKit::WebsiteDataStoreConfiguration::setRequiresSecureHTTPSProxyConnection):

Tools:

  • TestWebKitAPI/TCPServer.cpp:

(TestWebKitAPI::TCPServer::startSecureConnection):
(TestWebKitAPI::TCPServer::TCPServer):

  • TestWebKitAPI/TCPServer.h:
  • TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:

(-[ProxyDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ProxyDelegate waitForAlert]):
(-[ProxyDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TestWebKitAPI::TEST):

4:01 PM Changeset in webkit [259909] by Ross Kirsling
  • 7 edits in trunk/JSTests

Unreviewed gardening for JSTests/stress. Remove skips that were forgotten in r259658.

  • stress/array-toLocaleString.js:
  • stress/date-toLocaleString.js:
  • stress/number-toLocaleString.js:
  • stress/string-localeCompare.js:
  • stress/string-toLocaleLowerCase.js:
  • stress/string-toLocaleUpperCase.js:
3:35 PM Changeset in webkit [259908] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

[IPC Hardening] WebDeviceOrientationAndMotionAccessController::shouldAllowAccess() should not crash on invalid input
https://bugs.webkit.org/show_bug.cgi?id=210359
<rdar://problem/60092453>

Reviewed by Geoffrey Garen.

Make sure the security origin is a valid HashMap key before trying to do a HashMap lookup.
The security origin is coming from IPC and thus cannot be trusted.

  • UIProcess/WebsiteData/WebDeviceOrientationAndMotionAccessController.cpp:

(WebKit::WebDeviceOrientationAndMotionAccessController::cachedDeviceOrientationPermission const):

3:22 PM Changeset in webkit [259907] by Chris Dumez
  • 3 edits in trunk/LayoutTests

REGRESSION (r258850) http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=210358
<rdar://problem/61266282>

Reviewed by Darin Adler.

r258850 ported window.postMessage() to the HTML event loop. Because event loops are per security origin,
the ordering of messages from the same-origin & cross-origin iframes is no longer guaranteed. This led
to flakiness due to message logging in the output but the test did not actually require a particular
ordering otherwise. To address the flakiness, this patch silences the logging of messages received.

  • http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe-expected.txt:
  • http/tests/frame-throttling/timer-throttle-in-cross-origin-subframe.html:
2:57 PM Changeset in webkit [259906] by wilander@apple.com
  • 5 edits in trunk/Source/WebKit

Add capability to opt in specific domains into SameSite=strict bounce tracking protection
https://bugs.webkit.org/show_bug.cgi?id=210347
<rdar://problem/61593323>

Reviewed by Brent Fulgham.

This change adds an additional opt-in condition to the shouldEnforceSameSiteStrictFor()
functions in both ResourceLoadStatisticsMemoryStore and ResourceLoadStatisticsDatabaseStore.

No new tests. This adds domain specific logic, quirk-style. The logFrameNavigation()
changes are covered by existing tests.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::logFrameNavigation):

Now only captures real redirects for the purposes of the SameSite=strict rule.

(WebKit::ResourceLoadStatisticsDatabaseStore::shouldEnforceSameSiteStrictFor):

  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::logFrameNavigation):

Now only captures real redirects for the purposes of the SameSite=strict rule.

(WebKit::ResourceLoadStatisticsMemoryStore::shouldEnforceSameSiteStrictFor):
(WebKit::ResourceLoadStatisticsMemoryStore::registrableDomainsToDeleteOrRestrictWebsiteDataFor):

Removed stray newline.

  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:

(WebKit::ResourceLoadStatisticsStore::shouldEnforceSameSiteStrictForSpecificDomain const):

The new function with domains to subject to the new rule.

  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
2:50 PM Changeset in webkit [259905] by Devin Rousso
  • 3 edits
    1 add in trunk

The rhs in ReadModifyResolveNode should be evaluated before throwing an exception if the lhs is read-only
https://bugs.webkit.org/show_bug.cgi?id=210317

Reviewed by Ross Kirsling.

JSTests:

  • stress/const-read-modify-assignment-eval-rhs-before-exception.js: Added.

Source/JavaScriptCore:

  • bytecompiler/NodesCodegen.cpp:

(JSC::emitReadModifyAssignment):
(JSC::ReadModifyResolveNode::emitBytecode):
If the corresponding Variable is read-only, pass it to emitReadModifyAssignment as an
additional optionl argument, where it will be used to emitReadOnlyExceptionIfNeeded after
the rhs is emitted.

2:38 PM Changeset in webkit [259904] by Alan Coon
  • 3 edits
    2 adds in branches/safari-609-branch

Cherry-pick r259802. rdar://problem/61477495

Source/WebKit:
[MacOS] REGRESSION (r253275): Stopping a cloned audio capture track should not stop the original audio track
https://bugs.webkit.org/show_bug.cgi?id=210259
<rdar://problem/61466486>

Reviewed by Eric Carlson.

We changed video track cloning so that each cloned track would get its own source.
The source is getting video sample from the real capture source.
The real capture source will get stopped if all its client sources are stopped.

For audio, we are still using the same audio source for each track.
We should thus not close the source until all its tracks are stopped.
To do so, we reuse RealtimeMediaSource::requestToEnd instead of directly sending
the order to stop observing the remote audio source.

Test: fast/mediastream/mediastreamtrack-audio-clone.html

  • WebProcess/cocoa/UserMediaCaptureManager.cpp: (WebKit::UserMediaCaptureManager::Source::requestToEnd): (WebKit::UserMediaCaptureManager::Source::stopBeingObserved): Deleted.

LayoutTests:
[MacOS] Stopping a cloned audio capture track should not stop the original audio track
https://bugs.webkit.org/show_bug.cgi?id=210259
<rdar://problem/61466486>

Reviewed by Eric Carlson.

  • fast/mediastream/mediastreamtrack-audio-clone-expected.txt: Added.
  • fast/mediastream/mediastreamtrack-audio-clone.html: Added.

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

2:23 PM Changeset in webkit [259903] by Alan Coon
  • 18 edits
    6 adds in branches/safari-609-branch

Cherry-pick r259830. rdar://problem/61596886

REGRESSION: CSS animations inside an embedded SVG image do not animate
https://bugs.webkit.org/show_bug.cgi?id=209370

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-04-09
Reviewed by Simon Fraser.

Source/WebCore:

If WebAnimation is enabled and the SVGImage includes CSS animations, the
DocumentTimeline is added to the SVGDocument of the embedded SVGImage.
Because the SVGImage has its own Page the RenderingUpdate is scheduled
and the updateRendering steps run in this Page.

The Page of the SVGImage is inactive such that scheduling RenderingUpdate
fails; therefore the updateRendering steps never run and the CSS animation
never advances.

The fix is:

1) Scheduling the RenderingUpdate: This has to happen in the Page which

contains the renderer of the SVGImage. Because DocumentTimeline is
added to SVGDocument, this scheduling will go through these hubs:

  • DocumentTimeline
  • Page
  • ChromeClient -> SVGImageChromeClient
  • SVGImage
  • ImageObserver -> CachedImageObserver
  • CachedImage
  • CachedImageClient -> RenderElement
  • Page

2) Running the updateRendering steps: Each document in the Page will

enumerate its cached SVGImages. The updateRendering of the Page of
each SVGImage will be called.

To make enumerating the cached SVGImages of a Document faster, the URL
of the cached SVGImage will be added to the cachedSVGImagesURLs of
CachedResourceLoader when notifyFinished() is called for associated
CachedImage.

Tests: svg/animations/css-animation-background-svg.html

svg/animations/css-animation-embedded-svg.html
svg/animations/css-animation-hover-svg.html

  • animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::scheduleAnimationResolution): (WebCore::DocumentTimeline::updateAnimationsAndSendEvents):
  • html/ImageBitmap.cpp:
  • loader/cache/CachedImage.cpp: (WebCore::CachedImage::hasSVGImage const): (WebCore::CachedImage::CachedImageObserver::scheduleTimedRenderingUpdate): (WebCore::CachedImage::scheduleTimedRenderingUpdate):
  • loader/cache/CachedImage.h:
  • loader/cache/CachedImageClient.h: (WebCore::CachedImageClient::scheduleTimedRenderingUpdate):
  • loader/cache/CachedResourceLoader.cpp: (WebCore::isSVGImageCachedResource): (WebCore::cachedResourceSVGImage): (WebCore::CachedResourceLoader::notifyFinished):
(WebCore
const):
  • loader/cache/CachedResourceLoader.h:
  • page/ChromeClient.h: (WebCore::ChromeClient::scheduleTimedRenderingUpdate):
  • page/Page.cpp: (WebCore::Page::scheduleTimedRenderingUpdate): (WebCore::Page::updateRendering):
  • page/Page.h:
  • platform/graphics/ImageObserver.h:
  • rendering/RenderElement.cpp: (WebCore::RenderElement::notifyFinished): (WebCore::RenderElement::scheduleTimedRenderingUpdate):
  • rendering/RenderElement.h:
  • rendering/RenderImage.cpp: (WebCore::RenderImage::notifyFinished):
  • svg/graphics/SVGImage.h:
  • svg/graphics/SVGImageClients.h:

LayoutTests:

  • svg/animations/css-animation-background-svg-expected.html: Added.
  • svg/animations/css-animation-background-svg.html: Added.
  • svg/animations/css-animation-embedded-svg-expected.html: Added.
  • svg/animations/css-animation-embedded-svg.html: Added.
  • svg/animations/css-animation-hover-svg-expected.html: Added.
  • svg/animations/css-animation-hover-svg.html: Added.

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

2:23 PM Changeset in webkit [259902] by Alan Coon
  • 40 edits in branches/safari-609-branch

Cherry-pick r259829. rdar://problem/61596883

Remove legacy X-WebKit-CSP header support
https://bugs.webkit.org/show_bug.cgi?id=210256
Source/WebCore:

<rdar://problem/60634363>

Reviewed by Geoffrey Garen.

Supporting this header is causes compatibly issues for some sites
and they appear to be misconfigured. Additionally, no other
browser has supported these headers in many years. This patch
removes all support for the legacy X-WebKit-CSP header.

  • dom/Document.cpp: (WebCore::Document::processHttpEquiv):
  • page/csp/ContentSecurityPolicyDirectiveList.cpp: (WebCore::ContentSecurityPolicyDirectiveList::ContentSecurityPolicyDirectiveList):
  • page/csp/ContentSecurityPolicyResponseHeaders.cpp: (WebCore::ContentSecurityPolicyResponseHeaders::ContentSecurityPolicyResponseHeaders):
  • page/csp/ContentSecurityPolicyResponseHeaders.h:
  • platform/network/HTTPHeaderNames.in:
  • platform/network/ResourceResponseBase.cpp: (WebCore::isSafeCrossOriginResponseHeader):

LayoutTests:

Reviewed by Geoffrey Garen.

Fix tests so they ensure we don't respect legacy CSP headers anymore.

  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-invalidnonce-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-invalidnonce.html:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy.php:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy.php:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2.php:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy.php:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2.php:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy.php:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2.php:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy.php:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2.php:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce.html:

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

2:23 PM Changeset in webkit [259901] by Alan Coon
  • 2 edits in branches/safari-609-branch/Source/WebCore

Cherry-pick r259798. rdar://problem/61596876

Use more WeakPtr in RenderTreeBuilder::FirstLetter
https://bugs.webkit.org/show_bug.cgi?id=210251
<rdar://problem/61180381>

Reviewed by Zalan Bujtas.

For safety.

  • rendering/updating/RenderTreeBuilderFirstLetter.cpp: (WebCore::RenderTreeBuilder::FirstLetter::createRenderers):

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

2:10 PM Changeset in webkit [259900] by Devin Rousso
  • 2003 edits in trunk

Changes to shared testing JS files should not cause test failures due to console message line numbers changing
https://bugs.webkit.org/show_bug.cgi?id=210303

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
  • web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt:
  • web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt:
  • web-platform-tests/2dcontext/wide-gamut-canvas/canvas-createImageBitmap-e_srgb-expected.txt:
  • web-platform-tests/2dcontext/wide-gamut-canvas/imageData-colorManagedBehavior-expected.txt:
  • web-platform-tests/FileAPI/FileReader/workers-expected.txt:
  • web-platform-tests/FileAPI/url/multi-global-origin-serialization.sub-expected.txt:
  • web-platform-tests/FileAPI/url/sandboxed-iframe-expected.txt:
  • web-platform-tests/IndexedDB/bigint_value-expected.txt:
  • web-platform-tests/IndexedDB/fire-upgradeneeded-event-exception-expected.txt:
  • web-platform-tests/IndexedDB/structured-clone.any-expected.txt:
  • web-platform-tests/IndexedDB/structured-clone.any.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits-expected.txt:
  • web-platform-tests/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp-expected.txt:
  • web-platform-tests/content-security-policy/navigation/to-javascript-url-script-src-expected.txt:
  • web-platform-tests/content-security-policy/script-src-attr-elem/script-src-attr-allowed-src-blocked-expected.txt:
  • web-platform-tests/content-security-policy/script-src-attr-elem/script-src-elem-allowed-src-blocked-expected.txt:
  • web-platform-tests/content-security-policy/script-src/hash-always-converted-to-utf-8/iso-8859-1-expected.txt:
  • web-platform-tests/content-security-policy/script-src/hash-always-converted-to-utf-8/iso-8859-3-expected.txt:
  • web-platform-tests/content-security-policy/script-src/hash-always-converted-to-utf-8/iso-8859-7-expected.txt:
  • web-platform-tests/content-security-policy/script-src/hash-always-converted-to-utf-8/iso-8859-9-expected.txt:
  • web-platform-tests/content-security-policy/script-src/javascript-window-open-blocked-expected.txt:
  • web-platform-tests/content-security-policy/script-src/script-src-1_1-expected.txt:
  • web-platform-tests/content-security-policy/script-src/script-src-1_2-expected.txt:
  • web-platform-tests/content-security-policy/script-src/script-src-1_2_1-expected.txt:
  • web-platform-tests/content-security-policy/script-src/script-src-1_4_1-expected.txt:
  • web-platform-tests/content-security-policy/script-src/scriptnonce-and-scripthash.sub-expected.txt:
  • web-platform-tests/content-security-policy/script-src/scriptnonce-ignore-unsafeinline.sub-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/script-sample-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/script-sample-no-opt-in-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/style-sample-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/style-sample-no-opt-in-expected.txt:
  • web-platform-tests/content-security-policy/securitypolicyviolation/targeting-expected.txt:
  • web-platform-tests/content-security-policy/style-src/inline-style-allowed-while-cloning-objects.sub-expected.txt:
  • web-platform-tests/content-security-policy/style-src/style-src-error-event-fires-expected.txt:
  • web-platform-tests/content-security-policy/style-src/style-src-inline-style-nonce-blocked-error-event-expected.txt:
  • web-platform-tests/content-security-policy/style-src/stylehash-basic-blocked.sub-expected.txt:
  • web-platform-tests/content-security-policy/style-src/stylenonce-allowed.sub-expected.txt:
  • web-platform-tests/content-security-policy/style-src/stylenonce-blocked.sub-expected.txt:
  • web-platform-tests/content-security-policy/svg/scripted-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_allowed-href-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_allowed-href_blank-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_allowed-window_location-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_allowed-window_open-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_missing_unsafe_hashes-href-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_missing_unsafe_hashes-href_blank-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_missing_unsafe_hashes-window_location-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_missing_unsafe_hashes-window_open-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_wrong_hash-href-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_wrong_hash-href_blank-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_wrong_hash-window_location-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/javascript_src_denied_wrong_hash-window_open-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/script_event_handlers_allowed-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/script_event_handlers_denied_missing_unsafe_hashes-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/script_event_handlers_denied_wrong_hash-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/style_attribute_denied_missing_unsafe_hashes-expected.txt:
  • web-platform-tests/content-security-policy/unsafe-hashes/style_attribute_denied_wrong_hash-expected.txt:
  • web-platform-tests/css/css-animations/keyframes-remove-documentElement-crash-expected.txt:
  • web-platform-tests/css/css-fonts/font-display/font-display-feature-policy-report-only.tentative-expected.txt:
  • web-platform-tests/css/css-fonts/font-display/font-display-feature-policy-reporting.tentative-expected.txt:
  • web-platform-tests/css/css-properties-values-api/typedom.tentative-expected.txt:
  • web-platform-tests/css/css-properties-values-api/unit-cycles-expected.txt:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-018-expected.txt:
  • web-platform-tests/css/css-values/viewport-units-css2-001-expected.txt:
  • web-platform-tests/custom-elements/parser/parser-fallsback-to-unknown-element-expected.txt:
  • web-platform-tests/custom-elements/upgrading/upgrading-enqueue-reactions-expected.txt:
  • web-platform-tests/dom/events/Event-dispatch-throwing-expected.txt:
  • web-platform-tests/dom/events/EventListener-handleEvent-expected.txt:
  • web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
  • web-platform-tests/domxpath/callback-interface-expected.txt:
  • web-platform-tests/encoding/streams/decode-utf8.any.worker-expected.txt:
  • web-platform-tests/encoding/streams/realms.window-expected.txt:
  • web-platform-tests/fetch/api/basic/scheme-blob-expected.txt:
  • web-platform-tests/fetch/api/basic/scheme-others-expected.txt:
  • web-platform-tests/fetch/corb/script-js-mislabeled-as-html.sub-expected.txt:
  • web-platform-tests/fetch/corb/style-css-with-json-parser-breaker.sub-expected.txt:
  • web-platform-tests/fetch/sec-metadata/fetch.tentative.https.sub-expected.txt:
  • web-platform-tests/fetch/sec-metadata/sharedworker.tentative.https.sub-expected.txt:
  • web-platform-tests/fetch/sec-metadata/xslt.tentative.https.sub-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-global-scope-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-form-submit-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/unloading-documents/001-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt-and-unload-script-closeable-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/002-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/003-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/004-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/unloading-documents/unload/002-expected.txt:
  • web-platform-tests/html/browsers/history/joint-session-history/joint-session-history-remove-iframe-expected.txt:
  • web-platform-tests/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub-expected.txt:
  • web-platform-tests/html/browsers/offline/appcache/appcache-iframe.https-expected.txt:
  • web-platform-tests/html/browsers/offline/appcache/workers/appcache-worker-expected.txt:
  • web-platform-tests/html/browsers/offline/appcache/workers/appcache-worker.https-expected.txt:
  • web-platform-tests/html/browsers/offline/application-cache-api/api_status_idle.https-expected.txt:
  • web-platform-tests/html/browsers/offline/application-cache-api/api_swapcache_error.https-expected.txt:
  • web-platform-tests/html/browsers/offline/introduction-4/event_cached-expected.txt:
  • web-platform-tests/html/browsers/offline/introduction-4/event_cached.https-expected.txt:
  • web-platform-tests/html/browsers/offline/introduction-4/event_checking-expected.txt:
  • web-platform-tests/html/browsers/offline/introduction-4/event_checking.https-expected.txt:
  • web-platform-tests/html/browsers/offline/introduction-4/event_noupdate-expected.txt:
  • web-platform-tests/html/browsers/offline/introduction-4/event_noupdate.https-expected.txt:
  • web-platform-tests/html/browsers/offline/introduction-4/event_progress-expected.txt:
  • web-platform-tests/html/browsers/offline/introduction-4/event_progress.https-expected.txt:
  • web-platform-tests/html/browsers/offline/manifest_url_check-expected.txt:
  • web-platform-tests/html/browsers/offline/manifest_url_check.https.https-expected.txt:
  • web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
  • web-platform-tests/html/browsers/origin/origin-of-data-document-expected.txt:
  • web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter-expected.txt:
  • web-platform-tests/html/browsers/sandboxing/sandbox-disallow-scripts-via-unsandboxed-popup.tentative-expected.txt:
  • web-platform-tests/html/browsers/sandboxing/sandbox-new-execution-context-expected.txt:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/no_window_open_when_term_nesting_level_nonzero.window-expected.txt:
  • web-platform-tests/html/browsers/the-window-object/window-open-noopener-expected.txt:
  • web-platform-tests/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin-domain.sub-expected.txt:
  • web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub-expected.txt:
  • web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts-expected.txt:
  • web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub-expected.txt:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/Document.currentScript-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/011-1-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/012-1-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/013-1-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/014-1-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/015-1-expected.txt:
  • web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame-expected.txt:
  • web-platform-tests/html/dom/interfaces-expected.txt:
  • web-platform-tests/html/dom/reflection-embedded-expected.txt:
  • web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/broadcastchannel-success.https-expected.txt:
  • web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/nested-sharedworker-success.https-expected.txt:
  • web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-failure.https-expected.txt:
  • web-platform-tests/html/infrastructure/safe-passing-of-structured-data/structured_clone_bigint-expected.txt:
  • web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/utf-16le-expected.txt:
  • web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/utf-8-expected.txt:
  • web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/windows-1251-expected.txt:
  • web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/windows-1252-expected.txt:
  • web-platform-tests/html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight-expected.txt:
  • web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-1-expected.txt:
  • web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/allow-scripts-flag-changing-2-expected.txt:
  • web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/not-in-shadow-tree-expected.txt:
  • web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/remove-from-document-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/srclang-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/language-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.cross-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.redirect-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.cross-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.redirect-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.cross-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.redirect-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.cross-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.redirect-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.cross-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.redirect-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.redirect-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.cross-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.redirect-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-embed-element/document-getters-return-null-for-cross-origin-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-frame-element/document-getters-return-null-for-cross-origin-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross-origin-to-whom.window-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/document-getters-return-null-for-cross-origin-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-1-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-3-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation_by_user_activation_without_user_gesture-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads.sub.tentative-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-1-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-2-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-3-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_block_modals-4-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-1-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/sandbox_011-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/sandbox_030-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-object-element/document-getters-return-null-for-cross-origin-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validate-expected.txt:
  • web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/utf8.tentative-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/data-url-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/execution-timing/067-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/execution-timing/083-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/execution-timing/084-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/execution-timing/127-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/execution-timing/128-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/execution-timing/130-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/module-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/module.tentative-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/parse-error-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/parse-error.tentative-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/utf8-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/utf8.tentative-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.tentative-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-1-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/choice-of-error-3-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-1-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-2-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/credentials.sub-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/custom-element-exception-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-credentials.sub-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-classic-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-nonce-module-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/error-and-slow-dependency-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/error-type-2-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/error-type-3-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-1-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-2-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-3-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/evaluation-error-4-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/inline-async-execorder-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/specifier-error-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/muted-errors.sub-expected.txt:
  • web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-003-expected.txt:
  • web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-004-expected.txt:
  • web-platform-tests/html/syntax/parsing/html5lib_tests1-expected.txt:
  • web-platform-tests/html/syntax/parsing/html5lib_tests11-expected.txt:
  • web-platform-tests/html/syntax/parsing/html5lib_tests18-expected.txt:
  • web-platform-tests/html/syntax/parsing/html5lib_tests7-expected.txt:
  • web-platform-tests/html/syntax/parsing/html5lib_webkit01-expected.txt:
  • web-platform-tests/html/webappapis/animation-frames/callback-exception-expected.txt:
  • web-platform-tests/html/webappapis/scripting/events/compile-event-handler-lexical-scopes-expected.txt:
  • web-platform-tests/html/webappapis/scripting/events/event-handler-processing-algorithm-error/worker-expected.txt:
  • web-platform-tests/html/webappapis/scripting/events/inline-event-handler-ordering-expected.txt:
  • web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late-expected.txt:
  • web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.window-expected.txt:
  • web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-once-expected.txt:
  • web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-once.window-expected.txt:
  • web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-keeps-position.window-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/addEventListener-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-compile-error-data-url-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-compile-error-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-runtime-error-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-data-url-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-attribute-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setInterval-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setTimeout-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-same-origin-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-same-origin-with-hash-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-data-url-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-attribute-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-body-onerror-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setInterval-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setTimeout-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-window-onerror-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-same-origin-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-same-origin-with-hash-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-onerror-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.sharedworker-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-parse-error-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error-throw-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-2-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-3-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-4-expected.txt:
  • web-platform-tests/html/webappapis/timers/negative-settimeout-expected.txt:
  • web-platform-tests/mediacapture-streams/MediaStream-feature-policy-none.https-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_document_open-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_document_replaced-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_navigate_within_document-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_navigation_type_backforward-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_navigation_type_reload-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_redirect_chain_xserver_partial_opt_in-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_redirect_server-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_redirect_xserver-expected.txt:
  • web-platform-tests/preload/link-header-preload-nonce-expected.txt:
  • web-platform-tests/preload/onload-event-expected.txt:
  • web-platform-tests/preload/preload-csp.sub-expected.txt:
  • web-platform-tests/preload/preload-default-csp.sub-expected.txt:
  • web-platform-tests/preload/single-download-preload-expected.txt:
  • web-platform-tests/requestidlecallback/callback-exception-expected.txt:
  • web-platform-tests/resource-timing/resource-timing-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_match_origin-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_match_wildcard-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_multi-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_multi_wildcard-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_null-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_origin-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_origin_uppercase-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_space-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_wildcard-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_zero-expected.txt:
  • web-platform-tests/streams/byte-length-queuing-strategy.sharedworker-expected.txt:
  • web-platform-tests/streams/count-queuing-strategy.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/close-propagation-backward.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/close-propagation-forward.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/error-propagation-backward-expected.txt:
  • web-platform-tests/streams/piping/error-propagation-backward.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/error-propagation-forward-expected.txt:
  • web-platform-tests/streams/piping/error-propagation-forward.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/flow-control.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/general-expected.txt:
  • web-platform-tests/streams/piping/general.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/multiple-propagation.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/pipe-through.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/transform-streams.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-byte-streams/brand-checks.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-byte-streams/detached-buffers.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-byte-streams/general.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-byte-streams/properties.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/bad-strategies.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/bad-underlying-sources.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/brand-checks.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/cancel.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/default-reader.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/floating-point-total-queue-size.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/garbage-collection.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/general.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/readable-stream-reader.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/tee.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/templated.sharedworker-expected.txt:
  • web-platform-tests/svg/animations/scripted/onhover-syncbases-expected.txt:
  • web-platform-tests/svg/interact/scripted/tabindex-focus-flag-expected.txt:
  • web-platform-tests/svg/path/error-handling/bounding-expected.txt:
  • web-platform-tests/svg/shapes/scripted/disabled-shapes-not-hit-expected.txt:
  • web-platform-tests/url/a-element-expected.txt:
  • web-platform-tests/url/a-element-origin-expected.txt:
  • web-platform-tests/url/a-element-origin-xhtml-expected.txt:
  • web-platform-tests/url/a-element-xhtml-expected.txt:
  • web-platform-tests/url/failure-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_clear_marks-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_clear_measures-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_entry_type-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_exists-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark_and_measure_exception_when_invoke_with_timing_attributes-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark_and_measure_exception_when_invoke_without_parameter-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark_exceptions-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark_with_name_of_navigation_timing_optional_attribute-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_measure-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_measure_exceptions-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_measure_navigation_timing-expected.txt:
  • web-platform-tests/webaudio/idlharness.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-minimum-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-exponentialRampToValueAtTime-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-linearRampToValueAtTime-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-setTargetAtTime-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-setValueAtTime-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-setValueCurveAtTime-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-addmodule-resolution.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-messageport.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-sample-rate.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-timing-info.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-channel-count.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-construction.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-constructor-options.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-disconnected-input.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-onerror.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-options.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/baseaudiocontext-audioworklet.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-input-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-input-non-default-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-channelsplitternode-interface/audiochannelsplitter-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/constant-source-basic-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/constant-source-onended-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/constant-source-output-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolution-mono-mono-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-cascade-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-2-chan-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-4-chan-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-max-default-delay-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-max-nondefault-delay-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-maxdelay-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-maxdelaylimit-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-scheduling-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-delaynode-interface/no-dezippering-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/gain-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/no-dezippering-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-iirfilternode-interface/iirfilter-basic-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-iirfilternode-interface/iirfilter-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-iirfilternode-interface/iirfilter-getFrequencyResponse-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/distance-exponential-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/distance-inverse-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/distance-linear-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-basic-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-equalpower-stereo-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-position-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower-stereo-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-rolloff-clamping-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/pannernode-basic-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-stereopanner-interface/no-dezippering-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-stereopanner-interface/stereopannernode-basic-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-stereopanner-interface/stereopannernode-panning-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-copy-curve-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-limits-expected.txt:
  • web-platform-tests/websockets/Create-blocked-port.any-expected.txt:
  • web-platform-tests/workers/SharedWorker-detach-frame-in-error-event-expected.txt:
  • web-platform-tests/workers/SharedWorker_dataUrl-expected.txt:
  • web-platform-tests/workers/WorkerGlobalScope-close-expected.txt:
  • web-platform-tests/workers/WorkerGlobalScope_ErrorEvent_colno-expected.txt:
  • web-platform-tests/workers/WorkerGlobalScope_ErrorEvent_filename-expected.txt:
  • web-platform-tests/workers/WorkerGlobalScope_ErrorEvent_message-expected.txt:
  • web-platform-tests/workers/Worker_ErrorEvent_bubbles_cancelable-expected.txt:
  • web-platform-tests/workers/Worker_ErrorEvent_error-expected.txt:
  • web-platform-tests/workers/Worker_ErrorEvent_filename-expected.txt:
  • web-platform-tests/workers/Worker_ErrorEvent_lineno-expected.txt:
  • web-platform-tests/workers/Worker_ErrorEvent_message-expected.txt:
  • web-platform-tests/workers/Worker_ErrorEvent_type-expected.txt:
  • web-platform-tests/workers/baseurl/alpha/import-in-moduleworker-expected.txt:
  • web-platform-tests/workers/baseurl/alpha/importScripts-in-sharedworker-expected.txt:
  • web-platform-tests/workers/baseurl/alpha/sharedworker-expected.txt:
  • web-platform-tests/workers/baseurl/alpha/sharedworker-in-worker-expected.txt:
  • web-platform-tests/workers/baseurl/alpha/worker-expected.txt:
  • web-platform-tests/workers/baseurl/alpha/worker-in-worker-expected.txt:
  • web-platform-tests/workers/baseurl/alpha/xhr-in-sharedworker-expected.txt:
  • web-platform-tests/workers/constructors/SharedWorker/URLMismatchError-expected.txt:
  • web-platform-tests/workers/constructors/Worker/AbstractWorker.onerror-expected.txt:
  • web-platform-tests/workers/data-url-shared-expected.txt:
  • web-platform-tests/workers/interfaces/WorkerGlobalScope/location/redirect-sharedworker-expected.txt:
  • web-platform-tests/workers/interfaces/WorkerGlobalScope/onerror/exception-in-onerror-expected.txt:
  • web-platform-tests/workers/interfaces/WorkerUtils/importScripts/006-expected.txt:
  • web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any-expected.txt:
  • web-platform-tests/workers/modules/dedicated-worker-import-failure-expected.txt:
  • web-platform-tests/workers/modules/dedicated-worker-import-meta-expected.txt:
  • web-platform-tests/workers/modules/dedicated-worker-import.any-expected.txt:
  • web-platform-tests/workers/modules/dedicated-worker-options-credentials-expected.txt:
  • web-platform-tests/workers/name-property-expected.txt:
  • web-platform-tests/workers/semantics/multiple-workers/003-expected.txt:
  • web-platform-tests/workers/semantics/multiple-workers/004-expected.txt:
  • web-platform-tests/workers/semantics/multiple-workers/005-expected.txt:
  • web-platform-tests/workers/semantics/multiple-workers/008-expected.txt:
  • web-platform-tests/workers/semantics/structured-clone/shared-expected.txt:
  • web-platform-tests/workers/shared-worker-name-via-options-expected.txt:

Tools:

  • DumpRenderTree/mac/UIDelegate.mm:

(-[UIDelegate webView:addMessageToConsole:withSource:]):

  • DumpRenderTree/win/UIDelegate.cpp:

(UIDelegate::webViewAddMessageToConsole):

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::willAddMessageToConsole):

LayoutTests:

  • animations/change-keyframes-expected.txt:
  • compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt:
  • compositing/iframes/page-cache-layer-tree-expected.txt:
  • css3/filters/backdrop/backdrop-filter-with-clip-path-expected.txt:
  • css3/parse-alignment-of-root-elements-expected.txt:
  • dom/xhtml/level2/html/HTMLFrameElement09-expected.txt:
  • editing/execCommand/indent-pre-expected.txt:
  • editing/execCommand/outdent-blockquote-test1-expected.txt:
  • editing/execCommand/outdent-blockquote-test2-expected.txt:
  • editing/execCommand/outdent-blockquote-test3-expected.txt:
  • editing/execCommand/outdent-blockquote-test4-expected.txt:
  • editing/inserting/insert-br-quoted-007-expected.txt:
  • editing/pasteboard/copy-paste-float-expected.txt:
  • editing/pasteboard/datatransfer-idl-expected.txt:
  • editing/pasteboard/datatransfer-items-copy-html-expected.txt:
  • editing/pasteboard/onpaste-text-html-expected.txt:
  • editing/pasteboard/paste-blockquote-before-blockquote-expected.txt:
  • editing/pasteboard/paste-double-nested-blockquote-before-blockquote-expected.txt:
  • fast/animation/request-animation-frame-prefix-expected.txt:
  • fast/canvas/canvas-context-save-limit-expected.txt:
  • fast/canvas/canvas-getImageData-invalid-result-buffer-crash-expected.txt:
  • fast/canvas/canvas-toDataURL-crash-expected.txt:
  • fast/canvas/canvas-too-large-to-draw-expected.txt:
  • fast/canvas/check-stale-putImageData-expected.txt:
  • fast/canvas/pattern-too-large-to-create-expected.txt:
  • fast/canvas/webgl/bufferData-nullable-array-buffer-view-expected.txt:
  • fast/canvas/webgl/largeBuffer-expected.txt:
  • fast/canvas/webgl/lose-context-on-status-failure-expected.txt:
  • fast/canvas/webgl/oes-texture-float-linear-expected.txt:
  • fast/canvas/webgl/shader-compile-logging-expected.txt:
  • fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies-expected.txt:
  • fast/canvas/webgl/vertexAttribPointer-with-bad-offset-expected.txt:
  • fast/canvas/webgl/webgl-debug-renderer-info-expected.txt:
  • fast/canvas/webgl/webgl-draw-buffers-expected.txt:
  • fast/canvas/webgl/webgl2-buffer-targets-expected.txt:
  • fast/canvas/webgl/webgl2-getActiveUniforms-expected.txt:
  • fast/css/parse-border-image-repeat-null-crash-expected.txt:
  • fast/custom-elements/exceptions-for-synchronous-custom-element-creation-expected.txt:
  • fast/device-orientation/device-motion-request-permission-denied-expected.txt:
  • fast/device-orientation/device-motion-request-permission-granted-expected.txt:
  • fast/device-orientation/device-motion-request-permission-user-gesture-expected.txt:
  • fast/device-orientation/device-orientation-request-permission-denied-expected.txt:
  • fast/device-orientation/device-orientation-request-permission-granted-expected.txt:
  • fast/device-orientation/device-orientation-request-permission-user-gesture-expected.txt:
  • fast/dom/DOMURL/searchparams-expected.txt:
  • fast/dom/Geolocation/callback-exception-expected.txt:
  • fast/dom/Geolocation/notimer-after-unload-expected.txt:
  • fast/dom/HTMLAnchorElement/anchor-file-blob-download-then-revoke-expected.txt:
  • fast/dom/HTMLSelectElement/select-selectedIndex-expected.txt:
  • fast/dom/HTMLSelectElement/select-selectedIndex-multiple-expected.txt:
  • fast/dom/MutationObserver/database-callback-delivery-expected.txt:
  • fast/dom/NamedNodeMap-setNamedItem-crash-expected.txt:
  • fast/dom/Window/a-rel-noopener-expected.txt:
  • fast/dom/Window/area-rel-noopener-expected.txt:
  • fast/dom/Window/console-functions-expected.txt:
  • fast/dom/Window/slow-unload-handler-expected.txt:
  • fast/dom/Window/slow-unload-handler-only-frame-is-stopped-expected.txt:
  • fast/dom/Window/window-custom-prototype-crash-expected.txt:
  • fast/dom/Window/window-open-self-disallow-close-expected.txt:
  • fast/dom/Window/window-resize-contents-expected.txt:
  • fast/dom/add-document-child-and-reparent-old-child-during-document-child-replacement-expected.txt:
  • fast/dom/add-document-child-during-document-child-replacement-expected.txt:
  • fast/dom/attribute-event-listener-errors-expected.txt:
  • fast/dom/error-to-string-stack-overflow-expected.txt:
  • fast/dom/event-attrs-isolated-world-expected.txt:
  • fast/dom/getSVGDocument-on-object-crash-expected.txt:
  • fast/dom/insertedIntoDocument-iframe-expected.txt:
  • fast/dom/javascript-url-exception-isolation-expected.txt:
  • fast/dom/microtask-detach-expected.txt:
  • fast/dom/microtask-inorder-expected.txt:
  • fast/dom/microtask-reverse-expected.txt:
  • fast/dom/nested-script-exceptions-expected.txt:
  • fast/dom/no-assert-for-malformed-js-url-attribute-expected.txt:
  • fast/dom/regress-131530-expected.txt:
  • fast/dom/timer-clear-interval-in-handler-and-generate-error-expected.txt:
  • fast/dom/title-text-property-2-expected.txt:
  • fast/dom/xmlhttprequest-constructor-in-detached-document-expected.txt:
  • fast/encoding/meta-in-script-expected.txt:
  • fast/encoding/utf-8-non-ascii-expected.txt:
  • fast/events/attribute-listener-deletion-crash-expected.txt:
  • fast/events/beforeunload-alert-expected.txt:
  • fast/events/beforeunload-confirm-expected.txt:
  • fast/events/beforeunload-prompt-expected.txt:
  • fast/events/beforeunload-showModalDialog-expected.txt:
  • fast/events/detached-svg-parent-window-events-expected.txt:
  • fast/events/onbeforeunload-focused-iframe-expected.txt:
  • fast/events/ondrop-text-html-expected.txt:
  • fast/events/onerror-no-constructor-expected.txt:
  • fast/events/onunload-clears-onbeforeunload-expected.txt:
  • fast/events/onunload-expected.txt:
  • fast/events/onunload-not-on-body-expected.txt:
  • fast/events/onunload-window-property-expected.txt:
  • fast/events/pagehide-alert-expected.txt:
  • fast/events/pagehide-confirm-expected.txt:
  • fast/events/pagehide-prompt-expected.txt:
  • fast/events/pagehide-showModalDialog-expected.txt:
  • fast/events/pagehide-timeout-expected.txt:
  • fast/events/pagehide-xhr-open-expected.txt:
  • fast/events/pageshow-pagehide-on-back-cached-expected.txt:
  • fast/events/pageshow-pagehide-on-back-cached-with-frames-expected.txt:
  • fast/events/pageshow-pagehide-on-back-uncached-expected.txt:
  • fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame-expected.txt:
  • fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2-expected.txt:
  • fast/events/popup-blocked-from-unique-frame-via-window-open-named-sibling-frame-expected.txt:
  • fast/events/remove-target-with-shadow-in-drag-expected.txt:
  • fast/events/set-attribute-listener-window-onerror-crash-expected.txt:
  • fast/events/suspend-timers-expected.txt:
  • fast/events/unload-alert-expected.txt:
  • fast/events/unload-confirm-expected.txt:
  • fast/events/unload-prompt-expected.txt:
  • fast/events/unload-showModalDialog-expected.txt:
  • fast/events/window-onerror13-expected.txt:
  • fast/events/window-onerror16-expected.txt:
  • fast/events/window-onerror7-expected.txt:
  • fast/files/file-reader-file-url-expected.txt:
  • fast/files/file-reader-sandbox-iframe-expected.txt:
  • fast/files/null-origin-string-expected.txt:
  • fast/forms/interactive-validation-prevented-expected.txt:
  • fast/forms/range/range-remove-on-drag-expected.txt:
  • fast/forms/registerFormElement-crash-expected.txt:
  • fast/forms/select-max-length-expected.txt:
  • fast/forms/state-restore-broken-state-expected.txt:
  • fast/forms/state-restore-skip-stateless-expected.txt:
  • fast/frames/frame-focus-blurs-active-element-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-01-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-02-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-03-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-04-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-05-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-06-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-07-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-08-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-09-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-10-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-11-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-12-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-13-expected.txt:
  • fast/frames/sandboxed-iframe-autofocus-denied-expected.txt:
  • fast/frames/sandboxed-iframe-close-top-noclose-expected.txt:
  • fast/frames/sandboxed-iframe-forms-dynamic-expected.txt:
  • fast/frames/sandboxed-iframe-forms-expected.txt:
  • fast/frames/sandboxed-iframe-history-denied-expected.txt:
  • fast/frames/sandboxed-iframe-navigation-targetlink-expected.txt:
  • fast/frames/sandboxed-iframe-navigation-top-by-name-denied-expected.txt:
  • fast/frames/sandboxed-iframe-navigation-windowopen-expected.txt:
  • fast/frames/sandboxed-iframe-parsing-space-characters-expected.txt:
  • fast/frames/sandboxed-iframe-storage-expected.txt:
  • fast/frames/xss-auditor-handles-file-urls-expected.txt:
  • fast/history/page-cache-webdatabase-no-transaction-db-expected.txt:
  • fast/history/page-cache-webdatabase-pending-transaction-expected.txt:
  • fast/history/timed-refresh-in-cached-frame-expected.txt:
  • fast/html/details-summary-document-child-expected.txt:
  • fast/html/link-element-removal-during-beforeload-expected.txt:
  • fast/inspector-support/uncaught-dom1-exception-expected.txt:
  • fast/inspector-support/uncaught-dom3-exception-expected.txt:
  • fast/inspector-support/uncaught-dom8-exception-expected.txt:
  • fast/loader/cache-encoding-expected.txt:
  • fast/loader/frames-with-unload-handlers-in-page-cache-expected.txt:
  • fast/loader/input-element-page-cache-crash-expected.txt:
  • fast/loader/page-dismissal-modal-dialogs-expected.txt:
  • fast/media/mq-resolution-dpi-dpcm-warning-expected.txt:
  • fast/mediacapturefromelement/CanvasCaptureMediaStream-framerate-0-expected.txt:
  • fast/mediacapturefromelement/CanvasCaptureMediaStream-webgl-events-expected.txt:
  • fast/mediastream/captureStream/canvas3d-expected.txt:
  • fast/parser/changing-attrbutes-crash-expected.txt:
  • fast/parser/entity-end-script-tag-expected.txt:
  • fast/parser/nested-fragment-parser-crash-expected.txt:
  • fast/preloader/iframe-srcdoc-expected.txt:
  • fast/scrolling/ios/overflow-div-scrolling-expected.txt:
  • fast/scrolling/scroll-animator-basic-events-expected.txt:
  • fast/scrolling/scroll-animator-overlay-scrollbars-clicked-expected.txt:
  • fast/scrolling/scroll-animator-overlay-scrollbars-hovered-expected.txt:
  • fast/scrolling/scroll-animator-select-list-events-expected.txt:
  • fast/storage/storage-detached-iframe-expected.txt:
  • fast/text/font-face-set-remove-safely-expected.txt:
  • fast/text/font-promises-gc-expected.txt:
  • fast/text/text-combine-crash-expected.txt:
  • fast/url/relative-expected.txt:
  • fast/url/segments-from-data-url-expected.txt:
  • fast/viewport/viewport-104-expected.txt:
  • fast/viewport/viewport-105-expected.txt:
  • fast/viewport/viewport-106-expected.txt:
  • fast/viewport/viewport-107-expected.txt:
  • fast/viewport/viewport-108-expected.txt:
  • fast/viewport/viewport-109-expected.txt:
  • fast/viewport/viewport-110-expected.txt:
  • fast/viewport/viewport-111-expected.txt:
  • fast/viewport/viewport-112-expected.txt:
  • fast/viewport/viewport-113-expected.txt:
  • fast/viewport/viewport-114-expected.txt:
  • fast/viewport/viewport-118-expected.txt:
  • fast/viewport/viewport-121-expected.txt:
  • fast/viewport/viewport-122-expected.txt:
  • fast/viewport/viewport-125-expected.txt:
  • fast/viewport/viewport-126-expected.txt:
  • fast/viewport/viewport-127-expected.txt:
  • fast/viewport/viewport-129-expected.txt:
  • fast/viewport/viewport-133-expected.txt:
  • fast/viewport/viewport-134-expected.txt:
  • fast/viewport/viewport-46-expected.txt:
  • fast/viewport/viewport-52-expected.txt:
  • fast/viewport/viewport-53-expected.txt:
  • fast/viewport/viewport-54-expected.txt:
  • fast/viewport/viewport-55-expected.txt:
  • fast/viewport/viewport-65-expected.txt:
  • fast/viewport/viewport-66-expected.txt:
  • fast/viewport/viewport-67-expected.txt:
  • fast/viewport/viewport-68-expected.txt:
  • fast/viewport/viewport-69-expected.txt:
  • fast/viewport/viewport-70-expected.txt:
  • fast/viewport/viewport-71-expected.txt:
  • fast/viewport/viewport-72-expected.txt:
  • fast/viewport/viewport-73-expected.txt:
  • fast/viewport/viewport-74-expected.txt:
  • fast/viewport/viewport-75-expected.txt:
  • fast/viewport/viewport-77-expected.txt:
  • fast/viewport/viewport-78-expected.txt:
  • fast/viewport/viewport-79-expected.txt:
  • fast/viewport/viewport-82-expected.txt:
  • fast/viewport/viewport-83-expected.txt:
  • fast/viewport/viewport-84-expected.txt:
  • fast/viewport/viewport-87-expected.txt:
  • fast/viewport/viewport-88-expected.txt:
  • fast/viewport/viewport-warnings-2-expected.txt:
  • fast/viewport/viewport-warnings-3-expected.txt:
  • fast/viewport/viewport-warnings-4-expected.txt:
  • fast/viewport/viewport-warnings-5-expected.txt:
  • fast/viewport/viewport-warnings-6-expected.txt:
  • fast/viewport/viewport-warnings-7-expected.txt:
  • fast/workers/worker-crash-with-invalid-location-expected.txt:
  • fast/workers/worker-exception-during-navigation-expected.txt:
  • fast/workers/worker-script-error-expected.txt:
  • fast/workers/worker-terminate-forever-expected.txt:
  • fast/xmlhttprequest/set-dangerous-headers-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-multiple-sync-xhr-during-unload-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-nonexistent-file-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-recursive-sync-event-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-before-open-sync-request-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-sync-xhr-failure-loop-during-unload-expected.txt:
  • fast/xpath/nsresolver-bad-object-expected.txt:
  • fast/xpath/nsresolver-exception-expected.txt:
  • fast/xsl/transform-xhr-doc-expected.txt:
  • fast/xsl/xslt-mismatched-tags-in-xslt-expected.txt:
  • fetch/fetch-error-messages-expected.txt:
  • fetch/fetch-url-serialization-expected.txt:
  • fullscreen/full-screen-enabled-expected.txt:
  • fullscreen/full-screen-enabled-prefixed-expected.txt:
  • fullscreen/full-screen-iframe-without-allow-attribute-allowed-from-parent-expected.txt:
  • fullscreen/requestFullscreen-escape-key-expected.txt:
  • html5lib/generated/run-tests1-data-expected.txt:
  • html5lib/generated/run-tests1-write-expected.txt:
  • html5lib/generated/run-tests11-data-expected.txt:
  • html5lib/generated/run-tests11-write-expected.txt:
  • html5lib/generated/run-tests18-data-expected.txt:
  • html5lib/generated/run-tests18-write-expected.txt:
  • html5lib/generated/run-tests7-data-expected.txt:
  • html5lib/generated/run-tests7-write-expected.txt:
  • html5lib/generated/run-webkit01-data-expected.txt:
  • html5lib/generated/run-webkit01-write-expected.txt:
  • html5lib/webkit-resumer-expected.txt:
  • http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt:
  • http/tests/appcache/404-manifest-expected.txt:
  • http/tests/appcache/404-resource-expected.txt:
  • http/tests/appcache/abort-cache-onchecking-expected.txt:
  • http/tests/appcache/abort-cache-onchecking-manifest-404-expected.txt:
  • http/tests/appcache/abort-cache-onchecking-resource-404-expected.txt:
  • http/tests/appcache/abort-cache-ondownloading-expected.txt:
  • http/tests/appcache/abort-cache-ondownloading-manifest-404-expected.txt:
  • http/tests/appcache/abort-cache-ondownloading-resource-404-expected.txt:
  • http/tests/appcache/abort-cache-onprogress-expected.txt:
  • http/tests/appcache/access-via-redirect-expected.txt:
  • http/tests/appcache/appcache-cookies-expected.txt:
  • http/tests/appcache/auth-expected.txt:
  • http/tests/appcache/crash-when-navigating-away-then-back-expected.txt:
  • http/tests/appcache/credential-url-expected.txt:
  • http/tests/appcache/cyrillic-uri-expected.txt:
  • http/tests/appcache/decide-navigation-policy-after-delay-expected.txt:
  • http/tests/appcache/deferred-events-expected.txt:
  • http/tests/appcache/different-https-origin-resource-main-expected.txt:
  • http/tests/appcache/different-origin-manifest-expected.txt:
  • http/tests/appcache/different-scheme-expected.txt:
  • http/tests/appcache/document-cookie-expected.txt:
  • http/tests/appcache/document-cookie-http-only-expected.txt:
  • http/tests/appcache/document-write-html-element-2-expected.txt:
  • http/tests/appcache/empty-manifest-expected.txt:
  • http/tests/appcache/fallback-expected.txt:
  • http/tests/appcache/fallback-namespace-outside-manifest-path-expected.txt:
  • http/tests/appcache/foreign-fallback-expected.txt:
  • http/tests/appcache/foreign-iframe-main-expected.txt:
  • http/tests/appcache/history-test-expected.txt:
  • http/tests/appcache/idempotent-update-expected.txt:
  • http/tests/appcache/identifier-test-expected.txt:
  • http/tests/appcache/interrupted-update-expected.txt:
  • http/tests/appcache/load-from-appcache-defer-resume-crash-expected.txt:
  • http/tests/appcache/local-content-expected.txt:
  • http/tests/appcache/main-resource-fallback-for-network-error-crash-expected.txt:
  • http/tests/appcache/main-resource-hash-expected.txt:
  • http/tests/appcache/main-resource-redirect-expected.txt:
  • http/tests/appcache/main-resource-redirect-with-sw-expected.txt:
  • http/tests/appcache/manifest-containing-itself-expected.txt:
  • http/tests/appcache/manifest-parsing-expected.txt:
  • http/tests/appcache/manifest-redirect-2-expected.txt:
  • http/tests/appcache/manifest-redirect-expected.txt:
  • http/tests/appcache/manifest-with-empty-file-expected.txt:
  • http/tests/appcache/max-size-expected.txt:
  • http/tests/appcache/multi-fallback-expected.txt:
  • http/tests/appcache/navigating-away-while-cache-attempt-in-progress-expected.txt:
  • http/tests/appcache/non-html-expected.txt:
  • http/tests/appcache/offline-access-expected.txt:
  • http/tests/appcache/online-fallback-layering-expected.txt:
  • http/tests/appcache/online-whitelist-expected.txt:
  • http/tests/appcache/origin-delete-expected.txt:
  • http/tests/appcache/origin-quota-continued-download-expected.txt:
  • http/tests/appcache/origin-quota-continued-download-multiple-manifests-expected.txt:
  • http/tests/appcache/origin-quota-expected.txt:
  • http/tests/appcache/origin-usage-expected.txt:
  • http/tests/appcache/origins-with-appcache-expected.txt:
  • http/tests/appcache/progress-counter-expected.txt:
  • http/tests/appcache/reload-expected.txt:
  • http/tests/appcache/resource-redirect-2-expected.txt:
  • http/tests/appcache/resource-redirect-expected.txt:
  • http/tests/appcache/simple-expected.txt:
  • http/tests/appcache/simple-video-async-expected.txt:
  • http/tests/appcache/simple-video-sync-expected.txt:
  • http/tests/appcache/top-frame-1-expected.txt:
  • http/tests/appcache/top-frame-2-expected.txt:
  • http/tests/appcache/top-frame-3-expected.txt:
  • http/tests/appcache/top-frame-4-expected.txt:
  • http/tests/appcache/update-cache-expected.txt:
  • http/tests/appcache/video-expected.txt:
  • http/tests/appcache/whitelist-wildcard-expected.txt:
  • http/tests/appcache/wrong-content-type-expected.txt:
  • http/tests/appcache/wrong-signature-2-expected.txt:
  • http/tests/appcache/wrong-signature-expected.txt:
  • http/tests/appcache/x-frame-options-prevents-framing-expected.txt:
  • http/tests/appcache/xhr-foreign-resource-expected.txt:
  • http/tests/blink/sendbeacon/beacon-cross-origin.https-expected.txt:
  • http/tests/cache/partitioned-cache-expected.txt:
  • http/tests/cache/partitioned-cache-iframe-expected.txt:
  • http/tests/cache/preload-cleared-after-parsing-canceled-by-js-expected.txt:
  • http/tests/canvas/canvas-tainted-after-draw-image-expected.txt:
  • http/tests/canvas/philip/tests/security.drawImage.canvas-expected.txt:
  • http/tests/canvas/philip/tests/security.drawImage.image-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.canvas.fillStyle-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.canvas.strokeStyle-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.cross-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.image.fillStyle-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.image.strokeStyle-expected.txt:
  • http/tests/contentdispositionattachmentsandbox/at-import-stylesheets-disabled-expected.txt:
  • http/tests/contentdispositionattachmentsandbox/cross-origin-frames-disabled-expected.txt:
  • http/tests/contentdispositionattachmentsandbox/external-stylesheets-disabled-expected.txt:
  • http/tests/contentdispositionattachmentsandbox/form-submission-disabled-expected.txt:
  • http/tests/contentdispositionattachmentsandbox/http-equiv-disabled-expected.txt:
  • http/tests/contentdispositionattachmentsandbox/xml-stylesheet-processing-instructions-disabled-expected.txt:
  • http/tests/contentextensions/async-xhr-onerror-expected.txt:
  • http/tests/contentextensions/basic-filter-expected.txt:
  • http/tests/contentextensions/block-csp-report-expected.txt:
  • http/tests/contentextensions/block-everything-unless-domain-expected.txt:
  • http/tests/contentextensions/block-everything-unless-domain-iframe-expected.txt:
  • http/tests/contentextensions/block-image-load-in-onunload-expected.txt:
  • http/tests/contentextensions/block-ping-expected.txt:
  • http/tests/contentextensions/block-ping-resource-type-ping-expected.txt:
  • http/tests/contentextensions/block-ping-resource-type-raw-expected.txt:
  • http/tests/contentextensions/character-set-basic-support-expected.txt:
  • http/tests/contentextensions/domain-rules-expected.txt:
  • http/tests/contentextensions/filters-with-quantifiers-combined-expected.txt:
  • http/tests/contentextensions/make-https-expected.txt:
  • http/tests/contentextensions/media-filtered-expected.txt:
  • http/tests/contentextensions/popups-expected.txt:
  • http/tests/contentextensions/prefetch-blocked-expected.txt:
  • http/tests/contentextensions/script-onerror-expected.txt:
  • http/tests/contentextensions/service-worker.https-expected.txt:
  • http/tests/contentextensions/sync-xhr-blocked-expected.txt:
  • http/tests/contentextensions/sync-xhr-redirection-blocked-expected.txt:
  • http/tests/contentextensions/text-track-blocked-expected.txt:
  • http/tests/contentextensions/top-url-expected.txt:
  • http/tests/contentextensions/video-element-resource-type-expected.txt:
  • http/tests/contentfiltering/load-substitute-data-from-appcache-expected.txt:
  • http/tests/css/shared-stylesheet-mutation-expected.txt:
  • http/tests/css/shared-stylesheet-mutation-preconstruct-expected.txt:
  • http/tests/dom/new-window-can-target-opener-expected.txt:
  • http/tests/dom/noopener-window-cannot-target-opener-expected.txt:
  • http/tests/dom/set-document-location-host-to-accepted-values-expected.txt:
  • http/tests/dom/set-document-location-hostname-to-accepted-values-expected.txt:
  • http/tests/dom/window-open-about-blank-and-access-document-expected.txt:
  • http/tests/dom/window-open-about-uppercase-blank-and-access-document-expected.txt:
  • http/tests/events/device-orientation-motion-non-secure-context-expected.txt:
  • http/tests/events/device-orientation-motion-secure-context-expected.txt:
  • http/tests/fetch/fetch-in-worker-crash-expected.txt:
  • http/tests/fullscreen/fullscreen-feature-policy-expected.txt:
  • http/tests/history/back-during-onload-triggered-by-back-expected.txt:
  • http/tests/history/back-with-fragment-change-expected.txt:
  • http/tests/history/cross-origin-replace-history-object-child-expected.txt:
  • http/tests/history/cross-origin-replace-history-object-expected.txt:
  • http/tests/inspector/dom/cross-domain-inspected-node-access-expected.txt:
  • http/tests/inspector/network/contentextensions/blocked-websocket-crash-expected.txt:
  • http/tests/inspector/network/fetch-network-data-expected.txt:
  • http/tests/media/media-stream/disconnected-frame-already-expected.txt:
  • http/tests/media/media-stream/enumerate-devices-iframe-allow-attribute-expected.txt:
  • http/tests/misc/bubble-drag-events-expected.txt:
  • http/tests/misc/drag-over-iframe-invalid-source-crash-expected.txt:
  • http/tests/misc/iframe-invalid-source-crash-expected.txt:
  • http/tests/misc/image-blocked-src-change-expected.txt:
  • http/tests/misc/image-blocked-src-no-change-expected.txt:
  • http/tests/misc/unloadable-script-expected.txt:
  • http/tests/navigation/anchor-blank-target-implies-rel-noopener-expected.txt:
  • http/tests/navigation/forward-to-fragment-fires-onload-expected.txt:
  • http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt:
  • http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt:
  • http/tests/navigation/navigation-interrupted-by-fragment-expected.txt:
  • http/tests/navigation/no-referrer-reset-expected.txt:
  • http/tests/navigation/no-referrer-subframe-expected.txt:
  • http/tests/navigation/no-referrer-target-blank-expected.txt:
  • http/tests/navigation/page-cache-xhr-in-pagehide-expected.txt:
  • http/tests/navigation/subframe-pagehide-handler-starts-load-expected.txt:
  • http/tests/navigation/subframe-pagehide-handler-starts-load2-expected.txt:
  • http/tests/navigation/target-blank-opener-expected.txt:
  • http/tests/navigation/target-blank-opener-post-expected.txt:
  • http/tests/performance/performance-resource-timing-cached-entries-expected.txt:
  • http/tests/plugins/cross-frame-object-access-expected.txt:
  • http/tests/plugins/plugin-document-has-focus-expected.txt:
  • http/tests/pointer-lock/iframe-sandboxed-expected.txt:
  • http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock-expected.txt:
  • http/tests/preload/download_resources-expected.txt:
  • http/tests/preload/dynamic_remove_preload_href-expected.txt:
  • http/tests/preload/onerror_event-expected.txt:
  • http/tests/preload/onload_event-expected.txt:
  • http/tests/preload/preload-encoding-expected.txt:
  • http/tests/preload/single_download_preload-expected.txt:
  • http/tests/quicklook/at-import-stylesheet-blocked-expected.txt:
  • http/tests/quicklook/base-url-blocked-expected.txt:
  • http/tests/quicklook/cross-origin-iframe-blocked-expected.txt:
  • http/tests/quicklook/csp-header-ignored-expected.txt:
  • http/tests/quicklook/document-domain-is-empty-string-expected.txt:
  • http/tests/quicklook/external-stylesheet-blocked-expected.txt:
  • http/tests/quicklook/hide-referer-on-navigation-expected.txt:
  • http/tests/quicklook/same-origin-xmlhttprequest-allowed-expected.txt:
  • http/tests/quicklook/submit-form-blocked-expected.txt:
  • http/tests/quicklook/top-navigation-blocked-expected.txt:
  • http/tests/referrer-policy-img/no-referrer/cross-origin-http.https-expected.txt:
  • http/tests/referrer-policy-img/origin-when-cross-origin/cross-origin-http.https-expected.txt:
  • http/tests/referrer-policy-img/origin/cross-origin-http.https-expected.txt:
  • http/tests/referrer-policy-img/same-origin/cross-origin-http.https-expected.txt:
  • http/tests/referrer-policy-img/strict-origin-when-cross-origin/cross-origin-http.https-expected.txt:
  • http/tests/referrer-policy-img/strict-origin/cross-origin-http.https-expected.txt:
  • http/tests/resourceLoadStatistics/cookie-deletion-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-ancestors-same-origin-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:
  • http/tests/security/allowed-base-url-data-url-via-setting-expected.txt:
  • http/tests/security/anchor-download-block-crossorigin-expected.txt:
  • http/tests/security/appcache-switching-private-browsing-expected.txt:
  • http/tests/security/beforeload-iframe-client-redirect-expected.txt:
  • http/tests/security/beforeload-iframe-server-redirect-expected.txt:
  • http/tests/security/blob-null-url-location-origin-expected.txt:
  • http/tests/security/block-top-level-navigations-by-third-party-iframes-expected.txt:
  • http/tests/security/bypassing-cors-checks-for-extension-urls-expected.txt:
  • http/tests/security/canvas-remote-read-data-url-image-redirect-expected.txt:
  • http/tests/security/canvas-remote-read-redirect-to-remote-image-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-blocked-then-allowed-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-redirect-expected.txt:
  • http/tests/security/canvas-remote-read-remote-video-blocked-no-crossorigin-expected.txt:
  • http/tests/security/canvas-remote-read-remote-video-hls-expected.txt:
  • http/tests/security/canvas-remote-read-remote-video-localhost-expected.txt:
  • http/tests/security/canvas-remote-read-remote-video-redirect-expected.txt:
  • http/tests/security/clipboard/copy-paste-html-cross-origin-iframe-across-origin-expected.txt:
  • http/tests/security/clipboard/copy-paste-html-cross-origin-iframe-in-same-origin-expected.txt:
  • http/tests/security/clipboard/drag-drop-html-cross-origin-iframe-in-same-origin-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/child-src/frame-about-blank-allowed-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/child-src/frame-allowed-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/import-scriptnonce-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-and-scripthash-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-basic-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-ignore-unsafeinline-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-in-enforced-policy-and-not-in-report-only-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-multiple-policies-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-basic-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-ignore-unsafeinline-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-in-enforced-policy-and-not-in-report-only-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-multiple-policies-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-tests-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-and-scripthash-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-basic-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-ignore-unsafeinline-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-in-enforced-policy-and-not-in-report-only-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-multiple-policies-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/stylehash-basic-blocked-error-event-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/stylehash-basic-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/stylehash-svg-style-basic-blocked-error-event-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/stylenonce-allowed-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/stylenonce-basic-blocked-error-event-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/stylenonce-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/stylenonce-svg-style-basic-blocked-error-event-expected.txt:
  • http/tests/security/contentSecurityPolicy/WebAssembly-allowed-expected.txt:
  • http/tests/security/contentSecurityPolicy/WebAssembly-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-about-blank-iframe-expected.txt:
  • http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-external-script-expected.txt:
  • http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-subframe-expected.txt:
  • http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-iframe-report-only-expected.txt:
  • http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-with-inherited-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-xslt-document-in-iframe-with-inherited-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-iframe-expected.txt:
  • http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-main-frame-expected.txt:
  • http/tests/security/contentSecurityPolicy/cached-frame-csp-expected.txt:
  • http/tests/security/contentSecurityPolicy/combine-multiple-policies-expected.txt:
  • http/tests/security/contentSecurityPolicy/default-src-inline-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/eval-allowed-in-report-only-mode-expected.txt:
  • http/tests/security/contentSecurityPolicy/eval-blocked-and-sends-report-expected.txt:
  • http/tests/security/contentSecurityPolicy/eval-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe-expected.txt:
  • http/tests/security/contentSecurityPolicy/eval-blocked-in-external-script-expected.txt:
  • http/tests/security/contentSecurityPolicy/eval-blocked-in-subframe-expected.txt:
  • http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/function-constructor-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/injected-inline-style-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/inline-event-handler-blocked-after-injecting-meta-expected.txt:
  • http/tests/security/contentSecurityPolicy/inline-script-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy-expected.txt:
  • http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url-expected.txt:
  • http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects-expected.txt:
  • http/tests/security/contentSecurityPolicy/inline-style-attribute-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/inline-style-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/javascript-url-blocked-by-default-src-star-expected.txt:
  • http/tests/security/contentSecurityPolicy/javascript-url-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/module-eval-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/module-eval-blocked-in-external-script-expected.txt:
  • http/tests/security/contentSecurityPolicy/navigate-self-to-blob-expected.txt:
  • http/tests/security/contentSecurityPolicy/navigate-self-to-data-url-expected.txt:
  • http/tests/security/contentSecurityPolicy/register-bypassing-scheme-partial-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-multiple-violations-01-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-upgrade-insecure-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-scheme-relative-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-in-http-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/script-src-none-inline-event-expected.txt:
  • http/tests/security/contentSecurityPolicy/srcdoc-doesnt-bypass-script-src-expected.txt:
  • http/tests/security/contentSecurityPolicy/style-src-blocked-error-event-expected.txt:
  • http/tests/security/contentSecurityPolicy/subframe-with-data-url-inheritance-expected.txt:
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-cors.https-expected.txt:
  • http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/iframe-upgrade.https-expected.txt:
  • http/tests/security/contentSecurityPolicy/window-open-javascript-url-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/window-open-javascript-url-with-target-blocked-expected.txt:
  • http/tests/security/contentTypeOptions/invalid-content-type-options-allowed-expected.txt:
  • http/tests/security/contentTypeOptions/nosniff-script-allowed-expected.txt:
  • http/tests/security/contentTypeOptions/nosniff-xml-external-entity-expected.txt:
  • http/tests/security/cross-frame-access-callback-explicit-domain-DENY-expected.txt:
  • http/tests/security/cross-frame-access-child-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-custom-expected.txt:
  • http/tests/security/cross-frame-access-frameelement-expected.txt:
  • http/tests/security/cross-frame-access-get-expected.txt:
  • http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
  • http/tests/security/cross-frame-access-history-get-expected.txt:
  • http/tests/security/cross-frame-access-history-get-override-expected.txt:
  • http/tests/security/cross-frame-access-history-prototype-expected.txt:
  • http/tests/security/cross-frame-access-location-get-expected.txt:
  • http/tests/security/cross-frame-access-location-get-override-expected.txt:
  • http/tests/security/cross-frame-access-name-getter-expected.txt:
  • http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-port-expected.txt:
  • http/tests/security/cross-frame-access-protocol-expected.txt:
  • http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-put-expected.txt:
  • http/tests/security/cross-origin-appcache-allowed-expected.txt:
  • http/tests/security/cross-origin-appcache-expected.txt:
  • http/tests/security/cross-origin-cached-images-canvas-expected.txt:
  • http/tests/security/cross-origin-iframe-contentDocument-expected.txt:
  • http/tests/security/cross-origin-modal-dialog-base-expected.txt:
  • http/tests/security/cross-origin-script-error-event-expected.txt:
  • http/tests/security/cross-origin-script-error-event-redirected-expected.txt:
  • http/tests/security/cross-origin-websql-allowed-expected.txt:
  • http/tests/security/cross-origin-websql-expected.txt:
  • http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
  • http/tests/security/denied-base-url-data-url-expected.txt:
  • http/tests/security/denied-base-url-javascript-url-expected.txt:
  • http/tests/security/document-all-expected.txt:
  • http/tests/security/drag-drop-local-file-expected.txt:
  • http/tests/security/frameNavigation/not-opener-expected.txt:
  • http/tests/security/frameNavigation/sandbox-DENIED-top-navigation-with-user-gesture-expected.txt:
  • http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation-expected.txt:
  • http/tests/security/insecure-geolocation-expected.txt:
  • http/tests/security/isolatedWorld/image-load-should-not-bypass-main-world-csp-expected.txt:
  • http/tests/security/isolatedWorld/onclick-attribute-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-JSTargetNode-onclick-shortcut-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-addEventListener-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-shortcut-expected.txt:
  • http/tests/security/listener/xss-window-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-window-onclick-shortcut-expected.txt:
  • http/tests/security/local-CSS-from-remote-expected.txt:
  • http/tests/security/local-JavaScript-from-remote-expected.txt:
  • http/tests/security/local-iFrame-from-remote-expected.txt:
  • http/tests/security/local-image-from-remote-expected.txt:
  • http/tests/security/local-video-poster-from-remote-expected.txt:
  • http/tests/security/mixedContent/import-insecure-script-in-iframe-expected.txt:
  • http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt:
  • http/tests/security/mixedContent/insecure-basic-auth-image.https-expected.txt:
  • http/tests/security/mixedContent/insecure-css-in-iframe-expected.txt:
  • http/tests/security/mixedContent/insecure-css-in-main-frame-expected.txt:
  • http/tests/security/mixedContent/insecure-css-with-secure-cookies-expected.txt:
  • http/tests/security/mixedContent/insecure-executable-css-with-secure-cookies-expected.txt:
  • http/tests/security/mixedContent/insecure-form-in-main-frame-expected.txt:
  • http/tests/security/mixedContent/insecure-image-in-main-frame-expected.txt:
  • http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials-expected.txt:
  • http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-expected.txt:
  • http/tests/security/mixedContent/insecure-image-with-securecookie-block-expected.txt:
  • http/tests/security/mixedContent/insecure-image-with-securecookie-expected.txt:
  • http/tests/security/mixedContent/insecure-plugin-in-iframe-expected.txt:
  • http/tests/security/mixedContent/insecure-script-with-secure-cookies-expected.txt:
  • http/tests/security/mixedContent/insecure-stylesheet-redirects-to-basic-auth-secure-stylesheet-expected.txt:
  • http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt:
  • http/tests/security/mixedContent/insecure-xhr-sync-in-main-frame-expected.txt:
  • http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-block-expected.txt:
  • http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-expected.txt:
  • http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe-expected.txt:
  • http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame-expected.txt:
  • http/tests/security/mixedcontent-geolocation-block-insecure-content-expected.txt:
  • http/tests/security/mixedcontent-geolocation-expected.txt:
  • http/tests/security/module-correct-mime-types-expected.txt:
  • http/tests/security/module-crossorigin-error-event-information-expected.txt:
  • http/tests/security/module-crossorigin-onerror-information-expected.txt:
  • http/tests/security/module-no-mime-type-expected.txt:
  • http/tests/security/no-javascript-refresh-static-expected.txt:
  • http/tests/security/no-javascript-refresh-static-spaces-expected.txt:
  • http/tests/security/no-popup-from-sandbox-expected.txt:
  • http/tests/security/no-popup-from-sandbox-top-expected.txt:
  • http/tests/security/originHeader/origin-header-for-https-expected.txt:
  • http/tests/security/popup-allowed-by-sandbox-is-sandboxed-expected.txt:
  • http/tests/security/referrer-policy-invalid-expected.txt:
  • http/tests/security/regress-52192-expected.txt:
  • http/tests/security/same-origin-appcache-blocked-expected.txt:
  • http/tests/security/same-origin-websql-blocked-expected.txt:
  • http/tests/security/sandbox-inherit-to-initial-document-2-expected.txt:
  • http/tests/security/sandboxed-iframe-DENIED-modals-expected.txt:
  • http/tests/security/sandboxed-iframe-blocks-access-from-parent-expected.txt:
  • http/tests/security/sandboxed-iframe-form-top-expected.txt:
  • http/tests/security/sandboxed-iframe-invalid-expected.txt:
  • http/tests/security/sandboxed-iframe-modify-self-expected.txt:
  • http/tests/security/sandboxed-iframe-origin-add-expected.txt:
  • http/tests/security/sandboxed-iframe-origin-remove-expected.txt:
  • http/tests/security/script-crossorigin-error-event-information-expected.txt:
  • http/tests/security/script-crossorigin-onerror-information-expected.txt:
  • http/tests/security/script-no-crossorigin-error-event-should-be-sanitized-expected.txt:
  • http/tests/security/script-no-crossorigin-onerror-should-be-sanitized-expected.txt:
  • http/tests/security/script-with-dataurl-expected.txt:
  • http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt:
  • http/tests/security/storage-blocking-loosened-websql-expected.txt:
  • http/tests/security/storage-blocking-strengthened-websql-expected.txt:
  • http/tests/security/top-level-unique-origin2.https-expected.txt:
  • http/tests/security/window-name-after-cross-origin-aux-frame-navigation-expected.txt:
  • http/tests/security/window-name-after-cross-origin-main-frame-navigation-expected.txt:
  • http/tests/security/window-name-after-cross-origin-sub-frame-navigation-expected.txt:
  • http/tests/security/window-name-after-same-origin-aux-frame-navigation-expected.txt:
  • http/tests/security/window-name-after-same-origin-main-frame-navigation-expected.txt:
  • http/tests/security/window-name-after-same-origin-sub-frame-navigation-expected.txt:
  • http/tests/security/window-named-proto-expected.txt:
  • http/tests/security/window-named-valueOf-expected.txt:
  • http/tests/security/window-onerror-exception-in-iframe-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-hash-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-host-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-hostname-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-href-javascript-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-nonstandardProperty-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-pathname-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-protocol-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-reload-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-search-expected.txt:
  • http/tests/security/xss-DENIED-frame-name-expected.txt:
  • http/tests/security/xss-DENIED-getSVGDocument-iframe-expected.txt:
  • http/tests/security/xss-DENIED-getSVGDocument-object-expected.txt:
  • http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
  • http/tests/security/xss-DENIED-invalid-domain-change-expected.txt:
  • http/tests/security/xss-DENIED-javascript-with-spaces-expected.txt:
  • http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
  • http/tests/security/xss-DENIED-sandboxed-iframe-expected.txt:
  • http/tests/security/xss-DENIED-synchronous-form-expected.txt:
  • http/tests/security/xss-DENIED-synchronous-frame-load-in-javascript-url-expected.txt:
  • http/tests/security/xss-DENIED-window-index-assign-expected.txt:
  • http/tests/security/xss-DENIED-window-name-navigator-expected.txt:
  • http/tests/security/xss-DENIED-window-open-javascript-url-expected.txt:
  • http/tests/security/xss-DENIED-window-open-javascript-url-with-spaces-expected.txt:
  • http/tests/security/xss-DENIED-window-open-parent-expected.txt:
  • http/tests/security/xss-DENIED-xml-external-entity-expected.txt:
  • http/tests/security/xss-DENIED-xsl-document-securityOrigin-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location2-expected.txt:
  • http/tests/security/xssAuditor/base-href-control-char-expected.txt:
  • http/tests/security/xssAuditor/base-href-expected.txt:
  • http/tests/security/xssAuditor/base-href-null-char-expected.txt:
  • http/tests/security/xssAuditor/base-href-scheme-relative-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url-expected.txt:
  • http/tests/security/xssAuditor/cached-frame-expected.txt:
  • http/tests/security/xssAuditor/cookie-injection-expected.txt:
  • http/tests/security/xssAuditor/dom-write-URL-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-inline-event-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-javascript-URL-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-open-img-onerror-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-code-attribute-2-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-code-attribute-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-control-char-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-in-path-unterminated-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/embed-tag-null-char-expected.txt:
  • http/tests/security/xssAuditor/form-action-expected.txt:
  • http/tests/security/xssAuditor/formaction-on-button-expected.txt:
  • http/tests/security/xssAuditor/formaction-on-input-expected.txt:
  • http/tests/security/xssAuditor/frameset-injection-expected.txt:
  • http/tests/security/xssAuditor/full-block-base-href-expected.txt:
  • http/tests/security/xssAuditor/full-block-get-from-iframe-expected.txt:
  • http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/full-block-iframe-no-inherit-expected.txt:
  • http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
  • http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
  • http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
  • http/tests/security/xssAuditor/full-block-post-from-iframe-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
  • http/tests/security/xssAuditor/get-from-iframe-expected.txt:
  • http/tests/security/xssAuditor/iframe-injection-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-more-encoding-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3-expected.txt:
  • http/tests/security/xssAuditor/iframe-javascript-url-url-encoded-expected.txt:
  • http/tests/security/xssAuditor/iframe-onload-GBK-char-expected.txt:
  • http/tests/security/xssAuditor/iframe-onload-in-svg-tag-expected.txt:
  • http/tests/security/xssAuditor/iframe-srcdoc-expected.txt:
  • http/tests/security/xssAuditor/iframe-srcdoc-property-blocked-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-GBK-char-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-accented-char-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding-expected.txt:
  • http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-expected.txt:
  • http/tests/security/xssAuditor/img-tag-with-comma-expected.txt:
  • http/tests/security/xssAuditor/inline-event-HTML-entities-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-named-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-ampersand-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-control-char-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-control-char2-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-null-char-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-one-plus-one-expected.txt:
  • http/tests/security/xssAuditor/javascript-link-url-encoded-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-ampersand-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-control-char-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-entities-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-expected.txt:
  • http/tests/security/xssAuditor/link-onclick-null-char-expected.txt:
  • http/tests/security/xssAuditor/link-opens-new-window-expected.txt:
  • http/tests/security/xssAuditor/malformed-HTML-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-1-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-2-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-3-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-4-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-5-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-6-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-7-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-8-expected.txt:
  • http/tests/security/xssAuditor/malformed-xss-protection-header-9-expected.txt:
  • http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored-expected.txt:
  • http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror-expected.txt:
  • http/tests/security/xssAuditor/object-embed-tag-control-char-expected.txt:
  • http/tests/security/xssAuditor/object-embed-tag-expected.txt:
  • http/tests/security/xssAuditor/object-embed-tag-null-char-expected.txt:
  • http/tests/security/xssAuditor/object-tag-expected.txt:
  • http/tests/security/xssAuditor/object-tag-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/open-attribute-body-expected.txt:
  • http/tests/security/xssAuditor/open-event-handler-iframe-expected.txt:
  • http/tests/security/xssAuditor/open-iframe-src-01-expected.txt:
  • http/tests/security/xssAuditor/open-iframe-src-02-expected.txt:
  • http/tests/security/xssAuditor/open-iframe-src-03-expected.txt:
  • http/tests/security/xssAuditor/open-script-src-01-expected.txt:
  • http/tests/security/xssAuditor/open-script-src-02-expected.txt:
  • http/tests/security/xssAuditor/open-script-src-03-expected.txt:
  • http/tests/security/xssAuditor/open-script-src-04-expected.txt:
  • http/tests/security/xssAuditor/post-from-iframe-expected.txt:
  • http/tests/security/xssAuditor/property-escape-comment-01-expected.txt:
  • http/tests/security/xssAuditor/property-escape-comment-02-expected.txt:
  • http/tests/security/xssAuditor/property-escape-comment-03-expected.txt:
  • http/tests/security/xssAuditor/property-escape-entity-01-expected.txt:
  • http/tests/security/xssAuditor/property-escape-entity-02-expected.txt:
  • http/tests/security/xssAuditor/property-escape-entity-03-expected.txt:
  • http/tests/security/xssAuditor/property-escape-expected.txt:
  • http/tests/security/xssAuditor/property-escape-long-expected.txt:
  • http/tests/security/xssAuditor/property-escape-quote-01-expected.txt:
  • http/tests/security/xssAuditor/property-escape-quote-02-expected.txt:
  • http/tests/security/xssAuditor/property-escape-quote-03-expected.txt:
  • http/tests/security/xssAuditor/reflection-in-path-expected.txt:
  • http/tests/security/xssAuditor/regress-167121-expected.txt:
  • http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report-expected.txt:
  • http/tests/security/xssAuditor/report-script-tag-expected.txt:
  • http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report-expected.txt:
  • http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt:
  • http/tests/security/xssAuditor/report-script-tag-replace-state-expected.txt:
  • http/tests/security/xssAuditor/script-tag-Big5-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-Big5-char2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-addslashes-backslash-expected.txt:
  • http/tests/security/xssAuditor/script-tag-addslashes-double-quote-expected.txt:
  • http/tests/security/xssAuditor/script-tag-addslashes-null-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-addslashes-single-quote-expected.txt:
  • http/tests/security/xssAuditor/script-tag-control-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-convoluted-expected.txt:
  • http/tests/security/xssAuditor/script-tag-entities-expected.txt:
  • http/tests/security/xssAuditor/script-tag-expected.txt:
  • http/tests/security/xssAuditor/script-tag-expression-follows-expected.txt:
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag-expected.txt:
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-inside-svg-tag3-expected.txt:
  • http/tests/security/xssAuditor/script-tag-near-start-expected.txt:
  • http/tests/security/xssAuditor/script-tag-null-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-post-control-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-post-expected.txt:
  • http/tests/security/xssAuditor/script-tag-post-null-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode3-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode4-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-16bit-unicode5-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-actual-comma-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-comma-02-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-fancy-unicode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-injected-comment-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-control-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url4-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-data-url5-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-double-quote-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-entities-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-no-quote-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-null-char-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-relative-scheme-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-01-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-02-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-source-unterminated-03-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment2-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment3-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment4-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-comment5-expected.txt:
  • http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode-expected.txt:
  • http/tests/security/xssAuditor/svg-animate-expected.txt:
  • http/tests/security/xssAuditor/svg-script-tag-expected.txt:
  • http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt:
  • http/tests/security/xssAuditor/xss-filter-bypass-long-string-expected.txt:
  • http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-01-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-02-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
  • http/tests/ssl/media-stream/get-user-media-different-host-expected.txt:
  • http/tests/ssl/media-stream/get-user-media-nested-expected.txt:
  • http/tests/ssl/mixedContent/insecure-websocket-expected.txt:
  • http/tests/ssl/upgrade-origin-usage-expected.txt:
  • http/tests/storage/callbacks-are-called-in-correct-context-expected.txt:
  • http/tests/storage/setItem-and-reload-expected.txt:
  • http/tests/subresource-integrity/sri-enabled-with-setting-expected.txt:
  • http/tests/webrtc/enumerateDevicesInFrames-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-empty-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
  • http/tests/websocket/tests/hybi/binary-type-expected.txt:
  • http/tests/websocket/tests/hybi/close-before-open-expected.txt:
  • http/tests/websocket/tests/hybi/close-code-and-reason-expected.txt:
  • http/tests/websocket/tests/hybi/close-expected.txt:
  • http/tests/websocket/tests/hybi/close-reason-too-long-expected.txt:
  • http/tests/websocket/tests/hybi/contentextensions/block-expected.txt:
  • http/tests/websocket/tests/hybi/contentextensions/block-worker-expected.txt:
  • http/tests/websocket/tests/hybi/contentextensions/display-none-expected.txt:
  • http/tests/websocket/tests/hybi/contentextensions/display-none-worker-expected.txt:
  • http/tests/websocket/tests/hybi/contentextensions/upgrade-expected.txt:
  • http/tests/websocket/tests/hybi/contentextensions/upgrade-worker-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-subprotocol-characters-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-subprotocols-expected.txt:
  • http/tests/websocket/tests/hybi/url-parsing-expected.txt:
  • http/tests/websocket/tests/hybi/websocket-constructor-protocols-expected.txt:
  • http/tests/websocket/tests/hybi/websocket-event-target-expected.txt:
  • http/tests/workers/location-readonly-expected.txt:
  • http/tests/workers/navigator-readonly-expected.txt:
  • http/tests/workers/self-readonly-expected.txt:
  • http/tests/workers/service/basic-register-exceptions-expected.txt:
  • http/tests/workers/worker-importScriptsOnError-expected.txt:
  • http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-sync-header-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-sync-method-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-sync-not-supported-expected.txt:
  • http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard-expected.txt:
  • http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
  • http/tests/xmlhttprequest/cross-site-denied-response-sync-2-expected.txt:
  • http/tests/xmlhttprequest/cross-site-denied-response-sync-expected.txt:
  • http/tests/xmlhttprequest/navigation-should-abort-expected.txt:
  • http/tests/xmlhttprequest/origin-exact-matching-expected.txt:
  • http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt:
  • http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt:
  • http/tests/xmlhttprequest/origin-whitelisting-removal-expected.txt:
  • http/tests/xmlhttprequest/post-blob-content-type-sync-expected.txt:
  • http/tests/xmlhttprequest/redirect-cross-origin-post-sync-expected.txt:
  • http/tests/xmlhttprequest/redirect-cross-origin-sync-expected.txt:
  • http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt:
  • http/tests/xmlhttprequest/reentrant-cancel-expected.txt:
  • http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
  • http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-sync-expected.txt:
  • http/tests/xmlhttprequest/simple-cross-origin-denied-events-sync-expected.txt:
  • http/tests/xmlhttprequest/sync-xhr-in-beforeunload-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
  • http/wpt/beacon/beacon-quota-expected.txt:
  • http/wpt/beacon/contentextensions/beacon-blocked-expected.txt:
  • http/wpt/fetch/request-abort-expected.txt:
  • imported/blink/fast/dom/HTMLImageElement/image-src-onerror-expected.txt:
  • imported/blink/fast/dom/HTMLImageElement/image-srcset-w-onerror-expected.txt:
  • imported/blink/fast/events/event-isolated-world-clone-expected.txt:
  • imported/blink/fast/events/init-custom-event-isolated-world-expected.txt:
  • imported/blink/fast/events/init-message-event-isolated-world-expected.txt:
  • imported/blink/fast/forms/select/select-validation-assertion-expected.txt:
  • inspector/console/command-line-api-expected.txt:
  • inspector/console/console-api-expected.txt:
  • inspector/console/console-log-proxy-expected.txt:
  • inspector/console/console-message-expected.txt:
  • inspector/console/console-table-expected.txt:
  • inspector/console/js-source-locations-expected.txt:
  • inspector/console/message-stack-trace-expected.txt:
  • inspector/console/messageAdded-from-named-evaluations-expected.txt:
  • inspector/console/messageRepeatCountUpdated-expected.txt:
  • inspector/console/x-frame-options-message-expected.txt:
  • inspector/controller/runtime-controller-expected.txt:
  • inspector/controller/runtime-controller-import-expected.txt:
  • inspector/debugger/break-in-constructor-before-super-expected.txt:
  • inspector/debugger/break-on-exception-expected.txt:
  • inspector/debugger/break-on-exception-throw-in-promise-expected.txt:
  • inspector/debugger/break-on-uncaught-exception-expected.txt:
  • inspector/debugger/break-on-uncaught-exception-throw-in-promise-expected.txt:
  • inspector/debugger/breakpoint-action-log-expected.txt:
  • inspector/debugger/breakpoint-action-with-exception-expected.txt:
  • inspector/debugger/breakpoint-columns-expected.txt:
  • inspector/debugger/breakpoint-condition-with-bad-script-expected.txt:
  • inspector/debugger/breakpoint-condition-with-exception-expected.txt:
  • inspector/debugger/breakpoint-scope-expected.txt:
  • inspector/debugger/breakpoint-syntax-error-top-level-expected.txt:
  • inspector/debugger/breakpoints-disabled-expected.txt:
  • inspector/debugger/breakpoints/resolved-dump-all-inline-script-pause-locations-expected.txt:
  • inspector/debugger/command-line-api-exception-expected.txt:
  • inspector/debugger/command-line-api-exception-nested-catch-expected.txt:
  • inspector/debugger/csp-exceptions-expected.txt:
  • inspector/debugger/nested-inspectors-expected.txt:
  • inspector/debugger/no-pause-out-of-memory-exception-expected.txt:
  • inspector/debugger/no-pause-stack-overflow-exception-expected.txt:
  • inspector/debugger/pause-for-internal-scripts-expected.txt:
  • inspector/debugger/pause-on-assert-expected.txt:
  • inspector/debugger/pause-reason-expected.txt:
  • inspector/debugger/regress-133182-expected.txt:
  • inspector/debugger/setBreakpoint-actions-expected.txt:
  • inspector/debugger/setBreakpoint-options-exception-expected.txt:
  • inspector/debugger/setPauseOnAssertions-expected.txt:
  • inspector/debugger/setPauseOnExceptions-all-expected.txt:
  • inspector/debugger/setPauseOnExceptions-none-expected.txt:
  • inspector/debugger/setPauseOnExceptions-uncaught-expected.txt:
  • inspector/debugger/stepping/stepping-internal-scripts-expected.txt:
  • inspector/dom/customElementState-expected.txt:
  • inspector/indexeddb/clearObjectStore-expected.txt:
  • inspector/indexeddb/deleteDatabaseNamesWithSpace-expected.txt:
  • inspector/indexeddb/requestData-expected.txt:
  • inspector/indexeddb/requestDatabase-expected.txt:
  • inspector/indexeddb/requestDatabaseNames-expected.txt:
  • inspector/injected-script/avoid-getter-invocation-expected.txt:
  • inspector/injected-script/observable-expected.txt:
  • inspector/model/frame-extra-scripts-expected.txt:
  • inspector/model/scope-chain-node-expected.txt:
  • inspector/page/media-query-list-listener-exception-expected.txt:
  • inspector/runtime/CommandLineAPI-inspect-expected.txt:
  • inspector/runtime/promise-native-getter-expected.txt:
  • inspector/script-profiler/event-type-API-expected.txt:
  • inspector/script-profiler/event-type-Microtask-expected.txt:
  • inspector/script-profiler/event-type-Other-expected.txt:
  • inspector/timeline/setInstruments-programmatic-capture-expected.txt:
  • inspector/worker/debugger-pause-expected.txt:
  • js/console-expected.txt:
  • js/dom/callback-function-with-handle-event-expected.txt:
  • js/dom/concat-large-strings-crash-expected.txt:
  • js/dom/concat-large-strings-crash2-expected.txt:
  • js/dom/console-non-string-values-expected.txt:
  • js/dom/exceptions-thrown-in-callbacks-expected.txt:
  • js/dom/global-recursion-on-full-stack-expected.txt:
  • js/dom/invalid-syntax-for-function-expected.txt:
  • js/dom/native-bindings-descriptors-expected.txt:
  • js/dom/parse-error-external-script-in-eval-expected.txt:
  • js/dom/parse-error-external-script-in-new-Function-expected.txt:
  • js/dom/parse-syntax-error-in-initializer-expected.txt:
  • js/dom/uncaught-exception-line-number-expected.txt:
  • js/kde/garbage-n-expected.txt:
  • js/kde/string-1-n-expected.txt:
  • js/kde/string-2-n-expected.txt:
  • js/promises-tests/promises-tests-2-2-6-expected.txt:
  • js/sequence-iterator-protocol-2-expected.txt:
  • js/sequence-iterator-protocol-expected.txt:
  • loader/meta-refresh-disabled-expected.txt:
  • loader/reload-subresource-when-type-changes-expected.txt:
  • media/media-source/only-bcp47-language-tags-accepted-as-valid-expected.txt:
  • media/track/track-bcp-language-expected.txt:
  • media/track/track-long-word-container-sizing-expected.txt:
  • media/video-controls-no-scripting-expected.txt:
  • pageoverlay/overlay-small-frame-mouse-events-expected.txt:
  • performance-api/performance-observer-exception-expected.txt:
  • platform/gtk/editing/input/option-page-up-down-expected.txt:
  • platform/gtk/editing/input/scroll-viewport-page-up-down-expected.txt:
  • platform/gtk/editing/pasteboard/emacs-cntl-y-001-expected.txt:
  • platform/gtk/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:
  • platform/gtk/editing/pasteboard/onpaste-text-html-expected.txt:
  • platform/gtk/fast/canvas/webgl/copy-tex-image-and-sub-image-2d-bad-input-expected.txt:
  • platform/gtk/fast/canvas/webgl/drawElements-empty-vertex-data-expected.txt:
  • platform/gtk/fast/canvas/webgl/vertexAttribPointer-with-bad-offset-expected.txt:
  • platform/gtk/fast/canvas/webgl/webgl-drawarrays-crash-2-expected.txt:
  • platform/gtk/fast/canvas/webgl/webgl-drawarrays-crash-expected.txt:
  • platform/gtk/fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt:
  • platform/gtk/fast/dynamic/015-expected.txt:
  • platform/gtk/fast/events/remove-target-with-shadow-in-drag-expected.txt:
  • platform/gtk/fast/events/updateLayoutForHitTest-expected.txt:
  • platform/gtk/fast/repaint/reflection-redraw-expected.txt:
  • platform/gtk/fast/text/crash-complex-text-surrogate-expected.txt:
  • platform/gtk/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/gtk/http/tests/inspector/console-websocket-error-expected.txt:
  • platform/gtk/http/tests/navigation/error404-goback-expected.txt:
  • platform/gtk/http/tests/security/cross-origin-xsl-BLOCKED-expected.txt:
  • platform/gtk/http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe-expected.txt:
  • platform/gtk/http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame-expected.txt:
  • platform/gtk/http/tests/security/module-no-mime-type-expected.txt:
  • platform/gtk/http/tests/security/xss-DENIED-xsl-external-entity-redirect-expected.txt:
  • platform/gtk/http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt:
  • platform/gtk/http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt:
  • platform/gtk/http/tests/websocket/tests/hybi/close-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-unique-origin.https-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.tentative-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/import/paths-data-18-f-manual-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/import/paths-data-20-f-manual-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/import/shapes-polygon-03-t-manual-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/import/struct-dom-07-f-manual-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/import/struct-svg-02-f-manual-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/path/bearing/absolute-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/path/bearing/relative-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/path/bearing/zero-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/path/closepath/segment-completing-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/path/error-handling/render-until-error-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/shapes/reftests/disabled-shapes-01-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/shapes/scripted/disabled-shapes-not-hit-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/text/visualtests/text-inline-size-001-visual-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/xhr/setrequestheader-content-type-expected.txt:
  • platform/gtk/media/video-controls-no-scripting-expected.txt:
  • platform/gtk/plugins/plugin-clip-subframe-expected.txt:
  • platform/gtk/plugins/plugin-initiate-popup-window-expected.txt:
  • platform/gtk/storage/domstorage/sessionstorage/blocked-file-access-expected.txt:
  • platform/gtk/svg/custom/viewbox-syntax-expected.txt:
  • platform/gtk/svg/hixie/error/010-expected.txt:
  • platform/gtk/svg/hixie/error/011-expected.txt:
  • platform/gtk/svg/hixie/error/013-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin-expected.txt:
  • platform/ios-simulator/fast/canvas/canvas-crash-expected.txt:
  • platform/ios-simulator/fast/canvas/canvas-skia-excessive-size-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/paths-data-18-f-manual-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/paths-data-20-f-manual-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/shapes-polygon-03-t-manual-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/struct-dom-07-f-manual-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/struct-svg-02-f-manual-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/path/bearing/absolute-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/path/bearing/relative-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/path/bearing/zero-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/path/closepath/segment-completing-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/path/error-handling/render-until-error-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/shapes/reftests/disabled-shapes-01-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/text/visualtests/text-inline-size-001-visual-expected.txt:
  • platform/ios-simulator/webgl/2.0.0/conformance/context/context-hidden-alpha-expected.txt:
  • platform/ios-simulator/webgl/2.0.0/conformance/extensions/webgl-compressed-texture-pvrtc-expected.txt:
  • platform/ios-simulator/webgl/2.0.0/conformance2/state/gl-object-get-calls-expected.txt:
  • platform/ios-wk1/editing/pasteboard/paste-RTFD-expected.txt:
  • platform/ios-wk1/editing/selection/5825350-1-expected.txt:
  • platform/ios-wk1/editing/selection/5825350-2-expected.txt:
  • platform/ios-wk1/http/tests/quicklook/top-navigation-blocked-expected.txt:
  • platform/ios-wk1/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin-expected.txt:
  • platform/ios-wk1/tables/mozilla_expected_failures/bugs/bug3517-expected.txt:
  • platform/ios-wk2/compositing/iframes/page-cache-layer-tree-expected.txt:
  • platform/ios-wk2/editing/execCommand/indent-pre-expected.txt:
  • platform/ios-wk2/editing/pasteboard/emacs-cntl-y-001-expected.txt:
  • platform/ios-wk2/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:
  • platform/ios-wk2/editing/selection/5825350-1-expected.txt:
  • platform/ios-wk2/editing/selection/5825350-2-expected.txt:
  • platform/ios-wk2/editing/selection/caret-and-focus-ring-expected.txt:
  • platform/ios-wk2/editing/selection/caret-ltr-2-expected.txt:
  • platform/ios-wk2/editing/selection/caret-ltr-2-left-expected.txt:
  • platform/ios-wk2/editing/selection/caret-ltr-expected.txt:
  • platform/ios-wk2/editing/selection/caret-ltr-right-expected.txt:
  • platform/ios-wk2/editing/selection/caret-rtl-2-expected.txt:
  • platform/ios-wk2/editing/selection/caret-rtl-2-left-expected.txt:
  • platform/ios-wk2/editing/selection/caret-rtl-expected.txt:
  • platform/ios-wk2/editing/selection/caret-rtl-right-expected.txt:
  • platform/ios-wk2/editing/selection/selection-background-expected.txt:
  • platform/ios-wk2/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
  • platform/ios/editing/pasteboard/onpaste-text-html-expected.txt:
  • platform/ios/editing/selection/mixed-editability-10-expected.txt:
  • platform/ios/fast/attachment/attachment-select-on-click-expected.txt:
  • platform/ios/fast/canvas/canvas-toDataURL-crash-expected.txt:
  • platform/ios/fast/canvas/pattern-too-large-to-create-expected.txt:
  • platform/ios/fast/dynamic/015-expected.txt:
  • platform/ios/fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag-expected.txt:
  • platform/ios/fast/events/touch/gesture/right-click-gestures-set-cursor-at-correct-position-expected.txt:
  • platform/ios/fast/text/crash-complex-text-surrogate-expected.txt:
  • platform/ios/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/ios/http/tests/events/device-orientation-motion-non-secure-context-expected.txt:
  • platform/ios/http/tests/navigation/error404-goback-expected.txt:
  • platform/ios/http/tests/quicklook/submit-form-blocked-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/custom-elements/reactions/HTMLInputElement-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-003-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-004-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/xhr/setrequestheader-content-type-expected.txt:
  • platform/ios/ios/fast/forms/date-input-decorations-expected.txt:
  • platform/ios/ios/fast/loader/subresource-willSendRequest-null-prevents-load-event-expected.txt:
  • platform/ios/ios/fast/media/media-no-src-attribute-parsing-expected.txt:
  • platform/ios/ios/touch/touch-handler-on-window-expected.txt:
  • platform/ios/storage/domstorage/sessionstorage/blocked-file-access-expected.txt:
  • platform/ios/svg/custom/viewbox-syntax-expected.txt:
  • platform/ios/svg/hixie/error/010-expected.txt:
  • platform/ios/svg/hixie/error/011-expected.txt:
  • platform/ios/svg/hixie/error/013-expected.txt:
  • platform/ios/tables/mozilla_expected_failures/bugs/bug3517-expected.txt:
  • platform/ios/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
  • platform/ios/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
  • platform/ios/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
  • platform/ios/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
  • platform/ios/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
  • platform/ios/webaudio/audionode-expected.txt:
  • platform/ios/webgl/2.0.0/conformance/context/context-hidden-alpha-expected.txt:
  • platform/mac-highsierra-wk1/pageoverlay/overlay-small-frame-mouse-events-expected.txt:
  • platform/mac-highsierra/inspector/debugger/async-stack-trace-expected.txt:
  • platform/mac-wk1/fast/scrolling/scroll-animator-basic-events-expected.txt:
  • platform/mac-wk1/fast/scrolling/scroll-animator-select-list-events-expected.txt:
  • platform/mac-wk1/http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
  • platform/mac-wk1/http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt:
  • platform/mac-wk1/http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
  • platform/mac-wk1/http/tests/xmlhttprequest/sync-xhr-in-unload-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/abort/general-serviceworker.https-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/no_window_open_when_term_nesting_level_nonzero.window-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads.sub.tentative-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/url/failure-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/xhr/late-upload-events-expected.txt:
  • platform/mac-wk1/pageoverlay/overlay-small-frame-mouse-events-expected.txt:
  • platform/mac-wk2/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt:
  • platform/mac-wk2/plugins/plugin-clip-subframe-expected.txt:
  • platform/mac/fast/AppleScript/001-expected.txt:
  • platform/mac/fast/canvas/webgl/oes-element-index-uint-expected.txt:
  • platform/mac/fast/dynamic/015-expected.txt:
  • platform/mac/fast/events/updateLayoutForHitTest-expected.txt:
  • platform/mac/fast/repaint/reflection-redraw-expected.txt:
  • platform/mac/fast/text/crash-complex-text-surrogate-expected.txt:
  • platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/mac/http/tests/inspector/console-websocket-error-expected.txt:
  • platform/mac/http/tests/navigation/error404-goback-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/import/paths-data-18-f-manual-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/import/paths-data-20-f-manual-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/import/shapes-polygon-03-t-manual-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/import/struct-dom-07-f-manual-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/import/struct-svg-02-f-manual-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/path/bearing/absolute-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/path/bearing/relative-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/path/bearing/zero-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/path/closepath/segment-completing-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/path/error-handling/render-until-error-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/shapes/reftests/disabled-shapes-01-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/text/visualtests/text-inline-size-001-visual-expected.txt:
  • platform/mac/inspector/debugger/async-stack-trace-expected.txt:
  • platform/mac/media/video-controls-no-scripting-expected.txt:
  • platform/mac/plugins/plugin-clip-subframe-expected.txt:
  • platform/mac/plugins/plugin-initiate-popup-window-expected.txt:
  • platform/mac/svg/custom/viewbox-syntax-expected.txt:
  • platform/mac/svg/hixie/error/010-expected.txt:
  • platform/mac/svg/hixie/error/011-expected.txt:
  • platform/mac/svg/hixie/error/013-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
  • platform/win-future/tables/mozilla_expected_failures/bugs/bug3517-expected.txt:
  • platform/win/TestExpectations:
  • platform/win/editing/execCommand/indent-pre-expected.txt:
  • platform/win/fast/canvas/webgl/angle-instanced-arrays-expected.txt:
  • platform/win/fast/canvas/webgl/webgl-draw-buffers-expected.txt:
  • platform/win/fast/css/parse-border-image-repeat-null-crash-expected.txt:
  • platform/win/fast/dom/html-link-element-activation-behavior-url-is-null-expected.txt:
  • platform/win/fast/dynamic/015-expected.txt:
  • platform/win/fast/events/ondrop-text-html-expected.txt:
  • platform/win/fast/events/panScroll-correct-direction-expected.txt:
  • platform/win/fast/events/panScroll-event-fired-expected.txt:
  • platform/win/fast/events/panScroll-preventDefault-expected.txt:
  • platform/win/fast/events/updateLayoutForHitTest-expected.txt:
  • platform/win/fast/forms/input-set-composition-scroll-expected.txt:
  • platform/win/fast/ondrop-text-html-expected.txt:
  • platform/win/fast/repaint/reflection-redraw-expected.txt:
  • platform/win/fast/text/crash-complex-text-surrogate-expected.txt:
  • platform/win/fast/xmlhttprequest/xmlhttprequest-multiple-sync-xhr-during-unload-expected.txt:
  • platform/win/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/win/http/tests/navigation/error404-goback-expected.txt:
  • platform/win/http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
  • platform/win/http/tests/xmlhttprequest/access-control-preflight-not-successful-expected.txt:
  • platform/win/http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
  • platform/win/imported/w3c/web-platform-tests/cors/late-upload-events-expected.txt:
  • platform/win/imported/w3c/web-platform-tests/url/failure-expected.txt:
  • platform/win/imported/w3c/web-platform-tests/xhr/access-control-and-redirects-expected.txt:
  • platform/win/imported/w3c/web-platform-tests/xhr/late-upload-events-expected.txt:
  • platform/win/inspector-protocol/debugger/setBreakpoint-actions-expected.txt:
  • platform/win/svg/custom/viewbox-syntax-expected.txt:
  • platform/win/svg/hixie/error/010-expected.txt:
  • platform/win/svg/hixie/error/011-expected.txt:
  • platform/win/svg/hixie/error/013-expected.txt:
  • platform/win/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
  • platform/win/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
  • platform/win/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
  • platform/win/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
  • platform/win/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
  • platform/wincairo/editing/execCommand/indent-pre-expected.txt:
  • platform/wincairo/editing/pasteboard/emacs-cntl-y-001-expected.txt:
  • platform/wincairo/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:
  • platform/wincairo/fast/canvas/webgl/css-webkit-canvas-expected.txt:
  • platform/wincairo/fast/canvas/webgl/css-webkit-canvas-repaint-expected.txt:
  • platform/wincairo/fast/dynamic/015-expected.txt:
  • platform/wincairo/fast/events/updateLayoutForHitTest-expected.txt:
  • platform/wincairo/fast/repaint/reflection-redraw-expected.txt:
  • platform/wincairo/fast/text/crash-complex-text-surrogate-expected.txt:
  • platform/wincairo/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/wincairo/media/video-controls-captions-trackmenu-expected.txt:
  • platform/wincairo/plugins/netscape-dom-access-expected.txt:
  • platform/wincairo/plugins/plugin-initiate-popup-window-expected.txt:
  • platform/wincairo/svg/custom/viewbox-syntax-expected.txt:
  • platform/wincairo/svg/hixie/error/013-expected.txt:
  • platform/wincairo/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
  • platform/wincairo/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
  • platform/wincairo/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
  • platform/wincairo/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
  • platform/wincairo/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
  • platform/wk2/http/tests/contentextensions/block-everything-unless-domain-expected.txt:
  • platform/wk2/http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
  • platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-expected.txt:
  • platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-in-body-expected.txt:
  • platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-allow-expected.txt:
  • platform/wk2/http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt:
  • platform/wk2/http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
  • platform/wk2/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:
  • platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-css-in-iframe-report-only-expected.txt:
  • platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-iframe-with-inherited-policy-expected.txt:
  • platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-image-in-xslt-document-in-iframe-with-inherited-policy-expected.txt:
  • platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-iframe-expected.txt:
  • platform/wk2/http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-xhr-asynchronous-in-main-frame-expected.txt:
  • platform/wk2/http/tests/security/drag-drop-local-file-expected.txt:
  • platform/wk2/http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https-expected.txt:
  • platform/wk2/http/tests/security/mixedContent/insecure-css-in-iframe-expected.txt:
  • platform/wk2/http/tests/security/mixedContent/insecure-css-in-main-frame-expected.txt:
  • platform/wk2/http/tests/security/mixedContent/insecure-css-with-secure-cookies-expected.txt:
  • platform/wk2/http/tests/security/mixedContent/insecure-executable-css-with-secure-cookies-expected.txt:
  • platform/wk2/http/tests/security/mixedContent/insecure-form-in-main-frame-expected.txt:
  • platform/wk2/http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials-expected.txt:
  • platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-block-expected.txt:
  • platform/wk2/http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-expected.txt:
  • platform/wk2/http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt:
  • platform/wk2/http/wpt/cross-origin-window-policy/navigation-from-subframe-via-anchor-target-expected.txt:
  • platform/wpe/fast/canvas/webgl/angle-instanced-arrays-expected.txt:
  • platform/wpe/fast/canvas/webgl/copy-tex-image-and-sub-image-2d-bad-input-expected.txt:
  • platform/wpe/fast/canvas/webgl/drawElements-empty-vertex-data-expected.txt:
  • platform/wpe/fast/canvas/webgl/index-validation-with-subsequent-draws-expected.txt:
  • platform/wpe/fast/canvas/webgl/oes-texture-half-float-expected.txt:
  • platform/wpe/fast/canvas/webgl/vertexAttribPointer-with-bad-offset-expected.txt:
  • platform/wpe/fast/canvas/webgl/webgl-draw-buffers-expected.txt:
  • platform/wpe/fast/canvas/webgl/webgl-drawarrays-crash-2-expected.txt:
  • platform/wpe/fast/canvas/webgl/webgl-drawarrays-crash-expected.txt:
  • platform/wpe/fast/dynamic/015-expected.txt:
  • platform/wpe/fast/events/updateLayoutForHitTest-expected.txt:
  • platform/wpe/fast/overflow/scrollbar-restored-and-then-locked-expected.txt:
  • platform/wpe/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/wpe/http/tests/websocket/tests/hybi/close-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/FileAPI/url/sandboxed-iframe-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-unique-origin.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/idlharness.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/request/request-keepalive-quota-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.tentative-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/paths-data-18-f-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/paths-data-20-f-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-polygon-03-t-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-07-f-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-svg-02-f-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/path/bearing/absolute-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/path/bearing/relative-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/path/bearing/zero-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/path/closepath/segment-completing-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/path/error-handling/render-until-error-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/shapes/reftests/disabled-shapes-01-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/shapes/scripted/disabled-shapes-not-hit-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/text/visualtests/text-inline-size-001-visual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/xhr/setrequestheader-content-type-expected.txt:
  • platform/wpe/storage/domstorage/sessionstorage/blocked-file-access-expected.txt:
  • platform/wpe/svg/custom/js-font-test-expected.txt:
  • platform/wpe/svg/custom/viewbox-syntax-expected.txt:
  • platform/wpe/svg/hixie/error/010-expected.txt:
  • platform/wpe/svg/hixie/error/011-expected.txt:
  • platform/wpe/svg/hixie/error/013-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug92868_1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
  • plugins/frameset-with-plugin-frame-expected.txt:
  • plugins/get-user-agent-with-null-npp-from-npp-new-expected.txt:
  • plugins/layout-in-beforeload-listener-affects-plugin-loading-expected.txt:
  • plugins/netscape-plugin-map-data-to-src-expected.txt:
  • plugins/no-mime-with-valid-extension-expected.txt:
  • plugins/npruntime/delete-plugin-within-hasProperty-return-false-expected.txt:
  • plugins/npruntime/delete-plugin-within-hasProperty-return-true-expected.txt:
  • plugins/npruntime/delete-plugin-within-setProperty-expected.txt:
  • plugins/plugin-clip-subframe-expected.txt:
  • plugins/unsupported-plugin-with-replacement-in-iframe-crash-expected.txt:
  • quicklook/powerpoint-expected.txt:
  • quicklook/powerpoint-legacy-expected.txt:
  • quicklook/word-expected.txt:
  • quicklook/word-legacy-expected.txt:
  • security/cannot-read-self-from-file-expected.txt:
  • storage/domstorage/localstorage/blocked-file-access-expected.txt:
  • storage/domstorage/localstorage/blocked-file-access-permitted-by-quirk-expected.txt:
  • storage/domstorage/localstorage/file-can-access-expected.txt:
  • storage/domstorage/sessionstorage/blocked-file-access-expected.txt:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/modern/objectstore-autoincrement-types-expected.txt:
  • storage/indexeddb/transaction-error-expected.txt:
  • storage/indexeddb/version-change-abort-expected.txt:
  • storage/websql/alter-to-info-table-expected.txt:
  • storage/websql/change-version-expected.txt:
  • storage/websql/change-version-handle-reuse-expected.txt:
  • storage/websql/change-version-no-crash-on-preflight-failure-expected.txt:
  • storage/websql/close-during-stress-test-expected.txt:
  • storage/websql/database-lock-after-reload-expected.txt:
  • storage/websql/empty-statement-expected.txt:
  • storage/websql/execute-sql-args-expected.txt:
  • storage/websql/execute-sql-rowsAffected-expected.txt:
  • storage/websql/executesql-accepts-only-one-statement-expected.txt:
  • storage/websql/hash-change-with-xhr-expected.txt:
  • storage/websql/multiple-databases-garbage-collection-expected.txt:
  • storage/websql/multiple-transactions-expected.txt:
  • storage/websql/multiple-transactions-on-different-handles-expected.txt:
  • storage/websql/null-callbacks-expected.txt:
  • storage/websql/open-database-creation-callback-expected.txt:
  • storage/websql/open-database-creation-callback-isolated-world-expected.txt:
  • storage/websql/open-database-empty-version-expected.txt:
  • storage/websql/open-database-expand-quota-expected.txt:
  • storage/websql/open-database-over-quota-expected.txt:
  • storage/websql/open-database-set-empty-version-expected.txt:
  • storage/websql/open-database-while-transaction-in-progress-expected.txt:
  • storage/websql/openDatabase-deprecation-expected.txt:
  • storage/websql/private-browsing-noread-nowrite-expected.txt:
  • storage/websql/read-and-write-transactions-dont-run-together-expected.txt:
  • storage/websql/read-transactions-running-concurrently-expected.txt:
  • storage/websql/sql-data-types-expected.txt:
  • storage/websql/sql-error-codes-expected.txt:
  • storage/websql/statement-error-callback-expected.txt:
  • storage/websql/statement-error-callback-isolated-world-expected.txt:
  • storage/websql/statement-success-callback-isolated-world-expected.txt:
  • storage/websql/success-callback-expected.txt:
  • storage/websql/success-callback-when-page-defers-loading-expected.txt:
  • storage/websql/test-authorizer-expected.txt:
  • storage/websql/transaction-callback-exception-crash-expected.txt:
  • storage/websql/transaction-callback-isolated-world-expected.txt:
  • storage/websql/transaction-database-expand-quota-expected.txt:
  • storage/websql/transaction-error-callback-expected.txt:
  • storage/websql/transaction-error-callback-isolated-world-expected.txt:
  • storage/websql/transaction-prototype-expected.txt:
  • storage/websql/transaction-success-callback-isolated-world-expected.txt:
  • streams/readable-stream-error-messages-expected.txt:
  • streams/reference-implementation/pipe-to-expected.txt:
  • streams/reference-implementation/writable-stream-abort-expected.txt:
  • streams/reference-implementation/writable-stream-expected.txt:
  • svg/animations/animate-viewport-overflow-2-expected.txt:
  • svg/animations/animate-viewport-overflow-expected.txt:
  • svg/as-image/svg-canvas-pattern-with-link-tainted-expected.txt:
  • svg/as-image/svg-canvas-svg-with-feimage-with-link-tainted-expected.txt:
  • svg/as-image/svg-canvas-svg-with-image-with-link-tainted-expected.txt:
  • svg/as-image/svg-canvas-xhtml-tainted-expected.txt:
  • svg/css/parse-calc-length-expected.txt:
  • svg/css/parse-height-expected.txt:
  • svg/css/parse-length-expected.txt:
  • svg/custom/createelement-expected.txt:
  • svg/custom/getBBox-container-hiddenchild-expected.txt:
  • svg/custom/invalid-length-units-expected.txt:
  • svg/custom/layout-loop-expected.txt:
  • svg/custom/poly-parsing-error-expected.txt:
  • svg/custom/polyline-invalid-points-expected.txt:
  • svg/custom/polyline-setattribute-points-null-expected.txt:
  • svg/custom/svg-parse-overflow-1-expected.txt:
  • svg/custom/svg-parse-overflow-2-expected.txt:
  • svg/custom/svg-parse-overflow-3-expected.txt:
  • svg/custom/svg-parse-overflow-4-expected.txt:
  • svg/custom/svg-parse-overflow-5-expected.txt:
  • svg/custom/use-nested-missing-target-removed-expected.txt:
  • svg/dom/SVGAnimatedEnumeration-case-sensitive-expected.txt:
  • svg/dom/fuzz-path-parser-expected.txt:
  • svg/dom/path-parser-expected.txt:
  • svg/dom/points-parser-expected.txt:
  • svg/filters/feBlend-invalid-mode-expected.txt:
  • svg/hixie/error/001-expected.txt:
  • svg/hixie/error/007-expected.txt:
  • svg/hixie/error/010-expected.txt:
  • svg/hixie/error/011-expected.txt:
  • svg/hixie/error/015-expected.txt:
  • svg/in-html/overflow-repaint-expected.txt:
  • svg/path-arc-invalid-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug3517-expected.txt:
  • traversal/moz-bug559526-expected.txt:
  • traversal/moz-mutations-3-expected.txt:
  • userscripts/document-element-available-at-start-expected.txt:
  • userscripts/script-not-run-for-fragments-expected.txt:
  • userscripts/script-run-at-start-expected.txt:
  • userscripts/user-script-audio-document-expected.txt:
  • userscripts/user-script-image-document-expected.txt:
  • userscripts/user-script-plugin-document-expected.txt:
  • userscripts/user-script-video-document-expected.txt:
  • userscripts/window-onerror-for-isolated-world-2-expected.txt:
  • webgl/2.0.0/conformance2/buffers/uniform-buffers-expected.txt:
  • webgl/2.0.0/conformance2/misc/expando-loss-2-expected.txt:
  • webgl/2.0.0/conformance2/rendering/uniform-block-buffer-size-expected.txt:
  • webgl/2.0.0/conformance2/state/gl-object-get-calls-expected.txt:
  • webgl/many-contexts-access-after-loss-expected.txt:
  • webgl/many-contexts-expected.txt:
  • webgl/max-active-contexts-console-warning-expected.txt:
  • webgl/max-active-contexts-gc-expected.txt:
  • webgl/max-active-contexts-oldest-context-lost-expected.txt:
  • webgl/max-active-contexts-webglcontextlost-prevent-default-expected.txt:
  • workers/wasm-hashset-expected.txt:
  • workers/wasm-hashset-many-2-expected.txt:
  • workers/wasm-hashset-many-expected.txt:
  • workers/wasm-long-compile-expected.txt:
  • workers/wasm-long-compile-many-expected.txt:
  • workers/wasm-references-expected.txt:
1:44 PM Changeset in webkit [259899] by Jack Lee
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: selection.isRange() in InsertListCommand::doApply
https://bugs.webkit.org/show_bug.cgi?id=210170
<rdar://problem/61410397>

Reviewed by Wenson Hsieh.

Source/WebCore:

If selectionForParagraphIteration returns a non-range selection, there is no need for finding
multiple paragraphs. And since non-range selection is handled, the assertion can be removed.

Test: editing/inserting/insert-list-in-table-assert.html

  • editing/InsertListCommand.cpp:

(WebCore::InsertListCommand::doApply):

LayoutTests:

Added a regression test for the crash.

  • editing/inserting/insert-list-in-table-assert-expected.txt: Added.
  • editing/inserting/insert-list-in-table-assert.html: Added.
1:30 PM Changeset in webkit [259898] by Chris Dumez
  • 18 edits in trunk/Source/WebKit

First render after a process swap does not use accelerated rendering
https://bugs.webkit.org/show_bug.cgi?id=210297
<rdar://problem/61432515>

Reviewed by Antti Koivisto.

To prevent flashing on navigation when process-swapping, we were delaying the
DrawingAreaProxy::EnterAcceleratedCompositingMode IPC message from the WebProcess
to the UIProcess, until the new page is ready to display. The reason we did this
is that the EnterAcceleratedCompositingMode IPC message ends up setting the root
CALayer so the new content would become visible on screen. However, another side
effect of this is that we would also delay the point until which we get
accelerated rendering, which would negatively impact early page load performance.

To address the issue, the following changes were made:

  1. We no longer delay the DrawingAreaProxy::EnterAcceleratedCompositingMode IPC. In non process-swap cases, we send it as soon as the DrawingArea is constructed. In process-swap cases, we send it as soon as we commit the load since this is when the provisional drawing area gets committed and happens before we have any content to paint.
  2. In the UIProcess, when we get the DrawingAreaProxy::EnterAcceleratedCompositingMode IPC and we already have a root layer, we add the new one behind the existing one instead of replacing the existing one. As a result, the new layer will get accelerated compositing but will not be visible on screen yet.
  3. Introduce a new DrawingAreaProxy::DidFirstLayerFlush IPC which gets send at the point where we used to send the EnterAcceleratedCompositingMode IPC, meaning where the new content is ready to display. When the UIProcess receives this IPC, it actually replaces the root layer with the new layer so that the new content visible.

After this patch, our CALayers get accelerated compositing right away after a
process-swap but we still do not see any blank-flashing on navigation.

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::setAcceleratedCompositingRootLayer):
(WebKit::WebViewImpl::setAcceleratedCompositingRootLayerAfterFlush):

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::didFirstLayerFlush):

  • UIProcess/DrawingAreaProxy.messages.in:
  • UIProcess/PageClient.h:

(WebKit::PageClient::didFirstLayerFlush):

  • UIProcess/SuspendedPageProxy.cpp:

(WebKit::SuspendedPageProxy::SuspendedPageProxy):
(WebKit::SuspendedPageProxy::pageDidFirstLayerFlush):
(WebKit::SuspendedPageProxy::closeWithoutFlashing):

  • UIProcess/SuspendedPageProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::suspendCurrentPageIfPossible):
(WebKit::WebPageProxy::commitProvisionalPage):

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

(WebKit::PageClientImpl::didFirstLayerFlush):

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

(WebKit::TiledCoreAnimationDrawingAreaProxy::didFirstLayerFlush):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::sendEnterAcceleratedCompositingModeIfNeeded):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::sendDidFirstLayerFlushIfNeeded):
(WebKit::TiledCoreAnimationDrawingArea::sendEnterAcceleratedCompositingModeIfNeeded):
(WebKit::TiledCoreAnimationDrawingArea::updateRendering):

1:27 PM Changeset in webkit [259897] by mark.lam@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

Use more PAC diversity for JIT probe code.
https://bugs.webkit.org/show_bug.cgi?id=210252
<rdar://problem/54490367>

Reviewed by Keith Miller.

Introducing new PtrTags:

JITProbePtrTag - for the client probe function.
JITProbeTrampolinePtrTag - for calling the ctiMasmProbeTrampoline.
JITProbeExecutorPtrTag - for calling the probe executor.

Currently, this is only the Probe::executeProbe().

JITProbeStackInitializationFunctionPtrTag - for calling the optional stack

initialization function that the client probe function may set.

We'll now use these in the JIT probe mechanism instead of adopting the default
CFunctionPtrTag.

  • assembler/MacroAssembler.cpp:

(JSC::MacroAssembler::probe):

  • assembler/MacroAssemblerARM64.cpp:

(JSC::MacroAssembler::probe):

  • assembler/MacroAssemblerPrinter.h:

(JSC::MacroAssembler::print):

  • assembler/ProbeContext.h:
  • runtime/JSCPtrTag.h:
  • tools/JSDollarVM.cpp:

(JSC::callWithStackSizeProbeFunction):

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::emitLoopTierUpCheck):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::emitLoopTierUpCheck):

1:22 PM Changeset in webkit [259896] by Ryan Haddad
  • 3 edits
    8 adds in branches/safari-609-branch/LayoutTests

Cherry-pick r255832. rdar://problem/61601064

Improve stability of webrtc/video-autoplay.html by splitting tests in multiple files
https://bugs.webkit.org/show_bug.cgi?id=207252

Reviewed by Eric Carlson.

webrtc/video-autplay.html is flaky on bots.
On debug bots, removing the video element from the DOM does not always pause it in a timely manner.
To improve reliability, we split tests in individual files.
Removing flakiness expectation from video-autoplay.html since it no longer contains the flaky tests.

  • TestExpectations:
  • webrtc/video-autoplay-expected.txt:
  • webrtc/video-autoplay.html:
  • webrtc/video-autoplay1-expected.txt: Added.
  • webrtc/video-autoplay1.html: Added.
  • webrtc/video-autoplay2-expected.txt: Added.
  • webrtc/video-autoplay2.html: Added.
  • webrtc/video-autoplay3-expected.txt: Added.
  • webrtc/video-autoplay3.html: Added.
  • webrtc/video-autoplay4-expected.txt: Added.
  • webrtc/video-autoplay4.html: Added.

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

1:22 PM Changeset in webkit [259895] by Ryan Haddad
  • 3 edits in branches/safari-609-branch/Tools

Cherry-pick r259099. rdar://problem/59610140

Unreviewed test gardening for iOS API tests.

  • TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm: (TEST):
  • TestWebKitAPI/Tests/ios/FocusPreservationTests.mm: (TestWebKitAPI::TEST):

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

1:22 PM Changeset in webkit [259894] by Ryan Haddad
  • 2 edits in branches/safari-609-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa

Cherry-pick r259100. rdar://problem/59611168

Unreviewed iOS API test gardening for rdar://59611168.

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:

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

1:07 PM Changeset in webkit [259893] by Alan Coon
  • 8 edits in branches/safari-609-branch/Source

Versioning.

1:02 PM Changeset in webkit [259892] by Wenson Hsieh
  • 3 edits
    2 adds in trunk

[iOS] Unable to select text by tap-hold or double tap-hold when allowsLinkPreview property is set to NO
https://bugs.webkit.org/show_bug.cgi?id=210191
<rdar://problem/60454016>

Reviewed by Tim Horton.

Source/WebKit:

In iOS 13.4, UIWKTextInteractionAssistant no longer uses the (misleadingly-named) "force press" gesture to drive
text selection when performing a long press. Instead, it now uses the UIVariableDelayLoupeGestureRecognizer,
i.e. the text interaction assistant's loupe gesture recognizer.

The highlight long press gesture, which is only enabled when allowsLinkPreview is set to NO, is currently
allowed to recognize alongside the force press gesture but not the loupe gesture. This means that when link
previews are disabled, we'll end up allowing the highlight long press gesture to prevent text selection. A
similar issue already exists for the tap-and-half gesture as well.

To fix this, we allow the highlight long press gesture to recognize alongside both gestures.

Test: editing/selection/ios/select-text-with-link-preview-disabled.html

  • UIProcess/ios/WKContentViewInteraction.mm:

(tapAndAHalfRecognizerClass):

While UITapAndAHalfRecognizer is declared in a UIKit private header, it is (perhaps unintentionally) not
exported, so attempting to call +[UITapAndAHalfRecognizer class] leads to a linker error. Work around this by
dynamically grabbing the Class from the class name.

The tap and half gesture recognizer is private in UIKit and only used for text interaction gestures, so we
always want the highlight long press gesture to be able to recognize alongside it.

(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):

Also clean up some existing code by replacing .get().s with Objective-C bracket operators.

LayoutTests:

Add a test to verify that text can be selected by long pressing when link previews are disabled.

  • editing/selection/ios/select-text-with-link-preview-disabled-expected.txt: Added.
  • editing/selection/ios/select-text-with-link-preview-disabled.html: Added.
12:55 PM Changeset in webkit [259891] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

Switch unused IOKit classes from allow-with-report to deny-with-report
https://bugs.webkit.org/show_bug.cgi?id=210136
<rdar://problem/61403216>

Reviewed by Per Arne Vollan.

After tracking telemetry for several weeks, we can now safely switch the default state
of a number of IOKit classes from 'allow with telemetry' to 'deny with telemetry'.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebProcess/com.apple.WebProcess.sb.in:
12:34 PM Changeset in webkit [259890] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[Follow up] Fix bad tests in testmasm's testCagePreservesPACFailureBit().
https://bugs.webkit.org/show_bug.cgi?id=210314
<rdar://problem/61556785>

Not reviewed.

Applying Keith's feedback in https://bugs.webkit.org/show_bug.cgi?id=210314#c5:
added the stronger test but kept the weaker one as well.

  • assembler/testmasm.cpp:

(JSC::testCagePreservesPACFailureBit):

12:29 PM Changeset in webkit [259889] by dbates@webkit.org
  • 5 edits in trunk

mayContainEditableElementsInRect() can terminate search once the search rect is wholly contained inside a layer
https://bugs.webkit.org/show_bug.cgi?id=210340

Reviewed by Simon Fraser.

Source/WebKit:

Reduce false positives. This makes mayContainEditableElementsInRect() return false when the
search rect is wholly contained inside a higher paint order layer with no editable elements
that overlaps a layer with editable elements.

  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:

(WebKit::mayContainEditableElementsInRect):

LayoutTests:

Update test and test results. Add "will-transform: transform" to more strongly hint
to the engine to create a compositing layer for the overlapping element in the
composting sub-test.

  • editing/editable-region/hit-test-overlap-expected.txt:
  • editing/editable-region/hit-test-overlap.html:
11:50 AM Changeset in webkit [259888] by Chris Dumez
  • 3 edits in trunk/LayoutTests

[ Mac wk1 ] fast/images/animated-gif-restored-from-bfcache.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=206950
<rdar://problem/58998008>

Reviewed by Alex Christensen.

Make sure the test calls testRunner.waitUntilDone() synchronously when loaded instead
of doing it later on only when returning from the back/forward cache. Also, trigger
the navigation in a setTimeout(0) in the load event and rely on the
page-cache-helper.html like other back/forward cache tests do.

  • fast/images/animated-gif-restored-from-bfcache.html:
  • platform/mac-wk1/TestExpectations:
11:46 AM Changeset in webkit [259887] by Ryan Haddad
  • 2 edits in branches/safari-609-branch/LayoutTests/imported/w3c

Cherry-pick r258411. rdar://problem/61410180

[iOS] 9 imported/w3c/web-platform-tests/pointerevents/pointerevent tests are failing since import in r253630
https://bugs.webkit.org/show_bug.cgi?id=209064
<rdar://problem/60330378>

Reviewed by Simon Fraser.

In r253630 we imported a host of new and updated WPT tests and these included changes to testdriver.js that our testdriver-vendor.js
implementation didn't know to handle. Specifically, pauses are now added after each pointer action to add a 16ms delay.

It was a mistake to use a stationary touch for pauses, instead we shuld just increase the time offset with the value set in the pause
and avoid changing any other state, so no resetting the last known x and y values, or adding a new touch into the event stream that
will be passed to UIScriptController.

And since there is now a built-in pause between pointer actions, there is also no need to set a harcoded value for a default
timeoffset, this is now provided directly by the action input.

  • web-platform-tests/resources/testdriver-vendor.js:

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

11:26 AM Changeset in webkit [259886] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Add routines to message filter in the WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=210338

Reviewed by Geoffrey Garen.

Add required routines to the message filter in the WebContent sandbox on iOS. These have been observed
being in use during local testing.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
11:22 AM Changeset in webkit [259885] by Simon Fraser
  • 2 edits in trunk/LayoutTests

fast/scrolling/latching/iframe-latch-small-deltas.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=210348

Mark this test flakey while I investigate.

  • platform/mac-wk2/TestExpectations:
11:21 AM Changeset in webkit [259884] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

[ Mac wk2 Debug ] media/modern-media-controls/media-controller/media-controller-auto-hide.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=210349

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
11:17 AM Changeset in webkit [259883] by Simon Fraser
  • 9 edits in trunk

Reset view navigation gesture state between tests
https://bugs.webkit.org/show_bug.cgi?id=210283

Re-land r259818 with a null-check on m_webPageProxyForBackForwardListForCurrentSwipe.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(-[WKWebView _resetNavigationGestureStateForTesting]):

  • UIProcess/ViewGestureController.cpp:

(WebKit::ViewGestureController::willBeginGesture):
(WebKit::ViewGestureController::didEndGesture):
(WebKit::ViewGestureController::PendingSwipeTracker::handleEvent):
(WebKit::ViewGestureController::PendingSwipeTracker::eventWasNotHandledByWebCore):

  • UIProcess/ViewGestureController.h:
  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::removeSwipeSnapshot):
(WebKit::ViewGestureController::resetState):
(WebKit::ViewGestureController::reset):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::removeSwipeSnapshot):
(WebKit::ViewGestureController::resetState):
(WebKit::ViewGestureController::reset):

Tools:

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::cocoaResetStateToConsistentValues):

11:14 AM Changeset in webkit [259882] by Alan Coon
  • 1 copy in tags/Safari-609.2.4

Tag Safari-609.2.4.

10:13 AM Changeset in webkit [259881] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

REGRESSION: [ MacOS WK1 & iOS ] Layout Tests in media/media-fragments/ are flaky
https://bugs.webkit.org/show_bug.cgi?id=187557

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
10:06 AM Changeset in webkit [259880] by keith_miller@apple.com
  • 12 edits in trunk/LayoutTests

Fix failing legacy CSP tests by converting them to modern tests instead.
https://bugs.webkit.org/show_bug.cgi?id=210310

Reviewed by Daniel Bates.

Convert these tests from verifying the (now removed) X-WebKit-CSP
header to the modern Content-Security-Policy header. Since we
don't have equivalent tests for the modern CSP header and it's not
very useful to have tons of tests for a feature we no longer
support.

  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-allowed.html:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-default-ignored.html:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-allowed.html:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked.html:
9:46 AM Changeset in webkit [259879] by aboya@igalia.com
  • 4 edits in trunk

[WTF] DataMutex: Add runUnlocked()
https://bugs.webkit.org/show_bug.cgi?id=209811

Reviewed by Xabier Rodriguez-Calvar.

Source/WTF:

This patch introduces a runUnlocked() method in WTF::DataMutex::LockedWrapper
to run a lambda function without the lock. This is intended to be used for
small sections of the code that need to be unlocked, in cases where using
scoping would prove non-ergonomic or where running the unlocked section is only
necessary or desired when a certain condition is met -- something that cannot
be done with C++ scoping.

Safety mechanisms are provided. First, because this is used with a lambda, all
variables to be used in the unlocked section have to be specified in the
capture (global capture is possible but not recommended to simplify analysis).
Second, additional checks have been added to DataMutex to detect unlocked
accesses among other conditions. This will detect among other things naive
access to protected members by means of capturing the LockedWrapper by
reference.

  • wtf/DataMutex.h:

(WTF::OwnerAwareLockAdapter::lock):
(WTF::OwnerAwareLockAdapter::unlock):
(WTF::OwnerAwareLockAdapter::tryLock):
(WTF::OwnerAwareLockAdapter::isLocked const):
(WTF::DataMutex::LockedWrapper::operator->):
(WTF::DataMutex::LockedWrapper::operator*):
(WTF::DataMutex::LockedWrapper::mutex):
(WTF::DataMutex::LockedWrapper::lockHolder):
(WTF::DataMutex::LockedWrapper::runUnlocked):

Tools:

Tests for runUnlocked() and DataMutex checks are introduced.

  • TestWebKitAPI/Tests/WTF/DataMutex.cpp:

(TestWebKitAPI::TEST):

9:22 AM Changeset in webkit [259878] by ddkilzer@apple.com
  • 7 edits in trunk/Source/WTF

Add WARN_UNUSED_RETURN to decode methods in Source/WTF
<https://webkit.org/b/210323>
<rdar://problem/61565764>

Reviewed by Darin Adler.

  • wtf/MediaTime.h:
  • wtf/MonotonicTime.h:
  • wtf/ObjectIdentifier.h:

(WTF::ObjectIdentifier::decode):

  • wtf/Seconds.h:
  • wtf/URL.h:
  • wtf/persistence/PersistentCoder.h:

(WTF::Persistence::Coder::decode):

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

[CSS Shadow Parts] Bad style sharing between sibling elements with different part attributes
https://bugs.webkit.org/show_bug.cgi?id=210249
<rdar://problem/61547528>

Reviewed by Daniel Bates.

Source/WebCore:

Style sharing optimization was unconditionally allowed for elements that were styled with part pseudo element.
This could lead to miscomputed style.

Test case by Justin Fagnani.

Test: fast/css/shadow-parts/shadow-part-style-sharing.html

  • style/StyleSharingResolver.cpp:

(WebCore::Style::SharingResolver::canShareStyleWithElement):

Only allow style sharing if parts match.

LayoutTests:

  • fast/css/shadow-parts/shadow-part-style-sharing-expected.html: Added.
  • fast/css/shadow-parts/shadow-part-style-sharing.html: Added.
9:07 AM Changeset in webkit [259876] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Gardening, update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=210339

Unreviewed gardening.

Added new entry for test failing since added. Also move flaky failures
to the flaky failures section.

  • platform/gtk/TestExpectations:
9:03 AM Changeset in webkit [259875] by ddkilzer@apple.com
  • 4 edits in trunk/Source/WebKit

Add WARN_UNUSED_RETURN to decode methods in WebCoreArgumentCoders
<https://webkit.org/b/210322>

Reviewed by Darin Adler.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::decodeSharedBuffer):
(IPC::decodeTypesAndData):
(IPC::decodeImage):
(IPC::decodeOptionalImage):
(IPC::decodeNativeImage):
(IPC::decodeOptionalNativeImage):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::decodeNSError):

8:54 AM Changeset in webkit [259874] by Peng Liu
  • 2 edits in trunk/Source/WebKit

Add null pointer checkings in WebFullScreenManager
https://bugs.webkit.org/show_bug.cgi?id=210291

Reviewed by Daniel Bates.

Add null pointer checkings for "element" and "m_element" in WebFullScreenManager.

  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::screenRectOfContents):
(WebKit::WebFullScreenManager::enterFullScreenForElement):
(WebKit::WebFullScreenManager::willEnterFullScreen):
(WebKit::WebFullScreenManager::didEnterFullScreen):
(WebKit::WebFullScreenManager::willExitFullScreen):
(WebKit::WebFullScreenManager::didExitFullScreen):
(WebKit::WebFullScreenManager::setAnimatingFullScreen):
(WebKit::WebFullScreenManager::requestExitFullScreen):

8:45 AM Changeset in webkit [259873] by Simon Fraser
  • 6 edits
    6 copies in trunk

Roll changelogs

8:43 AM Changeset in webkit [259872] by Simon Fraser
  • 15 edits
    6 adds in trunk

[Async overflow scrolling] Vertical scrolls over a horizontally scrollable overflow are captured
https://bugs.webkit.org/show_bug.cgi?id=210320

Reviewed by Tim Horton.

Source/WebCore:

This patch adds somewhat more sophisticated latching logic to the scrolling thread, which
fixes the inability to vertically scroll if the mouse is over an enclosed horizontal scroller.

ScrollingTree owns a ScrollingTreeLatchingController, which determines when to latch and clear
latching. Latch clearing uses a 100ms delay (like main thread latching) so that a starting gesture
soon after another gesture, whose initial x and y are small, goes to the same scroller as before.

Scrolling tree latching works as follows. When we receive a scroll event which allows use of the
latched node, and there is a latched node, send the event directly to that node. Otherwise,
hit-test to find the most deeply nested scroll target. Traverse up the parent chain giving each node
an opportunity to handle the event. If handled by a node, that node becomes the latched node.

ScrollingTree no longer tracks the latched node itself.

Tests: scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe.html

scrollingcoordinator/mac/latching/horizontal-overflow-in-vertical-overflow.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
(WebCore::ScrollingTree::handleWheelEvent):
(WebCore::ScrollingTree::commitTreeState):
(WebCore::ScrollingTree::latchedNodeID const):
(WebCore::ScrollingTree::clearLatchedNode):
(WebCore::ScrollingTree::mainFrameScrollPosition const):
(WebCore::ScrollingTree::scrollingTreeAsText):
(WebCore::ScrollingTree::setOrClearLatchedNode): Deleted.
(WebCore::ScrollingTree::latchedNode): Deleted.
(WebCore::ScrollingTree::setLatchedNode): Deleted.

  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::hasLatchedNode const): Deleted.

  • page/scrolling/ScrollingTreeLatchingController.cpp: Added.

(WebCore::ScrollingTreeLatchingController::receivedWheelEvent):
(WebCore::ScrollingTreeLatchingController::latchedNodeForEvent const):
(WebCore::ScrollingTreeLatchingController::latchedNodeID const):
(WebCore::ScrollingTreeLatchingController::nodeDidHandleEvent):
(WebCore::ScrollingTreeLatchingController::nodeWasRemoved):
(WebCore::ScrollingTreeLatchingController::clearLatchedNode):

  • page/scrolling/ScrollingTreeLatchingController.h: Added.
  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::isLatchedNode const):
(WebCore::ScrollingTreeScrollingNode::canScrollWithWheelEvent const):
(WebCore::ScrollingTreeScrollingNode::scrollLimitReached const):

  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):

  • page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:

(WebCore::ScrollingTreeOverflowScrollingNodeMac::handleWheelEvent):

LayoutTests:

Tests for horizontal inside vertical overflow, test that hit-testing inside scrolled-to-limit horizontal scrollers
still allows for swipe navigation, and test the latching timeout.

  • fast/scrolling/latching/iframe-latch-small-deltas-expected.txt:
  • fast/scrolling/latching/iframe-latch-small-deltas.html:
  • scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe-expected.txt: Added.
  • scrollingcoordinator/mac/latching/horizontal-overflow-back-swipe.html: Added.
  • scrollingcoordinator/mac/latching/horizontal-overflow-in-vertical-overflow-expected.txt: Added.
  • scrollingcoordinator/mac/latching/horizontal-overflow-in-vertical-overflow.html: Added.
8:27 AM Changeset in webkit [259871] by Simon Fraser
  • 3 edits
    2 adds in trunk

Hit-testing a WebTiledBackingLayer with an animation asserts
https://bugs.webkit.org/show_bug.cgi?id=210318

Reviewed by Tim Horton.
Source/WebCore:

collectDescendantLayersAtPoint() calls [layer presentationLayer] for layers
with running animations, and this calls -initWithLayer: on our layer subclasses.
Fix WebTiledBackingLayer to not assert in this case.

Test: fast/scrolling/mac/hit-test-overflow-tiled-layer.html

  • platform/graphics/ca/cocoa/WebTiledBackingLayer.mm:

(-[WebTiledBackingLayer initWithLayer:]):

LayoutTests:

Test that scrolling-thread-hit-tests a tiled layer with an animation on it.

  • fast/scrolling/mac/hit-test-overflow-tiled-layer-expected.txt: Added.
  • fast/scrolling/mac/hit-test-overflow-tiled-layer.html: Added.
8:18 AM Changeset in webkit [259870] by aboya@igalia.com
  • 2 edits in trunk/Tools

[Tools] Fix gdb WebCoreQualifiedNamePrinter
https://bugs.webkit.org/show_bug.cgi?id=210109

Reviewed by Daniel Bates.

My gdb was throwing exceptions like this when printing
QualifiedName's:

File "/webkit/Tools/gdb/webkit.py", line 205, in init

self.valm_impl?m_prefix?m_string?)

gdb.error: There is no member or method named m_prefix.

This patch adds a missing m_ptr indirection to traverse
RefPtr<QualifiedNameImpl>, fixing the issue.

  • gdb/webkit.py:

(WebCoreQualifiedNamePrinter.init):

7:23 AM Changeset in webkit [259869] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Fix media accessibility sandbox violation in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=210301

Reviewed by Daniel Bates.

The media accessibility service is a global name, not a xpc service name.

No new tests, since I have not observed any bugs related to the denial of this service.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
6:25 AM Changeset in webkit [259868] by Diego Pino Garcia
  • 2 edits in trunk/WebDriverTests

[WebDriver] Gardening, remove spurious entry
https://bugs.webkit.org/show_bug.cgi?id=210333

Unreviewed gardening.

All subtests in the test were passing, so the entry can be deleted.

6:17 AM Changeset in webkit [259867] by aboya@igalia.com
  • 2 edits in trunk/Tools

[Tools] jhbuild should respect PKG_CONFIG_PATH
https://bugs.webkit.org/show_bug.cgi?id=210280

Reviewed by Carlos Alberto Lopez Perez.

Our jhbuildrc adds the system paths to PKG_CONFIG_PATH. This is not
necessary, as they are included implicitly by pkg-config, e.g.

$ mkdir /tmp/empty
$ PKG_CONFIG_PATH=/tmp/empty pkg-config --cflags glib-2.0
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include

Apart from not being necessary, it is problematic because it makes
impossible to override system libraries in jhbuild-wrapper.

$ PKG_CONFIG_PATH=/home/ntrrgc/Apps/gst-1.10-prefix/lib/pkgconfig/ jhbuild-wrapper --gtk run bash
/webkit/WebKitBuild/DependenciesGTK/Root/lib64/pkgconfig:/webkit/WebKitBuild/DependenciesGTK/Root/lib/pkgconfig:/webkit/WebKitBuild/DependenciesGTK/Root/share/pkgconfig:/usr/share/pkgconfig:/usr/lib64/pkgconfig:/home/ntrrgc/Apps/gst-1.10-prefix/lib/pkgconfig

Note /usr/share/pkgconfig and /usr/lib64/pkgconfig are taking priority
over the user environment.

This patch removes that code, so that the user PKG_CONFIG_PATH takes
priority over the system default paths, while these keep having effect
too as explained before.

$ PKG_CONFIG_PATH=/home/ntrrgc/Apps/gst-1.10-prefix/lib/pkgconfig jhbuild-wrapper --gtk run bash
/webkit/WebKitBuild/DependenciesGTK/Root/lib64/pkgconfig:/webkit/WebKitBuild/DependenciesGTK/Root/lib/pkgconfig:/webkit/WebKitBuild/DependenciesGTK/Root/share/pkgconfig:/home/ntrrgc/Apps/gst-1.10-prefix/lib/pkgconfig

  • jhbuild/jhbuildrc_common.py:

(init):

5:19 AM Changeset in webkit [259866] by Caio Lima
  • 4 edits in trunk/Source/JavaScriptCore

[LLInt] Add fast path for TypedArray access on LLInt 32-bits
https://bugs.webkit.org/show_bug.cgi?id=210217

Reviewed by Yusuke Suzuki.

This patch is adding fast path case for in-bound TypedArray access on
32-bits LLInt. Since instructions are the same for both architectures,
we are refactoring this part of code to LowLevelInterpreter.asm and
reusing it into LowLevelInterpreter32_64.asm.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
4:10 AM Changeset in webkit [259865] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Gardening, mark several WPT's IndexedDB as flaky
https://bugs.webkit.org/show_bug.cgi?id=210332

Unreviewed gardening.

  • platform/gtk/TestExpectations:
4:06 AM Changeset in webkit [259864] by Philippe Normand
  • 3 edits in trunk/Tools

[Flatpak SDK] Flatpak build broken when using 'git config core.webkitbranchbuild=true'
https://bugs.webkit.org/show_bug.cgi?id=210292

Reviewed by Žan Doberšek.

  • Scripts/webkitdirs.pm:

(getUserFlatpakPath): Ensure we probe for UserFlatpak always in
WebKitBuild, wether we're doing a "git branch" build or not.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.is_branch_build):
(WebkitFlatpak.run_in_sandbox): Make and bind-mount default build
directory only when not doing "git branch" builds.

4:04 AM Changeset in webkit [259863] by Philippe Normand
  • 2 edits in trunk/Tools

[Flatpak SDK] Generate one IceCC archive per toolchain
https://bugs.webkit.org/show_bug.cgi?id=210189

Reviewed by Žan Doberšek.

Add a utility option to webkit-flatpak so it regenerated
toolchains without needing a full SDK reinstall. Also we now
generate a self-contained toolchain archive embedding GCC and one
embedding CLang.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.load_from_args):
(WebkitFlatpak.init):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.setup_icecc):
(WebkitFlatpak.setup_dev_env):

4:02 AM Changeset in webkit [259862] by Philippe Normand
  • 2 edits in trunk/Tools

[GTK][WPE] Flatpak error when running run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=209229

Reviewed by Žan Doberšek.

Report flatpak build spawned process errors only in verbose mode.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.execute_command):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.run_gdb):

3:58 AM Changeset in webkit [259861] by youenn@apple.com
  • 35 edits in trunk/Source

Introduce a RealtimeMediaSource observer dedicated to receiving audio samples
https://bugs.webkit.org/show_bug.cgi?id=210180

Reviewed by Eric Carlson.

Source/WebCore:

RealtimeMediaSource::Observer was called on various threads which was making iterating through them difficult.
Observers were copied to a vector for iterating each time and locking was happening for each indivudual observer.

Instead of doing that, RealtimeMediaSource::Observer no longer gives access to audio samples, all its methods are called from the main thread.
AudioSampleObserver is introduced with a single method to receive audio samples.
RealtimeMediaSource keeps a set of AudioSampleObserver separated from its existing Observer hashset.
These observers can only be added/removed from the main thread while audio sample delivery usually happens from a background thread.
We no longer need to copy the audio sample observers in a vector and lock only once when iterating the audio sample observers.

This change requires to update MediaStreamTrackPrivate and RealtimeMediaSource observers.
This includes WebAudio, Audio Renderer and Media Recorder.
Each corresponding class is now registering itself as a MediaStreamTrackPrivate::Observer and when needed as a RealtimeMediaSource::Observer.
This allows removing the additional copy-in-vector/lock that was happening when iterating over MediaStreamTrackPrivate::Observers for audio samples.

This change also allows for a consumer to always observe the MediaStreamTrackPrivate but receive audio samples only when needed.
We change the AudioTrackPrivateMediaStream implementation so that, if the renderer is muted, not playing, the track is muted or not enabled,
it no longer receives audio samples.
This is especially useful in the typical case where a video element displays the locally captured stream (including a local audio track) but is muted
to prevent feedback loop.
For that reason, the player is now setting the muted state of the renderer instead of setting volume to 0.

Covered by existing test sets.

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::createMediaRecorderPrivate):

  • Modules/mediarecorder/MediaRecorder.h:
  • Modules/mediarecorder/MediaRecorderProvider.cpp:

(WebCore::MediaRecorderProvider::createMediaRecorderPrivate):

  • Modules/mediarecorder/MediaRecorderProvider.h:
  • loader/EmptyClients.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVolume):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted):

  • platform/mediarecorder/MediaRecorderPrivate.cpp:

(WebCore::MediaRecorderPrivate::selectTracks):

  • platform/mediarecorder/MediaRecorderPrivate.h:

(WebCore::MediaRecorderPrivate::setAudioSource):
(WebCore::MediaRecorderPrivate::~MediaRecorderPrivate):

  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:

(WebCore::MediaRecorderPrivateAVFImpl::create):
(WebCore::MediaRecorderPrivateAVFImpl::~MediaRecorderPrivateAVFImpl):
(WebCore::MediaRecorderPrivateAVFImpl::audioSamplesAvailable):
(WebCore::MediaRecorderPrivateAVFImpl::stopRecording):
(WebCore::MediaRecorderPrivateAVFImpl::fetchData):

  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
  • platform/mediarecorder/MediaRecorderPrivateMock.cpp:

(WebCore::MediaRecorderPrivateMock::MediaRecorderPrivateMock):
(WebCore::MediaRecorderPrivateMock::~MediaRecorderPrivateMock):
(WebCore::MediaRecorderPrivateMock::stopRecording):
(WebCore::MediaRecorderPrivateMock::sampleBufferUpdated):
(WebCore::MediaRecorderPrivateMock::audioSamplesAvailable):
(WebCore::MediaRecorderPrivateMock::generateMockCounterString):
(WebCore::MediaRecorderPrivateMock::fetchData):

  • platform/mediarecorder/MediaRecorderPrivateMock.h:
  • platform/mediastream/AudioTrackPrivateMediaStream.cpp:

(WebCore::AudioTrackPrivateMediaStream::AudioTrackPrivateMediaStream):
(WebCore::AudioTrackPrivateMediaStream::clear):
(WebCore::AudioTrackPrivateMediaStream::play):
(WebCore::AudioTrackPrivateMediaStream::pause):
(WebCore::AudioTrackPrivateMediaStream::setMuted):
(WebCore::AudioTrackPrivateMediaStream::audioSamplesAvailable):
(WebCore::AudioTrackPrivateMediaStream::trackMutedChanged):
(WebCore::AudioTrackPrivateMediaStream::trackEnabledChanged):
(WebCore::AudioTrackPrivateMediaStream::trackEnded):
(WebCore::AudioTrackPrivateMediaStream::updateRenderer):
(WebCore::AudioTrackPrivateMediaStream::startRenderer):
(WebCore::AudioTrackPrivateMediaStream::stopRenderer):

  • platform/mediastream/AudioTrackPrivateMediaStream.h:
  • platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:

(WebCore::webkitMediaStreamSrcFinalize):
(WebCore::webkitMediaStreamSrcChangeState):
(WebCore::webkitMediaStreamSrcSetupSrc):

  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::forEachTrack):

  • platform/mediastream/MediaStreamPrivate.h:
  • platform/mediastream/MediaStreamTrackPrivate.cpp:

(WebCore::MediaStreamTrackPrivate::forEachObserver const):
(WebCore::MediaStreamTrackPrivate::addObserver):
(WebCore::MediaStreamTrackPrivate::removeObserver):
(WebCore::MediaStreamTrackPrivate::hasStartedProducingAudioData):

  • platform/mediastream/MediaStreamTrackPrivate.h:
  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::addAudioSampleObserver):
(WebCore::RealtimeMediaSource::removeAudioSampleObserver):
(WebCore::RealtimeMediaSource::addObserver):
(WebCore::RealtimeMediaSource::removeObserver):
(WebCore::RealtimeMediaSource::forEachObserver const):
(WebCore::RealtimeMediaSource::audioSamplesAvailable):

  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/RealtimeOutgoingAudioSource.cpp:

(WebCore::RealtimeOutgoingAudioSource::~RealtimeOutgoingAudioSource):
(WebCore::RealtimeOutgoingAudioSource::observeSource):
(WebCore::RealtimeOutgoingAudioSource::unobserveSource):

  • platform/mediastream/RealtimeOutgoingAudioSource.h:
  • platform/mediastream/WebAudioSourceProvider.h:
  • platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h:
  • platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:

(WebCore::WebAudioSourceProviderAVFObjC::WebAudioSourceProviderAVFObjC):
(WebCore::WebAudioSourceProviderAVFObjC::~WebAudioSourceProviderAVFObjC):
(WebCore::WebAudioSourceProviderAVFObjC::trackEnabledChanged):
(WebCore::WebAudioSourceProviderAVFObjC::audioSamplesAvailable):

  • testing/Internals.cpp:

(WebCore::Internals::~Internals):
(WebCore::createRecorderMockSource):
(WebCore::Internals::observeMediaStreamTrack):
(WebCore::Internals::videoSampleAvailable):

  • testing/Internals.h:

Source/WebKit:

Update SourceProxy to be an AudioSampleObserver.
Update MediaRecorder to only listen for audio samples if GPU remote writer is successfully created.
It also stops listening to audio samples as soon as stopping the recording.

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:

(WebKit::UserMediaCaptureManagerProxy::SourceProxy::SourceProxy):
(WebKit::UserMediaCaptureManagerProxy::SourceProxy::~SourceProxy):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::~MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::audioSamplesAvailable):
(WebKit::MediaRecorderPrivate::stopRecording):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
  • WebProcess/GPU/webrtc/MediaRecorderProvider.cpp:

(WebKit::MediaRecorderProvider::createMediaRecorderPrivate):

  • WebProcess/GPU/webrtc/MediaRecorderProvider.h:
3:58 AM Changeset in webkit [259860] by Philippe Normand
  • 4 edits in trunk

[Flatpak SDK] Improved sccache support
https://bugs.webkit.org/show_bug.cgi?id=210027

Reviewed by Žan Doberšek.

.:

  • Source/cmake/WebKitCCache.cmake: Check for sccache if one of its

environment variables has been set as well, otherwise the local
disk cache would be used, if WEBKIT_USE_SCCACHE is set to 1.

Tools:

Whitelist SCCACHE environment variables into the sandbox and allow
network access when one of those has been set.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.run_in_sandbox):

3:50 AM Changeset in webkit [259859] by youenn@apple.com
  • 16 edits in trunk

SWServer should not run a service worker that is terminating
https://bugs.webkit.org/show_bug.cgi?id=210044

Reviewed by Chris Dumez.

Source/WebCore:

If a test is being terminated and we want to restart it, we were previously running it right away.
This does not work well as the service worker process might still have the terminating service worker in its map.
Also, if the service worker is not able to terminate properly, we will kill the service worker process so there is no reason
to try running this service worker in this process.
Instead, wait for the service worker to terminate (which might include terminating the service worker process).

In addition, we remove the isServiceWorkerRunning internals API since this is potentially flaky as the service worker
might be terminated and rerunning in between two isServiceWorkerRunning checks.
Instead, we introduce whenServiceWorkerIsTerminated which will resolve as soon as the service worker goes to terminated.

Covered by existing spinning tests no longer crashing.

  • testing/Internals.cpp:

(WebCore::Internals::whenServiceWorkerIsTerminated):

  • testing/Internals.h:
  • testing/Internals.idl:
  • workers/service/SWClientConnection.h:

(WebCore::SWClientConnection::whenServiceWorkerIsTerminatedForTesting):

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::runServiceWorkerIfNecessary):
(WebCore::SWServer::runServiceWorker):
(WebCore::SWServer::workerContextTerminated):

  • workers/service/server/SWServerWorker.cpp:

(WebCore::SWServerWorker::whenTerminated):
(WebCore::SWServerWorker::setState):

  • workers/service/server/SWServerWorker.h:

(WebCore::SWServerWorker::isNotRunning const):

Source/WebKit:

Implement whenServiceWorkerIsTerminated check.

  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::whenServiceWorkerIsTerminatedForTesting):

  • NetworkProcess/ServiceWorker/WebSWServerConnection.h:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::whenServiceWorkerIsTerminatedForTesting):

  • WebProcess/Storage/WebSWClientConnection.h:

LayoutTests:

  • http/wpt/service-workers/resources/routines.js:

(async waitForServiceWorkerNoLongerRunning):
Use new internals API.

3:32 AM Changeset in webkit [259858] by cturner@igalia.com
  • 3 edits in trunk/Source/WebCore

[EME][GStreamer] Relax proxy initialization assert
https://bugs.webkit.org/show_bug.cgi?id=210258

Reviewed by Xabier Rodriguez-Calvar.

update() may be called on a session before its parent MediaKeys object
has been associated with a media element. Supporting this is officially
optional, but enough sites (including the W3C EME tests) depend on this
optional behaviour that we should support it.

Covered by imported/w3c/web-platform-tests/encrypted-media.

  • platform/encryptedmedia/CDMProxy.cpp:

(WebCore::CDMInstanceProxy::mergeKeysFrom): Since the background
proxy may not be installed yet, don't ASSERT() it exists.

  • platform/encryptedmedia/CDMProxy.h:

(WebCore::KeyStore::hasKeys const):
(WebCore::CDMInstanceProxy::setProxy): Now, when the background
proxy is installed, check if any keys have been made available as
described above, and if so, set them.

3:32 AM Changeset in webkit [259857] by commit-queue@webkit.org
  • 9 edits in trunk

Unreviewed, reverting r259818.
https://bugs.webkit.org/show_bug.cgi?id=210330

"Causes crashes in at least three layout tests on iOS bots."
(Requested by ddkilzer on #webkit).

Reverted changeset:

"Reset view navigation gesture state between tests"
https://bugs.webkit.org/show_bug.cgi?id=210283
https://trac.webkit.org/changeset/259818

3:31 AM Changeset in webkit [259856] by Claudio Saavedra
  • 2 edits in trunk/Source/WebKit

[GTK] Use X11-specific GDK API in Netscape plugin
https://bugs.webkit.org/show_bug.cgi?id=210325

Reviewed by Adrian Perez de Castro.

Since the code is X11-specific we can do that and remove
deprecated API use.

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::getPluginDisplay):
(WebKit::x11Screen):

3:31 AM Changeset in webkit [259855] by Claudio Saavedra
  • 2 edits in trunk/Source/WebKit

[GTK] Drop deprecated Drag and Drop API use
https://bugs.webkit.org/show_bug.cgi?id=210327

Reviewed by Adrian Perez de Castro.

Use gtk_drag_begin_with_coordinates(), even if we let it guess the
coordinates itself from the event, as gtk_drag_begin() is
deprecated.

  • UIProcess/gtk/DragAndDropHandler.cpp:

(WebKit::DragAndDropHandler::startDrag):

3:25 AM Changeset in webkit [259854] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebCore

[GTK] Avoid direct GdkEvent field usage in GtkUtilities.h
https://bugs.webkit.org/show_bug.cgi?id=210329

Reviewed by Carlos Garcia Campos.

No new tests needed.

  • platform/gtk/GtkUtilities.h:

(WebCore::wallTimeForEvent): Use gdk_event_get_time() instead of direct field access.

3:02 AM Changeset in webkit [259853] by youenn@apple.com
  • 3 edits in trunk/Source/WebCore

Bump priority of LibWebRTCAudioModule thread
https://bugs.webkit.org/show_bug.cgi?id=210107

Reviewed by Eric Carlson.

LibWebRTCAudioModule operates on its own thread and is responsible to generate and push remote audio track data to audio renderers.
It does this every 50 milliseconds and any delay in this task will trigger audio crackling.

Migrate LibWebRTCAudioModule from a thread based approach to a WorkQueue.
This gives cleaner code and allows to set the WorkQueue QOS to QOS::UserInteractive
so that it does not get imnterrupted too often.

We expect the audio task to be done every 50 ms.
If it takes less than 50 ms to dispatch the task and execute, we dispatch a new task with some delay
to keep the exact 50ms delay.
Otherwise, we dispatch a task without any delay to try recovering as much as we can.

Manullay tested on iOS using mock sources on pages rendering multiple audio tracks.
This reduces audio crackling a lot but not completely.

  • platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp:

(WebCore::LibWebRTCAudioModule::LibWebRTCAudioModule):
(WebCore::LibWebRTCAudioModule::StartPlayout):
(WebCore::LibWebRTCAudioModule::StartPlayoutOnAudioThread):

  • platform/mediastream/libwebrtc/LibWebRTCAudioModule.h:
2:06 AM Changeset in webkit [259852] by ysuzuki@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, reverting r259849 and r259851.
https://bugs.webkit.org/show_bug.cgi?id=210328

Crash in LayoutTests (Requested by yusukesuzuki on #webkit).

Reverted changesets:

"[JSC] Use UnconditionalWriteBarrier in Baseline effectively
to reduce code size"
https://bugs.webkit.org/show_bug.cgi?id=209395
https://trac.webkit.org/changeset/259849

"Unreviewed, fix typo in comment"
https://bugs.webkit.org/show_bug.cgi?id=209395
https://trac.webkit.org/changeset/259851

Patch by Commit Queue <commit-queue@webkit.org> on 2020-04-10

12:39 AM Changeset in webkit [259851] by ysuzuki@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, fix typo in comment
https://bugs.webkit.org/show_bug.cgi?id=209395

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitPutByValWithCachedId):
(JSC::JIT::emit_op_del_by_id):
(JSC::JIT::emit_op_del_by_val):
(JSC::JIT::emit_op_put_by_id):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitPutByValWithCachedId):
(JSC::JIT::emit_op_put_by_id):

Apr 9, 2020:

11:55 PM Changeset in webkit [259850] by Peng Liu
  • 4 edits in trunk

REGRESSION: (r258434) [ Mac WK1 ] media/track/track-css-user-override.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=210134

Reviewed by Eric Carlson.

Source/WebCore:

Call captionPreferencesChanged() directly in CaptionUserPreferences::setCaptionsStyleSheetOverride().

  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride):

LayoutTests:

Make the test reliable by replacing the timer and testExpected based approach
with the approach based on testExpectedEventually. Also remove unnecessary code.

  • media/track/track-css-user-override.html:
11:48 PM Changeset in webkit [259849] by ysuzuki@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Use UnconditionalWriteBarrier in Baseline effectively to reduce code size
https://bugs.webkit.org/show_bug.cgi?id=209395

Reviewed by Tadeu Zagallo.

In put/delete we always need to emit write-barrier if the base is a cell since IC can write things (writing new StructureID etc.).
We should use emitWriteBarrier with UnconditionalWriteBarrier to remove unnecessary branch.

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitPutByValWithCachedId):
(JSC::JIT::emit_op_del_by_id):
(JSC::JIT::emit_op_del_by_val):
(JSC::JIT::emit_op_put_by_id):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitPutByValWithCachedId):
(JSC::JIT::emit_op_put_by_id):

11:25 PM Changeset in webkit [259848] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix bad tests in testmasm's testCagePreservesPACFailureBit().
https://bugs.webkit.org/show_bug.cgi?id=210314
<rdar://problem/61556785>

Reviewed by Yusuke Suzuki.

Some of these tests will crash when validated untagging is enabled.

  • assembler/testmasm.cpp:

(JSC::testCagePreservesPACFailureBit):

10:48 PM Changeset in webkit [259847] by ddkilzer@apple.com
  • 12 edits in trunk/Source/WebKit

Add WARN_UNUSED_RETURN to decode methods in Source/WebKit/Platform/IPC
<https://webkit.org/b/210316>

Reviewed by Alex Christensen.

  • Platform/IPC/ArgumentCoder.h:
  • Platform/IPC/ArgumentCoders.cpp:

(IPC::ArgumentCoder<WallTime>::decode):
(IPC::ArgumentCoder<AtomString>::decode):
(IPC::ArgumentCoder<CString>::decode):
(IPC::ArgumentCoder<String>::decode):
(IPC::ArgumentCoder<SHA1::Digest>::decode):
(IPC::ArgumentCoder<audit_token_t>::decode):
(IPC::ArgumentCoder<Monostate>::decode):

  • Platform/IPC/ArgumentCoders.h:

(IPC::SimpleArgumentCoder::decode):
(IPC::ArgumentCoder<OptionSet<T>>::decode):
(IPC::ArgumentCoder<Optional<T>>::decode):
(IPC::ArgumentCoder<Box<T>>::decode):
(IPC::TupleDecoderImpl::decode):
(IPC::TupleDecoderImpl<Type>::decode):
(IPC::TupleDecoder::decode):
(IPC::TupleDecoder<0>::decode):
(IPC::VariantCoder::decode):

  • Platform/IPC/Attachment.h:
  • Platform/IPC/DataReference.h:
  • Platform/IPC/Decoder.h:

(IPC::Decoder::decodeEnum):

  • Platform/IPC/FormDataReference.h:

(IPC::FormDataReference::decode):

  • Platform/IPC/ImageDataReference.h:

(IPC::ImageDataReference::decode):

  • Platform/IPC/SharedBufferDataReference.h:

(IPC::SharedBufferDataReference::decode):

  • Platform/IPC/StringReference.h:
  • Platform/IPC/cocoa/MachPort.h:

(IPC::MachPort::decode):

10:22 PM Changeset in webkit [259846] by cathiechen
  • 16 edits in trunk/Source/WebCore

Fix up code style for scroll animation
https://bugs.webkit.org/show_bug.cgi?id=210171

Reviewed by Simon Fraser.

  1. Use AnimatedScroll instead of bool to indicate animated or not.
  2. Remove parameter ScrollRectToVisibleOptions, the autoscroll status is available from EventHandler.
  3. In order to keep consistent, use RenderLayer::setScrollPosition instead of RenderLayer::scrollToPosition.
  4. Add AnimatedScroll parameter to ScrollView::setContentsScrollPosition, then the scroll animation

can be dealt in FrameView::setScrollPosition.

  1. In ScrollView::setScrollPosition, the scroll animation should be cancled before return.
  • dom/Element.cpp: Use AnimatedScroll instead of bool.

(WebCore::Element::scrollTo):
(WebCore::Element::setScrollLeft):
(WebCore::Element::setScrollTop):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::scrollTo const): No need to call scrollToOffsetWithAnimation here.

  • page/FrameView.cpp:

(WebCore::FrameView::setScrollPosition):

  • page/FrameView.h:
  • platform/ScrollTypes.h: Add AnimatedScroll.
  • platform/ScrollView.cpp:

(WebCore::ScrollView::setContentsScrollPosition): Add parameter AnimatedScroll.
(WebCore::ScrollView::setScrollPosition): Cancel the scroll animation before return.

  • platform/ScrollView.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::setScrollLeft):
(WebCore::RenderBox::setScrollTop):
(WebCore::RenderBox::setScrollPosition):

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

(WebCore::RenderLayer::scrollToXPosition):
(WebCore::RenderLayer::scrollToYPosition):
(WebCore::RenderLayer::setScrollPosition):
(WebCore::RenderLayer::scrollRectToVisible): Remove AutoscrollStatus.
(WebCore::RenderLayer::autoscroll):
(WebCore::RenderLayer::scrollToPosition): Deleted. Use setScrollPosition instead.

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

(WebCore::RenderListBox::setScrollLeft):
(WebCore::RenderListBox::setScrollTop):

  • rendering/RenderListBox.h:
  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::setScrollLeft):
(WebCore::RenderTextControlSingleLine::setScrollTop):

  • rendering/RenderTextControlSingleLine.h:
9:53 PM Changeset in webkit [259845] by commit-queue@webkit.org
  • 23 edits in trunk/Source

IPC serialization of enums should serialize std::underlying_type instead of uint64_t
https://bugs.webkit.org/show_bug.cgi?id=210228

Patch by Alex Christensen <achristensen@webkit.org> on 2020-04-09
Reviewed by Chris Dumez and Darin Adler.

Source/WebCore:

No change in behavior, other than less memory and time spent in IPC code.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContextStateChange::dump const):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/ca/PlatformCALayer.cpp:

(WebCore::PlatformCALayer::drawRepaintIndicator):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::setPlatformTextDrawingMode):

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::shouldUseLetterpressEffect):
(WebCore::FontCascade::drawGlyphs):

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::drawText):

  • rendering/TextPaintStyle.cpp:

(WebCore::updateGraphicsContext):

  • rendering/TextPainter.cpp:

(WebCore::TextPainter::paintTextAndEmphasisMarksIfNeeded):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::RenderSVGResourceGradient::applyResource):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::applyResource):

  • rendering/svg/RenderSVGResourceSolidColor.cpp:

(WebCore::RenderSVGResourceSolidColor::applyResource):

Source/WebKit:

  • Platform/IPC/Decoder.h:

(IPC::Decoder::decode):
(IPC::Decoder::operator>>):
(IPC::Decoder::decodeEnum):

  • Platform/IPC/Encoder.h:
  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::encode):
(IPC::decode):

8:39 PM Changeset in webkit [259844] by cathiechen
  • 4 edits
    4 adds in trunk/LayoutTests

Import test for programmatic scrolling scrollend event
https://bugs.webkit.org/show_bug.cgi?id=210281

Reviewed by Frédéric Wang.

LayoutTests/imported/w3c:

Import test cases.

  • web-platform-tests/dom/events/scrolling/scrollend-event-fired-for-programmatic-scroll-expected.txt: Added.
  • web-platform-tests/dom/events/scrolling/scrollend-event-fired-for-programmatic-scroll.html: Added.
  • web-platform-tests/dom/events/scrolling/scrollend-event-fired-for-scrollIntoView-expected.txt: Added.
  • web-platform-tests/dom/events/scrolling/scrollend-event-fired-for-scrollIntoView.html: Added.
  • web-platform-tests/dom/events/scrolling/w3c-import.log:

LayoutTests:

  • tests-options.json:
7:11 PM Changeset in webkit [259843] by Darin Adler
  • 186 edits
    2 moves
    1 add in trunk

[Cocoa] Simplify NSArray, NSDictionary, and NSNumber idioms throughout WebKit
https://bugs.webkit.org/show_bug.cgi?id=210138

Reviewed by Alex Christensen.

Source/JavaScriptCore:

  • API/JSValue.mm:

(valueToObjectWithoutCopy): Use @().
(valueToNumber): Ditto.

  • API/tests/testapi.mm:

(-[TestObject callback:]): Use @[], @(), and @{}.
(-[TextXYZ click]): Ditto.
(testObjectiveCAPIMain): Ditto.

Source/WebCore:

  • Added createNSArray and makeVector.
  • Use createNSArray and makeVector<String> in many places where we convert between NSArray and Vector, replacing multiple existing functions that were doing the same job before; later can use them even more.
  • Use @[] many places where we create an autoreleased NSArray.
  • Use @{} many places where we create an autoreleased NSDictionary.
  • Use @() many places where we create an autoreleased NSNumber.
  • PlatformMac.cmake: Moved Float/IntRectMac.mm to Float/IntRectCocoa.mm.
  • SourcesCocoa.txt: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(AXAttributeStringSetBlockquoteLevel): Use @().
(AXAttributeStringSetHeadingLevel): Use @().
(-[WebAccessibilityObjectWrapper textMarkerRangeForSelection]): Use @[].
(-[WebAccessibilityObjectWrapper _stringFromStartMarker:toEndMarker:attributed:]): Use @[].
(-[WebAccessibilityObjectWrapper elementsForRange:]): Use @[].
(-[WebAccessibilityObjectWrapper textMarkersForRange:]): Use @[].

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::textReplacementChangeDictionary): Use @().

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(makeVectorElement): Aded overload for AccessibilitySearchKey.
(accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):
Use makeVector<AccessibilitySearchKey>.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(accessibilityTextCriteriaForParameterizedAttribute): Use makeVector<String>.
(accessibilitySearchTextCriteriaForParameterizedAttribute): Use makeVector<String>.
(AXAttributeStringSetStyle): Use @().
(AXAttributeStringSetBlockquoteLevel): Use @().
(AXAttributeStringSetHeadingLevel): Use @().
(-[WebAccessibilityObjectWrapper accessibilityActionNames]): Use @[].
(convertStringsToNSArray): Deleted.
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
Use @(), @[], and createNSArray.
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
Ditto.

  • bridge/objc/WebScriptObject.mm:

(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
Use @().

  • editing/cocoa/AlternativeTextUIController.mm:

(WebCore::AlternativeTextUIController::alternativesForContext):
Use makeVector<String>.

  • editing/cocoa/HTMLConverter.mm:

(defaultParagraphStyle): Use @[].
(HTMLConverter::computedAttributesForElement): Use @().
(HTMLConverter::_processMetaElementWithName): Use @().
(HTMLConverter::_addTableForElement): Use @().

  • page/ios/FrameIOS.mm:

(WebCore::Frame::interpretationsForCurrentRoot const): Use @[].

  • platform/cocoa/MIMETypeRegistryCocoa.mm:

(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): Use makeVector<String>.

  • platform/graphics/FloatRect.h: Added makeNSArrayElement overload so we can

convert Vector<FloatRect> into NSArray<NSValue>.

  • platform/graphics/IntRect.h: Similarly for IntRect.
  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:

(WebCore::MediaSelectionGroupAVFObjC::updateOptions): Use createNSArray.

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

(WebCore::mediaDescriptionForKind): Use @[].
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Use @().
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Use @().
(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability): Use @[].
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput): Use @{} and @().

  • platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm:

(WebCore::PlatformCAAnimationCocoa::valueFunction const):
(WebCore::PlatformCAAnimationCocoa::setFromValue):
(WebCore::PlatformCAAnimationCocoa::copyFromValueFrom):
(WebCore::PlatformCAAnimationCocoa::setToValue):
(WebCore::PlatformCAAnimationCocoa::copyToValueFrom):
(WebCore::PlatformCAAnimationCocoa::setValues):
(WebCore::PlatformCAAnimationCocoa::copyValuesFrom):
(WebCore::PlatformCAAnimationCocoa::setKeyTimes):
(WebCore::PlatformCAAnimationCocoa::copyKeyTimesFrom):
(WebCore::PlatformCAAnimationCocoa::setTimingFunctions):
(WebCore::PlatformCAAnimationCocoa::copyTimingFunctionsFrom):
Use @(), @[], modern for loops, auto, and allocate with capacity.

  • platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm:

(WebCore::PlatformCAFilters::filterValueForOperation): Use @().

  • platform/graphics/cocoa/FloatRectCocoa.mm: Moved from mac/FloatRectMac.mm.

(WebCore::makeNSArrayElement): Added so we can convert Vector<FloatRect>
into NSArray<NSValue>.

  • platform/graphics/cocoa/IntRectCocoa.mm: Moved from mac/IntRectMac.mm.

(WebCore::makeNSArrayElement): Similarly for IntRect.
(WebCore::enclosingIntRect): Use clampTo to be consistent with what
enclosingIntRect(FloatRect) does (while fixing check-webkit-style complaint).

  • platform/graphics/cocoa/WebGLLayer.mm:

(-[WebGLLayer display]): Add WebCore namespace prefix; needed depending on
how sources get unified (and was affecting my local build when it temporarily
had an additional source file).
(-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]): Ditto.
(-[WebGLLayer bindFramebufferToNextAvailableSurface]): Ditto.

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::systemFontModificationAttributes): Use @().

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::getTypes): Use makeVector<String>.
(WebCore::createItemProviderRegistrationList): Use createNSArray.
(WebCore::PlatformPasteboard::updateSupportedTypeIdentifiers): Use createNSArray.

  • platform/ios/WebItemProviderPasteboard.mm:

(-[WebItemProviderPasteboard setItemProviders:]): Use @[].

  • platform/ios/wak/WAKView.mm:

(-[WAKView subviews]): Dittto.

  • platform/mac/PlatformPasteboardMac.mm:

(WebCore::PlatformPasteboard::getTypes): Use makeVector<String>.
(WebCore::PlatformPasteboard::getPathnamesForType const): Use makeVector<String>.
(WebCore::PlatformPasteboard::addTypes): Use makeVector<String>.
(WebCore::PlatformPasteboard::setTypes): Use makeVector<String>.

  • platform/mac/StringUtilities.h: Removed

webCoreStringVectorFromNSStringArray, replaced by makeVector<String>

  • platform/mac/StringUtilities.mm:

(WebCore::webCoreStringVectorFromNSStringArray): Deleted.

  • platform/mac/WebCoreNSURLExtras.mm: Removed unneeded include.
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::setVideoInput): Use @().

  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::setupCaptureSession): Use @().

  • platform/network/cocoa/CookieCocoa.mm:

(WebCore::Cookie::operator NSHTTPCookie * _Nullable const): Use @().

  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::NetworkStorageSession::setCookiesFromDOM const): Use @{}.

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdatePlatformRequest): Use @YES/@NO.

Source/WebKit:

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: Remove uneeded include.
  • Platform/mac/StringUtilities.mm: Ditto.
  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::replacedNSConcreteTask_launch): Use makeVector<String>.
(WebKit::replacedNSWorkspace_launchApplicationAtURL_options_configuration_error):
Ditto.

  • Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:

(WebKit::toSupportedNetworks): Deleted.
(WebKit::WebPaymentCoordinatorProxy::platformPaymentRequest): Use createNSArray.

  • Shared/mac/PasteboardTypes.mm:

(WebKit::PasteboardTypes::forEditing): Use @[].
(WebKit::PasteboardTypes::forURL): Ditto.
(WebKit::PasteboardTypes::forImages): Ditto.
(WebKit::PasteboardTypes::forImagesWithArchive): Ditto.
(WebKit::PasteboardTypes::forSelection): Ditto.

  • UIProcess/API/Cocoa/WKContentRuleListStore.mm:

(-[WKContentRuleListStore getAvailableContentRuleListIdentifiers:]): Use createNSArray.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _getActivePagesOriginsInWebProcessForTesting:completionHandler:]): Ditto.

  • UIProcess/API/Cocoa/WKUserScript.mm:

(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:userContentWorld:]):
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:associatedURL:userContentWorld:]):
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:contentWorld:]):
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:associatedURL:contentWorld:]):
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:associatedURL:contentWorld:deferRunningUntilNotification:]):
Use makeVector<String>.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setupPageConfiguration:]): Use makeVector<String>.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _corsDisablingPatterns]): Use createNSArray.
(-[WKWebViewConfiguration _setCORSDisablingPatterns:]): Use makeVector<String>.

  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(-[WKWebView _contentsOfUserInterfaceItem:]): Use @().

  • UIProcess/API/Cocoa/_WKContentRuleListAction.mm:

(-[_WKContentRuleListAction notifications]): Use createNSArray.

  • UIProcess/API/Cocoa/_WKCustomHeaderFields.mm:

(-[_WKCustomHeaderFields thirdPartyDomains]): Use createNSArray.
(-[_WKCustomHeaderFields setThirdPartyDomains:]): Use makeVector<String>.

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration cachePartitionedURLSchemes]): Use createNSArray.
(-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]): Use makeVector<String>.
(-[_WKProcessPoolConfiguration alwaysRevalidatedURLSchemes]): Use createNSArray.
(-[_WKProcessPoolConfiguration setAlwaysRevalidatedURLSchemes:]): Use makeVector<String>.

  • UIProcess/API/Cocoa/_WKUserContentWorldInternal.h:

(API::toStringVector): Deleted.

  • UIProcess/API/Cocoa/_WKUserStyleSheet.mm:

(-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:userContentWorld:]):
(-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:baseURL:userContentWorld:]):
Use makeVector<String>.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::accessibilityAttributeValue): Use @[].
(WebKit::WebViewImpl::performDragOperation): Use makeVector<String>.
(WebKit::WebViewImpl::namesOfPromisedFilesDroppedAtDestination): Use @[].
(WebKit::WebViewImpl::collectKeyboardLayoutCommandsForEvent): Use @[].

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::launchProcess): Use createNSArray.
(WebKit::isJavaUpdaterURL): Use @[].
(WebKit::PluginProcessProxy::launchApplicationAtURL): Use @{} and createNSArray.
(WebKit::isSilverlightPreferencesURL): Use @[].

  • UIProcess/WebAuthentication/Cocoa/HidService.mm:

(WebKit::HidService::HidService): Use @() and fixed an over-release mistake.
This code was doing adoptNS on the result of +[NSNumberWithInt:], which is incorrect.

  • UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:

(WebKit::MockLocalConnection::getAttestation const): Use @[].

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView textStylingAtPosition:inDirection:]): Use @().
(-[WKContentView requestRectsToEvadeForSelectionCommandsWithCompletionHandler:]): Use createNSArray.
(-[WKContentView _itemsForBeginningOrAddingToSessionWithRegistrationLists:stagedDragSource:]):
Fixed a wasteful call to autorelease where we are adding an item to a dictionary. Calling get
is more efficient and still correct.

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel imagePickerController:didFinishPickingMediaWithInfo:]): Use @[].

  • UIProcess/ios/forms/WKFormColorPicker.mm:

(-[WKColorMatrixView initWithFrame:colorMatrix:]): Removed uneeded RetainPtr
local variable.

  • UIProcess/mac/CorrectionPanel.mm:

(WebKit::CorrectionPanel::show): Use createNSArray.

  • UIProcess/mac/TextCheckerMac.mm:

(WebKit::TextChecker::updateSpellingUIWithGrammarString): Use createNSArray.
(WebKit::TextChecker::getGuessesForWord): Use makeVector<String>.

  • UIProcess/mac/WKPrintingView.mm:

(-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): Use @().

  • UIProcess/mac/WKTextFinderClient.mm:

(arrayFromRects): Deleted.
(-[WKTextFinderClient didFindStringMatchesWithRects:didWrapAround:]): Use createNSArray.

  • UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:

(-[WKDataListSuggestionsController notifyAccessibilityClients:]): Use @{}
and fix a bug where this was creating a backwards dictionary. So this never
could have been working before, making me wonder how we test it.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::searchTheWeb): Use @[].

  • WebProcess/InjectedBundle/API/mac/WKDOMInternals.h: Removed toNSArray.
  • WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:

(WebKit::toNSArray): Deleted.

  • WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:

(-[WKDOMNode textRects]): Use createNSArray.

  • WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:

(-[WKDOMRange textRects]): Ditto.

  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::setBundleParameter): Use @{}.

  • WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:

(WebKit::makeRenderLayer): Use @[].

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::writeItemsToPasteboard): Use makeVector<String>.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::applicationDidEnterBackground): Use @().

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::suspendPainting): Use @{}.
(WebKit::TiledCoreAnimationDrawingArea::resumePainting): Use @{}.

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:

Removed an unneeded include.

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm: Ditto.

(-[WKAccessibilityWebPageObject accessibilityActionNames]): Use @[].
(-[WKAccessibilityWebPageObject accessibilityChildren]): Use @[].

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::getActivePagesOriginsForTesting): Use makeVector<String>.

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::runOpenPanel): Use createNSArray.

  • WebCoreSupport/WebVisiblePosition.mm:

(-[WebVisiblePosition enclosingRangeWithDictationPhraseAlternatives:]):
Use createNSArray.

  • WebCoreSupport/WebVisiblePositionInternal.h:

Added #if so that this correctly doesn't compile anything on Mac.

  • WebView/WebPDFViewIOS.mm:

(+[WebPDFView supportedMIMETypes]): Use @[].

Source/WebKitLegacy/mac:

  • DOM/DOM.mm:

(kit): Deleted overload that takes Vector<IntRect>.
(-[DOMNode textRects]): Use createNSArray.
(-[DOMRange textRects]): Ditto.

  • DOM/ExceptionHandlers.mm:

(raiseDOMErrorException): Use @().

  • History/WebBackForwardList.mm:

(-[WebBackForwardList dictionaryRepresentation]): Use @{}.

  • History/WebHistory.mm:

(+[WebHistoryPrivate initialize]): Use @{}.
(-[WebHistory _sendNotification:entries:]): Use @{}.

  • History/WebHistoryItem.mm:

(-[WebHistoryItem initFromDictionaryRepresentation:]): Use makeVector<String>.
(-[WebHistoryItem dictionaryRepresentation:]): Use createNSArray and @().

  • History/WebURLsWithTitles.m:

(+[WebURLsWithTitles arrayWithIFURLsWithTitlesPboardType]): Use @[].
(+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use @[].

  • Misc/WebCache.mm:

(+[WebCache statistics]): Use @[], @{}, and @().

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics memoryStatistics]): Ditto.

  • Misc/WebKitErrors.m:

(-[NSError _webkit_initWithDomain:code:URL:]): Use @().
(+[NSError _registerWebKitErrors]): Use @().
(-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): Use @().

  • Misc/WebKitNSStringExtras.mm:

(-[NSString _web_drawAtPoint:font:textColor:]): Use @{}.
(-[NSString _web_widthWithFont:]): Use @{}.

  • Misc/WebNSFileManagerExtras.mm: Removed unneeded include.
  • Misc/WebNSPasteboardExtras.mm:

(+[NSPasteboard _web_dragTypesForURL]): Use @[].
(-[NSPasteboard _web_writeURL:andTitle:types:]): Use @[].
(+[NSPasteboard _web_setFindPasteboardString:withOwner:]): Use @[].

  • Misc/WebNSURLExtras.mm: Removed unneeded include.
  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost): Use @{}.

  • Plugins/Hosted/NetscapePluginHostProxy.mm:

(WKPCIdentifierInfo): Use @().

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::addValueToArray): Use @().

  • Plugins/Hosted/WebHostedNetscapePluginView.mm: Removed unneeded include.
  • Plugins/WebBasePluginPackage.mm: Ditto.
  • Plugins/WebPluginContainerCheck.mm:

(-[WebPluginContainerCheck _actionInformationWithURL:]): Use @{}.

  • Plugins/WebPluginDatabase.mm:

(+[WebPluginDatabase _defaultPlugInPaths]): Use @[].

  • Storage/WebDatabaseManager.mm:

(-[WebDatabaseManager databasesWithOrigin:]): Use createNSArray.

  • WebCoreSupport/CorrectionPanel.mm:

(CorrectionPanel::show): Use createNSArray.

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::addMessageToConsole): Use @().

  • WebCoreSupport/WebEditorClient.mm:

(attributesForAttributedStringConversion): Use @().
(WebEditorClient::getGuessesForWord): Use makeVector<String>.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::actionDictionary const): Use @().
(kit): Deleted overload that takes Vector<String>.
(pluginView): Use @{}.
(WebFrameLoaderClient::createPlugin): Use createNSArray, @{}, and @().
(WebFrameLoaderClient::createJavaAppletWidget): Use createNSArray.

  • WebCoreSupport/WebOpenPanelResultListener.mm:

(-[WebOpenPanelResultListener chooseFilenames:]): Use makeVector<String>.
(-[WebOpenPanelResultListener chooseFilename:displayString:iconImage:]): Use @[].
(-[WebOpenPanelResultListener chooseFilenames:displayString:iconImage:]): Use makeVector<String>.

  • WebCoreSupport/WebSelectionServiceController.mm:

(WebSelectionServiceController::handleSelectionServiceClick):
Comment out an unused argument.

  • WebView/WebFrame.mm:

(-[WebFrame _rectsForRange:]): Use createNSArrray.
(-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]): Use createNSArray and @[].
(-[WebFrame childFrames]): Use @[].

  • WebView/WebHTMLView.mm:

(+[WebHTMLView _selectionPasteboardTypes]): Use @[].
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Use @[].
(-[WebHTMLView knowsPageRange:]): Use @[].
(-[WebHTMLView accessibilityAttributeValue:]): Use @[].
(-[WebHTMLView copyFont:]): Use @[].
(-[WebHTMLView _interpretKeyEvent:savingCommands:]): Use @[].
(-[WebHTMLView selectionTextRects]): Use createNSArray.
(-[WebHTMLView rectsForTextMatches]): Use createNSArray and @[].

  • WebView/WebPDFRepresentation.mm: Removed unneeded include.

(+[WebPDFRepresentation postScriptMIMETypes]): Use @[].
(+[WebPDFRepresentation supportedMIMETypes]): Use @[].

  • WebView/WebPDFView.mm:

(-[WebPDFView elementAtPoint:]): Use @{} and @().
(-[WebPDFView viewState]): Use @().
(-[WebPDFView selectionTextRects]): Use @[].
(-[WebPDFView pasteboardTypesForSelection]): Use @[].
(-[WebPDFView _menuItemsFromPDFKitForEvent:]): Use @().
(-[WebPDFView _openWithFinder:]): Use @{} and @().

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]): Use @().
(-[WebPreferences _setUnsignedIntValue:forKey:]): Use @().
(+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Use @().
(-[WebPreferences setStorageBlockingPolicy:]): Use @{} and @().

  • WebView/WebScriptDebugger.mm:

(WebScriptDebugger::sourceParsed): Use @().

  • WebView/WebTextCompletionController.mm:

(-[WebTextCompletionController _placePopupWindow:]): Use @{}.

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]): Use makeVector<String>.
(-[WebView _contentsOfUserInterfaceItem:]): Use @().
(toStringVector): Deleted.
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
Use makeVector<String>.
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
Use makeVector<String>.
(-[WebView _elementAtWindowPoint:]): Use @{}.
(-[WebView pasteboardTypesForSelection]): Use @[].
(-[WebView pasteboardTypesForElement:]): Use @[].
(-[WebView rectsForTextMatches]): Use @[].
(-[WebView _searchWithGoogleFromMenu:]): Use @[].
(-[WebView _setFontWhitelist:]): Use makeVector<String>.

Source/WTF:

  • WTF.xcodeproj/project.pbxproj: Added VectorCocoa.h.
  • wtf/PlatformMac.cmake: Ditto.
  • wtf/cocoa/NSURLExtras.mm: Removed unneeded include.
  • wtf/cocoa/URLCocoa.mm: Ditto.
  • wtf/cocoa/VectorCocoa.h: Added. Contains createNSArray and makeVector

function templates for converting NSArray to and from Vector.

  • wtf/text/WTFString.h: Added makeNSArrayElement and makeVectorElement

functions, making createNSArray and makeVector compatible with String.

  • wtf/text/cocoa/StringCocoa.mm:

(WTF::makeNSArrayElement): Added.
(WTF::makeVectorElement): Added.

Tools:

  • DumpRenderTree/AccessibilityController.h: Remove use of NotificationHandler

type; it's just "id".

  • DumpRenderTree/AccessibilityUIElement.cpp:

(convertElementsToObjectArray): Moved this up in the file, removed unneeded
use of JSValueToObject and unused exception argument.
(elementsForRangeCallback): Use convertElementsToObjectArray.
(columnHeadersCallback): Updated for removed exception argument.
(rowHeadersCallback): Ditto.
(uiElementArrayAttributeValueCallback): Ditto.

  • DumpRenderTree/AccessibilityUIElement.h: Changed to use RetainPtr.
  • DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm:

(createCoreAnimationLayer): Use @{}.

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::AccessibilityUIElement): Removed some unneeded
code now that we use RetainPtr.
(AccessibilityUIElement::~AccessibilityUIElement): Deleted.
(AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use @[].
(AccessibilityUIElement::textMarkerRangeForMarkers): Use @[].
(AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers): Use @[].

  • DumpRenderTree/ios/TextInputControllerIOS.m:

(-[TextInputController markedRange]): Use @[].

  • DumpRenderTree/mac/AccessibilityCommonMac.mm:

(searchPredicateParameterizedAttributeForSearchCriteria): Tweak a little.

  • DumpRenderTree/mac/AccessibilityNotificationHandler.mm:

(-[NSString createJSStringRef]): Deleted. Duplicate of a method already
implemented in anothe file.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(makeVectorElement): Added overloads to make both
makeVector<AccessibilityTextMarkerRange> and
makeVector<AccessibilityUIElement> work.
(AccessibilityUIElement::AccessibilityUIElement): Removed some unneeded
code now that we use RetainPtr.
(convertVectorToObjectArray): Removed unneeded use of JSValueToObject
and unneeded exception argument.
(convertNSArrayToVector): Deleted.
(AccessibilityUIElement::getLinkedUIElements): Use
makeVector<AccessibilityUIElement>.
(AccessibilityUIElement::getDocumentLinks): Ditto.
(AccessibilityUIElement::getChildren): Ditto.
(AccessibilityUIElement::getChildrenWithRange): Ditto.
(AccessibilityUIElement::rowHeaders const): Ditto.
(AccessibilityUIElement::columnHeaders const): Ditto.
(AccessibilityUIElement::uiElementArrayAttributeValue const): Ditto.
(AccessibilityUIElement::role): Updated since m_element is a RetainPtr.
(AccessibilityUIElement::subrole): Ditto.
(AccessibilityUIElement::roleDescription): Ditto.
(AccessibilityUIElement::computedRoleString): Ditto.
(AccessibilityUIElement::title): Ditto.
(AccessibilityUIElement::description): Ditto.
(AccessibilityUIElement::orientation const): Ditto.
(AccessibilityUIElement::stringValue): Ditto.
(AccessibilityUIElement::language): Ditto.
(AccessibilityUIElement::helpText const): Ditto.
(AccessibilityUIElement::lineForIndex): Use @().
(AccessibilityUIElement::rangeForLine): Use @().
(AccessibilityUIElement::searchTextWithCriteria): Use
makeVector<AccessibilityTextMarkerRange>.
(AccessibilityUIElement::attributesOfColumnHeaders): Use
makeVector<AccessibilityUIElement>.
(AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(AccessibilityUIElement::attributesOfColumns): Ditto.
(AccessibilityUIElement::attributesOfRows): Ditto.
(AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(AccessibilityUIElement::cellForColumnAndRow): Use @[] and @().
(AccessibilityUIElement::setSelectedChild const): Use @[].
(AccessibilityUIElement::setSelectedChildAtIndex const): Use @[].
(AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
Use @{}, @YES, and @NO.
(AccessibilityUIElement::textMarkerRangeForMarkers): Use @[].

  • DumpRenderTree/mac/DumpRenderTree.mm:

(addTestPluginsToPluginSearchPath): Use @[].
(resetWebViewToConsistentStateBeforeTesting): Use @[].

  • DumpRenderTree/mac/DumpRenderTreePasteboard.mm:

(-[DumpRenderTreePasteboard declareType:owner:]): Use @[].

  • DumpRenderTree/mac/EventSendingController.mm:

(-[EventSendingController beginDragWithFiles:]): Use @().
(-[EventSendingController sentTouchEventOfType:]): Use @().

  • DumpRenderTree/mac/MockWebNotificationProvider.mm:

(-[MockWebNotificationProvider cancelNotification:]): Use @[].

  • DumpRenderTree/mac/ObjCController.m:

(-[ObjCController objectOfClass:]): Use @().
(-[ObjCController arrayOfString]): Use @[].
(-[ObjCController testWrapperRoundTripping:]): Use @().
(-[ObjCController testArray]): Use @[].

  • DumpRenderTree/mac/TestRunnerMac.mm:

(originsArrayToJS): Removed unneeded use of JSValueToObject.

  • DumpRenderTree/mac/TextInputControllerMac.m:

(-[TextInputController markedRange]): Use @[] and @().
(-[TextInputController selectedRange]): Use @[] and @().
(-[TextInputController firstRectForCharactersFrom:length:]):
Use @[] and @().
(-[TextInputController dictatedStringWithPrimaryString:alternative:alternativeOffset:alternativeLength:]):
Use @[].
(-[TextInputController interpretKeyEvents:withSender:]): Use @[].

  • DumpRenderTree/mac/UIScriptControllerMac.mm:

(WTR::UIScriptControllerMac::copyText): Use [].

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp: Deleted an

unneeded copy constructor and destructor.

  • TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:

(-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Use @{}.

  • TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:

(toVector): Deleted.
(-[ContentRuleListNotificationDelegate _webView:contentRuleListWithIdentifier:performedAction:forURL:]):
Use makeVector<String>.

  • TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:

(TestWebKitAPI::TEST): Use @[].

  • TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:

(writeImageDataToPasteboard): Use @[] and @{}.
(writeBundleFileToPasteboard): Use @[].

  • TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:

(TestWebKitAPI::TEST): Use @[].

  • TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:

(TestWebKitAPI::TEST): Use @[].

  • TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:

(TestWebKitAPI::TEST): Use @[].

  • TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:

(TestWebKitAPI::TEST): Use @[].

  • TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:

(TestWebKitAPI::TEST): Use @[].

  • TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:

(runWebsiteDataStoreCustomPaths): Use @[].

  • TestWebKitAPI/Tests/mac/WebViewCanPasteURL.mm:

(TestWebKitAPI::TEST): Use @[].

  • TestWebKitAPI/Tests/mac/WebViewCanPasteZeroPng.mm:

(TestWebKitAPI::TEST): Use @[].

  • TestWebKitAPI/Tests/mac/WebViewDidCreateJavaScriptContext.mm:

(-[DidCreateJavaScriptContextFrameLoadDelegate webView:didCreateJavaScriptContext:forFrame:]):
Use @[].

  • TestWebKitAPI/ios/mainIOS.mm:

(main): Use @{}.

  • TestWebKitAPI/mac/InjectedBundleControllerMac.mm:

(TestWebKitAPI::InjectedBundleController::platformInitialize): Use @{} and @().

  • TestWebKitAPI/mac/mainMac.mm:

(main): Use {}.

  • WebKitTestRunner/InjectedBundle/AccessibilityController.h:

Use id instead of NotificationHandler.

  • WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.h:

Use id for PlatformTextMarkerRange. Added an overload of makeVectorElement
to make makeVector<RefPtr<AccessibilityTextMarkerRange>> work.

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:

Use RetainPtr. Added an overload of makeVectorElement to make
makeVector<RefPtr<AccessibilityUIElement>> work.

  • WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:

Removed unneeded include.

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::convertNSArrayToVector): Deleted.
(WTR::AccessibilityUIElement::AccessibilityUIElement): Simplified
since we use RetainPtr.
(WTR::AccessibilityUIElement::~AccessibilityUIElement): Ditto.
(WTR::convertElementsToObjectArray): Removed unneeded use of
JSValueToObject.
(WTR::AccessibilityUIElement::elementsForRange): Use
makeVector<RefPtr<AccessibilityUIElement>>.
(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
Use @[].
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Use @[].
(WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):

  • WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm:

(WTR::InjectedBundle::platformInitialize): Use @{}.

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::AccessibilityUIElement): Simplified
since we use RetainPtr.
(WTR::AccessibilityUIElement::~AccessibilityUIElement): Ditto.
(WTR::convertNSArrayToVector): Deleted.
(WTR::AccessibilityUIElement::getLinkedUIElements): Use
makeVector<RefPtr<AccessibilityUIElement>>.
(WTR::AccessibilityUIElement::getDocumentLinks): Ditto.
(WTR::AccessibilityUIElement::getUIElementsWithAttribute const): Ditto.
(WTR::AccessibilityUIElement::getChildren): Ditto.
(WTR::AccessibilityUIElement::getChildrenWithRange): Ditto.
(WTR::AccessibilityUIElement::rowHeaders const): Ditto.
(WTR::AccessibilityUIElement::columnHeaders const): Ditto.
(WTR::AccessibilityUIElement::allAttributes): Updated since m_element
is a RetainPtr.
(WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue): Ditto.
(WTR::AccessibilityUIElement::role): Ditto.
(WTR::AccessibilityUIElement::subrole): Ditto.
(WTR::AccessibilityUIElement::roleDescription): Ditto.
(WTR::AccessibilityUIElement::computedRoleString): Ditto.
(WTR::AccessibilityUIElement::title): Ditto.
(WTR::AccessibilityUIElement::description): Ditto.
(WTR::AccessibilityUIElement::orientation const): Ditto.
(WTR::AccessibilityUIElement::stringValue): Ditto.
(WTR::AccessibilityUIElement::language): Ditto.
(WTR::AccessibilityUIElement::helpText const): Ditto.
(WTR::AccessibilityUIElement::lineForIndex): Use @().
(WTR::AccessibilityUIElement::rangeForLine): Use @().
(WTR::AccessibilityUIElement::searchTextWithCriteria): Use
makeVector<RefPtr<AccessibilityTextMarkerRange>>.
(WTR::AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
(WTR::AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(WTR::AccessibilityUIElement::attributesOfColumns): Ditto.
(WTR::AccessibilityUIElement::attributesOfRows): Ditto.
(WTR::AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(WTR::AccessibilityUIElement::cellForColumnAndRow): Use @[] and @().
(WTR::AccessibilityUIElement::setSelectedChild const): Use @[].
(WTR::AccessibilityUIElement::setSelectedChildAtIndex const): Use @[].
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Use @[].

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveAllStorageAccessEntries): Take Vector&&.
(WTR::TestInvocation::didReceiveWebViewCategory): Take String&&.

  • WebKitTestRunner/TestInvocation.h: Updated for the above.
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::cocoaPlatformInitialize): Use @{}and @().
(WTR::TestController::getAllStorageAccessEntries): Use makeVector<String>.
(WTR::TestController::loadedThirdPartyDomains): Use makeVector<String>.
(WTR::TestController::getWebViewCategory): Update to pass String&&.
(WTR::TestController::setAllowedMenuActions): Use createNSArray.

  • WebKitTestRunner/ios/HIDEventGenerator.mm:

(-[HIDEventGenerator interpolatedEvents:]): Use @().

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::changeWindowScaleIfNeeded): Use @{} and @().

  • WebKitTestRunner/mac/TestControllerMac.mm: Removed unneeded include.
  • WebKitTestRunner/mac/UIScriptControllerMac.mm:

(WTR::UIScriptControllerMac::copyText): Use @[].

  • WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:

(-[WebKitTestRunnerPasteboard declareType:owner:]): Use @[].

5:40 PM Changeset in webkit [259842] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Storage: should be able to set a cookie with no value
https://bugs.webkit.org/show_bug.cgi?id=210237

Reviewed by Timothy Hatcher.

  • UserInterface/Views/CookiePopover.js:

(WI.CookiePopover.prototype.get serializedData):
Require an explicitly set name instead of falling back to the placeholder. Allow the
value to be an empty string.

(WI.CookiePopover.prototype.show):
Don't have default placeholder values for name or value for the reasons above.
Drive-by: if an existing WI.Cookie is provided, use its SameSite value.

  • UserInterface/Views/CookiePopover.css: Added.

(.popover .cookie-popover-content > table > tr > td > input:matches([type="text"], [type="datetime-local"]):matches(:invalid, .invalid)): Added.
(.popover .cookie-popover-content > table > tr > td > input:matches([type="text"], [type="datetime-local"]).invalid): Deleted.
Instead of changing the text color, change the border color.

5:28 PM Changeset in webkit [259841] by Devin Rousso
  • 2 edits in trunk/Source/JavaScriptCore

Don't emit the rhs twice in AssignResolveNode
https://bugs.webkit.org/show_bug.cgi?id=210312

Reviewed by Yusuke Suzuki.

  • bytecompiler/NodesCodegen.cpp:

(JSC::AssignResolveNode::emitBytecode):

4:58 PM Changeset in webkit [259840] by Megan Gardner
  • 4 edits in trunk/Source/WebKit

Popovers are dismissed immediately when they try and bring up the keyboard.
https://bugs.webkit.org/show_bug.cgi?id=210230
<rdar://problem/60385504>

Reviewed by Darin Adler.

When popovers use keyboards we dismiss them because the
web view loses firstResponder. We already have ways of
retaining focus when we lose first responde, so extend that
code to cover the case where a keyboard comes up in a popover.

We are also callling controlBeginEditing twice on refocusing a
popover due to behaviour with touch and syntheticClick, so
keep up from presenting the popover twice, and allow for the focus
count to be correclty incremented and decremented.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView preserveFocus]):
(-[WKContentView releaseFocus]):

  • UIProcess/ios/forms/WKFormInputControl.mm:

(-[WKDateTimePopover popoverWasDismissed:]):
(-[WKDateTimePopover controlBeginEditing]):
(-[WKDateTimePopover controlEndEditing]):

4:45 PM Changeset in webkit [259839] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[ macOS debug wk2 ] REGRESSION(r259761): ASSERTION FAILED: !needsLayout() on fast/events/scroll-subframe-in-rendering-update.html
https://bugs.webkit.org/show_bug.cgi?id=210278
<rdar://problem/61517389>

Reviewed by Simon Fraser.

Add a comment to clarify that the needsLayout() check during EventRegion painting in
RenderWidget::paint() is a workaround for <https://bugs.webkit.org/show_bug.cgi?id=210278>:
it is needed because event regions are only stored on compositing layers. Following r259761
a non-composited frames can request their enclosing compositing layer to update the event
region on their behalf. Outside of this special request (tracked via RenderView::needsEventRegionUpdateForNonCompositedFrame())
we want to do what the code did pre-r259761 and bail out in RenderWidget::paint() when
asked to perform an event region paint. We cannot depend on RenderView::needsEventRegionUpdateForNonCompositedFrame()
though since it could be have been set by a deep nested non-composited child frame and
an intermediary child frame along the path may have had its layout dirtied. That is why
we check needsLayout(). Eventually the needsEventRegionUpdateForNonCompositedFrame() bit
will be serviced (and turned off) once all frames along the path to the originally requesting
frame lay out.

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paint):

4:30 PM Changeset in webkit [259838] by Russell Epstein
  • 1 delete in tags/Safari-609.2.4

Delete tag.

4:19 PM Changeset in webkit [259837] by Russell Epstein
  • 11 edits in branches/safari-609-branch/Source

Revert r259689. rdar://problem/61269751

3:56 PM Changeset in webkit [259836] by Russell Epstein
  • 1 copy in tags/Safari-609.2.4

Tag Safari-609.2.4.

3:49 PM Changeset in webkit [259835] by ysuzuki@apple.com
  • 8 edits
    2 adds in trunk

[JSC] ModuleEnvironment do not have JSGlobalLexicalEnvironment as its upper scope
https://bugs.webkit.org/show_bug.cgi?id=193347

Reviewed by Tadeu Zagallo.

JSTests:

  • stress/global-lexical-environment-access-from-module.js: Added.

(shouldBe):
(import.string_appeared_here.then):

  • stress/resources/global-lexical-environment-access-from-module-child.js: Added.

(export.read):
(export.write):

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/inline-async-execorder-expected.txt:

Source/JavaScriptCore:

The upper scope of module scope should be global lexical environment instead of global object.
This patch fixes it to allow modules to access global lexical environment's variables.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::notifyLexicalBindingUpdate):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • runtime/JSModuleEnvironment.h:
  • runtime/JSModuleRecord.cpp:

(JSC::JSModuleRecord::instantiateDeclarations):

3:17 PM Changeset in webkit [259834] by Andres Gonzalez
  • 2 edits in trunk/Tools

WKAccessibilityRootObject must run on the main thread.
https://bugs.webkit.org/show_bug.cgi?id=210306

Reviewed by Chris Fleizach.

WKAccessibilityRootObject needs to run on the main thread because makes
calls into Document and Page. So reverting the change to make it run on
the AX thread. This means that we cannot simulate getting the root
object on the secondary thread at the moment, as it would with an
accessibility client that supports isolated tree mode. So it is a
tradeoff made for the time being to be able to make progress in testing
the rest of the functionality of AXIsolatedTree/Object.

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:

(WTR::AccessibilityController::accessibleElementById):

3:08 PM Changeset in webkit [259833] by ddkilzer@apple.com
  • 12 edits in trunk

Add using WTF::isInBounds to CheckedArithmetic.h
<https://webkit.org/b/210299>

Reviewed by Darin Adler.

Source/WebCore:

  • fileapi/Blob.cpp:

(WebCore::Blob::size const):

  • page/PointerCaptureController.cpp:

(WebCore::PointerCaptureController::elementWasRemoved):

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::cacheNativeImageAtIndex):

  • platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm:

(WebCore::tryGetResourceAsBufferBinding):

  • Remove WTF:: prefix from isInBounds().

Source/WebKit:

  • Platform/IPC/ArgumentCoders.h:
  • Shared/UserData.cpp:

(WebKit::UserData::decode):

  • Remove WTF:: prefix from isInBounds().

Source/WTF:

  • wtf/CheckedArithmetic.h:
  • Add using WTF::isInBounds statement so this function may be used unprefixed outside the WTF project.

Tools:

  • TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:

(TestWebKitAPI::TEST):

  • Remove WTF:: prefix from isInBounds().
2:55 PM Changeset in webkit [259832] by Andres Gonzalez
  • 3 edits in trunk/Source/WebCore

Fix for crash in test accessibility/mac/aria-grid-with-strange-hierarchy.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=210295

Reviewed by Chris Fleizach.

Covered by accessibility/mac/aria-grid-with-strange-hierarchy.html.

  • When AXIsolatedTree::applyPendingChanges encounters a change for an

already existing object, the existing object is discarded and the new
object replaces it in the nodes map. The existing and new objects must
have the same platform wrapper. Thus the wrapper needs to be detached
from the existing object about to be discarded, and re-attached to the
new object. We were missing the re-attachment, and hence the crash when
the wrapper tries to access its underlying object.

  • In addition, moved the LockHolder in a couple of intances to before

AXIsolatedTree::nodeForID, because this method accesses a member
variable used in both threads.

  • Added stricter assert checks to catch problems with the management of

objects and wrappers during tree updates.

  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::updateNode):
(WebCore::AXIsolatedTree::updateChildren):
(WebCore::AXIsolatedTree::applyPendingChanges):

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(-[WebAccessibilityObjectWrapperBase attachIsolatedObject:]):

2:50 PM Changeset in webkit [259831] by dbates@webkit.org
  • 3 edits in trunk/LayoutTests

[iOS]: New test landed for r259762 landed broken: editing/editable-region/hit-test-overlap.html
https://bugs.webkit.org/show_bug.cgi?id=210305
<rdar://problem/61539886>

Fix up the test. All sub-tests are expected to find editable elements. This is a result
of a last minute realization that I need to iterate over all the hit views instead of just
the frontmost one because the search rect can overlap multiple layers: See "iterate over all
the hit views" in <https://bugs.webkit.org/show_bug.cgi?id=209888#c21>. It is because of this
requirement that WebKit::mayContainEditableElementsInRect() can return a false positive: return
true that the search rect contains an editable element even though that element may be occluded
by a higher z-order element (composited or not). False positives are acceptable. Thouhg false
negatives are not.

  • editing/editable-region/hit-test-overlap-expected.txt:
  • editing/editable-region/hit-test-overlap.html:
2:45 PM Changeset in webkit [259830] by commit-queue@webkit.org
  • 18 edits
    6 adds in trunk

REGRESSION: CSS animations inside an embedded SVG image do not animate
https://bugs.webkit.org/show_bug.cgi?id=209370

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-04-09
Reviewed by Simon Fraser.

Source/WebCore:

If WebAnimation is enabled and the SVGImage includes CSS animations, the
DocumentTimeline is added to the SVGDocument of the embedded SVGImage.
Because the SVGImage has its own Page the RenderingUpdate is scheduled
and the updateRendering steps run in this Page.

The Page of the SVGImage is inactive such that scheduling RenderingUpdate
fails; therefore the updateRendering steps never run and the CSS animation
never advances.

The fix is:

1) Scheduling the RenderingUpdate: This has to happen in the Page which

contains the renderer of the SVGImage. Because DocumentTimeline is
added to SVGDocument, this scheduling will go through these hubs:

  • DocumentTimeline
  • Page
  • ChromeClient -> SVGImageChromeClient
  • SVGImage
  • ImageObserver -> CachedImageObserver
  • CachedImage
  • CachedImageClient -> RenderElement
  • Page

2) Running the updateRendering steps: Each document in the Page will

enumerate its cached SVGImages. The updateRendering of the Page of
each SVGImage will be called.

To make enumerating the cached SVGImages of a Document faster, the URL
of the cached SVGImage will be added to the cachedSVGImagesURLs of
CachedResourceLoader when notifyFinished() is called for associated
CachedImage.

Tests: svg/animations/css-animation-background-svg.html

svg/animations/css-animation-embedded-svg.html
svg/animations/css-animation-hover-svg.html

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::scheduleAnimationResolution):
(WebCore::DocumentTimeline::updateAnimationsAndSendEvents):

  • html/ImageBitmap.cpp:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::hasSVGImage const):
(WebCore::CachedImage::CachedImageObserver::scheduleTimedRenderingUpdate):
(WebCore::CachedImage::scheduleTimedRenderingUpdate):

  • loader/cache/CachedImage.h:
  • loader/cache/CachedImageClient.h:

(WebCore::CachedImageClient::scheduleTimedRenderingUpdate):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::isSVGImageCachedResource):
(WebCore::cachedResourceSVGImage):
(WebCore::CachedResourceLoader::notifyFinished):
(WebCore:: const):

  • loader/cache/CachedResourceLoader.h:
  • page/ChromeClient.h:

(WebCore::ChromeClient::scheduleTimedRenderingUpdate):

  • page/Page.cpp:

(WebCore::Page::scheduleTimedRenderingUpdate):
(WebCore::Page::updateRendering):

  • page/Page.h:
  • platform/graphics/ImageObserver.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::notifyFinished):
(WebCore::RenderElement::scheduleTimedRenderingUpdate):

  • rendering/RenderElement.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::notifyFinished):

  • svg/graphics/SVGImage.h:
  • svg/graphics/SVGImageClients.h:

LayoutTests:

  • svg/animations/css-animation-background-svg-expected.html: Added.
  • svg/animations/css-animation-background-svg.html: Added.
  • svg/animations/css-animation-embedded-svg-expected.html: Added.
  • svg/animations/css-animation-embedded-svg.html: Added.
  • svg/animations/css-animation-hover-svg-expected.html: Added.
  • svg/animations/css-animation-hover-svg.html: Added.
2:31 PM Changeset in webkit [259829] by keith_miller@apple.com
  • 40 edits in trunk

Remove legacy X-WebKit-CSP header support
https://bugs.webkit.org/show_bug.cgi?id=210256
Source/WebCore:

<rdar://problem/60634363>

Reviewed by Geoffrey Garen.

Supporting this header is causes compatibly issues for some sites
and they appear to be misconfigured. Additionally, no other
browser has supported these headers in many years. This patch
removes all support for the legacy X-WebKit-CSP header.

  • dom/Document.cpp:

(WebCore::Document::processHttpEquiv):

  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::ContentSecurityPolicyDirectiveList::ContentSecurityPolicyDirectiveList):

  • page/csp/ContentSecurityPolicyResponseHeaders.cpp:

(WebCore::ContentSecurityPolicyResponseHeaders::ContentSecurityPolicyResponseHeaders):

  • page/csp/ContentSecurityPolicyResponseHeaders.h:
  • platform/network/HTTPHeaderNames.in:
  • platform/network/ResourceResponseBase.cpp:

(WebCore::isSafeCrossOriginResponseHeader):

LayoutTests:

Reviewed by Geoffrey Garen.

Fix tests so they ensure we don't respect legacy CSP headers anymore.

  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-invalidnonce-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-invalidnonce.html:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy.php:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy.php:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2.php:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy.php:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2.php:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy.php:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy2.php:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy.php:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2.php:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked.html:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce.html:
2:20 PM Changeset in webkit [259828] by ysuzuki@apple.com
  • 2 edits in trunk/JSTests

Unreviewed, skip JSTests/stress/intl-canonicalize-locale-list-error-oom.js if memoryLimited
<rdar://problem/61533598>

  • stress/intl-canonicalize-locale-list-error-oom.js:
2:04 PM Changeset in webkit [259827] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] The function WebCore::systemHasBattery() should cache the result.
https://bugs.webkit.org/show_bug.cgi?id=210296
<rdar://problem/61331536>

Reviewed by Darin Adler.

The function WebCore::systemHasBattery() should cache the result, since the return value of this function
will be the same on a specific device.

No new tests, since there is no change in behavior.

  • platform/cocoa/SystemBattery.mm:

(WebCore::systemHasBattery):

1:51 PM Changeset in webkit [259826] by Keith Rollin
  • 16 edits in trunk

Set ENTITLEMENTS_REQUIRED=NO for some Xcode build targets
https://bugs.webkit.org/show_bug.cgi?id=210250
<rdar://problem/61502270>

Reviewed by Jonathan Bedard.

When building with the public version of Xcode 11.4, with XCBuild
enabled, and targeting the iOS device, some build targets issue an
error like:

error: An empty identity is not valid when signing a binary for

the product type 'Command-line Tool'. (in target 'yasm' from
project 'libwebrtc')

A comment in <rdar://problem/47092353> suggests setting
ENTITLEMENTS_REQUIRED=NO to relax the requirement. To that end, when
building with the public Xcode, establish that setting for the
affected targets.

Source/ThirdParty/libwebrtc:

  • Configurations/Base.xcconfig:

Source/WebCore:

No new tests -- no changed functionality.

  • Configurations/WebCoreTestShim.xcconfig:
  • Configurations/WebCoreTestSupport.xcconfig:

Source/WebKit:

  • Configurations/GPUService.xcconfig:
  • Configurations/NetworkService.xcconfig:
  • Configurations/PluginProcessShim.xcconfig:
  • Configurations/PluginService.64.xcconfig:
  • Configurations/SecItemShim.xcconfig:
  • Configurations/WebContentService.xcconfig:

Tools:

With this change, we can also remove
IDEProvisioningProfileSupportRelaxed=YES from webkitdirs.pm.

  • Scripts/webkitdirs.pm:

(XcodeOptions):

  • TestWebKitAPI/Configurations/TestWTF.xcconfig:
  • TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
1:51 PM Changeset in webkit [259825] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove FrameLoader::outgoingOrigin
https://bugs.webkit.org/show_bug.cgi?id=210286

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

Remove FrameLoader::outgoingOrigin since it is no longer used.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::outgoingOrigin const): Deleted.

  • loader/FrameLoader.h:
1:49 PM Changeset in webkit [259824] by Jacob Uphoff
  • 35 edits in trunk/Source

Unreviewed, reverting r259816.

This commit broke the webkit build for macOS and iOS

Reverted changeset:

"Introduce a RealtimeMediaSource observer dedicated to
receiving audio samples"
https://bugs.webkit.org/show_bug.cgi?id=210180
https://trac.webkit.org/changeset/259816

1:43 PM Changeset in webkit [259823] by Alan Coon
  • 1 copy in tags/Safari-610.1.9

Tag Safari-610.1.9.

1:40 PM Changeset in webkit [259822] by Alexey Shvayka
  • 4 edits in trunk

ProxyObject::defineOwnProperty() should conditionally throw on falsy trap result
https://bugs.webkit.org/show_bug.cgi?id=210267

Reviewed by Ross Kirsling.

JSTests:

  • test262/expectations.yaml: Mark 2 test cases as passing.

Source/JavaScriptCore:

This change adds conditional TypeError for falsy trap result [1], like there is in
ProxyObject::performPut(), aligning JSC with V8 and SpiderMonkey. Also replaces
throwVMTypeError() calls which results are unused with throwTypeError().

[1]: https://tc39.es/ecma262/#sec-definepropertyorthrow (step 4)

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::performDefineOwnProperty)

1:38 PM Changeset in webkit [259821] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[ macOS debug wk2 ] REGRESSION(r259762): ASSERTION FAILED: !needsLayout() on fast/events/scroll-subframe-in-rendering-update.html
https://bugs.webkit.org/show_bug.cgi?id=210278
<rdar://problem/61517389>

Reviewed by Darin Adler.

Only EventRegion paint the contents of the widget if the widget is a frame view that
does not need layout because layout must come before painting. Otherwise, an assertion
failure will occur.

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paint):

1:36 PM Changeset in webkit [259820] by Simon Fraser
  • 7 edits in trunk/Source

eventSender.monitorWheelEvents() should clear latching state
https://bugs.webkit.org/show_bug.cgi?id=210288

Reviewed by Tim Horton.

Use monitorWheelEvents() as a trigger to clear scroll latching state, both main-thread (via Page)
and scrolling thread (via ScrollingTree).

Page::ensureWheelEventTestMonitor() had side-effects, so hide it, and have clients explicitly call Page::startMonitoringWheelEvents().

Source/WebCore:

  • page/Page.cpp:

(WebCore::Page::startMonitoringWheelEvents):
(WebCore::Page::ensureWheelEventTestMonitor):

  • page/Page.h:
  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::monitorWheelEvents):
(WebCoreTestSupport::setWheelEventMonitorTestCallbackAndStartMonitoring):

Source/WebKit:

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

(WKBundlePageStartMonitoringScrollOperations):
(WKBundlePageRegisterScrollOperationCompletionCallback):

1:16 PM Changeset in webkit [259819] by Wenson Hsieh
  • 4 edits in trunk

Add an API test for <https://trac.webkit.org/r259766>
https://bugs.webkit.org/show_bug.cgi?id=210294

Reviewed by Tim Horton.

Source/WebCore:

Avoid trying to place the missing value into paragraphSets in TextManipulationController by bailing if either
the start or end positions are null (while the missing value requires both the start and end to be null, it is
sufficient to bail if either are null because observeParagraphs will be a no-op anyways).

See Tools/ChangeLog for more details.

Test: TextManipulation.CompleteTextManipulationAvoidCrashingWhenContentIsRemoved

  • editing/TextManipulationController.cpp:

(WebCore::TextManipulationController::scheduleObservartionUpdate):

Tools:

Exercise the pathological case fixed in r259766 by inserting and then immediately removing a paragraph element
after starting text manipulation. This test also revealed an existing issue in TextManipulationController, where
we will end up hitting a debug assertion when trying to insert { null position, null position } into a HashMap
underneath TextManipulationController::scheduleObservartionUpdate.

  • TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:

(TestWebKitAPI::TEST):

1:11 PM Changeset in webkit [259818] by Simon Fraser
  • 9 edits in trunk

Reset view navigation gesture state between tests
https://bugs.webkit.org/show_bug.cgi?id=210283

Reviewed by Tim Horton.

State in ViewGestureController could leak between tests if a test did not wait for the gesture to complete.
Specifically m_activeGestureType could be left as non-None.
Source/WebKit:

Fix by plumbing a 'reset' through from TestController::resetStateToConsistentValues().

The implementations leverage code from removeSwipeSnapshot(), but avoid the fact that removeSwipeSnapshot()
early returns in various cases by just always calling reset code, which is factored into a new resetState function.

  • UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(-[WKWebView _resetNavigationGestureStateForTesting]):

  • UIProcess/ViewGestureController.cpp:

(WebKit::ViewGestureController::willBeginGesture):
(WebKit::ViewGestureController::didEndGesture):
(WebKit::ViewGestureController::PendingSwipeTracker::handleEvent):
(WebKit::ViewGestureController::PendingSwipeTracker::eventWasNotHandledByWebCore):

  • UIProcess/ViewGestureController.h:
  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::removeSwipeSnapshot):
(WebKit::ViewGestureController::resetState):
(WebKit::ViewGestureController::reset):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::removeSwipeSnapshot):
(WebKit::ViewGestureController::resetState):
(WebKit::ViewGestureController::reset):

Tools:

Fix by plumbing a 'reset' through from TestController::resetStateToConsistentValues().

The implementations leverage code from removeSwipeSnapshot(), but avoid the fact that removeSwipeSnapshot()
early returns in various cases by just always calling reset code, which is factored into a new resetState function.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):

1:00 PM Changeset in webkit [259817] by Ryan Haddad
  • 23 edits in trunk/Source

Unreviewed, reverting r259804.

Breaks the watchOS build.

Reverted changeset:

"IPC serialization of enums should serialize
std::underlying_type instead of uint64_t"
https://bugs.webkit.org/show_bug.cgi?id=210228
https://trac.webkit.org/changeset/259804

12:44 PM Changeset in webkit [259816] by youenn@apple.com
  • 35 edits in trunk/Source

Introduce a RealtimeMediaSource observer dedicated to receiving audio samples
https://bugs.webkit.org/show_bug.cgi?id=210180

Reviewed by Eric Carlson.

Source/WebCore:

RealtimeMediaSource::Observer was called on various threads which was making iterating through them difficult.
Observers were copied to a vector for iterating each time and locking was happening for each indivudual observer.

Instead of doing that, RealtimeMediaSource::Observer no longer gives access to audio samples, all its methods are called from the main thread.
AudioSampleObserver is introduced with a single method to receive audio samples.
RealtimeMediaSource keeps a set of AudioSampleObserver separated from its existing Observer hashset.
These observers can only be added/removed from the main thread while audio sample delivery usually happens from a background thread.
We no longer need to copy the audio sample observers in a vector and lock only once when iterating the audio sample observers.

This change requires to update MediaStreamTrackPrivate and RealtimeMediaSource observers.
This includes WebAudio, Audio Renderer and Media Recorder.
Each corresponding class is now registering itself as a MediaStreamTrackPrivate::Observer and when needed as a RealtimeMediaSource::Observer.
This allows removing the additional copy-in-vector/lock that was happening when iterating over MediaStreamTrackPrivate::Observers for audio samples.

This change also allows for a consumer to always observe the MediaStreamTrackPrivate but receive audio samples only when needed.
We change the AudioTrackPrivateMediaStream implementation so that, if the renderer is muted, not playing, the track is muted or not enabled,
it no longer receives audio samples.
This is especially useful in the typical case where a video element displays the locally captured stream (including a local audio track) but is muted
to prevent feedback loop.
For that reason, the player is now setting the muted state of the renderer instead of setting volume to 0.

Covered by existing test sets.

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::createMediaRecorderPrivate):

  • Modules/mediarecorder/MediaRecorder.h:
  • Modules/mediarecorder/MediaRecorderProvider.cpp:

(WebCore::MediaRecorderProvider::createMediaRecorderPrivate):

  • Modules/mediarecorder/MediaRecorderProvider.h:
  • loader/EmptyClients.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVolume):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted):

  • platform/mediarecorder/MediaRecorderPrivate.cpp:

(WebCore::MediaRecorderPrivate::selectTracks):

  • platform/mediarecorder/MediaRecorderPrivate.h:

(WebCore::MediaRecorderPrivate::setAudioSource):
(WebCore::MediaRecorderPrivate::~MediaRecorderPrivate):

  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:

(WebCore::MediaRecorderPrivateAVFImpl::create):
(WebCore::MediaRecorderPrivateAVFImpl::~MediaRecorderPrivateAVFImpl):
(WebCore::MediaRecorderPrivateAVFImpl::audioSamplesAvailable):
(WebCore::MediaRecorderPrivateAVFImpl::stopRecording):
(WebCore::MediaRecorderPrivateAVFImpl::fetchData):

  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
  • platform/mediarecorder/MediaRecorderPrivateMock.cpp:

(WebCore::MediaRecorderPrivateMock::MediaRecorderPrivateMock):
(WebCore::MediaRecorderPrivateMock::~MediaRecorderPrivateMock):
(WebCore::MediaRecorderPrivateMock::stopRecording):
(WebCore::MediaRecorderPrivateMock::sampleBufferUpdated):
(WebCore::MediaRecorderPrivateMock::audioSamplesAvailable):
(WebCore::MediaRecorderPrivateMock::generateMockCounterString):
(WebCore::MediaRecorderPrivateMock::fetchData):

  • platform/mediarecorder/MediaRecorderPrivateMock.h:
  • platform/mediastream/AudioTrackPrivateMediaStream.cpp:

(WebCore::AudioTrackPrivateMediaStream::AudioTrackPrivateMediaStream):
(WebCore::AudioTrackPrivateMediaStream::clear):
(WebCore::AudioTrackPrivateMediaStream::play):
(WebCore::AudioTrackPrivateMediaStream::pause):
(WebCore::AudioTrackPrivateMediaStream::setMuted):
(WebCore::AudioTrackPrivateMediaStream::audioSamplesAvailable):
(WebCore::AudioTrackPrivateMediaStream::trackMutedChanged):
(WebCore::AudioTrackPrivateMediaStream::trackEnabledChanged):
(WebCore::AudioTrackPrivateMediaStream::trackEnded):
(WebCore::AudioTrackPrivateMediaStream::updateRenderer):
(WebCore::AudioTrackPrivateMediaStream::startRenderer):
(WebCore::AudioTrackPrivateMediaStream::stopRenderer):

  • platform/mediastream/AudioTrackPrivateMediaStream.h:
  • platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:

(WebCore::webkitMediaStreamSrcFinalize):
(WebCore::webkitMediaStreamSrcChangeState):
(WebCore::webkitMediaStreamSrcSetupSrc):

  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::forEachTrack):

  • platform/mediastream/MediaStreamPrivate.h:
  • platform/mediastream/MediaStreamTrackPrivate.cpp:

(WebCore::MediaStreamTrackPrivate::forEachObserver const):
(WebCore::MediaStreamTrackPrivate::addObserver):
(WebCore::MediaStreamTrackPrivate::removeObserver):
(WebCore::MediaStreamTrackPrivate::hasStartedProducingAudioData):

  • platform/mediastream/MediaStreamTrackPrivate.h:
  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::addAudioSampleObserver):
(WebCore::RealtimeMediaSource::removeAudioSampleObserver):
(WebCore::RealtimeMediaSource::addObserver):
(WebCore::RealtimeMediaSource::removeObserver):
(WebCore::RealtimeMediaSource::forEachObserver const):
(WebCore::RealtimeMediaSource::audioSamplesAvailable):

  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/RealtimeOutgoingAudioSource.cpp:

(WebCore::RealtimeOutgoingAudioSource::~RealtimeOutgoingAudioSource):
(WebCore::RealtimeOutgoingAudioSource::observeSource):
(WebCore::RealtimeOutgoingAudioSource::unobserveSource):

  • platform/mediastream/RealtimeOutgoingAudioSource.h:
  • platform/mediastream/WebAudioSourceProvider.h:
  • platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h:
  • platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:

(WebCore::WebAudioSourceProviderAVFObjC::WebAudioSourceProviderAVFObjC):
(WebCore::WebAudioSourceProviderAVFObjC::~WebAudioSourceProviderAVFObjC):
(WebCore::WebAudioSourceProviderAVFObjC::trackEnabledChanged):
(WebCore::WebAudioSourceProviderAVFObjC::audioSamplesAvailable):

  • testing/Internals.cpp:

(WebCore::Internals::~Internals):
(WebCore::createRecorderMockSource):
(WebCore::Internals::observeMediaStreamTrack):
(WebCore::Internals::videoSampleAvailable):

  • testing/Internals.h:

Source/WebKit:

Update SourceProxy to be an AudioSampleObserver.
Update MediaRecorder to only listen for audio samples if GPU remote writer is successfully created.
It also stops listening to audio samples as soon as stopping the recording.

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:

(WebKit::UserMediaCaptureManagerProxy::SourceProxy::SourceProxy):
(WebKit::UserMediaCaptureManagerProxy::SourceProxy::~SourceProxy):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::~MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::audioSamplesAvailable):
(WebKit::MediaRecorderPrivate::stopRecording):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
  • WebProcess/GPU/webrtc/MediaRecorderProvider.cpp:

(WebKit::MediaRecorderProvider::createMediaRecorderPrivate):

  • WebProcess/GPU/webrtc/MediaRecorderProvider.h:
12:42 PM Changeset in webkit [259815] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Add unit tests to ensure that step names are valid identifier
https://bugs.webkit.org/show_bug.cgi?id=210289

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps_unittest.py:

(TestStepNameShouldBeValidIdentifier):
(TestStepNameShouldBeValidIdentifier.test_step_names_are_valid): unit-test to validate step names.

12:33 PM Changeset in webkit [259814] by ddkilzer@apple.com
  • 6 edits in trunk/Source

WTF::Persistence::Coder and WTF::Persistence::Decoder should use WARN_UNUSED_RETURN
<https://webkit.org/b/210238>
<rdar://problem/61491575>

Reviewed by Darin Adler.

Source/WebKit:

  • NetworkProcess/cache/NetworkCacheEntry.cpp:

(WebKit::NetworkCache::Entry::decodeStorageRecord):

  • Add missing return value check for decode.decode().

Source/WTF:

  • wtf/persistence/PersistentCoders.cpp:

(WTF::Persistence::decodeStringText):

  • Add WARN_UNUSED_RETURN.
  • wtf/persistence/PersistentCoders.h:

(WTF::Persistence::Coder<Optional<T>>::decode):
(WTF::Persistence::Coder<Seconds>::decode):
(WTF::Persistence::Coder<WallTime>::decode):

  • Add WARN_UNUSED_RETURN.
  • Add missing return value check for decode.decodeFixedLengthData().
  • wtf/persistence/PersistentDecoder.h:

(WTF::Persistence::Decoder::decode):
(WTF::Persistence::Decoder::decodeEnum):
(WTF::Persistence::Decoder::bufferIsLargeEnoughToContain const):

  • Add WARN_UNUSED_RETURN.
12:23 PM Changeset in webkit [259813] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Removed unused fields and functions from StylePropertyShorthand
https://bugs.webkit.org/show_bug.cgi?id=210279

Reviewed by Darin Adler.

  • css/StylePropertyShorthand.cpp:

(WebCore::borderAbridgedShorthand): Deleted.

  • css/StylePropertyShorthand.h:

(WebCore::StylePropertyShorthand::StylePropertyShorthand):
(WebCore::StylePropertyShorthand::properties const):
(WebCore::StylePropertyShorthand::propertiesForInitialization const): Deleted.

12:20 PM Changeset in webkit [259812] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Add routines to message filter in the WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=210293

Reviewed by Geoffrey Garen.

Add required routines to the message filter in the WebContent process. This set of routines was compiled
from local testing, and is therefore probably not the complete set.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
12:00 PM Changeset in webkit [259811] by Jonathan Bedard
  • 7 edits
    2 adds in trunk/Tools

Buildbot: Force crash log submission after each test run
https://bugs.webkit.org/show_bug.cgi?id=210202
<rdar://problem/60508929>

Reviewed by Aakash Jain and Alexey Proskuryakov.

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

(TestFactory.init): Add steps triggering crash uploads and waiting for crash
collection to quiesce.

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

(TriggerCrashCollection): Add step to trigger crash collection.
(WaitForCrashCollection): Add step to wait for for crash collection process to quiesce.

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

(BuildStepsConstructorTest): Update Apple testing steps to include crash log collection.

  • BuildSlaveSupport/ews-build/factories.py:

(TestFactory):
(TestFactory.init): Add willTriggerCrashLogSubmission variable.
(iOSTestsFactory):
(macOSWK1Factory):
(macOSWK2Factory):

  • BuildSlaveSupport/ews-build/factories_unittest.py:

(TestLayoutTestsFactory.test_macos_wk1_release_factory):
(TestLayoutTestsFactory.test_macos_wk1_debug_factory):
(TestLayoutTestsFactory.test_macos_wk2_factory):
(TestLayoutTestsFactory.test_ios_wk2_factory):

  • BuildSlaveSupport/ews-build/steps.py:

(TriggerCrashLogSubmission):
(WaitForCrashCollection):

  • BuildSlaveSupport/trigger-crash-collection: Added.
  • BuildSlaveSupport/wait-for-crash-collection: Added.

(pid_for_name): Given a process name, return the PID for that process.
(cpu_percentage): Return float representing the current CPU usage of the provided PID.
(main):

11:22 AM Changeset in webkit [259810] by Devin Rousso
  • 16 edits
    2 adds in trunk

Web Inspector: Debugger: debug hooks should also be emitted for the first sub-expression in a comma expression
https://bugs.webkit.org/show_bug.cgi?id=210253

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • bytecompiler/NodesCodegen.cpp:

(JSC::CommaNode::emitBytecode):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseVariableDeclarationList):
(JSC::Parser<LexerType>::parseExpression):
We should emit debug hooks and record pause locations for the first sub-expression in comma
expressions, as the comma expression is not always standalone (e.g. true && (a(), b())).

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitDebugHook):
Save the JSTextPosition and DebugHookType of the last debug hook, using them to prevent
any additional debug hooks from being emitted if they have the same JSTextPosition and
DebugHookType. This prevents the debugger from pausing twice at the beginning of an
expression statement (e.g. |a(), b();).

Source/WebInspectorUI:

  • UserInterface/Workers/Formatter/JSFormatter.js:

(JSFormatter.prototype._handleTokenAtNode):
(JSFormatter.prototype._isLikelyToHaveNewline): Deleted.
If an arrow function wraps it's body with { and }, always add newlines to make setting
breakpoints inside the function body easier.

LayoutTests:

  • inspector/debugger/breakpoints/resources/dump-general.js:
  • inspector/debugger/breakpoints/resolved-dump-each-line-expected.txt:
  • inspector/debugger/breakpoints/resolved-dump-all-pause-locations-expected.txt:
  • inspector/debugger/stepping/stepOver.html:
  • inspector/debugger/stepping/stepOver-expected.txt:
  • inspector/formatting/formatting-javascript.html:
  • inspector/formatting/formatting-javascript-expected.txt:
  • inspector/formatting/resources/javascript-tests/arrow-functions-expected.js:
  • inspector/formatting/resources/javascript-tests/comma-expressions.js: Added.
  • inspector/formatting/resources/javascript-tests/comma-expressions-expected.js: Added.
11:17 AM Changeset in webkit [259809] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews] rename CompileJSCToT to CompileJSCWithoutPatch
https://bugs.webkit.org/show_bug.cgi?id=210265

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(CompileWebKitWithoutPatch): Drive-by fix to rename similar name.
(AnalyzeCompileWebKitResults.start): Ditto.
(CompileWebKit.evaluateCommand): Renamed CompileJSCToT to CompileJSCWithoutPatch.
(CompileJSCWithoutPatch): Ditto.
(ReRunJavaScriptCoreTests.evaluateCommand): Ditto.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
11:14 AM Changeset in webkit [259808] by Jacob Uphoff
  • 2 edits in trunk/LayoutTests/http/tests

Two tests need to be rebaselined
https://bugs.webkit.org/show_bug.cgi?id=210290

Unreviewed test gardening.

  • http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt:
  • http/tests/security/anchor-download-block-crossorigin-expected.txt:
10:59 AM Changeset in webkit [259807] by sbarati@apple.com
  • 3 edits
    1 add in trunk

We can still cache delete in strict mode as long as the property is not "non-configurable"
https://bugs.webkit.org/show_bug.cgi?id=210148

Reviewed by Tadeu Zagallo.

JSTests:

  • microbenchmarks/delete-cache-strict-mode.js: Added.

(assert):
(doDel):
(doDelByVal):

Source/JavaScriptCore:

We were incorrectly not inline caching all delete misses in strict mode.
We only must to not cache deletes on non-configurable properties in strict
mode, as that should throw a runtime error. Delete misses can still be cached
in strict mode without any issues. This is a 4x speedup on the microbenchmark.

  • jit/Repatch.cpp:

(JSC::tryCacheDeleteBy):

10:54 AM Changeset in webkit [259806] by Megan Gardner
  • 3 edits in trunk/Source/WebKit

[iOS] Date and time form controls are presented at the wrong size in some modes
https://bugs.webkit.org/show_bug.cgi?id=210194
<rdar://problem/60385475>

Reviewed by Tim Horton.

Instead of relying on the default size for date/time controls, we should let the
UIDatePicker determine its own size given the configuration we're going to use.

  • UIProcess/ios/forms/WKFormInputControl.mm:

(-[WKDateTimePicker initWithView:datePickerMode:]):
(-[WKDateTimePopover initWithView:datePickerMode:]):

  • UIProcess/ios/forms/WKFormSelectPopover.mm:

(-[WKSelectPopover initWithView:hasGroups:]):

9:25 AM Changeset in webkit [259805] by Simon Fraser
  • 19 edits
    5 adds in trunk

[Async overflow scroll] Horizontal scrolls can trigger unwanted back swipes
https://bugs.webkit.org/show_bug.cgi?id=210095
<rdar://problem/61376245>

Reviewed by Tim Horton.

Source/WebCore:

With async overflow/frame scrolling, EventDispatcher::wheelEvent() can't immediately
determine whether the scrolling tree handled the scroll; we have to wait until the
event has been processed by the scrolling thread. To allow that, add a
ScrollingEventResult::SendToScrollingThread return value and a give tryToHandleWheelEvent()
a callback that's called when the scrolling thread is done with the event. EventDispatcher
uses that to send the "didReceiveEvent" with "handled" back to the UI process, which then
proceeds with history or reading list swipes.

Various fixes were necessary to correctly determine whether the event was handled.

ScrollingTreeFrameScrollingNodeMac::handleWheelEvent() didn't return an accurate ScrollingEventResult,
and ScrollController didn't return false in cases where rubber-banding was disabled (which broke navigation swipes
and reading list navigation).

Tests: scrollingcoordinator/mac/latching/main-frame-back-swipe.html

scrollingcoordinator/mac/latching/simple-page-rubberbands.html

  • page/scrolling/ScrollingCoordinatorTypes.h:
  • page/scrolling/ScrollingThread.h:
  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::handleWheelEvent):
(WebCore::ScrollingTree::mainFrameCanRubberBandInDirection):

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::tryToHandleWheelEvent):

  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):

  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsHorizontalStretching const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsVerticalStretching const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::shouldRubberBandInDirection const):

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

(WebCore::ScrollController::handleWheelEvent):
(WebCore::ScrollController::wheelDeltaBiasingTowardsVertical):
(WebCore::ScrollController::directionFromEvent):
(WebCore::ScrollController::shouldRubberBandInHorizontalDirection const):
(WebCore::ScrollController::shouldRubberBandInDirection const):
(WebCore::ScrollController::shouldRubberBandInHorizontalDirection): Deleted.

Source/WebKit:

With async overflow/frame scrolling, EventDispatcher::wheelEvent() can't immediately
determine whether the scrolling tree handled the scroll; we have to wait until the
event has been processed by the scrolling thread. To allow that, add a
ScrollingEventResult::SendToScrollingThread return value and a give tryToHandleWheelEvent()
a callback that's called when the scrolling thread is done with the event. EventDispatcher
uses that to send the "didReceiveEvent" with "handled" back to the UI process, which then
proceeds with history or reading list swipes.

Various fixes were necessary to correctly determine whether the event was handled.

ScrollingTreeFrameScrollingNodeMac::handleWheelEvent() didn't return an accurate ScrollingEventResult,
and ScrollController didn't return false in cases where rubber-banding was disabled (which broke navigation swipes
and reading list navigation).

  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::handleWheelEvent):

  • UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::tryToHandleWheelEvent):

  • UIProcess/RemoteLayerTree/RemoteScrollingTree.h:
  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::sendDidReceiveEvent):

  • WebProcess/WebPage/EventDispatcher.h:

LayoutTests:

Tests that rubberbanding works on a simple page, and that edge swipes work on a simple page.

Edge swipes inside overflow:scroll are still broken by latching and will be fixed later.

  • resources/ui-helper.js:

(window.UIHelper.async mouseWheelScrollAt):

  • scrollingcoordinator/mac/latching/main-frame-back-swipe-expected.txt: Added.
  • scrollingcoordinator/mac/latching/main-frame-back-swipe.html: Added.
  • scrollingcoordinator/mac/latching/simple-page-rubberbands-expected.txt: Added.
  • scrollingcoordinator/mac/latching/simple-page-rubberbands.html: Added.
9:18 AM Changeset in webkit [259804] by achristensen@apple.com
  • 23 edits in trunk/Source

IPC serialization of enums should serialize std::underlying_type instead of uint64_t
https://bugs.webkit.org/show_bug.cgi?id=210228

Reviewed by Chris Dumez and Darin Adler.

Source/WebCore:

No change in behavior, other than less memory and time spent in IPC code.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContextStateChange::dump const):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/ca/PlatformCALayer.cpp:

(WebCore::PlatformCALayer::drawRepaintIndicator):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::setPlatformTextDrawingMode):

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::shouldUseLetterpressEffect):
(WebCore::FontCascade::drawGlyphs):

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::drawText):

  • rendering/TextPaintStyle.cpp:

(WebCore::updateGraphicsContext):

  • rendering/TextPainter.cpp:

(WebCore::TextPainter::paintTextAndEmphasisMarksIfNeeded):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::RenderSVGResourceGradient::applyResource):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::applyResource):

  • rendering/svg/RenderSVGResourceSolidColor.cpp:

(WebCore::RenderSVGResourceSolidColor::applyResource):

Source/WebKit:

  • Platform/IPC/Decoder.h:

(IPC::Decoder::decode):
(IPC::Decoder::operator>>):
(IPC::Decoder::decodeEnum):

  • Platform/IPC/Encoder.h:
  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::encode):
(IPC::decode):

9:13 AM Changeset in webkit [259803] by svillar@igalia.com
  • 3 edits in trunk/Source/JavaScriptCore

[Wasm] Build fix for non-unified builds
https://bugs.webkit.org/show_bug.cgi?id=210277

Reviewed by Yusuke Suzuki.

  • wasm/WasmPlan.cpp: Added missing includes.
  • wasm/WasmPlan.h: Forward declare CodeBlock.
8:24 AM Changeset in webkit [259802] by youenn@apple.com
  • 3 edits
    2 adds in trunk

Source/WebKit:
[MacOS] REGRESSION (r253275): Stopping a cloned audio capture track should not stop the original audio track
https://bugs.webkit.org/show_bug.cgi?id=210259
<rdar://problem/61466486>

Reviewed by Eric Carlson.

We changed video track cloning so that each cloned track would get its own source.
The source is getting video sample from the real capture source.
The real capture source will get stopped if all its client sources are stopped.

For audio, we are still using the same audio source for each track.
We should thus not close the source until all its tracks are stopped.
To do so, we reuse RealtimeMediaSource::requestToEnd instead of directly sending
the order to stop observing the remote audio source.

Test: fast/mediastream/mediastreamtrack-audio-clone.html

  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::Source::requestToEnd):
(WebKit::UserMediaCaptureManager::Source::stopBeingObserved): Deleted.

LayoutTests:
[MacOS] Stopping a cloned audio capture track should not stop the original audio track
https://bugs.webkit.org/show_bug.cgi?id=210259
<rdar://problem/61466486>

Reviewed by Eric Carlson.

  • fast/mediastream/mediastreamtrack-audio-clone-expected.txt: Added.
  • fast/mediastream/mediastreamtrack-audio-clone.html: Added.
8:19 AM Changeset in webkit [259801] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

[ iOS wk2 ] crypto/subtle/rsa-indexeddb.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=208010

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
8:13 AM Changeset in webkit [259800] by Alexey Shvayka
  • 5 edits
    2 adds in trunk

getOwnPropertyDescriptor() is incorrect with Proxy of exotic object
https://bugs.webkit.org/show_bug.cgi?id=200560

Reviewed by Yusuke Suzuki.

JSTests:

  • test262/expectations.yaml: Mark 14 test cases as passing.

Source/JavaScriptCore:

PropertyAttribute::CustomValue path in JSObject::getOwnPropertyDescriptor() needs to perform
getDirect() on correct target. A correct target may be different since getOwnPropertySlot()
may return not *own* property.

This change removes a hack that was covering only JSProxy case and invokes getDirect() on
slotBase(), ensuring ProxyObject instances with exotic targets return correct descriptors
and aligning JSC with V8 and SpiderMonkey.

getDirect() can be safely called on slotBase(): if getOwnPropertySlot() result is returned
from JS code of ProxyObject's trap, it will never be a PropertyAttribute::CustomValue.

This patch also moves setCustomDescriptor() down below to avoid mutating a descriptor when
returning false.

  • runtime/JSObject.cpp:

(JSC::JSObject::getOwnPropertyDescriptor):

LayoutTests:

  • js/getOwnPropertyDescriptor-host-object-proxy-expected.txt: Added.
  • js/getOwnPropertyDescriptor-host-object-proxy.html: Added.
7:48 AM Changeset in webkit [259799] by Claudio Saavedra
  • 5 edits in trunk

[GTK] Clean-up use of deprecated GtkAction
https://bugs.webkit.org/show_bug.cgi?id=210273

Reviewed by Carlos Garcia Campos.

Source/WebKit:

GtkAction is deprecated, however we use it because it's exposed
in the public API. Guard deprecated API usage to remove warnings and
update docs to not suggest using the deprecated API.

  • Shared/API/glib/WebKitContextMenuItem.cpp:
  • Shared/glib/WebContextMenuItemGlib.cpp:

(WebKit::WebContextMenuItemGlib::buildActionName const):
(WebKit::WebContextMenuItemGlib::createActionIfNeeded):

Tools:

GtkAction is deprecated so remove usage of it in the
context menu API tests and guard its API usage when
we still need to use it to test the deprecated WebKitGTK+ API
exposing GtkAction.

  • TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:

(testContextMenuPopulateMenu):

7:20 AM Changeset in webkit [259798] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Use more WeakPtr in RenderTreeBuilder::FirstLetter
https://bugs.webkit.org/show_bug.cgi?id=210251
<rdar://problem/61180381>

Reviewed by Zalan Bujtas.

For safety.

  • rendering/updating/RenderTreeBuilderFirstLetter.cpp:

(WebCore::RenderTreeBuilder::FirstLetter::createRenderers):

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

[GTK] Gardening, update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=210275

Unreviewed gardening.

Gardening of flaky failures.

  • platform/gtk/TestExpectations:
6:56 AM Changeset in webkit [259796] by dbates@webkit.org
  • 4 edits in trunk/LayoutTests

Fix layout tests after r259762
(https://bugs.webkit.org/show_bug.cgi?id=209888)

Fix up path to external JavaScript scripts.

  • editing/editable-region/hit-test-basic.html:
  • editing/editable-region/hit-test-fixed.html:
  • editing/editable-region/hit-test-overlap.html:
6:22 AM Changeset in webkit [259795] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[WPE] Gardening of ImageOnly failures
https://bugs.webkit.org/show_bug.cgi?id=210260

Unreviewed gardening.

Update several ImageOnly failures.

  • platform/wpe/TestExpectations:
6:20 AM Changeset in webkit [259794] by Carlos Garcia Campos
  • 2 edits
    1 delete in trunk/LayoutTests

Unreviewed GTK gardening. Remove platform specific results for http/tests/appcache/history-test.html

This was a progression, not a regression.

  • platform/gtk/TestExpectations:
  • platform/gtk/http/tests/appcache/history-test-expected.txt: Removed.
6:19 AM Changeset in webkit [259793] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Gardening, flaky failures in EWS GTK-WK2
https://bugs.webkit.org/show_bug.cgi?id=210268

Unreviewed gardening.

Mark tests only failing in EWS GTK-WK2 as flaky.

  • platform/gtk/TestExpectations:
6:16 AM Changeset in webkit [259792] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix CLOOP build
https://bugs.webkit.org/show_bug.cgi?id=207119

Patch by Angelos Oikonomopoulos <Angelos Oikonomopoulos> on 2020-04-09
Reviewed by Aakash Jain.

  • CMakeLists.txt:
5:08 AM Changeset in webkit [259791] by Diego Pino Garcia
  • 2 edits in trunk/WebDriverTests

[WebDriver] Gardening, update expectations of several WebDriver tests.
https://bugs.webkit.org/show_bug.cgi?id=210229

Reviewed by Carlos Garcia Campos.

Clean up tests expected to fail but passed.

4:59 AM Changeset in webkit [259790] by Diego Pino Garcia
  • 3 edits
    6 adds in trunk/LayoutTests

[WPE] Gardening, update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=210257

Unreviewed gardening.

  • platform/wpe/TestExpectations:
  • platform/wpe/accessibility/roles-exposed-expected.txt: Updated baseline after r259671.
  • platform/wpe/fast/ruby/bopomofo-mixed-expected.txt: New baseline after r258990.
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom-view/cssom-getBoundingClientRect-003-expected.txt: New baseline after r259059.
  • platform/wpe/imported/w3c/web-platform-tests/css/selectors/focus-visible-009-expected.txt: New baseline after r259194.
  • platform/wpe/accessibility/menu-list-sends-change-notification-expected.txt: New baseline after r259438.
4:01 AM Changeset in webkit [259789] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebKit

UserData::decode should add bounds checks
<https://webkit.org/b/210247>
<rdar://problem/61467748>

Reviewed by Alex Christensen.

  • Shared/UserData.cpp:

(WebKit::UserData::decode):

  • Add bounds checks using WTF::isInBounds<size_t>.
  • Shared/UserData.h:

(WebKit::UserData::decode):

  • Add WARN_UNUSED_RETURN.
3:52 AM Changeset in webkit [259788] by ddkilzer@apple.com
  • 4 edits in trunk/Source

Follow-up: WTF::Persistence::VectorCoder and IPC::VectorArgumentCoder should do bounds checking without crashing
<https://webkit.org/b/210227>
<rdar://problem/60832243>

Reviewed by Alex Christensen.

Source/WebKit:

  • Platform/IPC/ArgumentCoders.h:
  • Add missing call to decoder.markInvalid() if decoding of decodedSize fails.
  • Replace safeCast<size_t> with isInBounds<size_t> so that we don't crash if decodedSize is too big. Instead we fail decoding by marking the decoder invalid and returning early.
  • Revert checked arithemtic for multiplication since bufferIsLargeEnoughToContain<T(size) already did this check for us.

Source/WTF:

  • wtf/persistence/PersistentCoders.h:

(WTF::Persistence::VectorCoder::decode):

  • Replace safeCast<size_t> with isInBounds<size_t> so that we don't crash if decodedSize is too big. Instead we fail decoding by returning early.
  • Revert checked arithemtic for multiplication since bufferIsLargeEnoughToContain<T(size) already did this check for us.
3:05 AM Changeset in webkit [259787] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews] rename CompileWebKitToT to CompileWebKitWithoutPatch
https://bugs.webkit.org/show_bug.cgi?id=210190

Reviewed by Alex Christensen.

  • BuildSlaveSupport/ews-build/steps.py: Renamed CompileWebKitToT to CompileWebKitWithoutPatch.

(CompileWebKit.evaluateCommand):
(CompileWebKitWithoutPatch):
(AnalyzeCompileWebKitResults.start):
(ReRunWebKitTests.evaluateCommand):
(ReRunAPITests.evaluateCommand):
(CompileWebKitToT): Deleted.
(CompileWebKitToT.doStepIf): Deleted.
(CompileWebKitToT.hideStepIf): Deleted.
(CompileWebKitToT.evaluateCommand): Deleted.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests accordingly.
2:27 AM Changeset in webkit [259786] by mark.lam@apple.com
  • 21 edits in trunk/Source

Implement a more efficient tagCFunction() tool.
https://bugs.webkit.org/show_bug.cgi?id=210254

Reviewed by Keith Miller.

Source/JavaScriptCore:

Putting tagCFunction() to use.

  • b3/B3LowerMacros.cpp:
  • b3/B3LowerMacrosAfterOptimizations.cpp:
  • b3/B3MathExtras.cpp:
  • b3/B3ReduceLoopStrength.cpp:

(JSC::B3::ReduceLoopStrength::reduceByteCopyLoopsToMemcpy):

  • b3/B3ReduceStrength.cpp:
  • b3/testb3_5.cpp:

(testCallSimple):
(testCallRare):
(testCallRareLive):
(testCallSimplePure):
(testCallFunctionWithHellaArguments):
(testCallFunctionWithHellaArguments2):
(testCallFunctionWithHellaArguments3):
(testCallSimpleDouble):
(testCallSimpleFloat):
(testCallFunctionWithHellaDoubleArguments):
(testCallFunctionWithHellaFloatArguments):
(testLinearScanWithCalleeOnStack):

  • b3/testb3_6.cpp:

(testInterpreter):

  • b3/testb3_7.cpp:

(testLICMPure):
(testLICMPureSideExits):
(testLICMPureWritesPinned):
(testLICMPureWrites):
(testLICMReadsLocalState):
(testLICMReadsPinned):
(testLICMReads):
(testLICMPureNotBackwardsDominant):
(testLICMPureFoiledByChild):
(testLICMPureNotBackwardsDominantFoiledByChild):
(testLICMExitsSideways):
(testLICMWritesLocalState):
(testLICMWrites):
(testLICMFence):
(testLICMWritesPinned):
(testLICMControlDependent):
(testLICMControlDependentNotBackwardsDominant):
(testLICMControlDependentSideExits):
(testLICMReadsPinnedWritesPinned):
(testLICMReadsWritesDifferentHeaps):
(testLICMReadsWritesOverlappingHeaps):
(testLICMDefaultCall):
(testShuffleDoesntTrashCalleeSaves):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::emitRestoreArguments):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::handleExitCounts):
(JSC::DFG::osrWriteBarrier):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs):
(JSC::FTL::DFG::LowerDFGToB3::compileCallEval):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::callExceptionFuzz):

  • jit/CCallHelpers.cpp:

(JSC::CCallHelpers::ensureShadowChickenPacket):

  • jit/JITOperations.cpp:
  • jit/ThunkGenerators.cpp:

(JSC::throwExceptionFromCallSlowPathGenerator):
(JSC::slowPathFor):
(JSC::nativeForGenerator):
(JSC::boundFunctionCallGenerator):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::addTableGet):
(JSC::Wasm::B3IRGenerator::addTableSet):
(JSC::Wasm::B3IRGenerator::addRefFunc):
(JSC::Wasm::B3IRGenerator::addTableSize):
(JSC::Wasm::B3IRGenerator::addTableGrow):
(JSC::Wasm::B3IRGenerator::addTableFill):
(JSC::Wasm::B3IRGenerator::addGrowMemory):
(JSC::Wasm::B3IRGenerator::setGlobal):
(JSC::Wasm::B3IRGenerator::emitWriteBarrierForJSWrapper):
(JSC::Wasm::B3IRGenerator::addOp<OpType::I32Popcnt>):
(JSC::Wasm::B3IRGenerator::addOp<OpType::I64Popcnt>):

  • wasm/WasmThunks.cpp:

(JSC::Wasm::triggerOMGEntryTierUpThunkGenerator):

Source/WTF:

The current tagCFunctionPtr() tool does some extra work that is not needed if
we are tagging a known function and not a potentially arbitrary pointer. For
example,

  1. it doesn't need to do a null check.
  2. it doesn't need to authenticate the function address.
  3. The RELEASE_ASSERT used to enforce that authentication can also go away.

We should only use tagCFunction() (instead of tagCFunctionPtr()) if we know for
certain that we're operating on a C/C++ function, and not some arbitrary pointer.

  • wtf/PtrTag.h:

(WTF::tagCFunction):

12:57 AM Changeset in webkit [259785] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove unnecessary explicit parsing for mo@maxsize value "infinity"
https://bugs.webkit.org/show_bug.cgi?id=202720

Patch by Delan Azabani <dazabani@igalia.com> on 2020-04-09
Reviewed by Frédéric Wang.

In MathML 2, the default mo@maxsize was infinity [1], unless some other
default was given by mstyle@maxsize [2]. The sole purpose of "infinity"
was to give authors a way to set mo@maxsize to infinity when some other
mstyle@maxsize was set.

MathML Core removes mstyle@maxsize [3][4], such that "infinity" has the
same semantics as any other missing or invalid mo@maxsize, so the spec
has been simplified to make infinity an anonymous value [5][6].

No functional change, because WebKit has never supported mstyle@maxsize
anyway. To verify that there's no functional change:

  1. Search for references to LengthType::Infinity, and observe that the

mo@maxsize parser in MathMLOperatorElement::maxSize is the only
place where a Length of ::type infinity is created

  1. Search for references to that method, and observe that the only

caller (RenderMathMLOperator::maxSize) passes intMaxForLayoutUnit
(infinity) to toUserUnits as the referenceValue

  1. Go to the definition of toUserUnits, and observe that the refer-

enceValue is used as the ParsingFailed default

  1. Step 1 shows that no other attributes would be affected by removing

LengthType::Infinity, and steps 2 and 3 show that mo@maxsize treats
invalid values as infinity, therefore it's safe to remove both the
"infinity" parsing code and the underlying LengthType variant

[1] https://www.w3.org/TR/MathML2/chapter3.html#id.3.2.5.2
[2] https://www.w3.org/TR/MathML2/chapter3.html#presm.mstyle
[3] https://mathml-refresh.github.io/mathml-core/#style-change-mstyle
[4] https://github.com/mathml-refresh/mathml/issues/1
[5] https://mathml-refresh.github.io/mathml-core/#dictionary-based-attributes
[6] https://github.com/mathml-refresh/mathml/issues/107

No new tests, because no functional change.

  • mathml/MathMLElement.h: Remove LengthType::Infinity.
  • mathml/MathMLOperatorElement.cpp:

(WebCore::MathMLOperatorElement::maxSize): Remove explicit branch on "infinity". Replace what remains with an equivalent cachedMathMLLength call.

  • rendering/mathml/RenderMathMLBlock.cpp:

(WebCore::toUserUnits): Remove explicit branch on LengthType::Infinity.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::maxSize): Update comment to refer to the default value in the same way as the spec.

12:34 AM Changeset in webkit [259784] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Gardening, update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=210248

Unreviewed gardening.

Add tests failing after r259705.

  • platform/gtk/TestExpectations:
Note: See TracTimeline for information about the timeline view.