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

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:
Note: See TracTimeline for information about the timeline view.