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

Timeline



May 17, 2022:

11:26 PM Changeset in webkit [294383] by Antti Koivisto
  • 13 edits in trunk/Source/WebCore

Template TextBoxPainter on line layout path
https://bugs.webkit.org/show_bug.cgi?id=240416

Reviewed by Alan Bujtas.

Painting currently goes via a line layout path agnostic iterator.
This is inefficient since we always know what sort of layout we are painting.

  • Source/WebCore/layout/integration/inline/InlineIteratorBox.cpp:

(WebCore::InlineIterator::Box::visualRect const):

  • Source/WebCore/layout/integration/inline/InlineIteratorBox.h:

(WebCore::InlineIterator::Box::containingBlock const):
(WebCore::InlineIterator::Box::visualRect const): Deleted.

  • Source/WebCore/layout/integration/inline/InlineIteratorBoxLegacyPath.h:

(WebCore::InlineIterator::BoxLegacyPath::containingBlock const):
(WebCore::InlineIterator::BoxLegacyPath::direction const):
(WebCore::InlineIterator::BoxLegacyPath::isFirstLine const):

  • Source/WebCore/layout/integration/inline/InlineIteratorBoxModernPath.h:

(WebCore::InlineIterator::BoxModernPath::containingBlock const):
(WebCore::InlineIterator::BoxModernPath::direction const):
(WebCore::InlineIterator::BoxModernPath::isFirstLine const):
(WebCore::InlineIterator::BoxModernPath::renderText const):

  • Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::paint):

  • Source/WebCore/rendering/GlyphDisplayListCache.h:

(WebCore::GlyphDisplayListCache::singleton):

  • Source/WebCore/rendering/InlineBoxPainter.cpp:

(WebCore::InlineBoxPainter::paintMask):
(WebCore::InlineBoxPainter::paintDecorations):

  • Source/WebCore/rendering/LegacyInlineFlowBox.cpp:

(WebCore::LegacyInlineFlowBox::addTextBoxVisualOverflow):

  • Source/WebCore/rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::paint):

  • Source/WebCore/rendering/LegacyInlineTextBox.h:
  • Source/WebCore/rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):

  • Source/WebCore/rendering/TextBoxPainter.cpp:

(WebCore::LegacyTextBoxPainter::LegacyTextBoxPainter):
(WebCore::ModernTextBoxPainter::ModernTextBoxPainter):
(WebCore::TextBoxPainter<TextBoxPath>::TextBoxPainter):
(WebCore::TextBoxPainter<TextBoxPath>::~TextBoxPainter):
(WebCore::TextBoxPainter<TextBoxPath>::makeIterator const):
(WebCore::TextBoxPainter<TextBoxPath>::paint):
(WebCore::TextBoxPainter<TextBoxPath>::createMarkedTextFromSelectionInBox):
(WebCore::TextBoxPainter<TextBoxPath>::paintBackground):
(WebCore::TextBoxPainter<TextBoxPath>::paintForegroundAndDecorations):
(WebCore::TextBoxPainter<TextBoxPath>::paintCompositionBackground):
(WebCore::TextBoxPainter<TextBoxPath>::paintForeground):
(WebCore::TextBoxPainter<TextBoxPath>::createDecorationPainter):
(WebCore::TextBoxPainter<TextBoxPath>::paintBackgroundDecorations):
(WebCore::TextBoxPainter<TextBoxPath>::paintForegroundDecorations):
(WebCore::TextBoxPainter<TextBoxPath>::paintCompositionUnderlines):
(WebCore::TextBoxPainter<TextBoxPath>::textPosition):
(WebCore::TextBoxPainter<TextBoxPath>::paintCompositionUnderline):
(WebCore::TextBoxPainter<TextBoxPath>::paintPlatformDocumentMarkers):
(WebCore::LegacyTextBoxPainter::calculateUnionOfAllDocumentMarkerBounds):
(WebCore::TextBoxPainter<TextBoxPath>::paintPlatformDocumentMarker):
(WebCore::TextBoxPainter<TextBoxPath>::computePaintRect):
(WebCore::calculateDocumentMarkerBounds):
(WebCore::TextBoxPainter<TextBoxPath>::computeHaveSelection const):
(WebCore::TextBoxPainter<TextBoxPath>::fontCascade const):
(WebCore::TextBoxPainter<TextBoxPath>::textOriginFromPaintRect const):
(WebCore::TextBoxPainter<TextBoxPath>::debugTextShadow const):
(WebCore::TextBoxPainter::TextBoxPainter): Deleted.
(WebCore::TextBoxPainter::~TextBoxPainter): Deleted.
(WebCore::TextBoxPainter::paint): Deleted.
(WebCore::TextBoxPainter::createMarkedTextFromSelectionInBox): Deleted.
(WebCore::TextBoxPainter::paintBackground): Deleted.
(WebCore::TextBoxPainter::paintForegroundAndDecorations): Deleted.
(WebCore::TextBoxPainter::paintCompositionBackground): Deleted.
(WebCore::TextBoxPainter::paintForeground): Deleted.
(WebCore::TextBoxPainter::createDecorationPainter): Deleted.
(WebCore::TextBoxPainter::paintBackgroundDecorations): Deleted.
(WebCore::TextBoxPainter::paintForegroundDecorations): Deleted.
(WebCore::TextBoxPainter::paintCompositionUnderlines): Deleted.
(WebCore::textPosition): Deleted.
(WebCore::TextBoxPainter::paintCompositionUnderline): Deleted.
(WebCore::TextBoxPainter::paintPlatformDocumentMarkers): Deleted.
(WebCore::TextBoxPainter::calculateUnionOfAllDocumentMarkerBounds): Deleted.
(WebCore::TextBoxPainter::paintPlatformDocumentMarker): Deleted.
(WebCore::TextBoxPainter::computePaintRect): Deleted.
(WebCore::TextBoxPainter::calculateDocumentMarkerBounds): Deleted.
(WebCore::TextBoxPainter::computeHaveSelection const): Deleted.
(WebCore::TextBoxPainter::fontCascade const): Deleted.
(WebCore::TextBoxPainter::textOriginFromPaintRect const): Deleted.
(WebCore::TextBoxPainter::debugTextShadow const): Deleted.

  • Source/WebCore/rendering/TextBoxPainter.h:

(WebCore::TextBoxPainter::textBox const):

9:47 PM Changeset in webkit [294382] by commit-queue@webkit.org
  • 1 edit in trunk/metadata/contributors.json

Add jgriego to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240525

Patch by Joseph Griego <jgriego@igalia.com> on 2022-05-17
Reviewed by Tim Nguyen.

  • metadata/contributors.json:

Canonical link: https://commits.webkit.org/250679@main

8:23 PM Changeset in webkit [294381] by sihui_liu@apple.com
  • 12 edits in trunk/Source/WebKit/UIProcess

WebProcessProxy should not hold WebsiteDataStore alive when there is no page
https://bugs.webkit.org/show_bug.cgi?id=238892
<rdar://problem/91715517>

Reviewed by Youenn Fablet.

WebProcessProxy can outlive WebPageProxy, and because WebProcessProxy holds strong reference to WebsiteDataStore,
WebsiteDataStore will be kept alive even when it's not used by any page and will not be used by any page.

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::createGPUProcessConnection):

  • UIProcess/ProvisionalPageProxy.cpp:

(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
(WebKit::ProvisionalPageProxy::~ProvisionalPageProxy):

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

(WebKit::SuspendedPageProxy::findReusableSuspendedPageProcess):

  • UIProcess/WebBackForwardCache.cpp:

(WebKit::WebBackForwardCache::removeEntriesForSession):

  • UIProcess/WebLockRegistryProxy.cpp:

(WebKit::WebLockRegistryProxy::requestLock):
(WebKit::WebLockRegistryProxy::releaseLock):
(WebKit::WebLockRegistryProxy::abortLockRequest):
(WebKit::WebLockRegistryProxy::snapshot):
(WebKit::WebLockRegistryProxy::clientIsGoingAway):
(WebKit::WebLockRegistryProxy::processDidExit):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::swapToProvisionalPage):
(WebKit::WebPageProxy::commitProvisionalPage):

  • UIProcess/WebProcessCache.cpp:

(WebKit::WebProcessCache::canCacheProcess const):
(WebKit::WebProcessCache::takeProcess):
(WebKit::WebProcessCache::clearAllProcessesForSession):
(WebKit::WebProcessCache::CachedProcess::CachedProcess):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::establishRemoteWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::processForRegistrableDomain):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::processForNavigationInternal):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::m_webLockRegistry):
(WebKit::WebProcessProxy::websiteDataStore const):
(WebKit::WebProcessProxy::setWebsiteDataStore):
(WebKit::WebProcessProxy::isDummyProcessProxy const):
(WebKit::WebProcessProxy::updateRegistrationWithDataStore):
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::getNetworkProcessConnection):
(WebKit::WebProcessProxy::didStartProvisionalLoadForMainFrame):
(WebKit::WebProcessProxy::sessionID const):

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::websiteDataStore const): Deleted.

  • UIProcess/glib/WebProcessProxyGLib.cpp:

(WebKit::WebProcessProxy::platformGetLaunchOptions):

7:19 PM Changeset in webkit [294380] by commit-queue@webkit.org
  • 1 edit in trunk/metadata/contributors.json

Add myself (Asumu Takikawa) to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240546

Patch by Asumu Takikawa <asumu@igalia.com> on 2022-05-17
Reviewed by Yusuke Suzuki.

  • metadata/contributors.json:

Canonical link: https://commits.webkit.org/250677@main

6:45 PM Changeset in webkit [294379] by commit-queue@webkit.org
  • 1 edit in trunk/Tools/glib/generate-pdfjs-gresource-manifest.py

[WPE][GTK] generate-pdfjs-gresource-manifest.py should be more careful about unknown files
https://bugs.webkit.org/show_bug.cgi?id=240536

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-17
Reviewed by Adrian Perez de Castro.

Instead of silently ignoring unexpected files, let's create a list of
all files that we do not want to include in the resource manifest.
Anything unexpected will result in a build failure so that there are no
mistakes.

Also, change the lists at the top of the script into sets. Adrian
noticed that they do not need to be ordered.

  • Tools/glib/generate-pdfjs-gresource-manifest.py:

(get_filenames):
(get_filenames.should_ignore_resource): Deleted.

Canonical link: https://commits.webkit.org/250668@main

6:43 PM Changeset in webkit [294378] by ap@apple.com
  • 5 edits in trunk/Tools/Scripts/libraries/webkitscmpy

Reverting https://trac.webkit.org/r294367, as some of our automation hosts don't
have the --date=unix option.

Reviewed by NOBODY (OOPS!).

  • Scripts/libraries/webkitscmpy/setup.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.Cache.populate):
(Git.commit):
(Git._args_from_content):
(Git.commits):

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:

(TestGit.test_log):

6:42 PM Changeset in webkit [294377] by basuke.suzuki@sony.com
  • 1 edit in trunk/Source/WebCore/page/win/ResourceUsageThreadWin.cpp

[WinCairo] Add memory usage of LibcMalloc category
https://bugs.webkit.org/show_bug.cgi?id=239660

Reviewed by Ross Kirsling.

WinCairo's memory timeline just displays JavaScript memory usage. Adding
this info shows also Page
memory usage.

  • page/win/ResourceUsageThreadWin.cpp:

(WebCore::ResourceUsageThread::platformCollectMemoryData):

Canonical link: https://commits.webkit.org/250668@main

6:37 PM Changeset in webkit [294376] by zhifei_fang@apple.com
  • 3 edits in trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy

[git-webkit] Make git-webkit revert a two step workflow
https://bugs.webkit.org/show_bug.cgi?id=240192
rdar://92875608

Reviewed by Jonathan Bedard.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:

(PullRequest.create_pull_request):
(PullRequest.add_comment_to_reverted_commit_bug_tracker):
(PullRequest.is_revert_commit):

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/revert.py:

(Revert):
(Revert.parser):
(Revert.revert_commit):
(Revert.main):

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py:

(TestRevert.test_github):
(test_update):

Canonical link: https://commits.webkit.org/250668@main

6:20 PM Changeset in webkit [294375] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.100.1

Tag WebKit-7614.1.14.100.1.

6:17 PM Changeset in webkit [294374] by yurys@chromium.org
  • 9 edits
    3 adds in trunk

Web Inspector: support EventSource resource type in Network Panel
https://bugs.webkit.org/show_bug.cgi?id=240326

Reviewed by Devin Rousso.

  • http/tests/inspector/network/eventsource-type-expected.txt: Added.
  • http/tests/inspector/network/eventsource-type.html: Added.
  • http/tests/inspector/network/resources/event-source.py: Added.

Web Inspector: support EventSource resource type in Network Panel
https://bugs.webkit.org/show_bug.cgi?id=240326

  • inspector/protocol/Page.json: added EventSource resource type.

Web Inspector: support EventSource resource type in Network Panel
https://bugs.webkit.org/show_bug.cgi?id=240326

Network requests initiated by EventSource now have their own requester
type which allows to distinguish them from other requests.

Test: http/tests/inspector/network/eventsource-type.html

  • inspector/agents/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::resourceTypeJSON):
(WebCore::InspectorPageAgent::inspectorResourceType):

  • inspector/agents/InspectorPageAgent.h:
  • page/EventSource.cpp:

(WebCore::EventSource::connect):

  • platform/network/ResourceRequestBase.h:

Web Inspector: support EventSource resource type in Network Panel
https://bugs.webkit.org/show_bug.cgi?id=240326

EventSource initiated requests are now displayed with their own type
in the network panel.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Controllers/NetworkManager.js:

(WI.NetworkManager.prototype.canBeOverridden):

  • UserInterface/Models/Resource.js:

(WI.Resource.displayNameForType):

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView.displayNameForResource):

Canonical link: https://commits.webkit.org/250668@main

6:09 PM Changeset in webkit [294373] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore/Modules/WebGPU

[WebGPU] Work around https://bugs.webkit.org/show_bug.cgi?id=240219
https://bugs.webkit.org/show_bug.cgi?id=240441

https://bugs.webkit.org/show_bug.cgi?id=240219 is about a bug where we can't
say "optional thingy = 0" in an IDL file. This patch works around that in WebGPU
by replacing it with "optional thingy" and then "thingy.value_or(0)" in the C++
code. This is temporary, until https://bugs.webkit.org/show_bug.cgi?id=240219 is
fixed.

No new tests because there is no behavior change.

  • Modules/WebGPU/GPUBuffer.cpp:

(WebCore::GPUBuffer::mapAsync):
(WebCore::GPUBuffer::getMappedRange):

  • Modules/WebGPU/GPUBuffer.h:
  • Modules/WebGPU/GPUBuffer.idl:

Canonical link: https://commits.webkit.org/250668@main

5:59 PM Changeset in webkit [294372] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.14.11.2

Tag WebKit-7614.1.14.11.2.

5:55 PM Changeset in webkit [294371] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

Private relay should fail closed for third party loads if the main resource was loaded over private relay
https://bugs.webkit.org/show_bug.cgi?id=240483
<rdar://92697007>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-17
Reviewed by Chris Dumez.

This re-lands the change from r293861 along with r293481 which should fix problems related to rdar://92336270
along with r293591 which should fix performance regressions related to rdar://92458995 but was insufficient.
During a basic browsing test, I found two more places where we were making a NetworkDataTask without setting the
parameters' top origin, one in the SpeculativeLoad constructor and another in WebLoaderStrategy::preconnectTo.

  • Source/WebKit/NetworkProcess/NetworkCORSPreflightChecker.cpp:

(WebKit::NetworkCORSPreflightChecker::startPreflight):

  • Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

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

  • Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

  • Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(WebKit::NetworkSessionCocoa::createWebSocketTask):

  • Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::preconnectTo):

5:50 PM Changeset in webkit [294370] by Russell Epstein
  • 9 edits in branches/safari-7614.1.14.11-branch/Source

Versioning.

WebKit-7614.1.14.11.2

5:37 PM Changeset in webkit [294369] by Chris Dumez
  • 1 edit in trunk/Source/WebCore/platform/graphics/FontCascade.cpp

Stop using ASCIILiteral::fromLiteralUnsafe() in FontCascade.cpp https://bugs.webkit.org/show_bug.cgi?id=240548

Reviewed by Myles C. Maxfield.

Stop using ASCIILiteral::fromLiteralUnsafe() in FontCascade.cpp and use ASCIILiteral
directly.

  • Source/WebCore/platform/graphics/FontCascade.cpp:

(WebCore::useBackslashAsYenSignForFamily):

Canonical link: https://commits.webkit.org/250668@main

5:27 PM Changeset in webkit [294368] by Alan Coon
  • 9 edits in branches/safari-7614.1.12-branch/Source

Versioning.

WebKit-7614.1.12.5

5:20 PM Changeset in webkit [294367] by Jonathan Bedard
  • 5 edits in trunk/Tools/Scripts/libraries/webkitscmpy

[git-webkit] Use --date=unix in log commands
https://bugs.webkit.org/show_bug.cgi?id=240537

Reviewed by Stephanie Lewis.

Override any local configuration for git log's date format,
use a simpler date format.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.Cache.populate): Use --date=unix.
(Git.commit): Ditto.
(Git._args_from_content): Parse --date=unix.
(Git.commits): Use --date=unix.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:

(TestGit.test_log):

Canonical link: https://commits.webkit.org/250668@main

5:05 PM Changeset in webkit [294366] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.3

Tag WebKit-7614.1.14.0.3.

4:58 PM Changeset in webkit [294365] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.3

Tag WebKit-7614.1.14.1.3.

4:54 PM Changeset in webkit [294364] by basuke.suzuki@sony.com
  • 1 edit in trunk/Source/bmalloc/libpas/src/libpas/pas_utils.c

[libpas] Suppress warnings for %llu format specifier for uint64_t.
https://bugs.webkit.org/show_bug.cgi?id=240541

Reviewed by Yusuke Suzuki.

Use PRIu64 instead.

  • libpas/src/libpas/pas_utils.c:

(pas_assertion_failed_no_inline_with_extra_detail):

Canonical link: https://commits.webkit.org/250667@main

4:50 PM Changeset in webkit [294363] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[Gardening]: REGRESSION (r294215): [ iOS ] Nine focus ring tests are a consistent image failure
https://bugs.webkit.org/show_bug.cgi?id=240495

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/250666@main

4:45 PM Changeset in webkit [294362] by pvollan@apple.com
  • 1 edit in trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in

[macOS][WP] Add required methods to graphics filters
https://bugs.webkit.org/show_bug.cgi?id=240398
<rdar://92460835>

Reviewed by Geoffrey Garen.

Add required methods to graphics filters. These have been observed being used in telemetry.

  • Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:

Canonical link: https://commits.webkit.org/250665@main

4:23 PM Changeset in webkit [294361] by Patrick Angle
  • 3 edits in trunk/Source/JavaScriptCore/inspector/remote

[Cocoa] Web Driver: RemoteAutomationTargets marked for termination and targets that have never been paired may briefly be indistinguishable in application target listing
https://bugs.webkit.org/show_bug.cgi?id=240524
<rdar://93430106>

Reviewed by BJ Burg and Devin Rousso.

A RemoteAutomationTarget has multiple possible entries it may provide in an application listing to webinspectord,
which are then interpreted by webinspectord to determine the current state of that target. The key pieces for this bug
are that a WIRConnectionIdentifierKey which when present is taken to mean that the target is no longer pristine and
WIRAutomationTargetIsPairedKey which when true indicates that the target is paired. When a connection identifier is
present and we are no longer paired, the connection is considered terminated.

There exists a race condition where webinspectord preemptively set the targets state to "Terminated" upon sending a
close request in order to make sure that the target is no longer used. Upon receiving the close message for the target
the connection identifier is removed from the map of known connection identifiers before scheduling the actual target to
be torn down asyncronously. In most cases this works fine, but sometimes an application listing is created and sent
between removing the identifier from the map of known connections and actually tearing down the target, and that is
where this issue occurs. We will in that case send a listing for the automation target with no connection identifier
(since we removed it from the map already), which is then interpreted as a listing for a pristine automation target. At
that point, it is possible that automation sessions that are being rapidly created and destroyed will attempt to pair
with the seemingly pristine existing session, even though that session is about to be torn down.

  • Source/JavaScriptCore/inspector/remote/RemoteAutomationTarget.h:
  • Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:

(Inspector::RemoteConnectionToTarget::close):

  • Source/JavaScriptCore/inspector/remote/cocoa/RemoteInspectorCocoa.mm:

(Inspector::RemoteInspector::listingForAutomationTarget const):

Canonical link: https://commits.webkit.org/250664@main

4:19 PM Changeset in webkit [294360] by Adrian Perez de Castro
  • 1 copy in releases/WebKitGTK/webkit-2.36.2

WebKitGTK 2.36.2

4:17 PM Changeset in webkit [294359] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.36

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.36.2 release

.:

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

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.36.2.
4:17 PM Changeset in webkit [294358] by Adrian Perez de Castro
  • 1 edit in trunk/Tools/Scripts/check-for-invalid-symbols-in-version-script

[Python3] Fix Tools/Scripts/check-for-invalid-symbols-in-version-script
https://bugs.webkit.org/show_bug.cgi?id=240543

Reviewed by Michael Catanzaro.

  • Tools/Scripts/check-for-invalid-symbols-in-version-script: Change shebang to use "python3", and pass an "encoding" argument to the Popen constructor to read strings instead of bytes from the subprocess pipe.

Canonical link: https://commits.webkit.org/250663@main

4:17 PM Changeset in webkit [294357] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Tools

Fix Tools/Scripts/check-for-invalid-symbols-in-version-script
https://bugs.webkit.org/show_bug.cgi?id=240543

Unreviewed build fix.

  • Tools/Scripts/check-for-invalid-symbols-in-version-script: Change

shebang to use "python3", and pass an "encoding" argument to the Popen
constructor to read strings instead of bytes from the subprocess pipe.

4:17 PM Changeset in webkit [294356] by Adrian Perez de Castro
  • 7 edits in releases/WebKitGTK/webkit-2.36/Tools

Merge r290799 - [Python3] Switch a few more glib scripts to Python3
https://bugs.webkit.org/show_bug.cgi?id=237442

Reviewed by Adrian Perez de Castro.

  • Scripts/check-for-global-bss-symbols-in-webkitgtk-libs: Update

shebang.
(bss_symbols): Decode Popen bytes output.

  • gtk/jhbuildrc: Update shebang.
  • gtk/ycm_extra_conf.py: Ditto.
  • jhbuild/jhbuild-wrapper: Ditto.

(jhbuild_at_expected_revision): Decode Popen bytes output.

  • jhbuild/jhbuildrc_common.py: Remove uneeded shebang.
  • wpe/jhbuildrc: Update shebang.
3:41 PM Changeset in webkit [294355] by Matt Woodrow
  • 1 edit in trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h

Don't synchronously flush when destroying RemoteImageBufferProxy

Reviewed by Said Abou-Hallawa.

No correctness tests added, since this should just be a performance improvement.

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy):

3:31 PM Changeset in webkit [294354] by Karl Rackler
  • 1 delete in trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints

[Gardening]: REGRESSION (r294317): [ iOS ] Eight imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation are a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240538

Unreviewed test gardening.

  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Removed.
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Removed.

Canonical link: https://commits.webkit.org/250661@main

3:11 PM Changeset in webkit [294353] by yurys@chromium.org
  • 2 edits in trunk/Tools/Scripts/webkitpy/style/checkers

check-webkit-style: allow all upper case value in ResourceRequestBase::Requester
https://bugs.webkit.org/show_bug.cgi?id=240532

Reviewed by Devin Rousso.

  • Tools/Scripts/webkitpy/style/checkers/cpp.py:add style checker exception for

ResourceRequestBase::Requester enum as it contains XHR value which is all
upper case.

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

(NoNonVirtualDestructorsTest):

Canonical link: https://commits.webkit.org/250660@main

3:08 PM Changeset in webkit [294352] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.12.4

Tag WebKit-7614.1.12.4.

3:00 PM Changeset in webkit [294351] by yurys@chromium.org
  • 2 edits in trunk/Tools/Scripts/webkitpy/style/checkers

check-webkit-style: validate enums declared with explicit type
https://bugs.webkit.org/show_bug.cgi?id=240478

Reviewed by Devin Rousso.

check-webkit-style now validates case of the enums delcared with explicit
type specifier.

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

(_EnumState.process_clean_line):

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

(NoNonVirtualDestructorsTest):

Canonical link: https://commits.webkit.org/250659@main

2:34 PM Changeset in webkit [294350] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.1-branch/Source/WebCore/accessibility/isolatedtree

Cherry-pick r294328. rdar://problem/92822756

AX: Lazily retrieve AXPropertyName::SupportsPressAction, AXPropertyName::ColumnHeaders, and AXPropertyName::RowHeaders
https://bugs.webkit.org/show_bug.cgi?id=240473

Reviewed by Chris Fleizach.

These properties can be expensive to compute up-front, so retrieve them
lazily.

No test because there is no user-facing behavior change.

  • accessibility/isolatedtree/AXIsolatedObject.cpp: (WebCore::AXIsolatedObject::initializeProperties): (WebCore::AXIsolatedObject::getOrRetrievePropertyValue): (WebCore::AXIsolatedObject::columnHeaders): (WebCore::AXIsolatedObject::rowHeaders): (WebCore::AXIsolatedObject::supportsPressAction const):
  • accessibility/isolatedtree/AXIsolatedObject.h:

Canonical link: https://commits.webkit.org/250648@main

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

2:34 PM Changeset in webkit [294349] by Alan Coon
  • 7 edits in branches/safari-7614.1.14.1-branch

Cherry-pick r294285. rdar://problem/93385094

Demote -[WKWebView retrieveAccessibilityTreeData:] to SPI
https://bugs.webkit.org/show_bug.cgi?id=240494
rdar://93385094

Reviewed by Tim Horton.

This method was only intended for use in MiniBrowser, and should ship as public API on WKWebView. Move the
declaration and implementation of this over to WKWebViewPrivateForTestingMac.h and WKWebViewTestingMac.mm
(respectively), and additionally prefix this testing-only SPI with an underscore.

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView retrieveAccessibilityTreeData:]): Deleted.
  • UIProcess/API/mac/WKWebViewPrivateForTestingMac.h:
  • UIProcess/API/mac/WKWebViewTestingMac.mm: (-[WKWebView _retrieveAccessibilityTreeData:]): Demote -[WKWebView retrieveAccessibilityTreeData:] to SPI https://bugs.webkit.org/show_bug.cgi?id=240494 rdar://93385094

Reviewed by Tim Horton.

See WebKit/ChangeLog for more details.

  • MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController logAccessibilityTrees:]):

Canonical link: https://commits.webkit.org/250629@main

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

2:34 PM Changeset in webkit [294348] by Alan Coon
  • 66 edits
    2 adds
    2 deletes in branches/safari-7614.1.14.1-branch/Source/WebKit

Cherry-pick r294190. rdar://problem/91006582

SharedBuffer should be copied and then attributed back to WebContent
https://bugs.webkit.org/show_bug.cgi?id=240223
rdar://91006582

Patch by Jean-Yves Avenard <jean-yves.avenard@apple.com> on 2022-05-14
Reviewed by Jer Noble.

Ideally, when mapping an IPCHandle we would prefer to use Copy On Write.
However, there's no support for COW with explicitly-owned memory such as
those created with VM_FLAGS_PURGABLE flag.
As such, when calling mach_vm_map with copy=true argument is set the
entire page will be copied.
It is therefore more performant to manually create a new buffer and copy
the actual content.
The memory can then be blamed on a particular process.

Rework FragmentedSharedBuffer/SharedBuffer IPC's serializer to perform
a copy, partially reverting changes made in bug 233401.

We replace the unnecessary use of SharedMemory::IPCHandle and directly
send SharedBuffer in clipboard and PDF related methods.
Rename SharedBufferCopy to SharedBufferReference to more accurately
describe what it does.

Make new use of the SharedBufferReference class, replacing the use of IPCHandle
in RemoteSourceBufferProxy and RemoteMediaResourceManager.

Rename SharedBufferReference::buffer() into
SharedBufferReference::unsafeBuffer() to give better clarity that accessing
SharedBuffer and SharedMemory should be treated with care.

SharedBuffer sent from trusted processes such as network process should
prefer the use of SharedBufferReference over directly using IPCHandle or
SharedBuffer, it makes optimisation easier and avoid duplicating code.

No observable change, covered by existing tests.

  • GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::remoteMediaResourceManager):
  • GPUProcess/media/RemoteCDMInstanceProxy.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.cpp: (WebKit::RemoteImageDecoderAVFProxy::createDecoder): (WebKit::RemoteImageDecoderAVFProxy::setData):
  • GPUProcess/media/RemoteImageDecoderAVFProxy.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.messages.in:
  • GPUProcess/media/RemoteMediaResourceManager.cpp: (WebKit::RemoteMediaResourceManager::RemoteMediaResourceManager): (WebKit::RemoteMediaResourceManager::dataReceived):
  • GPUProcess/media/RemoteMediaResourceManager.h:
  • GPUProcess/media/RemoteMediaResourceManager.messages.in:
  • GPUProcess/media/RemoteSourceBufferProxy.cpp: (WebKit::RemoteSourceBufferProxy::append):
  • GPUProcess/media/RemoteSourceBufferProxy.h:
  • GPUProcess/media/RemoteSourceBufferProxy.messages.in:
  • NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::bufferingTimerFired): (WebKit::NetworkResourceLoader::sendBuffer): (WebKit::NetworkResourceLoader::dataReceivedThroughContentFilter):
  • NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.cpp: (WebKit::ServiceWorkerDownloadTask::didReceiveData):
  • NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.h:
  • NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.messages.in:
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp: (WebKit::ServiceWorkerFetchTask::didReceiveData): (WebKit::ServiceWorkerFetchTask::loadBodyFromPreloader):
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.messages.in:
  • Platform/IPC/SharedBufferCopy.cpp: Removed.
  • Platform/IPC/SharedBufferCopy.h: Removed.
  • Platform/IPC/SharedBufferReference.cpp: Added. (IPC::SharedBufferReference::encode const): (IPC::SharedBufferReference::decode): (IPC::SharedBufferReference::unsafeBuffer const): (IPC::SharedBufferReference::data const): (IPC::SharedBufferReference::bufferWithOwner const):
  • Platform/IPC/SharedBufferReference.h: Added. (IPC::SharedBufferReference::SharedBufferReference): (IPC::SharedBufferReference::size const): (IPC::SharedBufferReference::isEmpty const): (IPC::SharedBufferReference::isNull const):
  • Platform/SharedMemory.cpp: (WebKit::transferOwnershipOfMemory const):
  • Platform/SharedMemory.h:
  • Platform/cocoa/SharedMemoryCocoa.cpp: (WebKit::changeOwnershipOfMemory): (WebKit::SharedMemory::Handle::takeOwnershipOfMemory const): (WebKit::SharedMemory::Handle::transferOwnershipOfMemory const): (WebKit::machProtection): (WebKit::SharedMemory::map):
  • Scripts/process-entitlements.sh:
  • Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp: (WebKit::CGDisplayListImageBufferBackend::createBackendHandle const):
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
  • Shared/WebCoreArgumentCoders.cpp: (IPC::encodeSharedBuffer): (IPC::decodeSharedBuffer):
  • Sources.txt:
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView createPDFWithConfiguration:completionHandler:]):
  • UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::platformRegisterAttachment):
  • UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: (WebKit::WebPasteboardProxy::getPasteboardBufferForType): (WebKit::WebPasteboardProxy::setPasteboardBufferForType): (WebKit::WebPasteboardProxy::readBufferFromPasteboard):
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::sendAudioComponentRegistrations):
  • UIProcess/WebPageProxy.cpp: (WebKit::CompletionHandler<void): (WebKit::WebPageProxy::drawPagesToPDF): (WebKit::WebPageProxy::drawToPDF): (WebKit::WebPageProxy::getLoadDecisionForIcon): (WebKit::WebPageProxy::updateAttachmentAttributes): (WebKit::WebPageProxy::registerAttachmentIdentifierFromData): (WebKit::WebPageProxy::platformRegisterAttachment):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebPasteboardProxy.cpp: (WebKit::WebPasteboardProxy::readBufferFromPasteboard):
  • UIProcess/WebPasteboardProxy.h:
  • UIProcess/WebPasteboardProxy.messages.in:
  • UIProcess/WebURLSchemeTask.cpp: (WebKit::WebURLSchemeTask::didReceiveData):
  • UIProcess/gtk/WebPasteboardProxyGtk.cpp: (WebKit::WebPasteboardProxy::readBuffer):
  • UIProcess/ios/WKContentView.mm: (-[WKContentView _wk_pageCountForPrintFormatter:]):
  • UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::drawToPDFiOS):
  • UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::dataSelectionForPasteboard):
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/ImageBufferBackendHandle.h:
  • WebProcess/GPU/media/RemoteImageDecoderAVF.cpp: (WebKit::RemoteImageDecoderAVF::setData):
  • WebProcess/GPU/media/RemoteImageDecoderAVFManager.cpp: (WebKit::RemoteImageDecoderAVFManager::createImageDecoder):
  • WebProcess/GPU/media/RemoteMediaResourceProxy.cpp: (WebKit::RemoteMediaResourceProxy::dataReceived):
  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp: (WebKit::SourceBufferPrivateRemote::append):
  • WebProcess/Network/WebResourceLoader.cpp: (WebKit::WebResourceLoader::didReceiveData):
  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
  • WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::writeItemsToPasteboard):
  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp: (WebKit::WebServiceWorkerFetchTaskClient::didReceiveData): (WebKit::WebServiceWorkerFetchTaskClient::didReceiveBlobChunk):
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::registerAttachmentIdentifier):
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: (WebKit::WebPlatformStrategies::bufferForType): (WebKit::WebPlatformStrategies::setBufferForType): (WebKit::WebPlatformStrategies::readBufferFromClipboard): (WebKit::WebPlatformStrategies::readBufferFromPasteboard):
  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: (WebKit::WebDragClient::declareAndWriteDragImage):
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::getContentsAsMHTMLData): (WebKit::WebPage::getSelectionAsWebArchiveData): (WebKit::WebPage::getMainResourceDataOfFrame): (WebKit::WebPage::getResourceDataFromFrame): (WebKit::WebPage::getWebArchiveOfFrame): (WebKit::WebPage::getAccessibilityTreeData): (WebKit::WebPage::drawToPDF): (WebKit::WebPage::drawPagesToPDF): (WebKit::WebPage::didGetLoadDecisionForIcon): (WebKit::WebPage::urlSchemeTaskDidReceiveData): (WebKit::WebPage::updateAttachmentAttributes):
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::getDataSelectionForPasteboard): (WebKit::WebPage::performActionOnElement): (WebKit::WebPage::drawToPDFiOS): (WebKit::WebPage::didFinishLoadForQuickLookDocumentInMainFrame):
  • WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getDataSelectionForPasteboard):
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::consumeAudioComponentRegistrations):

# Please populate the above commit message. Lines starting
# with '#' will be ignored

# 13 Tim Horton <timothy_horton@apple.com>
#
# ApplePayLogoSystemImage needlessly loads PassKit in WebKit child processes on iOS
# https://bugs.webkit.org/show_bug.cgi?id=240404
# <rdar://93070349>
#
# Reviewed by Chris Dumez.
#
# * UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
# (WebKit::ProcessLauncher::launchProcess): Adopt the WTF implementation of systemDirectoryPath.
# (WebKit::systemDirectoryPath): Moved to WTF.
#
# 13 Wenson Hsieh <Wenson Hsieh>
#
# ImageAnalysisQueue should reanalyze image elements whose image sources have changed
# https://bugs.webkit.org/show_bug.cgi?id=240371
# rdar://93175651
#
# Reviewed by Tim Horton.
#
# To aid with debugging similar issues in the future, plumb the image URL through to
# requestImageAnalysisWithIdentifier, which (if an engineering default is specified) will additionally reveal
# the URL in system logs.
#
# * Platform/cocoa/ImageAnalysisUtilities.h:
# * UIProcess/Cocoa/WebViewImpl.mm:
# (WebKit::WebViewImpl::requestTextRecognition):
# * UIProcess/ios/WKContentViewInteraction.mm:
# (-[WKContentView requestTextRecognition:imageData:identifier:completionHandler:]):
#
# 13 Aditya Keerthi <Aditya Keerthi>
#
# [iOS] Multiple visible find highlights when searching for text after beginning a "find from selection"
# https://bugs.webkit.org/show_bug.cgi?id=240393
# rdar://91441895
#
# Reviewed by Wenson Hsieh.
#
# Some WebKit clients use SPI on WKWebView to support "find from selection"
# functionality (the Cmd+E shortcut). However, to support general
# find functionality, they use new find API that uses a different codepath
# to draw highlights. Mixing use of the API and SPI can currently result
# in two highlights showing up.
#
# To fix, ensure SPI highlights are removed once the API is being used.
# The long term solution is for clients to adopt API for the
# "find from selection" functionality, but in the short term the SPI
# should remain supported.
#
# * WebProcess/WebPage/WebPage.cpp:
# (WebKit::WebPage::clearAllDecoratedFoundText):
#
# 13 Kimmo Kinnunen <kkinnunen@apple.com>
#
# IPC cannot encode, decode Ref<>, causing duplicate code
# https://bugs.webkit.org/show_bug.cgi?id=240160
#
# Reviewed by Antti Koivisto.
#
# Consider reference counted type T:
# Encoding is of signature encode(const T&)
# Decoding is of signature std::optional<Ref<T>> decode()
# This is usable for both RefPtr and Ref use-cases.
#
# Add Ref<T> encoder that is polymorphic to T.
# This way clients do not need to write encoders for
# Ref<T>, RefPtr<T>. They just need one encoder, for T.
#
# When clients do not need to write RefPtr<T>, they make less
# bugs. These will be corrected in future patches.
#
# Having Ref<T> encoders allows clients to use Vector<Ref<T>> encoding
# via Vector<U> encoder, and they would not need to duplicate that
# logic, making less bugs. These will be corrected in future patches.
#
# Remove most IPC::ArgumentCoder<Ref<..>> in favor of IPC::ArgumentCoder<..>.
# In the cases where removal was done, remove also redundant
# IPC::ArgumentCoder<RefPtr<..>>.
#
# * Platform/IPC/ArgumentCoders.h:
# (IPC::ArgumentCoder<RefPtr<T>>::decode):
# (IPC::ArgumentCoder<Ref<T>>::encode):
# (IPC::ArgumentCoder<Ref<T>>::decode):
# * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
# (IPC::ArgumentCoder<WebCore::Font>::encodePlatformData):
# (IPC::ArgumentCoder<WebCore::Font>::decodePlatformData):
# * Shared/WebCoreArgumentCoders.cpp:
# (IPC::ArgumentCoder<WebCore::Font>::encode):
# (IPC::ArgumentCoder<Font>::decode):
# (IPC::ArgumentCoder<SystemImage>::encode):
# (IPC::ArgumentCoder<SystemImage>::decode):
# * Shared/WebCoreArgumentCoders.h:
# * Shared/playstation/WebCoreArgumentCodersPlayStation.cpp:
# (IPC::ArgumentCoder<Font>::encodePlatformData):
# (IPC::ArgumentCoder<Font>::decodePlatformData):
# * Shared/soup/WebCoreArgumentCodersSoup.cpp:
# (IPC::ArgumentCoder<Font>::encodePlatformData):
# (IPC::ArgumentCoder<Font>::decodePlatformData):
# * Shared/win/WebCoreArgumentCodersWin.cpp:
# (IPC::ArgumentCoder<Font>::encodePlatformData):
# (IPC::ArgumentCoder<Font>::decodePlatformData):
#
# 13 Tim Horton <timothy_horton@apple.com>
#
# Add UI-side layers for optionally indicating interaction regions
# https://bugs.webkit.org/show_bug.cgi?id=240372
# <rdar://problem/87170289>
#
# Reviewed by Dean Jackson.
#
# * Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
# (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
# (WebKit::RemoteLayerTreePropertyApplier::applyHierarchyUpdates):
# Allow RemoteLayerTreeInteractionRegionLayers to add and maintain layers for interaction regions.
#
# * SourcesCocoa.txt:
# * UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.h: Added.
# * UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm: Added.
# (configureLayerForInteractionRegion):
# (WebKit::interactionRegionForLayer):
# (WebKit::isInteractionRegionLayer):
# (WebKit::setInteractionRegion):
# Box WebCore::InteractionRegion in a Objective-C object and store it on the layer.
# Use this as a key to indicate that a given layer is an interaction region.
#
# (WebKit::appendInteractionRegionLayersForLayer):
# Make sure that interaction region layers are always at the end of the layer's sublayers array.
#
# (WebKit::updateLayersForInteractionRegions):
# Add new layers for interaction regions.
# Maintain the same layer for regions that cover the same area.
# Add a green wash if the default WKInteractionRegionDebugFill is set.
#
# * WebKit.xcodeproj/project.pbxproj:
#
# 13 Simon Fraser <Simon Fraser>
#
# Simplify the usage of DrawGlyphsRecorder
# https://bugs.webkit.org/show_bug.cgi?id=240363
#
# Reviewed by Myles Maxfield.
#
# Move the DeconstructDrawGlyphs switch from inside DrawGlyphsRecorder to
# DisplayList::Recorder, so that DrawGlyphsRecorder is only ever used when deconstructing
# glyphs.
#
# Also, ensure that the only time that glyph deconstruction is enabled is when
# recording display lists via RemoteDisplayListRecorderProxy. There's no reason for
# paintAttachmentText() to need glyph deconstruction.
#
# This is a small perf improvement on the MotionMark Design subtest.
#
# * WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
# (WebKit::RemoteDisplayListRecorderProxy::RemoteDisplayListRecorderProxy):
# (WebKit::m_renderingBackend):
# * WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
#
# it takes from the XPC message is sent until the XPC reply is received. Add reporting when this happens

# On branch bz/240223
# Your branch is ahead of 'origin/main' by 1 commit.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# (use "git restore --staged <file>..." to unstage)
# modified: Source/WebKit/ChangeLog
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
# 0001-SharedBuffer-should-be-copied-and-then-attributed-ba.patch
#

Canonical link: https://commits.webkit.org/250556@main

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

2:31 PM Changeset in webkit [294347] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.1-branch/Source/WebKit

Cherry-pick r294175. rdar://problem/91441895

[iOS] Multiple visible find highlights when searching for text after beginning a "find from selection"
https://bugs.webkit.org/show_bug.cgi?id=240393
rdar://91441895

Reviewed by Wenson Hsieh.

Some WebKit clients use SPI on WKWebView to support "find from selection"
functionality (the Cmd+E shortcut). However, to support general
find functionality, they use new find API that uses a different codepath
to draw highlights. Mixing use of the API and SPI can currently result
in two highlights showing up.

To fix, ensure SPI highlights are removed once the API is being used.
The long term solution is for clients to adopt API for the
"find from selection" functionality, but in the short term the SPI
should remain supported.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::clearAllDecoratedFoundText):

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

2:24 PM Changeset in webkit [294346] by Chris Dumez
  • 91 edits in trunk/Source

Use ASCIILiteral for JSC::HashTableValue::m_key
https://bugs.webkit.org/show_bug.cgi?id=240492

Reviewed by Geoffrey Garen.

Use ASCIILiteral for JSC::HashTableValue::m_key since the key is always a string literal. This
allows JSC::reifyStaticProperties() to call a more optimal Identifier::fromString(VM&, ASCIILiteral)
overload.

  • Source/JavaScriptCore/create_hash_table:
  • Source/JavaScriptCore/runtime/Lookup.h:

(JSC::HashTable::ConstIterator::key const):
(JSC::HashTable::ConstIterator::skipInvalidKeys):
(JSC::reifyStaticProperties):

  • Source/JavaScriptCore/tools/JSDollarVM.cpp:
  • Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:

(GenerateHashTableValueArray):

  • Source/WebCore/bindings/scripts/test/JS/JSDOMWindow.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSExposedStar.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestCallTracer.cpp:

(WebCore::JSTestCallTracerDOMConstructor::prototypeForStructure):

  • Source/WebCore/bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestConditionalIncludes.cpp:

(WebCore::JSTestConditionalIncludesDOMConstructor::prototypeForStructure):

  • Source/WebCore/bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp:

(WebCore::JSTestConditionallyReadWriteDOMConstructor::prototypeForStructure):

  • Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSON.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestDomainSecurity.cpp:

(WebCore::JSTestDomainSecurityDOMConstructor::prototypeForStructure):

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

(WebCore::JSTestEnabledBySettingDOMConstructor::prototypeForStructure):

  • Source/WebCore/bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterfaceDOMConstructor::construct):

  • Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp:

(WebCore::JSTestLegacyNoInterfaceObjectPrototype::finishCreation):

  • Source/WebCore/bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestMapLike.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:

(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesDOMConstructor::prototypeForStructure):

  • Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:

(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltInsDOMConstructor::prototypeForStructure):

  • Source/WebCore/bindings/scripts/test/JS/JSTestNamespaceConst.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNamespaceObject.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjDOMConstructor::construct):

  • Source/WebCore/bindings/scripts/test/JS/JSTestOperationConditional.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestPluginInterface.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestReportExtraMemoryCost.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestSetLike.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifier.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestTaggedWrapper.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::JSTestTypedefsDOMConstructor::construct):

  • Source/WebCore/bindings/scripts/test/JS/JSWorkerGlobalScope.cpp:
  • Source/WebCore/bindings/scripts/test/JS/JSWorkletGlobalScope.cpp:

Canonical link: https://commits.webkit.org/250658@main

2:23 PM Changeset in webkit [294345] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.3

2:18 PM Changeset in webkit [294344] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.3

2:12 PM Changeset in webkit [294343] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.2

Tag WebKit-7614.1.14.1.2.

2:11 PM Changeset in webkit [294342] by yurys@chromium.org
  • 1 edit in trunk/metadata/contributors.json

Add my github username to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240539

Reviewed by Jonathan Bedard.

  • metadata/contributors.json: add my github username.

Canonical link: https://commits.webkit.org/250657@main

1:42 PM Changeset in webkit [294341] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.14.11.1

Tag WebKit-7614.1.14.11.1.

1:37 PM Changeset in webkit [294340] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.11-branch/Source

Versioning.

WebKit-7614.1.14.11.1

1:22 PM Changeset in webkit [294339] by Jenner@apple.com
  • 1 edit in trunk/LayoutTests/platform/ios-wk2/TestExpectations

[ Gardening ] REGRESSION (250413@main): [ iOS ] system-preview/badge.html is a consistent image failure (240352)
https://bugs.webkit.org/show_bug.cgi?id=240352

Unreviewed test gardening.

  • LayoutTests/platform/ios-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/250656@main

1:15 PM Changeset in webkit [294338] by Russell Epstein
  • 1 copy in branches/safari-7614.1.14.11-branch

New branch.

1:12 PM Changeset in webkit [294337] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.2

Tag WebKit-7614.1.14.0.2.

1:10 PM Changeset in webkit [294336] by Jonathan Bedard
  • 2 edits in trunk/Tools/CISupport/ews-build

Forbid ChangeLog modification (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=240461
<rdar://93351783>

Reviewed by Aakash Jain.

Run Canonicalize on committed patches.

  • Tools/CISupport/ews-build/steps.py:

(Canonicalize.doStepIf): Deleted.
(Canonicalize.hideStepIf): Deleted.

  • Tools/CISupport/ews-build/steps_unittest.py:
12:58 PM Changeset in webkit [294335] by Russell Epstein
  • 9 edits in branches/safari-7614.1.13-branch/Source

Versioning.

WebKit-7614.1.13.5

12:46 PM Changeset in webkit [294334] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm

MockAudioSharedInternalUnit::render should return kAudio_ParamError if input buffer is too small
https://bugs.webkit.org/show_bug.cgi?id=240518
rdar://93409662

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-17
Reviewed by Eric Carlson.

The input buffer given to render should be large enough to copy enough frameCount samples.
If that is not the case, mimick what the real audio unit is doing and return kAudio_ParamError.
We also more closely mimick the real audio unit by sending chunks of at most AudioSession::sharedSession().bufferSize().

Covered by existing tests.

  • Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm:

(WebCore::MockAudioSharedInternalUnit::generateSampleBuffers):
(WebCore::MockAudioSharedInternalUnit::render):

Canonical link: https://commits.webkit.org/250654@main

12:39 PM Changeset in webkit [294333] by ap@apple.com
  • 1 edit in trunk/ReadMe.md

Clearly recommend checking out from GitHub using https
https://bugs.webkit.org/show_bug.cgi?id=240528

Reviewed by Jonathan Bedard.

  • ReadMe.md:

Canonical link: https://commits.webkit.org/250653@main

12:09 PM Changeset in webkit [294332] by J Pascoe
  • 3 edits in trunk

[WebAuthn] Add SPI to update platform credential's displayName
https://bugs.webkit.org/show_bug.cgi?id=240471
<rdar://93362894>

Reviewed by Brent Fulgham.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(TestWebKitAPI::TEST):
Updated API test.

  • Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
  • Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:

(+[_WKWebAuthenticationPanel setUsernameForLocalCredentialWithGroupAndID:credential:username:]):
(+[_WKWebAuthenticationPanel setDisplayNameForLocalCredentialWithGroupAndID:credential:displayName:]):
This change introduces setDisplayNameForLocalCredentialWithGroupAndID, which will supercede
the existing setUsernameForLocalCredentialWithGroupAndID once all callers are updated.

Canonical link: https://commits.webkit.org/250652@main

12:02 PM Changeset in webkit [294331] by J Pascoe
  • 2 edits in trunk

[WebAuthn] Set displayName in AuthenticatorAssertionResponse for platform authenticator
https://bugs.webkit.org/show_bug.cgi?id=240459
<rdar://93350479>

Reviewed by Brent Fulgham.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:]):
(TestWebKitAPI::TEST):
Updated API test to account for displayName.

  • Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticatorInternal::getExistingCredentials):

Canonical link: https://commits.webkit.org/250651@main

10:53 AM Changeset in webkit [294330] by commit-queue@webkit.org
  • 66 edits
    2 adds
    2 deletes in trunk/Source

Update to PDF.js v2.14.305
https://bugs.webkit.org/show_bug.cgi?id=240482

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-17
Reviewed by Tim Nguyen.

Besides updating the upstream sources, this commit also adds a
README.webkit to explain the update procedure, and adds
CONFIGURE_DEPENDS to the GLOB_RECURSE command in PdfJSGResources.cmake
to force make/ninja to watch for changes to the files and rerun cmake if
needed, to keep incremental builds happy. Downside: this is probably
slow, and the CMake documentation explicitly warns against doing so. We
may want to generate a .cmake file that manually lists all files instead.

  • Source/ThirdParty/pdfjs/README.webkit: Added.
  • Source/ThirdParty/pdfjs/build/pdf.js:

(webpackUniversalModuleDefinition):
(return.):
(return):

  • Source/ThirdParty/pdfjs/build/pdf.sandbox.js:

(webpackUniversalModuleDefinition):
(return.):

  • Source/ThirdParty/pdfjs/build/pdf.worker.js:

(webpackUniversalModuleDefinition):
(return.):

  • Source/ThirdParty/pdfjs/web/debugger.css: Added.

(#PDFBug):
(#PDFBug .controls):
(#PDFBug .panels):
(#PDFBug .panels > div):
(#PDFBug button.active):
(.debuggerShowText,):
(#PDFBug .stats):
(#PDFBug .stats .title):
(#PDFBug table):
(#PDFBug table.showText):
(#PDFBug table.showText,):
(#PDFBug table.showText td.advance):
(#viewer.textLayer-visible .textLayer):
(#viewer.textLayer-visible .canvasWrapper):
(#viewer.textLayer-visible .canvasWrapper canvas):
(#viewer.textLayer-visible .textLayer span):
(#viewer.textLayer-hover .textLayer span:hover):
(#viewer.textLayer-shadow .textLayer span):

  • Source/ThirdParty/pdfjs/web/debugger.js:

(const.FontInspector.FontInspectorClosure.textLayerClick):
(const.FontInspector.FontInspectorClosure.return.properties):
(const.FontInspector):
(const.StepperManager):
(const.Stepper.StepperClosure.Stepper.prototype.updateOperatorList):
(const.Stepper.StepperClosure.Stepper.prototype.getNextBreakPoint):
(const.Stepper.StepperClosure.Stepper.prototype.goTo):
(const.Stepper.StepperClosure.Stepper):
(const.Stepper):
(const.Stats.Stats.getStatIndex):
(const.Stats):
(const.PDFBug):
(FontInspector.FontInspectorClosure.removeSelection): Deleted.
(FontInspector.FontInspectorClosure.resetSelection): Deleted.
(FontInspector.FontInspectorClosure.selectFont): Deleted.
(FontInspector.FontInspectorClosure.textLayerClick): Deleted.
(FontInspector.FontInspectorClosure.return.init): Deleted.
(FontInspector.FontInspectorClosure.return.cleanup): Deleted.
(FontInspector.FontInspectorClosure.return.get active): Deleted.
(FontInspector.FontInspectorClosure.return.set active): Deleted.
(FontInspector.FontInspectorClosure.return.properties): Deleted.
(FontInspector.FontInspectorClosure.return.fontAdded): Deleted.
(FontInspector): Deleted.
(StepperManager.StepperManagerClosure.return.init): Deleted.
(StepperManager.StepperManagerClosure.return.cleanup): Deleted.
(StepperManager.StepperManagerClosure.return.create): Deleted.
(StepperManager.StepperManagerClosure.return.selectStepper): Deleted.
(StepperManager.StepperManagerClosure.return.saveBreakPoints): Deleted.
(StepperManager): Deleted.
(Stats.Stats): Deleted.
(Stats.Stats.getStatIndex): Deleted.
(Stats): Deleted.
(window.PDFBug): Deleted.

  • Source/ThirdParty/pdfjs/web/images/grab.cur: Removed.
  • Source/ThirdParty/pdfjs/web/images/grabbing.cur: Removed.
  • Source/ThirdParty/pdfjs/web/locale/be/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ca/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/cs/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/cy/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/da/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/de/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/dsb/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/el/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/en-CA/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/en-GB/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/en-US/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/eo/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/es-AR/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/es-CL/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/es-ES/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/es-MX/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/et/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/eu/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/fr/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/fy-NL/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ga-IE/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/gn/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/hr/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/hsb/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/hu/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/hye/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ia/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/id/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/is/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/it/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ja/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ka/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/kab/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/kk/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ko/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/nb-NO/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/nl/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/nn-NO/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/oc/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/pa-IN/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/pl/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/pt-BR/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/pt-PT/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/rm/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/ru/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/sat/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/sc/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/sk/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/sl/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/sv-SE/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/szl/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/tg/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/th/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/tr/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/uk/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/vi/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/zh-CN/viewer.properties:
  • Source/ThirdParty/pdfjs/web/locale/zh-TW/viewer.properties:
  • Source/ThirdParty/pdfjs/web/viewer.css:

(.textLayer):
(:root):
(.pdfViewer .dummyPage):
([dir="rtl"]:root):
(@media (prefers-color-scheme: dark) :root):
(@media screen and (forced-colors: active) :root):
(html,):
(body):
(.hidden,):
([dir="ltr"] #sidebarContainer):
([dir="rtl"] #sidebarContainer):
(#sidebarContainer):
([dir="ltr"] #outerContainer.sidebarOpen #sidebarContainer):
([dir="rtl"] #outerContainer.sidebarOpen #sidebarContainer):
(#outerContainer.sidebarOpen #sidebarContainer):
([dir="ltr"] #sidebarContent):
([dir="rtl"] #sidebarContent):
(#sidebarContent):
(#viewerContainer):
([dir="ltr"] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode)):
([dir="rtl"] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode)):
(#outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode)):
(#toolbarSidebar):
([dir="ltr"] #sidebarResizer):
([dir="rtl"] #sidebarResizer):
(#sidebarResizer):
([dir="ltr"] #loadingBar):
([dir="rtl"] #loadingBar):
(#loadingBar):
([dir="ltr"] #outerContainer.sidebarOpen #loadingBar):
([dir="rtl"] #outerContainer.sidebarOpen #loadingBar):
(#outerContainer.sidebarOpen #loadingBar):
(#loadingBar .progress):
(#loadingBar .progress.indeterminate):
(#outerContainer.sidebarResizing #sidebarContainer,):
(.findbar,):
([dir="ltr"] .findbar):
([dir="rtl"] .findbar):
(.findbar):
(.findbar > div):
([dir="ltr"] .findbar > div#findbarInputContainer):
([dir="rtl"] .findbar > div#findbarInputContainer):
(.findbar > div#findbarInputContainer):
(.findbar.wrapContainers > div,):
(.findbar.wrapContainers > div#findbarMessageContainer):
(.findbar label:hover,):
(#findInput[data-status="pending"]):
([dir="ltr"] .secondaryToolbar):
([dir="rtl"] .secondaryToolbar):
(.secondaryToolbar):
(#secondaryToolbarButtonContainer):
(.doorHanger:after,):
([dir="ltr"] .doorHanger:after):
([dir="rtl"] .doorHanger:after):
(.doorHanger:after):
([dir="ltr"] .doorHangerRight:after):
([dir="rtl"] .doorHangerRight:after):
(.doorHangerRight:after):
([dir="ltr"] .doorHanger:before):
([dir="rtl"] .doorHanger:before):
(.doorHanger:before):
([dir="ltr"] .doorHangerRight:before):
([dir="rtl"] .doorHangerRight:before):
(.doorHangerRight:before):
(#findResultsCount:empty,):
([dir="ltr"] #toolbarViewerLeft,[dir="ltr"]):
([dir="rtl"] #toolbarViewerLeft,[dir="rtl"]):
(#toolbarViewerLeft,):
([dir="ltr"] #toolbarViewerRight,[dir="ltr"]):
([dir="rtl"] #toolbarViewerRight,[dir="rtl"]):
(#toolbarViewerRight,):
([dir="ltr"] #toolbarViewerLeft > *,[dir="ltr"]):
([dir="rtl"] #toolbarViewerLeft > *,[dir="rtl"]):
(#toolbarViewerLeft > *,):
([dir="ltr"] #toolbarViewerLeft):
([dir="rtl"] #toolbarViewerLeft):
(#toolbarViewerLeft):
([dir="ltr"] #toolbarViewerRight):
([dir="rtl"] #toolbarViewerRight):
(#toolbarViewerRight):
([dir="ltr"] #toolbarSidebarRight):
([dir="rtl"] #toolbarSidebarRight):
(#toolbarSidebarRight):
(.splitToolbarButton):
([dir="ltr"] .splitToolbarButton > .toolbarButton):
([dir="rtl"] .splitToolbarButton > .toolbarButton):
(.splitToolbarButton > .toolbarButton):
(.toolbarButton,):
(.dialogButton:hover,):
(.dialogButton:hover > span,):
(.toolbarButton[disabled],):
(.splitToolbarButton > .toolbarButton:hover,):
([dir="ltr"] #toolbarSidebar .splitToolbarButton > .toolbarButton):
([dir="rtl"] #toolbarSidebar .splitToolbarButton > .toolbarButton):
(#toolbarSidebar .splitToolbarButton > .toolbarButton):
([dir="ltr"] .splitToolbarButtonSeparator):
([dir="rtl"] .splitToolbarButtonSeparator):
(.splitToolbarButtonSeparator):
(.toolbarButton:hover,):
(.secondaryToolbarButton:hover,):
(.toolbarButton.toggled::before,):
(.dropdownToolbarButton):
([dir="ltr"] .dropdownToolbarButton::after):
([dir="rtl"] .dropdownToolbarButton::after):
(.dropdownToolbarButton::after):
([dir="ltr"] .dropdownToolbarButton > select):
([dir="rtl"] .dropdownToolbarButton > select):
(.dropdownToolbarButton > select):
(.dropdownToolbarButton > select:hover,):
(.toolbarButton::before,):
(.dropdownToolbarButton:hover::after,):
(.toolbarButton:hover::before,):
([dir="ltr"] .secondaryToolbarButton::before):
([dir="rtl"] .secondaryToolbarButton::before):
(.secondaryToolbarButton::before):
(#sidebarToggle::before):
(#secondaryToolbarToggle::before):
(#findPrevious::before):
(#findNext::before):
(#previous::before):
(#next::before):
(#zoomOut::before):
(#zoomIn::before):
(#presentationMode::before,):
(#print::before,):
(#openFile::before,):
(#download::before,):
(a.secondaryToolbarButton):
(a.toolbarButton[href="#"],):
(#viewBookmark::before,):
(#viewThumbnail::before):
(#viewOutline::before):
(#viewAttachments::before):
(#viewLayers::before):
(#currentOutlineItem::before):
(#viewFind::before):
([dir="ltr"] .pdfSidebarNotification::after):
([dir="rtl"] .pdfSidebarNotification::after):
(.pdfSidebarNotification::after):
([dir="ltr"] .secondaryToolbarButton):
([dir="rtl"] .secondaryToolbarButton):
(.secondaryToolbarButton):
([dir="ltr"] .secondaryToolbarButton > span):
([dir="rtl"] .secondaryToolbarButton > span):
(.secondaryToolbarButton > span):
(#firstPage::before):
(#lastPage::before):
(#pageRotateCcw::before):
(#pageRotateCw::before):
(#cursorSelectTool::before):
(#cursorHandTool::before):
(#scrollPage::before):
(#scrollVertical::before):
(#scrollHorizontal::before):
(#scrollWrapped::before):
(#spreadNone::before):
(#spreadOdd::before):
(#spreadEven::before):
(#documentProperties::before):
(.verticalToolbarSeparator):
(.horizontalToolbarSeparator):
(.toolbarField):
([dir="ltr"] .toolbarField[type="checkbox"]):
([dir="rtl"] .toolbarField[type="checkbox"]):
(.toolbarField[type="checkbox"]):
(#pageNumber):
(#pageNumber.visiblePageIsLoading):
(#pageNumber::-webkit-inner-spin-button):
([dir="ltr"] #numPages.toolbarLabel):
([dir="rtl"] #numPages.toolbarLabel):
(#numPages.toolbarLabel):
(#thumbnailView,):
(#thumbnailView):
([dir="ltr"] .thumbnail):
([dir="rtl"] .thumbnail):
(.thumbnail):
(#thumbnailView > a:last-of-type > .thumbnail):
([dir="ltr"] .treeWithDeepNesting > .treeItem,[dir="ltr"]):
([dir="rtl"] .treeWithDeepNesting > .treeItem,[dir="rtl"]):
(.treeWithDeepNesting > .treeItem,):
([dir="ltr"] .treeItem > a):
([dir="rtl"] .treeItem > a):
(.treeItem > a):
([dir="ltr"] #layersView .treeItem > a > label):
([dir="rtl"] #layersView .treeItem > a > label):
(#layersView .treeItem > a > label):
([dir="ltr"] .treeItemToggler):
([dir="rtl"] .treeItemToggler):
(.treeItemToggler):
([dir="ltr"] .treeItemToggler::before):
([dir="rtl"] .treeItemToggler::before):
(.treeItemToggler::before):
(.treeItemToggler.treeItemsHidden::before):
(.treeItemToggler.treeItemsHidden ~ .treeItems):
(#errorWrapper):
(#errorMessageLeft):
(#errorSpacer):
(.dialogButton):
(dialog):
(dialog::-webkit-backdrop):
(dialog::backdrop):
(dialog > .row):
(dialog > .row > *):
(dialog .toolbarField):
(dialog .separator):
(dialog .buttonRow):
(dialog :link):
(#passwordDialog):
(#passwordDialog .toolbarField):
(#documentPropertiesDialog):
([dir="ltr"] #documentPropertiesDialog .row > *):
([dir="rtl"] #documentPropertiesDialog .row > *):
(#documentPropertiesDialog .row > *):
(#documentPropertiesDialog .row > span):
(#documentPropertiesDialog .row > p):
(#documentPropertiesDialog .buttonRow):
(.grab-to-pan-grab):
(.grab-to-pan-grab:active,):
(@media print body):
(@media all and (max-width: 840px) [dir="ltr"] #outerContainer.sidebarOpen #viewerContainer):
(@media all and (max-width: 840px) [dir="rtl"] #outerContainer.sidebarOpen #viewerContainer):
(@media all and (max-width: 840px) #outerContainer.sidebarOpen #viewerContainer):
(@media all and (max-width: 640px) [dir="ltr"] .findbar):
(@media all and (max-width: 640px) [dir="rtl"] .findbar):
(@media all and (max-width: 640px) .findbar):
(html): Deleted.
(.hidden): Deleted.
([hidden]): Deleted.
(html[dir="ltr"] #sidebarContainer): Deleted.
(html[dir="rtl"] #sidebarContainer): Deleted.
(#outerContainer.sidebarResizing #sidebarContainer): Deleted.
(html[dir="ltr"] #outerContainer.sidebarOpen #sidebarContainer): Deleted.
(html[dir="rtl"] #outerContainer.sidebarOpen #sidebarContainer): Deleted.
(html[dir="ltr"] #sidebarContent): Deleted.
(html[dir="rtl"] #sidebarContent): Deleted.
(#outerContainer.sidebarResizing #viewerContainer): Deleted.
(html[dir="ltr"]): Deleted.
(html[dir="rtl"]): Deleted.
(html[dir="ltr"] #toolbarSidebar): Deleted.
(html[dir="rtl"] #toolbarSidebar): Deleted.
(html[dir="ltr"] #toolbarSidebar .toolbarButton): Deleted.
(html[dir="rtl"] #toolbarSidebar .toolbarButton): Deleted.
(html[dir="ltr"] #toolbarSidebarRight .toolbarButton): Deleted.
(html[dir="rtl"] #toolbarSidebarRight .toolbarButton): Deleted.
(html[dir="ltr"] #sidebarResizer): Deleted.
(html[dir="rtl"] #sidebarResizer): Deleted.
(html[dir="ltr"] #loadingBar): Deleted.
(html[dir="rtl"] #loadingBar): Deleted.
(html[dir="ltr"] #outerContainer.sidebarOpen #loadingBar): Deleted.
(html[dir="rtl"] #outerContainer.sidebarOpen #loadingBar): Deleted.
(#outerContainer.sidebarResizing #loadingBar): Deleted.
(.findbar.wrapContainers > div): Deleted.
(html[dir="ltr"] .findbar): Deleted.
(html[dir="rtl"] .findbar): Deleted.
(.findbar .splitToolbarButton): Deleted.
(html[dir="ltr"] .findbar .splitToolbarButton): Deleted.
(html[dir="rtl"] .findbar .splitToolbarButton): Deleted.
(.findbar .splitToolbarButton > .toolbarButton): Deleted.
(.findbar .splitToolbarButton > .toolbarButton::before): Deleted.
(.findbar .splitToolbarButton > .findNext): Deleted.
(html[dir="ltr"] .findbar .splitToolbarButton > .findNext): Deleted.
(html[dir="rtl"] .findbar .splitToolbarButton > .findNext): Deleted.
(html[dir="ltr"] #findInput): Deleted.
(html[dir="rtl"] #findInput): Deleted.
(html[dir="rtl"] #findInput[data-status="pending"]): Deleted.
(html[dir="ltr"] .secondaryToolbar): Deleted.
(html[dir="rtl"] .secondaryToolbar): Deleted.
(html[dir="ltr"] .doorHanger:after,): Deleted.
(html[dir="ltr"] .doorHanger:before,): Deleted.
(html[dir="rtl"] .doorHanger:after,): Deleted.
(html[dir="rtl"] .doorHanger:before,): Deleted.
(#findMsg:empty): Deleted.
(html[dir="ltr"] #toolbarViewerLeft,): Deleted.
(html[dir="ltr"] #toolbarViewerRight,): Deleted.
(html[dir="ltr"] #toolbarViewerLeft > *,): Deleted.
(html[dir="rtl"] #toolbarViewerLeft > *,): Deleted.
(html[dir="ltr"] .splitToolbarButton > .toolbarButton): Deleted.
(html[dir="rtl"] .splitToolbarButton > .toolbarButton): Deleted.
(.overlayButton:hover,): Deleted.
(.overlayButton:hover > span,): Deleted.
(.splitToolbarButton.toggled .toolbarButton): Deleted.
(html[dir="ltr"] .splitToolbarButton > .toolbarButton:first-child,): Deleted.
(html[dir="ltr"] .splitToolbarButton > .toolbarButton:last-child,): Deleted.
(.findbar .splitToolbarButtonSeparator): Deleted.
(html[dir="ltr"] .splitToolbarButtonSeparator): Deleted.
(html[dir="rtl"] .splitToolbarButtonSeparator): Deleted.
(html[dir="ltr"] #toolbarViewerLeft > .toolbarButton:first-child,): Deleted.
(html[dir="ltr"] #toolbarViewerRight > .toolbarButton:last-child,): Deleted.
(.secondaryToolbarButton.toggled::before): Deleted.
(.toolbarButton.toggled::before): Deleted.
(html[dir="ltr"] .dropdownToolbarButton::after): Deleted.
(html[dir="rtl"] .dropdownToolbarButton::after): Deleted.
(html[dir="ltr"] .dropdownToolbarButton > select): Deleted.
(html[dir="rtl"] .dropdownToolbarButton > select): Deleted.
(#customScaleOption): Deleted.
(#pageWidthOption): Deleted.
(html[dir="ltr"] .secondaryToolbarButton::before): Deleted.
(html[dir="rtl"] .secondaryToolbarButton::before): Deleted.
(.toolbarButton#sidebarToggle::before): Deleted.
(html[dir="rtl"] .toolbarButton#sidebarToggle::before): Deleted.
(.toolbarButton#secondaryToolbarToggle::before): Deleted.
(html[dir="rtl"] .toolbarButton#secondaryToolbarToggle::before): Deleted.
(.toolbarButton.findPrevious::before): Deleted.
(.toolbarButton.findNext::before): Deleted.
(.toolbarButton.pageUp::before): Deleted.
(.toolbarButton.pageDown::before): Deleted.
(.toolbarButton.zoomOut::before): Deleted.
(.toolbarButton.zoomIn::before): Deleted.
(.toolbarButton.presentationMode::before,): Deleted.
(.toolbarButton.print::before,): Deleted.
(.toolbarButton.openFile::before,): Deleted.
(.toolbarButton.download::before,): Deleted.
(.secondaryToolbarButton.bookmark): Deleted.
(.bookmark[href="#"]): Deleted.
(.toolbarButton.bookmark::before,): Deleted.
(#viewThumbnail.toolbarButton::before): Deleted.
(#viewOutline.toolbarButton::before): Deleted.
(html[dir="rtl"] #viewOutline.toolbarButton::before): Deleted.
(#viewAttachments.toolbarButton::before): Deleted.
(#viewLayers.toolbarButton::before): Deleted.
(#currentOutlineItem.toolbarButton::before): Deleted.
(html[dir="rtl"] #currentOutlineItem.toolbarButton::before): Deleted.
(#viewFind.toolbarButton::before): Deleted.
(.toolbarButton.pdfSidebarNotification::after): Deleted.
(html[dir="ltr"] .toolbarButton.pdfSidebarNotification::after): Deleted.
(html[dir="rtl"] .toolbarButton.pdfSidebarNotification::after): Deleted.
(html[dir="ltr"] .secondaryToolbarButton): Deleted.
(html[dir="rtl"] .secondaryToolbarButton): Deleted.
(html[dir="ltr"] .secondaryToolbarButton > span): Deleted.
(html[dir="rtl"] .secondaryToolbarButton > span): Deleted.
(.secondaryToolbarButton.firstPage::before): Deleted.
(.secondaryToolbarButton.lastPage::before): Deleted.
(.secondaryToolbarButton.rotateCcw::before): Deleted.
(.secondaryToolbarButton.rotateCw::before): Deleted.
(.secondaryToolbarButton.selectTool::before): Deleted.
(.secondaryToolbarButton.handTool::before): Deleted.
(.secondaryToolbarButton.scrollPage::before): Deleted.
(.secondaryToolbarButton.scrollVertical::before): Deleted.
(.secondaryToolbarButton.scrollHorizontal::before): Deleted.
(.secondaryToolbarButton.scrollWrapped::before): Deleted.
(.secondaryToolbarButton.spreadNone::before): Deleted.
(.secondaryToolbarButton.spreadOdd::before): Deleted.
(.secondaryToolbarButton.spreadEven::before): Deleted.
(.secondaryToolbarButton.documentProperties::before): Deleted.
(html[dir="ltr"] .verticalToolbarSeparator): Deleted.
(html[dir="rtl"] .verticalToolbarSeparator): Deleted.
(html[dir="ltr"] .toolbarField[type="checkbox"]): Deleted.
(html[dir="rtl"] .toolbarField[type="checkbox"]): Deleted.
(.toolbarField.pageNumber): Deleted.
(.toolbarField.pageNumber.visiblePageIsLoading): Deleted.
(.toolbarField.pageNumber::-webkit-inner-spin-button,): Deleted.
(html[dir="ltr"] #numPages.toolbarLabel): Deleted.
(html[dir="rtl"] #numPages.toolbarLabel): Deleted.
(html[dir="ltr"] .thumbnail): Deleted.
(html[dir="rtl"] .thumbnail): Deleted.
(#outlineView,): Deleted.
(html[dir="ltr"] .treeWithDeepNesting > .treeItem,): Deleted.
(html[dir="rtl"] .treeWithDeepNesting > .treeItem,): Deleted.
(html[dir="ltr"] .treeItem > a): Deleted.
(html[dir="rtl"] .treeItem > a): Deleted.
(html[dir="ltr"] #layersView .treeItem > a > label): Deleted.
(html[dir="rtl"] #layersView .treesItem > a > label): Deleted.
(html[dir="rtl"] .treeItemToggler.treeItemsHidden::before): Deleted.
(html[dir="ltr"] .treeItemToggler): Deleted.
(html[dir="rtl"] .treeItemToggler): Deleted.
(html[dir="ltr"] .treeItemToggler::before): Deleted.
(html[dir="rtl"] .treeItemToggler::before): Deleted.
(.overlayButton): Deleted.
(#overlayContainer): Deleted.
(#overlayContainer > *): Deleted.
(#overlayContainer > .container): Deleted.
(#overlayContainer > .container > .dialog): Deleted.
(.dialog > .row): Deleted.
(.dialog > .row > *): Deleted.
(.dialog .toolbarField): Deleted.
(.dialog .separator): Deleted.
(.dialog .buttonRow): Deleted.
(.dialog :link): Deleted.
(#passwordOverlay > .dialog): Deleted.
(#passwordOverlay .toolbarField): Deleted.
(#documentPropertiesOverlay > .dialog): Deleted.
(#documentPropertiesOverlay .row > *): Deleted.
(html[dir="ltr"] #documentPropertiesOverlay .row > *): Deleted.
(html[dir="rtl"] #documentPropertiesOverlay .row > *): Deleted.
(#documentPropertiesOverlay .row > span): Deleted.
(#documentPropertiesOverlay .row > p): Deleted.
(#documentPropertiesOverlay .buttonRow): Deleted.
(.clearBoth): Deleted.
(.fileInput): Deleted.
(#PDFBug): Deleted.
(#PDFBug .controls): Deleted.
(#PDFBug .panels): Deleted.
(#PDFBug .panels > div): Deleted.
(#PDFBug button.active): Deleted.
(.debuggerShowText): Deleted.
(.debuggerHideText:hover): Deleted.
(#PDFBug .stats): Deleted.
(#PDFBug .stats .title): Deleted.
(#PDFBug table): Deleted.
(#PDFBug table.showText): Deleted.
(#PDFBug table.showText,): Deleted.
(#PDFBug table.showText td.advance): Deleted.
(#viewer.textLayer-visible .textLayer): Deleted.
(#viewer.textLayer-visible .canvasWrapper): Deleted.
(#viewer.textLayer-visible .canvasWrapper canvas): Deleted.
(#viewer.textLayer-visible .textLayer span): Deleted.
(#viewer.textLayer-hover .textLayer span:hover): Deleted.
(#viewer.textLayer-shadow .textLayer span): Deleted.
(@media print #sidebarContainer,): Deleted.
(@media print #viewerContainer): Deleted.
(@media print #mainContainer,): Deleted.
(@media print .page): Deleted.
(@media print .page[data-loaded]): Deleted.
(@media print .fileInput): Deleted.
(@media all and (max-width: 840px) html[dir="ltr"] #outerContainer.sidebarOpen #viewerContainer): Deleted.
(@media all and (max-width: 840px) html[dir="rtl"] #outerContainer.sidebarOpen #viewerContainer): Deleted.
(@media all and (max-width: 840px) #outerContainer .hiddenLargeView,): Deleted.
(@media all and (max-width: 840px) #outerContainer .visibleLargeView,): Deleted.
(@media all and (max-width: 640px) html[dir="ltr"] .findbar): Deleted.
(@media all and (max-width: 640px) html[dir="rtl"] .findbar): Deleted.

  • Source/ThirdParty/pdfjs/web/viewer.html:
  • Source/ThirdParty/pdfjs/web/viewer.js:

(webpack_require.const.PDFViewerApplication.async initialize):
(webpack_require.const.PDFViewerApplication.async _parseHashParameters):
(webpack_require.const.PDFViewerApplication.async _initializeViewerComponents):
(webpack_require.const.PDFViewerApplication.get supportsFullscreen):
(webpack_require.const.PDFViewerApplication.async close):
(webpack_require.):
(webpack_require):
(exports.checkOnBlobSupport): Deleted.
(webpack_require.DefaultExternalServices.async fallback): Deleted.

  • Source/WebKit/PdfJSGResources.cmake:

Canonical link: https://commits.webkit.org/250650@main

10:49 AM Changeset in webkit [294329] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/rendering/RenderElement.h

Remove some RenderElement API
https://bugs.webkit.org/show_bug.cgi?id=240520

Patch by Rob Buis <rbuis@igalia.com> on 2022-05-17
Reviewed by Alan Bujtas.

Remove some unused RenderElement API, instead attachRendererInternal/detachRendererInternal are used.

  • Source/WebCore/rendering/RenderElement.h:

(WebCore::RenderElement::setFirstChild): Deleted.
(WebCore::RenderElement::setLastChild): Deleted.

10:47 AM Changeset in webkit [294328] by Tyler Wilcock
  • 2 edits in trunk/Source/WebCore/accessibility/isolatedtree

AX: Lazily retrieve AXPropertyName::SupportsPressAction, AXPropertyName::ColumnHeaders, and AXPropertyName::RowHeaders
https://bugs.webkit.org/show_bug.cgi?id=240473

Reviewed by Chris Fleizach.

These properties can be expensive to compute up-front, so retrieve them
lazily.

No test because there is no user-facing behavior change.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeProperties):
(WebCore::AXIsolatedObject::getOrRetrievePropertyValue):
(WebCore::AXIsolatedObject::columnHeaders):
(WebCore::AXIsolatedObject::rowHeaders):
(WebCore::AXIsolatedObject::supportsPressAction const):

  • accessibility/isolatedtree/AXIsolatedObject.h:

Canonical link: https://commits.webkit.org/250648@main

10:35 AM Changeset in webkit [294327] by Jonathan Bedard
  • 4 edits in trunk/Tools/CISupport/ews-build

Forbid ChangeLog modification
https://bugs.webkit.org/show_bug.cgi?id=240461
<rdar://93351783>

Rubber-stamped by Aakash Jain.

  • Tools/CISupport/ews-build/factories.py:

(CommitQueueFactory.init): Only accept patches with commit messages,
respect those commit messages.
(MergeQueueFactoryBase.init): Use commit author in commit.

  • Tools/CISupport/ews-build/factories_unittest.py:

(TestExpectedBuildSteps.test_all_expected_steps):

  • CISupport/ews-build/steps.py:

(CommitPatch): Add step which commits a patch, including it's commit message.
(PushCommitToWebKitRepo.evaluateCommand): Use GitHub checkout on Commit-Queue.
(ValidateSquashed.start): Support committed patches.
(AddReviewerToCommitMessage.start): Ditto.
(DetermineAuthor): Extract author from local commit.
(AddAuthorToCommitMessage): Use 'author' property as set by 'DetermineAuthor'.
(ValidateCommitMessage._files): Support patches.
(ValidateCommitMessage.run): Support committed patches.
(ValidateCommitMessage.getResultSummary): Support patches.
(Canonicalize.run): Support committed patches.
(ValidateSquashed.doStepIf): Deleted.
(ValidateSquashed.hideStepIf): Deleted.
(AddAuthorToCommitMessage.author): Deleted.
(ValidateCommitMessage.doStepIf): Deleted.
(ValidateCommitMessage.hideStepIf): Deleted.

  • Tools/CISupport/ews-build/steps_unittest.py:
10:31 AM Changeset in webkit [294326] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp

Unreviewed, fix typo in comment

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-17

  • Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:

(WebKit::ProcessLauncher::launchProcess):

Canonical link: https://commits.webkit.org/250646@main

9:38 AM Changeset in webkit [294325] by Wenson Hsieh
  • 23 edits in trunk

Refactor ImageAnalysisQueue to take source and target identifier strings
https://bugs.webkit.org/show_bug.cgi?id=240485
rdar://93280471

Reviewed by Tim Horton.

Plumb a source identifier string alongside the existing target identifier string when kicking off the image
analysis queue. See WebKit changes for more details.

  • html/shadow/imageOverlay.css:

(div.image-overlay-block):

Drive-by fix: tweak some styles in the image overlay, related to block-style image overlays installed by the
image analysis queue.

  • page/ImageAnalysisQueue.cpp:

(WebCore::ImageAnalysisQueue::enqueueAllImages):
(WebCore::ImageAnalysisQueue::resumeProcessing):
(WebCore::ImageAnalysisQueue::clear):

  • page/ImageAnalysisQueue.h:
  • platform/TextRecognitionOptions.h:

Change -[WKWebView _startImageAnalysis:] to -[WKWebView _startImageAnalysis:target:], and have it take
separate source and target identifier strings. We pass these strings through to the page and store them on
ImageAnalysisQueue, where they eventually bubble back up to the UI process when trigger batch image analysis,
via the new source and target arguments on requestTextRecognition().

No change in behavior; covered by adjusting existing API tests to use the adjusted SPI.

  • Platform/cocoa/ImageAnalysisUtilities.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _startImageAnalysis:target:]):
(-[WKWebView _startImageAnalysis:]): Deleted.

Rename this SPI entirely; this is safe to rename because the only existing client of this method (apart from API
tests) will simultaneously adopt the new SPI method with both source and target arguments.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::requestTextRecognition):

  • UIProcess/PageClient.h:

(WebKit::PageClient::requestTextRecognition):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestTextRecognition):
(WebKit::WebPageProxy::startImageAnalysis):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::requestTextRecognition):

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

(-[WKContentView requestTextRecognition:imageData:source:target:completionHandler:]):
(-[WKContentView requestTextRecognition:imageData:identifier:completionHandler:]): Deleted.

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

(WebKit::PageClientImpl::requestTextRecognition):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::requestTextRecognition):
(WebKit::WebPage::startImageAnalysis):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

See WebKit changes for more information.

  • TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:

(TestWebKitAPI::TEST):

Canonical link: https://commits.webkit.org/250645@main

8:40 AM Changeset in webkit [294324] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/rendering/updating/RenderTreeBuilderFirstLetter.cpp

[GTK] Fix build after 250633@main
https://bugs.webkit.org/show_bug.cgi?id=240521

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-17
Unreviewed, fix GTK build.

  • rendering/updating/RenderTreeBuilderFirstLetter.cpp:

Canonical link: https://commits.webkit.org/250644@main

7:10 AM Changeset in webkit [294323] by Jonathan Bedard
  • 5 edits in trunk/Tools

[Merge-Queue] Forbid ChangeLog modification
https://bugs.webkit.org/show_bug.cgi?id=239413
<rdar://problem/91839553>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/factories.py:

(MergeQueueFactoryBase.init): Remove AddReviewerToChangeLog and ValidateChangeLogAndReviewer.

  • CISupport/ews-build/factories_unittest.py:

(TestExpectedBuildSteps):

  • Tools/CISupport/ews-build/steps.py:

(PushCommitToWebKitRepo.evaluateCommand): Remove AddReviewerToChangeLog.
(ValidateCommitMessage._files): List all modified files.
(ValidateCommitMessage.evaluateCommand): Fail step if no ChangeLog modified.
(AddReviewerToChangeLog): Deleted.

  • Tools/CISupport/ews-build/steps_unittest.py:

Canonical link: https://commits.webkit.org/250643@main

6:22 AM Changeset in webkit [294322] by Chris Lord
  • 15 edits in trunk/Source/WebKit

[WPE] Use new libwpe API to synchronise display refreshes fully to the screen refresh rate
https://bugs.webkit.org/show_bug.cgi?id=240453

Reviewed by Adrian Perez de Castro.

Use new libwpe API to track the target refresh rate and use it in
ThreadedDisplayRefreshMonitor for DisplayUpdate objects.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::targetRefreshRateDidChange):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:

(WebKit::ThreadedDisplayRefreshMonitor::ThreadedDisplayRefreshMonitor):
(WebKit::ThreadedDisplayRefreshMonitor::setTargetRefreshRate):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.h:
  • UIProcess/API/wpe/WPEView.cpp:

(WKWPE::m_backend):

  • UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp:

(WebKit::DrawingAreaProxyCoordinatedGraphics::targetRefreshRateDidChange):

  • UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h:
  • UIProcess/DrawingAreaProxy.h:
  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:

(WebKit::DrawingAreaCoordinatedGraphics::targetRefreshRateDidChange):

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

(WebKit::LayerTreeHost::targetRefreshRateDidChange):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::targetRefreshRateDidChange):

  • WebProcess/WebPage/DrawingArea.messages.in:
6:22 AM Changeset in webkit [294321] by commit-queue@webkit.org
  • 2 edits in trunk

[GTK] Build MiniBrowser by default
https://bugs.webkit.org/show_bug.cgi?id=240515

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-05-17
Reviewed by Philippe Normand.

  • Source/cmake/OptionsGTK.cmake:

Canonical link: https://commits.webkit.org/250641@main

6:13 AM Changeset in webkit [294320] by aakash_jain@apple.com
  • 1 edit in trunk/Tools/CISupport/ews-build/config.json

[ews] Move few bots from mac wk1 queues to wk2 queue
https://bugs.webkit.org/show_bug.cgi?id=240513

Reviewed by Jonathan Bedard.

  • Tools/CISupport/ews-build/config.json:

Canonical link: https://commits.webkit.org/250640@main

5:12 AM Changeset in webkit [294319] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Always have non nullptr for WebAssembly.Memory buffer
https://bugs.webkit.org/show_bug.cgi?id=240510

Reviewed by Mark Lam.

This patch adds CagedUniquePtr to allocate a pointer for that.

  • Source/JavaScriptCore/runtime/ArrayBuffer.cpp:

(JSC::ArrayBuffer::makeShared):

  • Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.cpp:

(JSC::JSWebAssemblyMemory::buffer):

Canonical link: https://commits.webkit.org/250639@main

4:05 AM Changeset in webkit [294318] by ntim@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

[iOS] Rebaseline 2 tests in imported/w3c/web-platform-tests/html/semantics/forms/
https://bugs.webkit.org/show_bug.cgi?id=240512

Unreviewed test gardening.

  • LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/beforeinput.tentative-expected.txt: Added.
  • LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/input-whitespace-expected.txt: Added.

Canonical link: https://commits.webkit.org/250638@main

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

ImageBufferIOSurfaceBackend context setup and teardown functions are redundant and error-prone
https://bugs.webkit.org/show_bug.cgi?id=240452

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-17
Reviewed by Simon Fraser.

Source/WebCore:

Remove ImageBuffer::releaseGraphicsContext().
It only made sense to be used before ImageBuffer::setVolatile().
The call setVolatile only made sense after releaseGraphicsContext().
Instead, make releasing the graphics context part of the
setVolatile() contract.

ImageBufferBackend::applyBaseTransformToContext() invoked a virtual
function context(). This was called from the middle of the inheritance chain,
from a constructor.
If a class later in the inheritance chain would override context(), the
call would not be invoked correctly. Currently no class suffered from this, but
in future some might.
ImageBufferIOSurfaceBackend call to applyBaseTransformToContext() would also
recurse through context() back to applyBaseTransformToContext() in non-intuitive
way through overridden ::context() which would re-enter applyBaseTransformToContext().
Based on current knowledge doubly invoking the logic did not cause any harm.

  • platform/graphics/ConcreteImageBuffer.h:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageBufferBackend.cpp:

(WebCore::ImageBufferBackend::applyBaseTransform):
(WebCore::ImageBufferBackend::applyBaseTransformToContext const): Deleted.

  • platform/graphics/ImageBufferBackend.h:

(WebCore::ImageBufferBackend::isInUse const):
(WebCore::ImageBufferBackend::releaseGraphicsContext): Deleted.

  • platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:

(WebCore::ImageBufferCGBitmapBackend::ImageBufferCGBitmapBackend):

  • platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:

(WebCore::ImageBufferIOSurfaceBackend::ImageBufferIOSurfaceBackend):
(WebCore::ImageBufferIOSurfaceBackend::context const):
(WebCore::ImageBufferIOSurfaceBackend::setVolatile):
(WebCore::ImageBufferIOSurfaceBackend::setNonVolatile):
(WebCore::ImageBufferIOSurfaceBackend::initializeContext):
(WebCore::ImageBufferIOSurfaceBackend::releaseGraphicsContext): Deleted.

  • platform/graphics/cg/ImageBufferIOSurfaceBackend.h:

Source/WebKit:

Adjust after removing ImageBuffer::releaseGraphicsContext().

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::markSurfacesVolatile):

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::setBufferVolatile):

  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
2:08 AM Changeset in webkit [294316] by Ziran Sun
  • 11 edits
    5 deletes in trunk/LayoutTests

tidy up some test expectations files after resync html/semantics/forms tests
https://bugs.webkit.org/show_bug.cgi?id=240451

Reviewed by Tim Nguyen.

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:

LayoutTests:

This is to tidy up some test expectation files are WPT upstream resync at bug 240301.

  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Removed.
  • platform/ios/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Removed.
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Removed.
1:38 AM Changeset in webkit [294315] by commit-queue@webkit.org
  • 3 edits in trunk

Allow Service Workers to run for a little longer in case of functional events
https://bugs.webkit.org/show_bug.cgi?id=240454

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-17
Reviewed by Chris Dumez.

Functional events should usually trigger opening a new web page on the same origin as the service worker.
There are good chances that the service worker will control the new web page, it is thus potentially useful to
keep the service worker around for a bit, to not pay the cost of stopping and restarting it.
To do so, we introduce a timer in SWServerWorker that handles the termination in case of functional events/debugger.

Covered by updated API test.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
  • Source/WebCore/workers/service/server/SWServerWorker.cpp:

(WebCore::SWServerWorker::startTermination):
(WebCore::SWServerWorker::shouldBeTerminated const):
(WebCore::SWServerWorker::terminateIfPossible):
(WebCore::SWServerWorker::terminationIfPossibleTimerFired):

  • Source/WebCore/workers/service/server/SWServerWorker.h:

Canonical link: https://commits.webkit.org/250635@main

May 16, 2022:

11:18 PM Changeset in webkit [294314] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.0-branch/Source/WTF

Cherry-pick r294272. rdar://problem/93118830

Correct erroneous guard in Platform file
https://bugs.webkit.org/show_bug.cgi?id=240469
<rdar://problem/93358873>

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

11:18 PM Changeset in webkit [294313] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.0-branch/Source/WTF

Cherry-pick r294265. rdar://problem/93118830

Remove abandoned WebKitAdditionsFeature1 flag (240462)
https://bugs.webkit.org/show_bug.cgi?id=240462
<rdar://93353298>

Reviewed by Alex Christensen.

Remove the abandoned WebKitAdditionsFeature1 preference, since
it ended up not being needed and now just complicates the build
and generated preferences.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/ExperimentalFeatureNames.h:

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

11:17 PM Changeset in webkit [294312] by Alan Coon
  • 18 edits in branches/safari-7614.1.14.0-branch

Cherry-pick r294264. rdar://problem/93118830

Remove abandoned UseScreenCaptureKit preference
https://bugs.webkit.org/show_bug.cgi?id=240460
<rdar://problem/93351960>

Reviewed by Youenn Fablet.

We no longer need this switch to activate ScreenCaptureKit, and this code is no
longer used. We should remove it to simplify the build and reduce complexity.

Source/WebCore:

  • platform/mediastream/RealtimeMediaSourceCenter.h: (WebCore::RealtimeMediaSourceCenter::useScreenCaptureKit const): Deleted. (WebCore::RealtimeMediaSourceCenter::setUseScreenCaptureKit): Deleted.

Source/WebKit:

  • GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::setUseScreenCaptureKit): Deleted.
  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultScreenCaptureKitEnabled): Deleted.
  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/API/Cocoa/WKPreferences.mm: (-[WKPreferences _useScreenCaptureKit]): Deleted. (-[WKPreferences _setUseScreenCaptureKit:]): Deleted.
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/GPU/GPUProcessProxy.cpp: (WebKit::GPUProcessProxy::updatePreferences):
  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs const):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

Tools:

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

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

11:17 PM Changeset in webkit [294311] by Alan Coon
  • 10 edits in branches/safari-7614.1.14.0-branch

Cherry-pick r294208. rdar://problem/93118830

AX: Remove CSSDisplayContentsAXSupportEnabled flag
https://bugs.webkit.org/show_bug.cgi?id=240409

Reviewed by Chris Fleizach.

Source/WebCore:

We added initial support without using this flag and will continue to
fix bugs as we find them, making this flag unnecessary.

  • page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setCSSDisplayContentsAXSupportEnabled): Deleted. (WebCore::RuntimeEnabledFeatures::cssDisplayContentsAXSupportEnabled const): Deleted.

Source/WebKitLegacy/mac:

We added initial support without using this flag and will continue to
fix bugs as we find them, making this flag unnecessary.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm: (-[WebPreferences cssDisplayContentsAXSupportEnabled]): Deleted. (-[WebPreferences setCSSDisplayContentsAXSupportEnabled:]): Deleted.
  • WebView/WebPreferencesPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:

Tools:

  • DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::defaults):

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

11:17 PM Changeset in webkit [294310] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.1-branch/Source/WTF

Cherry-pick r294272. rdar://problem/93118830

Correct erroneous guard in Platform file
https://bugs.webkit.org/show_bug.cgi?id=240469
<rdar://problem/93358873>

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

11:17 PM Changeset in webkit [294309] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.1-branch/Source/WTF

Cherry-pick r294265. rdar://problem/93118830

Remove abandoned WebKitAdditionsFeature1 flag (240462)
https://bugs.webkit.org/show_bug.cgi?id=240462
<rdar://93353298>

Reviewed by Alex Christensen.

Remove the abandoned WebKitAdditionsFeature1 preference, since
it ended up not being needed and now just complicates the build
and generated preferences.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/ExperimentalFeatureNames.h:

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

11:17 PM Changeset in webkit [294308] by Alan Coon
  • 18 edits in branches/safari-7614.1.14.1-branch

Cherry-pick r294264. rdar://problem/93118830

Remove abandoned UseScreenCaptureKit preference
https://bugs.webkit.org/show_bug.cgi?id=240460
<rdar://problem/93351960>

Reviewed by Youenn Fablet.

We no longer need this switch to activate ScreenCaptureKit, and this code is no
longer used. We should remove it to simplify the build and reduce complexity.

Source/WebCore:

  • platform/mediastream/RealtimeMediaSourceCenter.h: (WebCore::RealtimeMediaSourceCenter::useScreenCaptureKit const): Deleted. (WebCore::RealtimeMediaSourceCenter::setUseScreenCaptureKit): Deleted.

Source/WebKit:

  • GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::setUseScreenCaptureKit): Deleted.
  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultScreenCaptureKitEnabled): Deleted.
  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/API/Cocoa/WKPreferences.mm: (-[WKPreferences _useScreenCaptureKit]): Deleted. (-[WKPreferences _setUseScreenCaptureKit:]): Deleted.
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/GPU/GPUProcessProxy.cpp: (WebKit::GPUProcessProxy::updatePreferences):
  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs const):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

Tools:

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

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

11:17 PM Changeset in webkit [294307] by Alan Coon
  • 10 edits in branches/safari-7614.1.14.1-branch

Cherry-pick r294208. rdar://problem/93118830

AX: Remove CSSDisplayContentsAXSupportEnabled flag
https://bugs.webkit.org/show_bug.cgi?id=240409

Reviewed by Chris Fleizach.

Source/WebCore:

We added initial support without using this flag and will continue to
fix bugs as we find them, making this flag unnecessary.

  • page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setCSSDisplayContentsAXSupportEnabled): Deleted. (WebCore::RuntimeEnabledFeatures::cssDisplayContentsAXSupportEnabled const): Deleted.

Source/WebKitLegacy/mac:

We added initial support without using this flag and will continue to
fix bugs as we find them, making this flag unnecessary.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm: (-[WebPreferences cssDisplayContentsAXSupportEnabled]): Deleted. (-[WebPreferences setCSSDisplayContentsAXSupportEnabled:]): Deleted.
  • WebView/WebPreferencesPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:

Tools:

  • DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::defaults):

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

11:17 PM Changeset in webkit [294306] by Ross Kirsling
  • 6 edits in trunk

ISO8601::parseCalendarTime must throw in cases of time/date ambiguity
https://bugs.webkit.org/show_bug.cgi?id=240498

Reviewed by Yusuke Suzuki.

The CalendarTime production (https://tc39.es/proposal-temporal/#prod-CalendarTime) goes to a lot of trouble
to ensure that ambiguous parses are not allowed; this patch ensures that our implementation does so too.

In short:

  • CalendarTime is basically TimeDesignator[opt] TimeSpec TimeZone[opt] Calendar[opt].
  • When we don't have a TimeDesignator or a Calendar, we're in danger of ambiguity: YYYY-MM, YYYYMM, MM-DD, MMDD look the same as HHMM-UU, HHMMSS, HH-UU, HHMM (where UU is a UTC offset).
  • The solution is to attempt to reparse the string as one of these date formats and throw if we succeed.
  • stress/temporal-plaintime.js: Adjust expectations.
  • test262/expectations.yaml: Mark 10 test cases as passing.
  • runtime/ISO8601.cpp:

(JSC::ISO8601::isAmbiguousCalendarTime):
(JSC::ISO8601::parseCalendarTime):
(JSC::ISO8601::daysInMonth):

  • runtime/ISO8601.h:

Canonical link: https://commits.webkit.org/250634@main

11:11 PM Changeset in webkit [294305] by Alan Coon
  • 4 edits
    3 adds in branches/safari-613-branch

Cherry-pick r294012. rdar://problem/92425915

Fix inertness of pseudo-elements
https://bugs.webkit.org/show_bug.cgi?id=239831

Reviewed by Antti Koivisto.

When we adjust style for a pseudo-element, m_element and document().activeModalDialog() are both null. So we accidentally reset inertness to false in those cases.

Fix this by making checking for m_element's existence too.

LayoutTests/imported/w3c:

  • web-platform-tests/inert/inert-pseudo-element-hittest-expected.txt: Added.
  • web-platform-tests/inert/inert-pseudo-element-hittest.html: Added.

Source/WebCore:

Test: imported/w3c/web-platform-tests/inert/inert-pseudo-element-hittest.html

  • style/StyleAdjuster.cpp: (WebCore::Style::Adjuster::adjust const):

LayoutTests:

  • platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-pseudo-element-hittest-expected.txt: Added.

Canonical link: https://commits.webkit.org/250446@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294012 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:11 PM Changeset in webkit [294304] by Alan Coon
  • 16 edits
    2 adds in branches/safari-613-branch

Cherry-pick r293987. rdar://problem/92775435

Implement CSS :modal pseudo class
https://bugs.webkit.org/show_bug.cgi?id=240109

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Add and extend tests for :modal pseudo-class.

  • web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has-expected.txt: Added.
  • web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has.html: Added.
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-show-modal.html:

Source/WebCore:

Test: imported/w3c/web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has.html

Renames :-internal-modal-dialog to :modal and adds :has() invalidation support.

  • css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText const):
  • css/CSSSelector.h:
  • css/SelectorChecker.cpp: (WebCore::SelectorChecker::checkOne const):
  • css/SelectorCheckerTestFunctions.h: (WebCore::matchesModalPseudoClass): (WebCore::matchesModalDialogPseudoClass): Deleted.
  • css/SelectorPseudoClassAndCompatibilityElementMap.in:
  • css/dialog.css: (dialog:modal): (dialog:-internal-modal-dialog): Deleted.
  • css/parser/CSSSelectorParser.cpp: (WebCore::CSSSelectorParser::consumePseudo):
  • cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::JSC_DEFINE_JIT_OPERATION): (WebCore::SelectorCompiler::addPseudoClassType):
  • html/HTMLDialogElement.cpp: (WebCore::HTMLDialogElement::showModal): (WebCore::HTMLDialogElement::close): (WebCore::HTMLDialogElement::removedFromAncestor): (WebCore::HTMLDialogElement::setIsModal):
  • html/HTMLDialogElement.h:

LayoutTests:

Removes :-internal-modal-dialog from internal pseudo classes.

  • fast/css/pseudo-class-internal-expected.txt:
  • fast/css/pseudo-class-internal.html:

Canonical link: https://commits.webkit.org/250424@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293987 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:11 PM Changeset in webkit [294303] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore

Cherry-pick r293981. rdar://problem/92084291

ASSERT in WebCore::RenderTreeUpdater::updateRenderTree
https://bugs.webkit.org/show_bug.cgi?id=240237

Reviewed by Antti Koivisto.

There are instances where calling findRenderingRoots() in RenderTreeUpdater::commit will
returns two rendering roots, with one of them being an ancestor of the other.

Calling updateRenderTree on the ancestor rendering root could end up removing
the renderer of the descendant rendering root.

This patch merges findRenderingRoots() to RenderTreeUpdater::commit() which, and now we will
ignore the nested root if there is no longer a renderer when it is being processed.

  • rendering/updating/RenderTreeUpdater.cpp:

Canonical link: https://commits.webkit.org/250419@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293981 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294302] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/bmalloc

Cherry-pick r293952. rdar://problem/92913312

Force PAS_ASSERT to generate different crash sites for each assertion.
https://bugs.webkit.org/show_bug.cgi?id=240209

Reviewed by Yusuke Suzuki.

Clang currently optimizes all crash sites into one in each function. Hence, if we
get a crash address at the 1 crash site, we don't know which failed assertion got
us there. This patch uses an asm statement to force Clang to emit a different
crash site for each assertion.

Benchmarks show that performance is neutral on both Jetstream2 and Speedometer2.

Size-wise, there is some increase. The following is the "size" output on
JavaScriptCore on M1:

TEXT. DATA OBJC others dec hex

old 19628032 180224 0 18792448 38600704 24d0000
new 19644416 180224 0 19251200 39075840 2544000

diff 16384 0 0 458752 475136

The increase in the "others" categories are mostly in the String Table, Symbol
Table, and Function Start Addresses. These take up disk space but should not
impact RAM usage unless they are accessed by a a debugger.

  • libpas/src/libpas/pas_utils.h: (pas_assertion_failed):

Canonical link: https://commits.webkit.org/250398@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293952 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294301] by Alan Coon
  • 4 edits in branches/safari-613-branch/Source

Cherry-pick r293894. rdar://problem/74201964

[iOS] Infinite recursion at -[WKFullScreenWindowController _exitFullscreenImmediately]
https://bugs.webkit.org/show_bug.cgi?id=239744
<rdar://74201964>

Reviewed by Eric Carlson.

Source/WebCore:

Even after fullscreen is correctly torn down during an immediate exit, fullscreen can never again
be entered for the lifetime of the page. This is due to the ivar m_pendingExitFullscreen being set
to true with no opportunity for that state to be cleared. This occurs because the callbacks for
exiting fullscreen are performed before the lambda form FullscreenManager::exitFullscreen() is
called.

Set m_pendingExitFullscreen inside exitFullscreen(), rather than the lambda, and clear it explicitly
in the cases where fullscreen exiting is not actually necessary.

The mock behavior of Fullscreen inside DumpRenderTree and WebKitTestRunner are not able to exercise
this same path. Track improvements to this mock in bug #239747.

  • dom/FullscreenManager.cpp: (WebCore::FullscreenManager::requestFullscreenForElement): (WebCore::FullscreenManager::exitFullscreen): (WebCore::FullscreenManager::setAnimatingFullscreen): (WebCore::FullscreenManager::setFullscreenControlsHidden):

Source/WebKit:

When exiting fullscreen immediately, we trigger the correct state transition by calling
-[self exitFullScreen]. However, when no fullscreen manager exists (as may happen during
navigation), -exitFullscreen may itself call -_exitFullscreenImmediately, which causes an
infinite recursion and stack overflow.

Unroll the implementation by performing all the same pieces as would have been done by
-exitFullScreen, but inline. Refactor out common behavior into -_reinsertWebViewUnderPlaceholder,
and call that both from -_exitFullscreenImmediately and _completedExitFullScreen.

Unfortunately, no API tests are possible here because TestWebKitAPI is not an actual iOS UI
application.

  • UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm: (-[WKFullScreenWindowController exitFullScreen]): (-[WKFullScreenWindowController _reinsertWebViewUnderPlaceholder]): (-[WKFullScreenWindowController _completedExitFullScreen]): (-[WKFullScreenWindowController _exitFullscreenImmediately]):

Canonical link: https://commits.webkit.org/250352@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293894 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294300] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore/platform/graphics/avfoundation/objc

Cherry-pick r293877. rdar://problem/92676179

[Cocoa] QueuedVideoOutput constructor missing nil check
https://bugs.webkit.org/show_bug.cgi?id=240149

Reviewed by Eric Carlson.

Covered by existing tests.

  • Source/WebCore/platform/graphics/avfoundation/objc/QueuedVideoOutput.h:
  • Source/WebCore/platform/graphics/avfoundation/objc/QueuedVideoOutput.mm: (WebCore::QueuedVideoOutput::create): (WebCore::QueuedVideoOutput::QueuedVideoOutput): (WebCore::QueuedVideoOutput::valid):

Canonical link: https://commits.webkit.org/250335@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293877 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294299] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore

Cherry-pick r293647. rdar://problem/92257660

Only stretch the percent height <body> when it is the document element's child
https://bugs.webkit.org/show_bug.cgi?id=239932
<rdar://92257660>

Reviewed by Antti Koivisto.

This IE quirk should only be applied to when the body is actually the document element's child (stretching case).

  • rendering/RenderBox.cpp: (WebCore::RenderBox::computeLogicalHeight const):
  • rendering/RenderBox.h: (WebCore::RenderBox::parentBox const):

Canonical link: https://commits.webkit.org/250151@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293647 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294298] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebKit

Cherry-pick r293433. rdar://problem/91981865

[WebAuthn] Do not pass ASCCredentialRequestTypePlatform... if LocalService unavailable
https://bugs.webkit.org/show_bug.cgi?id=239746
rdar://91981865

Reviewed by Brent Fulgham.

Passing platform in requestTypes breaks the UI in registerations with the syncing platform
authenticator off and local service is unavailable. This patch stops passing it in this case.

  • UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm: (WebKit::configureRegistrationRequestContext): (WebKit::WebAuthenticatorCoordinatorProxy::performRequest):

Canonical link: https://commits.webkit.org/249993@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293433 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294297] by Alan Coon
  • 9 edits in branches/safari-613-branch

Cherry-pick r293264. rdar://problem/92130849

Web Inspector: Regression(r287684) Resources from the memory cache show empty content in Network, Sources, and Search tabs
https://bugs.webkit.org/show_bug.cgi?id=239667

Reviewed by Devin Rousso.

Source/WebCore:

Updated tests:

  • http/tests/inspector/network/resource-response-source-disk-cache.html
  • http/tests/inspector/network/resource-response-source-memory-cache.html

r287684 introduced a subtle bug when calling InspectorInstrumentation::didReceiveData. We rely
on there being a difference between real, but empty, data buffer and not having a data buffer,
but after r287684 an empty SharedBuffer would be passed in the later case. Instead, we should
continue to pass nullptr if there is no buffer so that InspectorNetworkAgent::didReceiveData
can distiguish between the two.

The bug is the result of having a non-nullptr data in InspectorNetworkAgent::didReceiveData,
which causes us to call maybeAddResourceData, which means by the time
InspectorNetworkAgent::getResponseBody is called, the ResourceData for the request will have
an empty, not non-existant, content(), which means we will return the empty content instead,
since we believe the response had actual content.

  • inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didReceiveDataImpl):
  • inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didReceiveData):
  • loader/ResourceLoadNotifier.cpp: (WebCore::ResourceLoadNotifier::dispatchDidReceiveData):

LayoutTests:

Add test steps to ensure that the resource has content, and that the base64Encoded value matches our
expectations. While only the memory cache was affected by this regression, add the test steps to both
the memory and disk caches to defend this functionality.

  • http/tests/inspector/network/resource-response-source-memory-cache-expected.txt:
  • http/tests/inspector/network/resource-response-source-memory-cache.html:
  • http/tests/inspector/network/resource-response-source-disk-cache-expected.txt:
  • http/tests/inspector/network/resource-response-source-disk-cache.html:

Canonical link: https://commits.webkit.org/249905@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293264 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294296] by Alan Coon
  • 7 edits in branches/safari-613-branch/Source

Cherry-pick r293220. rdar://problem/91924480

Apply purifyNaN in more places.
https://bugs.webkit.org/show_bug.cgi?id=239619
<rdar://problem/91924480>

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  • wasm/js/JSWebAssemblyHelpers.h: (JSC::toJSValue):

Source/WebCore:

  • bindings/js/IDBBindingUtilities.cpp: (WebCore::toJS):
  • bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue):
  • bindings/js/SerializedScriptValue.cpp: (WebCore::CloneDeserializer::readTerminal):
  • bridge/objc/objc_utility.mm: (JSC::Bindings::convertObjcValueToValue):

Canonical link: https://commits.webkit.org/249889@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293220 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294295] by Alan Coon
  • 7 edits
    2 adds in branches/safari-613-branch

Cherry-pick r293170. rdar://problem/91117803

AVSampleBufferRenderSynchronizer timeline sometimes goes backwards when playback begins
https://bugs.webkit.org/show_bug.cgi?id=239471
rdar://91117803

Reviewed by Jer Noble.

Source/WebCore:

Test: media/media-source/media-source-current-time.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Log current time and requested playback rate. (WebCore::HTMLMediaElement::setPausedInternal): Log.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC): If time has gone backward, clamp to the most recent seek time. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal): INFO_LOG -> ALWAYS_LOG (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal): Ditto. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentMediaTime const): Use clampTimeToLastSeekTime. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::clampTimeToLastSeekTime const): New, clamp time value to the most recent seek time. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCurrentTimeDidChangeCallback): Use clampTimeToLastSeekTime. (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance): INFO_LOG -> ALWAYS_LOG (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal): INFO_LOG -> ALWAYS_LOG (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateLastPixelBuffer): INFO_LOG -> ALWAYS_LOG (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setHasAvailableVideoFrame): INFO_LOG -> ALWAYS_LOG (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged): INFO_LOG -> ALWAYS_LOG

Source/WebKit:

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp: (WebKit::MediaPlayerPrivateRemote::currentTimeChanged): Log when time jumps backwards.

LayoutTests:

  • media/media-source/media-source-current-time-expected.txt: Added.
  • media/media-source/media-source-current-time.html: Added.

Canonical link: https://commits.webkit.org/249852@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294294] by Alan Coon
  • 6 edits
    2 moves
    2 adds in branches/safari-613-branch

Cherry-pick r293126. rdar://problem/90483049

REGRESSION (r281913): Map toolbar flickers when dragging the map on https://gis.ee/
https://bugs.webkit.org/show_bug.cgi?id=238589
<rdar://90483049>

Reviewed by Alan Bujtas.
Source/WebCore:

If a layer has negative z-order descendants, and one of those descendants becomes
composited, then that layer also has to composite, because its foreground needs to render in
front of those descendants. But this is tricky, because the compositing toggle is
out-of-order; we only know that the layer has to get composited after processing
descendants.

In particular, this created a problem with the overlap map, which tracks sets of rectangles
in "compositing scopes" via LayerOverlapMap. The delayed compositing toggle of the layer
with negative z-order descendants meant that any layers processed up to that point had their
bounds added in the wrong overlap scope. This resulted in subsequent bad overlap testing,
and a failure to make later layers composited.

The previous fix in this area (r281913) was incorrect. Revert it, and do a better fix, which
is to speculatively push an overlap map entry for the layer with negative z-order
descendants, if necessary. If this layer ends up not getting composited, we unwind the
speculative push, which will merge that scope with its parent scope.

In addition give OverlapMapContainer (an "overlap scope") a RenderLayer& which we can use
for logging, and to assert on correct behavior; it is not otherwise used in release builds.

Tests: compositing/layer-creation/overlap-with-negative-z-layers.html

compositing/layer-creation/subtree-div-overlaps-multiple-negative-z-divs.html

  • rendering/LayerOverlapMap.cpp: (WebCore::OverlapMapContainer::OverlapMapContainer): (WebCore::OverlapMapContainer::scopeLayer const): (WebCore::OverlapMapContainer::dump const): (WebCore::LayerOverlapMap::LayerOverlapMap): (WebCore::LayerOverlapMap::add): (WebCore::LayerOverlapMap::pushCompositingContainer): (WebCore::LayerOverlapMap::popCompositingContainer):
  • rendering/LayerOverlapMap.h:
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::computeCompositingRequirements): (WebCore::RenderLayerCompositor::traverseUnchangedSubtree): (WebCore::RenderLayerCompositor::updateOverlapMap const):

LayoutTests:

Move subtree-div-overlaps-multiple-negative-z-divs.html into the layer-creation directory.
Add a new test.

  • compositing/layer-creation/overlap-with-negative-z-layers-expected.html: Added.
  • compositing/layer-creation/overlap-with-negative-z-layers.html: Added.
  • compositing/layer-creation/subtree-div-overlaps-multiple-negative-z-divs-expected.html: Renamed from LayoutTests/compositing/subtree-div-overlaps-multiple-negative-z-divs-expected.html.
  • compositing/layer-creation/subtree-div-overlaps-multiple-negative-z-divs.html: Renamed from LayoutTests/compositing/subtree-div-overlaps-multiple-negative-z-divs.html.
  • fast/harness/render-tree-as-text-options-expected.txt: Test progressed; update results.

Canonical link: https://commits.webkit.org/249828@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293126 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294293] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebKit

Cherry-pick r292738. rdar://problem/91295875

Use WebKit::blockedError instead of ResourceLoader::blockedError in WebLoaderStrategy::scheduleLoadFromNetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=239089
<rdar://91295875>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-11
Reviewed by Chris Dumez.

The latter dereferences the frame loader which can be null.

  • WebProcess/Network/WebLoaderStrategy.cpp: (WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):

Canonical link: https://commits.webkit.org/249522@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292738 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:10 PM Changeset in webkit [294292] by Alan Coon
  • 3 edits
    2 adds in branches/safari-613-branch

Cherry-pick r292350. rdar://problem/90589355

intersectsWithAncestor should take fragmented boxes into account.
https://bugs.webkit.org/show_bug.cgi?id=238648

Reviewed by Dean Jackson.

Source/WebCore:

Test: compositing/backing/backing-store-columns-inside-position-fixed.html

  • rendering/RenderLayerBacking.cpp: (WebCore::intersectsWithAncestor):

Use boundingBox() for intersectsWithAncestor, so that we can explicitly request the box that contains
all fragment boxes.

LayoutTests:

  • compositing/backing/backing-store-columns-inside-position-fixed-expected.txt: Added.
  • compositing/backing/backing-store-columns-inside-position-fixed.html: Added.

Adds new test that scrolls content split into columns until the first column is offscreen, to confirm
that we still have a backing store.

Canonical link: https://commits.webkit.org/249215@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292350 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:59 PM Changeset in webkit [294291] by Antti Koivisto
  • 14 edits
    1 copy
    1 add
    11 deletes in trunk

Resolve ::first-letter eagerly
https://bugs.webkit.org/show_bug.cgi?id=239844

Reviewed by Alan Bujtas.

Source/WebCore:

::first-letter pseudo-element should be resolved eagerly during style resolution, similar to ::first-line.
This will clean up the architecture. It also makes ::first-letter animatable.

  • rendering/RenderTextFragment.cpp:

(WebCore::RenderTextFragment::styleDidChange): Deleted.

  • rendering/RenderTextFragment.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::removeCachedPseudoStyle): Deleted.

We always create a new style. There is no need to removed pseudo element styles.

  • rendering/style/RenderStyle.h:
  • rendering/updating/RenderTreeBuilderFirstLetter.cpp:

(WebCore::styleForFirstLetter):

Pull first-letter style from the parent style instead of resolving it in the middle of render tree building.

(WebCore::RenderTreeBuilder::FirstLetter::updateAfterDescendants):
(WebCore::RenderTreeBuilder::FirstLetter::updateStyle):

Delete the renderer if we no longer have a style.

(WebCore::RenderTreeBuilder::FirstLetter::createRenderers):

  • rendering/updating/RenderTreeBuilderFirstLetter.h:
  • style/StyleTreeResolver.cpp:

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

Resove first-letter.

(WebCore::Style::TreeResolver::resolvePseudoElement):
(WebCore::Style::TreeResolver::resolveInheritedPseudoElement):

Factor into a function.

(WebCore::Style::isChildInBlockFormattingContext):
(WebCore::Style::TreeResolver::resolveAncestorFirstLinePseudoElement):
(WebCore::Style::TreeResolver::resolveAncestorFirstLetterPseudoElement):

Resolving first-letter is similar to first-line except it is always a leaf and so won't be inherited from.

(WebCore::Style::TreeResolver::makeResolutionContextForPseudoElement):
(WebCore::Style::TreeResolver::makeResolutionContextForInheritedFirstLine):

  • style/StyleTreeResolver.h:

LayoutTests:

  • fast/css-generated-content/first-letter-in-nested-before-expected.html: Added.
  • fast/css-generated-content/first-letter-in-nested-before-expected.png: Removed.
  • fast/css-generated-content/first-letter-in-nested-before-expected.txt: Removed.
  • fast/css-generated-content/first-letter-in-nested-before-table-expected.html: Copied from LayoutTests/fast/css-generated-content/first-letter-in-nested-before-table.html.
  • fast/css-generated-content/first-letter-in-nested-before-table-expected.png: Removed.
  • fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Removed.
  • fast/css-generated-content/first-letter-in-nested-before-table.html:
  • fast/css-generated-content/first-letter-in-nested-before.html:

Make reftest and update the behavior. ::first-letter won't affect ::before/after with display:table,
matching Firefox behavior (and spec logic).

  • platform/glib/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Removed.
  • platform/gtk/fast/css-generated-content/first-letter-in-nested-before-expected.png: Removed.
  • platform/gtk/fast/css-generated-content/first-letter-in-nested-before-table-expected.png: Removed.
  • platform/ios/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Removed.
  • platform/mac/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Removed.
  • platform/win/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Removed.
  • platform/wincairo/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Removed.
10:52 PM Changeset in webkit [294290] by zan@falconsigh.net
  • 4 edits in trunk/Source

[GTK][WPE] Current-context enforcement in ANGLE is expensive
https://bugs.webkit.org/show_bug.cgi?id=240392

Reviewed by Adrian Perez de Castro.

Source/WebCore:

ANGLE's current-context operations are relatively heavy and introduce
detectable overhead when executed for each of many WebGL operation. More
specifically, loads of the current-thread data from thread-local
storage are done under both EGL_GetCurrentContext() and
EGL_MakeCurrent() through the general TLS access model, relying on the
tls_get_addr function.

Instead, a static thread-local pointer variable is introduced, with the
initial-exec method, containing the address of the current
GraphicsContextGLANGLE object for a given thread. Instead of dipping
into ANGLE to retrieve the current context, the GraphicsContextGLANGLE
object's address is compared to the value of the thread-local variable
and an early return is done if they match.

This model is applied through the TLS_MODEL_INITIAL_EXEC macro that's
defined appropriately if the compiler is detected to support the
required tls_model attribute. This should be the case when targetting
platforms that use ELF, i.e. Unix-like systems but primarily Linux.

The initial-exec TLS model relies on early understanding from the
dynamic linker about what TLS data is required, which enables more
efficient allocation of and access into the required underlying memory.

Caching the current-context data into a static thread-specific variable
with the initial-exec TLS model is the same approach that's taken in the
Mesa library. More on this and other TLS models can be gathered from the
'ELF Handling For Thread-Local Storage' paper by Ulrich Drepper.

  • platform/graphics/gbm/GraphicsContextGLGBM.cpp:

(WebCore::GraphicsContextGLANGLE::makeContextCurrent):

Source/WTF:

  • wtf/Compiler.h: Define the TLS_MODEL_INITIAL_EXEC macro as the

tls_model attribute with the initial-exec value, to be used on variables
whose TLS model should be adjusted.

10:23 PM Changeset in webkit [294289] by Alan Coon
  • 17 edits
    2 adds in branches/safari-7614.1.14.100-branch/Source

Cherry-pick r294160. rdar://problem/87170289

Add UI-side layers for optionally indicating interaction regions
https://bugs.webkit.org/show_bug.cgi?id=240372
<rdar://problem/87170289>

Reviewed by Dean Jackson.

Source/WebCore:

  • page/DebugPageOverlays.cpp: (WebCore::pathsForRegion): Move inline rect inflation into InteractionRegion so that all clients get it.
  • page/Page.cpp: (WebCore::Page::shouldBuildInteractionRegions const):
  • page/Page.h:
  • page/Frame.cpp: (WebCore::Frame::invalidateContentEventRegionsIfNeeded):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintObject):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::maintainsEventRegion const): (WebCore::RenderLayerBacking::updateEventRegion): If the ENABLE() and setting are both enabled, update event regions due to possible interaction region changes. We could make this more conservative later, but chances are high that most layers include interaction regions.

For now, compute interaction regions only for the root layer.
In a future patch, we will adopt the normal fake paint mechanism
and maintain them on the layer that owns them.

  • page/InteractionRegion.cpp: (WebCore::regionForElement): Move inline rect inflation into InteractionRegion so that all clients get it. Limit interaction rects to half of the viewport. Ignore regions that are larger.
  • page/InteractionRegion.h: (WebCore::operator==): Added. (WebCore::InteractionRegion::encode const): (WebCore::InteractionRegion::decode): Remove the isInline bit, since we only used it for rect inflation.
  • rendering/EventRegion.cpp: (WebCore::EventRegion::operator== const): (WebCore::EventRegion::translate): (WebCore::EventRegion::uniteInteractionRegions): (WebCore::EventRegion::computeInteractionRegions):
  • rendering/EventRegion.h: (WebCore::EventRegion::interactionRegions const): (WebCore::EventRegion::encode const): (WebCore::EventRegion::decode): Store interaction regions on EventRegion.

Source/WebKit:

  • Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm: (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): (WebKit::RemoteLayerTreePropertyApplier::applyHierarchyUpdates): Allow RemoteLayerTreeInteractionRegionLayers to add and maintain layers for interaction regions.
  • SourcesCocoa.txt:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.h: Added.
  • UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm: Added. (configureLayerForInteractionRegion): (WebKit::interactionRegionForLayer): (WebKit::isInteractionRegionLayer): (WebKit::setInteractionRegion): Box WebCore::InteractionRegion in a Objective-C object and store it on the layer. Use this as a key to indicate that a given layer is an interaction region.

(WebKit::appendInteractionRegionLayersForLayer):
Make sure that interaction region layers are always at the end of the layer's sublayers array.

(WebKit::updateLayersForInteractionRegions):
Add new layers for interaction regions.
Maintain the same layer for regions that cover the same area.
Add a green wash if the default WKInteractionRegionDebugFill is set.

  • WebKit.xcodeproj/project.pbxproj:

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml: Add a preference to toggle interaction region layers.

Canonical link: https://commits.webkit.org/250529@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294160 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:22 PM Changeset in webkit [294288] by Alan Coon
  • 42 edits in branches/safari-7614.1.14.100-branch/Source/WebCore

Cherry-pick r293993. rdar://problem/92993954

Const-ify Node::willRespondTo*Events()
https://bugs.webkit.org/show_bug.cgi?id=240246

Reviewed by Wenson Hsieh.

Constify these four methods, because there's no
reason for them not to be, and because it makes
them usable in a const context in a future patch.

  • dom/EventNames.h: (WebCore::EventNames::isTouchRelatedEventType const):
  • dom/EventTarget.cpp: (WebCore::EventTarget::eventTypes const):
  • dom/EventTarget.h:
  • dom/Node.cpp: (WebCore::Node::willRespondToMouseMoveEvents const): (WebCore::Node::willRespondToTouchEvents const): (WebCore::Node::willRespondToMouseClickEvents const): (WebCore::Node::willRespondToMouseWheelEvents const):
  • dom/Node.h:
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::willRespondToMouseClickEvents const):
  • html/HTMLAnchorElement.h:
  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::willRespondToMouseClickEvents const):
  • html/HTMLButtonElement.h:
  • html/HTMLElement.cpp: (WebCore::HTMLElement::willRespondToMouseMoveEvents const): (WebCore::HTMLElement::willRespondToMouseWheelEvents const): (WebCore::HTMLElement::willRespondToMouseClickEvents const):
  • html/HTMLElement.h:
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::willRespondToMouseClickEvents const):
  • html/HTMLImageElement.h:
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::willRespondToMouseClickEvents const):
  • html/HTMLInputElement.h:
  • html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::willRespondToMouseClickEvents const):
  • html/HTMLLabelElement.h:
  • html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::willRespondToMouseClickEvents const):
  • html/HTMLPlugInElement.h:
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::willRespondToMouseClickEvents const):
  • html/HTMLSelectElement.h:
  • html/HTMLSummaryElement.cpp: (WebCore::HTMLSummaryElement::willRespondToMouseClickEvents const):
  • html/HTMLSummaryElement.h:
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::willRespondToMouseClickEvents const):
  • html/HTMLTextAreaElement.h:
  • html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents const): (WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents const):
  • html/TextFieldInputType.h:
  • html/shadow/SliderThumbElement.cpp: (WebCore::SliderThumbElement::willRespondToMouseMoveEvents const): (WebCore::SliderThumbElement::willRespondToMouseClickEvents const):
  • html/shadow/SliderThumbElement.h:
  • html/shadow/SpinButtonElement.cpp: (WebCore::SpinButtonElement::willRespondToMouseMoveEvents const): (WebCore::SpinButtonElement::willRespondToMouseClickEvents const): (WebCore::SpinButtonElement::shouldRespondToMouseEvents const):
  • html/shadow/SpinButtonElement.h:
  • html/shadow/TextControlInnerElements.cpp: (WebCore::SearchFieldResultsButtonElement::willRespondToMouseClickEvents const): (WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents const):
  • html/shadow/TextControlInnerElements.h:
  • mathml/MathMLElement.cpp: (WebCore::MathMLElement::willRespondToMouseClickEvents const):
  • mathml/MathMLElement.h:
  • mathml/MathMLSelectElement.cpp: (WebCore::MathMLSelectElement::willRespondToMouseClickEvents const):
  • mathml/MathMLSelectElement.h:
  • svg/SVGAElement.cpp: (WebCore::SVGAElement::willRespondToMouseClickEvents const):
  • svg/SVGAElement.h:

Canonical link: https://commits.webkit.org/250430@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293993 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:21 PM Changeset in webkit [294287] by mark.lam@apple.com
  • 28 edits in trunk/Source

Add ARM64 disassembler support for symbolic dumping of some well known constants.
https://bugs.webkit.org/show_bug.cgi?id=240443

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  1. Added a Options::needDisassemblySupport() option. This option is true if any of the JSC disassembly options are enabled. This allows us to trivially check if we need to enable additional infrastructure (like those added in this patch) to support disassembly.
  1. Refactor the Disassembler's thunkLabelMap into a more generic labelMap. It can now map a pointer to a CString or a const char* label.
  1. Enable JITOperationList infrastructure when ENABLE(JIT_OPERATION_DISASSEMBLY) is true. This adds a name to the JITOperationAnnotation record. Since this is guarded by ENABLE(JIT_OPERATION_DISASSEMBLY), we can trivially turn this part off later if adding this name adds too much size burden (or if any unexpected issues arise). Turning this off will only disable disassembly of JIT operation names. Disassembly of other constants (see below) will still be supported.

If Options::needDisassemblySupport() is true, the JITOperationList will
register all JIT operations (and the LLInt ones as well) with the Disassembler
labelMap.

  1. Removed the < > brackets around branch target labels except for internal pc index labels (e.g. <716>) and <unknown> (when we don't know what the branch target is). The < > notation takes up space and doesn't add any info. The branch targets now look like this:

<32> 0x1180102c0: b.ne 0x1180101c0 -> thunk: native Tail With Saved Tags Call trampoline
<92> 0x11801c87c: b 0x118008980 -> thunk: LLInt function for call jump to prologue thunk

<3508> 0x1198e16b4: b 0x1198bc1a0 -> JIT PC

Internal pc index labels will still use the < > brackets:

<3476> 0x1198e1694: b.eq 0x1198e16a0 -> <3488>

  1. Added ARM64 disassembler support to compute the value of a constant being loaded into a register using "MoveWide" instructions e.g. movz and movk.

When the disassembler sees a movz or movn or mov (of the MoveWide variety),
the disassembler initializes a m_builtConstant value. With each subsequent
movk instruction with the same destination register, the disassembler splices
in the corresponding 16-bit immediate.

After disassembling a MoveWide instruction, it will check if the next
instruction is also a MoveWide instruction targeting the same destination
register. If so, the constant is still being build: hence, it does nothing and
continues.

If the next instruction is (a) a MoveWide instruction targeting a different
register, (b) not a MoveWide instruction, or (c) we've reached the end of the
LinkBuffer (i.e. there's no next instruction), then the constant building for
the current target register is complete.

  1. Added ARM64 disassembler support for looking up constants (built in (5) above) and printing symbolic info / names of those constants.

With ENABLE(JIT_OPERATION_DISASSEMBLY), we now have JIT operation names e.g.

<176> 0x118010270: movk x3, #0x9f6e, lsl #48 -> 0x102dc8950 operationVMHandleException
<164> 0x1180180a4: movk x8, #0xe5c, lsl #48 -> 0x102db9420 operationVirtualCall

Apart from looking up the constant in the Disassembler labelMap, it also looks
up some commonly used constants e.g.

  1. VM pointers:

<156> 0x11801105c: movk x0, #0x1, lsl #32 -> 0x139435000 vm

  1. Some VM internal pointers (more can be added later as needed):

<24> 0x118014d18: movk x17, #0x1, lsl #32 -> 0x13943ee78 vm +40568: vm.topCallFrame
<76> 0x118014d4c: movk x17, #0x1, lsl #32 -> 0x139441a10 vm +51728: vm.m_exception

<196> 0x118011244: movk x17, #0x1, lsl #32 -> 0x1394417d0 vm +51152: vm.targetMachinePCForThrow
<208> 0x1198e09d0: movk x17, #0x1, lsl #32 -> 0x104432cc0 vm +52416: vm.m_doesGC

  1. VM related pointers (only 1 for now; not VM fields, but hangs off of VM):

<12> 0x11801938c: movk x1, #0x1, lsl #32 -> 0x1052cd3c8 vm scratchBuffer.m_buffer

  1. Well known PtrTags:

<204> 0x11801124c: movz x16, #0x6f9b -> 0x6f9b ExceptionHandlerPtrTag ?
<212> 0x1180150d4: movz x16, #0x593 -> 0x593 JSEntryPtrTag ?
<168> 0x1180183a8: movz lr, #0xb389 -> 0xb389 OperationPtrTag ?

  • the ? is because we cannot be certain that the 16-bit constant is a PtrTag. It may just be a coincidence that the value is the same. However, the user can trivially look at the surrounding disassembled code, and be able to tell if the value is used as a PtrTag.

For constants that are not found in the known sets:

  1. Small 16-bit constant (prints decimal value for convenience):

<200> 0x1198e09c8: movz x17, #0x2cc0 -> 11456

  1. Unknown pointers that aren't in the JIT and LLINT regions will simply print the pointer / constant:

<88> 0x1198e0958: movz x17, #0x2088
<92> 0x1198e095c: movk x17, #0x30d, lsl #16
<96> 0x1198e0960: movk x17, #0x1, lsl #32 -> 0x1030d2088

<unknown> is only used in relative branches.

  1. Enhanced the Integrity::isSanePointer() check to reject pointer values that are less than 4G on CPU(ADDRESS64) targets for OS(DARWIN). No sane pointer should be in the lowest 4G address region.

This also helps the disassembler more quickly filter out constant values that
aren't pointers.

This change affects DFG's speculationFromCell(), which is the only place that
may affect user facing performance. However, I think the impact should be
insignificant (since the added check is cheap).

  • assembler/JITOperationList.cpp:

(JSC::JITOperationList::populatePointersInJavaScriptCore):
(JSC::llintOperations):
(JSC::JITOperationList::populatePointersInJavaScriptCoreForLLInt):
(JSC::JITOperationList::addDisassemblyLabels):
(JSC::JITOperationList::populateDisassemblyLabelsInJavaScriptCore):
(JSC::JITOperationList::populateDisassemblyLabelsInJavaScriptCoreForLLInt):
(JSC::JITOperationList::populateDisassemblyLabelsInEmbedder):

  • assembler/JITOperationList.h:

(JSC::JITOperationList::populatePointersInJavaScriptCore):
(JSC::JITOperationList::populatePointersInJavaScriptCoreForLLInt):

  • assembler/JITOperationValidation.h:
  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::finalizeCodeWithDisassemblyImpl):

  • b3/testb3_1.cpp:

(main):

  • disassembler/ARM64/A64DOpcode.cpp:

(JSC::ARM64Disassembler::A64DOpcode::appendPCRelativeOffset):
(JSC::ARM64Disassembler::MoveWideFormatTrait::rejectedResult):
(JSC::ARM64Disassembler::MoveWideFormatTrait::acceptedResult):
(JSC::ARM64Disassembler::MoveWideIsValidTrait::rejectedResult):
(JSC::ARM64Disassembler::MoveWideIsValidTrait::acceptedResult):
(JSC::ARM64Disassembler::A64DOpcodeMoveWide::handlePotentialDataPointer):
(JSC::ARM64Disassembler::A64DOpcodeMoveWide::handlePotentialPtrTag):
(JSC::ARM64Disassembler::A64DOpcodeMoveWide::parse):
(JSC::ARM64Disassembler::A64DOpcodeMoveWide::format):
(JSC::ARM64Disassembler::A64DOpcodeMoveWide::isValid):

  • disassembler/ARM64/A64DOpcode.h:

(JSC::ARM64Disassembler::A64DOpcodeMoveWide::baseFormat):
(JSC::ARM64Disassembler::A64DOpcodeMoveWide::formatBuffer):

  • disassembler/Disassembler.cpp:

(JSC::Disassembler::ensureLabelMap):
(JSC::registerLabel):
(JSC::labelFor):
(JSC::ensureThunkLabelMap): Deleted.
(JSC::registerThunkLabel): Deleted.
(JSC::labelForThunk): Deleted.

  • disassembler/Disassembler.h:
  • jsc.cpp:

(jscmain):

  • runtime/Gate.h:
  • runtime/JSCPtrTag.cpp:

(JSC::ptrTagName):

  • runtime/JSCPtrTag.h:
  • runtime/Options.cpp:

(JSC::Options::recomputeDependentOptions):

  • runtime/OptionsList.h:
  • runtime/VM.cpp:

(JSC::VM::isScratchBuffer):

  • runtime/VM.h:
  • tools/Integrity.h:

(JSC::Integrity::isSanePointer):

Source/WebCore:

  • bindings/js/WebCoreJITOperations.cpp:

(WebCore::populateJITOperations):
(WebCore::populateDisassemblyLabels):

  • bindings/js/WebCoreJITOperations.h:

(WebCore::populateDisassemblyLabels):
(WebCore::populateJITOperations):

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::populateJITOperations):
(WebCoreTestSupport::populateDisassemblyLabels):

  • testing/js/WebCoreTestSupport.h:

(WebCoreTestSupport::populateDisassemblyLabels):
(WebCoreTestSupport::populateJITOperations):

Source/WTF:

  1. Added a ENABLE(JIT_OPERATION_DISASSEMBLY) flag. Currently, this feature relies on an USE(APPLE_INTERNAL_SDK) for enumerating JIT operations similar to ENABLE(JIT_OPERATION_VALIDATION). It is also restricted to ENABLE(DISASSEMBLER) && CPU(ARM64E).
  • wtf/PlatformCallingConventions.h:
  • wtf/PlatformEnable.h:
8:36 PM Changeset in webkit [294286] by Chris Dumez
  • 2 edits in trunk/Source/WebKit/UIProcess/API/C

Expose Page identifier via WKPageRef SPI
https://bugs.webkit.org/show_bug.cgi?id=240400
<rdar://93269635>

Reviewed by Tim Horton.

  • Source/WebKit/UIProcess/API/C/WKPage.cpp:

(WKPageGetIdentifier):

  • Source/WebKit/UIProcess/API/C/WKPage.h:

Canonical link: https://commits.webkit.org/250630@main

8:29 PM Changeset in webkit [294285] by Wenson Hsieh
  • 7 edits in trunk

Demote -[WKWebView retrieveAccessibilityTreeData:] to SPI
https://bugs.webkit.org/show_bug.cgi?id=240494
rdar://93385094

Reviewed by Tim Horton.

This method was only intended for use in MiniBrowser, and should ship as public API on WKWebView. Move the
declaration and implementation of this over to WKWebViewPrivateForTestingMac.h and WKWebViewTestingMac.mm
(respectively), and additionally prefix this testing-only SPI with an underscore.

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

(-[WKWebView retrieveAccessibilityTreeData:]): Deleted.

  • UIProcess/API/mac/WKWebViewPrivateForTestingMac.h:
  • UIProcess/API/mac/WKWebViewTestingMac.mm:

(-[WKWebView _retrieveAccessibilityTreeData:]):
Demote -[WKWebView retrieveAccessibilityTreeData:] to SPI
https://bugs.webkit.org/show_bug.cgi?id=240494
rdar://93385094

Reviewed by Tim Horton.

See WebKit/ChangeLog for more details.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController logAccessibilityTrees:]):

Canonical link: https://commits.webkit.org/250629@main

6:34 PM Changeset in webkit [294284] by sbarati@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Move around some NaN handling code
https://bugs.webkit.org/show_bug.cgi?id=240493
<rdar://92111504>

Reviewed by Yusuke Suzuki.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileValueRep):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::purifyNaN):
(JSC::FTL::DFG::LowerDFGToB3::compileValueRep):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

Canonical link: https://commits.webkit.org/250628@main

6:32 PM Changeset in webkit [294283] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (r294215): [ iOS ] Nine fast tests are a consistent image failure
https://bugs.webkit.org/show_bug.cgi?id=240495

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/250627@main

6:00 PM Changeset in webkit [294282] by pvollan@apple.com
  • 1 edit in trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in

[macOS] Fix mach syscall sandbox violation in the Network process
https://bugs.webkit.org/show_bug.cgi?id=240466
<rdar://93249176>

Reviewed by Chris Dumez.

Fix mach syscall sandbox violation in the Network process on macOS.

  • Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:

Canonical link: https://commits.webkit.org/250626@main

4:58 PM Changeset in webkit [294281] by gnavamarino@apple.com
  • 2 edits in trunk/Source/WebCore

Crash in WebCore::InsertTextCommand::positionInsideTextNode
https://bugs.webkit.org/show_bug.cgi?id=240480

Reviewed by Ryosuke Niwa.

Calling pushAnchorElementDown in CompositeEditCommand::positionAvoidingSpecialElementBoundary can
end up removing the startPosition's container node which leaves an invalid endingSelection.

InsertTextCommand::doApply requires a real endingSelection, so we should check if this occurred and bail out.

  • editing/InsertTextCommand.cpp:

(WebCore::InsertTextCommand::doApply):

4:44 PM Changeset in webkit [294280] by Said Abou-Hallawa
  • 8 edits in trunk/Source

REGRESSION(r249162): CanvasRenderingContext2DBase::drawImage() crashes if the image is animated and the first frame cannot be decoded
https://bugs.webkit.org/show_bug.cgi?id=239113
rdar://87980543

Reviewed by Simon Fraser.

Source/WebCore:

CanvasRenderingContext2DBase::drawImage() needs to ensure the first frame
of the animated image can be decoded correctly before creating the temporary
static image. If the first frame can't be decoded, this function should return
immediately. This matches the behavior of this function before r249162.

The animated image decodes its frames asynchronously in a work queue. But
the first frame has to be decoded synchronously in the main run loop. So
to avoid running the image decoder in two different threads we are going
to keep the first and the current frame cached when we receive a memory
pressure warning. This should not increase the memory allocation of the
animated image because the numbers of cached frames increases quickly and
we keep all of them till a memory warning is received. But the memory
pressure warning will be received a little bit more often. This depends
on the memory size of the first frame.

To make the code more robust, make ImageSource take a Ref<NativeImage>
instead of taking a RefPtr<NativeImage>.

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::drawImage):

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::destroyDecodedData):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::ImageSource):
(WebCore::ImageSource::destroyDecodedData):
(WebCore::ImageSource::setNativeImage):

  • platform/graphics/ImageSource.h:

(WebCore::ImageSource::create):
(WebCore::ImageSource::isDecoderAvailable const):
(WebCore::ImageSource::destroyAllDecodedData): Deleted.
(WebCore::ImageSource::destroyAllDecodedDataExcludeFrame): Deleted.
(WebCore::ImageSource::destroyDecodedDataBeforeFrame): Deleted.

Source/WebKit:

  • GPUProcess/graphics/RemoteDisplayListRecorder.cpp:

(WebKit::RemoteDisplayListRecorder::drawSystemImage):

4:40 PM Changeset in webkit [294279] by Simon Fraser
  • 12 edits in trunk/Source/WebCore

rdar://93377867 (WebKit r294204: weird text rendering artifacts while pages are loading)

Revert r294204 and r294262

  • layout/integration/inline/InlineIteratorBox.cpp:

(WebCore::InlineIterator::Box::visualRect const): Deleted.

  • layout/integration/inline/InlineIteratorBox.h:

(WebCore::InlineIterator::Box::visualRect const):
(WebCore::InlineIterator::Box::containingBlock const): Deleted.

  • layout/integration/inline/InlineIteratorBoxLegacyPath.h:

(WebCore::InlineIterator::BoxLegacyPath::containingBlock const): Deleted.
(WebCore::InlineIterator::BoxLegacyPath::direction const): Deleted.
(WebCore::InlineIterator::BoxLegacyPath::isFirstLine const): Deleted.

  • layout/integration/inline/InlineIteratorBoxModernPath.h:

(WebCore::InlineIterator::BoxModernPath::direction const):
(WebCore::InlineIterator::BoxModernPath::containingBlock const): Deleted.
(WebCore::InlineIterator::BoxModernPath::isFirstLine const): Deleted.

  • layout/integration/inline/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::paint):

  • rendering/InlineBoxPainter.cpp:

(WebCore::InlineBoxPainter::paintMask):
(WebCore::InlineBoxPainter::paintDecorations):

  • rendering/LegacyInlineFlowBox.cpp:

(WebCore::LegacyInlineFlowBox::addTextBoxVisualOverflow):

  • rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::paint):

  • rendering/LegacyInlineTextBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):

  • rendering/TextBoxPainter.cpp:

(WebCore::TextBoxPainter::TextBoxPainter):
(WebCore::TextBoxPainter::~TextBoxPainter):
(WebCore::TextBoxPainter::paint):
(WebCore::TextBoxPainter::createMarkedTextFromSelectionInBox):
(WebCore::TextBoxPainter::paintBackground):
(WebCore::TextBoxPainter::paintForegroundAndDecorations):
(WebCore::TextBoxPainter::paintCompositionBackground):
(WebCore::TextBoxPainter::paintForeground):
(WebCore::TextBoxPainter::createDecorationPainter):
(WebCore::TextBoxPainter::paintBackgroundDecorations):
(WebCore::TextBoxPainter::paintForegroundDecorations):
(WebCore::TextBoxPainter::paintCompositionUnderlines):
(WebCore::textPosition):
(WebCore::TextBoxPainter::paintCompositionUnderline):
(WebCore::TextBoxPainter::paintPlatformDocumentMarkers):
(WebCore::TextBoxPainter::calculateUnionOfAllDocumentMarkerBounds):
(WebCore::TextBoxPainter::paintPlatformDocumentMarker):
(WebCore::TextBoxPainter::computePaintRect):
(WebCore::TextBoxPainter::calculateDocumentMarkerBounds):
(WebCore::TextBoxPainter::computeHaveSelection const):
(WebCore::TextBoxPainter::fontCascade const):
(WebCore::TextBoxPainter::textOriginFromPaintRect const):
(WebCore::TextBoxPainter::debugTextShadow const):
(WebCore::LegacyTextBoxPainter::LegacyTextBoxPainter): Deleted.
(): Deleted.
(WebCore::ModernTextBoxPainter::ModernTextBoxPainter): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::TextBoxPainter): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::~TextBoxPainter): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::makeIterator const): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paint): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::createMarkedTextFromSelectionInBox): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintBackground): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintForegroundAndDecorations): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintCompositionBackground): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintForeground): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::createDecorationPainter): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintBackgroundDecorations): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintForegroundDecorations): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintCompositionUnderlines): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::textPosition): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintCompositionUnderline): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintPlatformDocumentMarkers): Deleted.
(WebCore::LegacyTextBoxPainter::calculateUnionOfAllDocumentMarkerBounds): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::paintPlatformDocumentMarker): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::computePaintRect): Deleted.
(WebCore::calculateDocumentMarkerBounds): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::computeHaveSelection const): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::fontCascade const): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::textOriginFromPaintRect const): Deleted.
(WebCore::TextBoxPainter<TextBoxPath>::debugTextShadow const): Deleted.

  • rendering/TextBoxPainter.h:

(WebCore::TextBoxPainter::textBox const):

4:40 PM Changeset in webkit [294278] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ iOS ] imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/004.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=240489

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/250622@main

4:13 PM Changeset in webkit [294277] by Alan Coon
  • 8 edits
    2 adds in branches/safari-613-branch

Apply patch. rdar://problem/88672183

4:13 PM Changeset in webkit [294276] by Alan Coon
  • 6 edits in branches/safari-613-branch/Source/WebCore

Apply patch. rdar://problem/88408231

4:03 PM Changeset in webkit [294275] by Oriol Brufau
  • 6 edits
    2 adds in trunk

Take intrinsicBorderForFieldset() into account in intrinsically sized fieldset
https://bugs.webkit.org/show_bug.cgi?id=240388

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Add test.

  • web-platform-tests/html/semantics/forms/the-fieldset-element/fieldset-intrinsic-size-expected.txt: Added.
  • web-platform-tests/html/semantics/forms/the-fieldset-element/fieldset-intrinsic-size.html: Added.

Source/WebCore:

With 'box-sizing: content-box', computeIntrinsicLogicalContentHeightUsing
was not taking intrinsicBorderForFieldset() into account. So a fieldset
with 'height: min-content' would ignore the extra space required by the
legend, and the contents would overflow.

This patch adds a RenderBox::adjustIntrinsicLogicalHeightForBoxSizing
method with the logic, and overrides it in RenderBlock to take
intrinsicBorderForFieldset() into account.

Test: imported/w3c/web-platform-tests/html/semantics/forms/the-fieldset-element/fieldset-intrinsic-size.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::adjustIntrinsicLogicalHeightForBoxSizing const):
Take intrinsicBorderForFieldset() into account.

  • rendering/RenderBlock.h:

Override adjustIntrinsicLogicalHeightForBoxSizing.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::adjustIntrinsicLogicalHeightForBoxSizing const):
(WebCore::RenderBox::computeIntrinsicLogicalContentHeightUsing const):
Move logic into a new method so that RenderBlock can override it.

  • rendering/RenderBox.h:

Declare adjustIntrinsicLogicalHeightForBoxSizing as virtual.
No need for computeIntrinsicLogicalContentHeightUsing to be virtual.

3:59 PM Changeset in webkit [294274] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Fix the build after 250556@main

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
Maintain the status quo here, for now, by adopting unsafeBuffer().

3:56 PM Changeset in webkit [294273] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[CMake][VS] PrivateHeaders/WebCore/WebCoreJSBuiltinInternals.h is not updated in incremental build
https://bugs.webkit.org/show_bug.cgi?id=240297

Reviewed by Don Olmstead.

In CMake Visual Studio generator builds,
WebCoreJSBuiltinInternals.h was not copied to the private headers
directory as expected in incremental builds.

${WebCore_DERIVED_SOURCES_DIR}/WebCoreJSBuiltinInternals.h was
added to both WebCore_SOURCES and WebCore_PRIVATE_FRAMEWORK_HEADERS.
This caused the incremental build problem. Don't add the headers
to WebCore_SOURCES.

There was another minor problem. ${WebCore_BUILTINS_SOURCES} was
passed to the MAIN_DEPENDENCY argument of add_custom_command.
However, MAIN_DEPENDENCY argument should take a single file. It
should be passed to DEPENDS argument.

  • CMakeLists.txt:
3:43 PM Changeset in webkit [294272] by Brent Fulgham
  • 2 edits in trunk/Source/WTF

Correct erroneous guard in Platform file
https://bugs.webkit.org/show_bug.cgi?id=240469
<rdar://problem/93358873>

3:35 PM Changeset in webkit [294271] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

-Wdangling-pointer warning when building ANGLE with GCC 12
https://bugs.webkit.org/show_bug.cgi?id=239339

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-05-16
Reviewed by Yusuke Suzuki and Kenneth Russell.

  • Source/ThirdParty/ANGLE/CMakeLists.txt:

Canonical link: https://commits.webkit.org/250617@main

3:26 PM Changeset in webkit [294270] by Alan Coon
  • 9 edits in branches/safari-613-branch/Source

Versioning.

WebKit-7613.3.2

3:26 PM Changeset in webkit [294269] by Alan Coon
  • 9 edits in branches/safari-613-branch/Source

Revert "Versioning."

This reverts r294068.

3:25 PM Changeset in webkit [294268] by yurys@chromium.org
  • 2 edits in trunk/Source/WebKit

[SOUP2] Compute number of header bytes whe using soup 2
https://bugs.webkit.org/show_bug.cgi?id=240200

Reviewed by Michael Catanzaro.

SOUP 2 lacks methods that allow to get computed head sizes (only present in v3),
calculate the sizes manually when libsoup 2 is used.

No new tests, covered by LayoutTests/http/tests/inspector/network/resource-sizes-network.html
when compiled with SOUP 2.

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::addHeaderSizes):
(WebKit::NetworkDataTaskSoup::didGetHeaders):

3:25 PM Changeset in webkit [294267] by ntim@apple.com
  • 4 edits in trunk

[css-ui] Unexpose attachment and borderless-attachment appearance values
https://bugs.webkit.org/show_bug.cgi?id=240447

Reviewed by Tim Horton.

Hide them behind the attachmentElementEnabled setting.

Test: imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001.html

LayoutTests:

  • imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:

Source/WebCore:

  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):

Canonical link: https://commits.webkit.org/250615@main

3:18 PM Changeset in webkit [294266] by ntim@apple.com
  • 5 edits in trunk/Source

[css-ui] Update documentation for appearance CSS property
https://bugs.webkit.org/show_bug.cgi?id=240481

Reviewed by Devin Rousso.

Account for r294226, r294187 and r294170.

Source/WebCore:

  • css/CSSProperties.json:

Source/WebInspectorUI:

  • UserInterface/External/CSSDocumentation/CSSDocumentation-overrides.json:
  • UserInterface/External/CSSDocumentation/CSSDocumentation.js:

Canonical link: https://commits.webkit.org/250614@main

2:53 PM Changeset in webkit [294265] by Brent Fulgham
  • 3 edits in trunk/Source/WTF

Remove abandoned WebKitAdditionsFeature1 flag (240462)
https://bugs.webkit.org/show_bug.cgi?id=240462
<rdar://93353298>

Reviewed by Alex Christensen.

Remove the abandoned WebKitAdditionsFeature1 preference, since
it ended up not being needed and now just complicates the build
and generated preferences.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
  • wtf/ExperimentalFeatureNames.h:
2:44 PM Changeset in webkit [294264] by Brent Fulgham
  • 18 edits in trunk

Remove abandoned UseScreenCaptureKit preference
https://bugs.webkit.org/show_bug.cgi?id=240460
<rdar://problem/93351960>

Reviewed by Youenn Fablet.

We no longer need this switch to activate ScreenCaptureKit, and this code is no
longer used. We should remove it to simplify the build and reduce complexity.

Source/WebCore:

  • platform/mediastream/RealtimeMediaSourceCenter.h:

(WebCore::RealtimeMediaSourceCenter::useScreenCaptureKit const): Deleted.
(WebCore::RealtimeMediaSourceCenter::setUseScreenCaptureKit): Deleted.

Source/WebKit:

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::setUseScreenCaptureKit): Deleted.

  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultScreenCaptureKitEnabled): Deleted.

  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _useScreenCaptureKit]): Deleted.
(-[WKPreferences _setUseScreenCaptureKit:]): Deleted.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::updatePreferences):

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs const):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMediaWindowAndScreen.mm:

(TestWebKitAPI::TEST):

2:43 PM Changeset in webkit [294263] by Adrian Perez de Castro
  • 2 edits in trunk/Tools/buildstream

[Flatpak SDK] Update libwpe to version 1.13.2
https://bugs.webkit.org/show_bug.cgi?id=240470

Reviewed by Philippe Normand.

  • elements/sdk/libwpe.bst: Update to version 1.13.2, switch download URL to the

canonical release site while at it.

Canonical link: https://commits.webkit.org/250611@main

2:41 PM Changeset in webkit [294262] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, fix build after 250565@main
https://bugs.webkit.org/show_bug.cgi?id=240416

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-05-16

  • Source/WebCore/rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):

  • Source/WebCore/rendering/TextBoxPainter.cpp:

(WebCore::TextBoxPainter<TextBoxPath>::debugTextShadow const):

Canonical link: https://commits.webkit.org/250610@main

2:37 PM Changeset in webkit [294261] by Ryan Haddad
  • 9 edits in trunk

Unreviewed, reverting r294238.

Breaks internal builds

Reverted changeset:

"Use _adoptEffectiveConfiguration instead of a separate
NSURLSession without credentials"
https://bugs.webkit.org/show_bug.cgi?id=240362
https://commits.webkit.org/r294238

2:21 PM Changeset in webkit [294260] by Alan Coon
  • 31 edits in branches/safari-7614.1.14.1-branch

Cherry-pick r294225. rdar://problem/92978482

Make sure calling showNotification will extend the service worker lifetime
https://bugs.webkit.org/show_bug.cgi?id=240273
<rdar://92978482>

Reviewed by Chris Dumez.

Source/WebCore:

Update NotificationClient API so that show is taking a completion handler.
Make use of this completion handler to resolve the promise when the show notification steps are done, as per spec.
Register push event to ServiceWorkerGlobalScope when the event handlers are called.
When ServiceWorkerRegistration::show is called during one of the push event handlers,
extend the push event lifetime by adding the show notification promise to the push event.

Covered by API test.

  • Modules/notifications/Notification.cpp:
  • Modules/notifications/Notification.h:
  • Modules/notifications/NotificationClient.h:
  • dom/ScriptExecutionContext.cpp:
  • dom/ScriptExecutionContext.h:
  • workers/service/ServiceWorkerGlobalScope.cpp:
  • workers/service/ServiceWorkerGlobalScope.h:
  • workers/service/ServiceWorkerRegistration.cpp:
  • workers/service/ServiceWorkerRegistration.h:
  • workers/service/context/ServiceWorkerThread.cpp:

Source/WebKit:

On WebProcess side, implement the new NoficationClient::show API that takes a callback.
Delay calling this callback until UIProcess tells us so through async IPC.
On UIProcess side, take a callback and call it when the show notification steps are done.

  • NetworkProcess/Notifications/NetworkNotificationManager.cpp:
  • NetworkProcess/Notifications/NetworkNotificationManager.h:
  • Shared/Notifications/NotificationManagerMessageHandler.h:
  • Shared/Notifications/NotificationManagerMessageHandler.messages.in:
  • UIProcess/Notifications/ServiceWorkerNotificationHandler.cpp:
  • UIProcess/Notifications/ServiceWorkerNotificationHandler.h:
  • UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp:
  • UIProcess/Notifications/WebNotificationManagerMessageHandler.h:
  • WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:
  • WebProcess/Notifications/WebNotificationManager.cpp:
  • WebProcess/Notifications/WebNotificationManager.h:
  • WebProcess/WebCoreSupport/WebNotificationClient.cpp:
  • WebProcess/WebCoreSupport/WebNotificationClient.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebNotificationClient.h:
  • WebCoreSupport/WebNotificationClient.mm:

Tools:

  • TestWebKitAPI/TestNotificationProvider.cpp:
  • TestWebKitAPI/TestNotificationProvider.h:
  • TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:

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

2:21 PM Changeset in webkit [294259] by mmaxfield@apple.com
  • 1 edit in trunk/Source/WebCore/css/CSSProperties.json

Fix URL to offset-rotate property in CSSProperties.json
https://bugs.webkit.org/show_bug.cgi?id=240474

Reviewed by Myles C. Maxfield.

No new tests, not a functional change.

  • Source/WebCore/css/CSSProperties.json:

Canonical link: https://commits.webkit.org/250608@main

2:21 PM Changeset in webkit [294258] by Alan Coon
  • 8 edits in branches/safari-7614.1.14.1-branch

Cherry-pick r294218. rdar://problem/90400867

Right click > "Open Link" should trigger a navigation action with WKNavigationTypeLinkActivated
https://bugs.webkit.org/show_bug.cgi?id=240427
rdar://90400867

Reviewed by Tim Horton.

Add a new linked-on-or-after check to guard this new behavior for apps built against newer SDK versions.

Reviewed by Tim Horton.

Make a couple of minor adjustments to ContextMenuController to ensure that right clicking a link and choosing
"Open Link" or "Open Link in New Window" surfaces a navigation action with WKNavigationTypeLinkActivated,
rather than WKNavigationTypeOther.

Test: ContextMenuTests.NavigationTypeWhenOpeningLink

  • page/ContextMenuContext.cpp: (WebCore::ContextMenuContext::ContextMenuContext):
  • page/ContextMenuContext.h: (WebCore::ContextMenuContext::event const):

Save a reference to the Event of type "contextmenu" that's triggering context menu presentation in the
ContextMenuContext.

  • page/ContextMenuController.cpp: (WebCore::ContextMenuController::maybeCreateContextMenu): (WebCore::openNewWindow):

Plumb the "contextmenu" event through to FrameLoader::loadFrameRequest when opening links via context menu.

(WebCore::ContextMenuController::contextMenuItemSelected):
Right click > "Open Link" should trigger a navigation action with WKNavigationTypeLinkActivated
https://bugs.webkit.org/show_bug.cgi?id=240427
rdar://90400867

Reviewed by Tim Horton.

Add an API test to verify that right clicking a link and selecting "Open Link" triggers a navigation action with
the type WKNavigationTypeLinkActivated.

  • TestWebKitAPI/Tests/mac/ContextMenuTests.mm: (TestWebKitAPI::TEST):

Canonical link: https://commits.webkit.org/250576@main

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

2:19 PM Changeset in webkit [294257] by Adrian Perez de Castro
  • 5 edits in releases/WebKitGTK/webkit-2.36/Source

Merge r294177 - Non-unified build broken in debug mode
https://bugs.webkit.org/show_bug.cgi?id=240378

Unreviewed non-unified build fixes.

  • heap/StructureAlignedMemoryAllocator.cpp: Include <sys/mman.h> if needed.

Non-unified build broken in debug mode
https://bugs.webkit.org/show_bug.cgi?id=240378

Unreviewed non-unified build fixes.

  • contentextensions/ContentExtensionCompiler.cpp: Add missing wtf/CrossThreadCopier.h header.
  • workers/service/ServiceWorkerClients.cpp: Add missing Logging.h header.

Canonical link: https://commits.webkit.org/250544@main

2:19 PM Changeset in webkit [294256] by Adrian Perez de Castro
  • 5 edits in releases/WebKitGTK/webkit-2.36/Source

Merge r294154 - Unreviewed, non-unified build fixes
https://bugs.webkit.org/show_bug.cgi?id=240369

Source/JavaScriptCore:

  • runtime/DateConversion.cpp:

Source/WebCore:

  • Modules/highlight/HighlightRegister.h:
  • rendering/TextPainter.h:
2:15 PM Changeset in webkit [294255] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.2

2:01 PM Changeset in webkit [294254] by ntim@apple.com
  • 1 edit in trunk/metadata/contributors.json

Add myself to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240475

Reviewed by Myles C. Maxfield.

  • metadata/contributors.json:

Canonical link: https://commits.webkit.org/250607@main

1:45 PM Changeset in webkit [294253] by Alan Coon
  • 66 edits
    2 adds
    2 deletes in branches/safari-7614.1.14.0-branch/Source/WebKit

Cherry-pick r294190. rdar://problem/91006582

SharedBuffer should be copied and then attributed back to WebContent
https://bugs.webkit.org/show_bug.cgi?id=240223
rdar://91006582

Patch by Jean-Yves Avenard <jean-yves.avenard@apple.com> on 2022-05-14
Reviewed by Jer Noble.

Ideally, when mapping an IPCHandle we would prefer to use Copy On Write.
However, there's no support for COW with explicitly-owned memory such as
those created with VM_FLAGS_PURGABLE flag.
As such, when calling mach_vm_map with copy=true argument is set the
entire page will be copied.
It is therefore more performant to manually create a new buffer and copy
the actual content.
The memory can then be blamed on a particular process.

Rework FragmentedSharedBuffer/SharedBuffer IPC's serializer to perform
a copy, partially reverting changes made in bug 233401.

We replace the unnecessary use of SharedMemory::IPCHandle and directly
send SharedBuffer in clipboard and PDF related methods.
Rename SharedBufferCopy to SharedBufferReference to more accurately
describe what it does.

Make new use of the SharedBufferReference class, replacing the use of IPCHandle
in RemoteSourceBufferProxy and RemoteMediaResourceManager.

Rename SharedBufferReference::buffer() into
SharedBufferReference::unsafeBuffer() to give better clarity that accessing
SharedBuffer and SharedMemory should be treated with care.

SharedBuffer sent from trusted processes such as network process should
prefer the use of SharedBufferReference over directly using IPCHandle or
SharedBuffer, it makes optimisation easier and avoid duplicating code.

No observable change, covered by existing tests.

  • GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::remoteMediaResourceManager):
  • GPUProcess/media/RemoteCDMInstanceProxy.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.cpp: (WebKit::RemoteImageDecoderAVFProxy::createDecoder): (WebKit::RemoteImageDecoderAVFProxy::setData):
  • GPUProcess/media/RemoteImageDecoderAVFProxy.h:
  • GPUProcess/media/RemoteImageDecoderAVFProxy.messages.in:
  • GPUProcess/media/RemoteMediaResourceManager.cpp: (WebKit::RemoteMediaResourceManager::RemoteMediaResourceManager): (WebKit::RemoteMediaResourceManager::dataReceived):
  • GPUProcess/media/RemoteMediaResourceManager.h:
  • GPUProcess/media/RemoteMediaResourceManager.messages.in:
  • GPUProcess/media/RemoteSourceBufferProxy.cpp: (WebKit::RemoteSourceBufferProxy::append):
  • GPUProcess/media/RemoteSourceBufferProxy.h:
  • GPUProcess/media/RemoteSourceBufferProxy.messages.in:
  • NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::bufferingTimerFired): (WebKit::NetworkResourceLoader::sendBuffer): (WebKit::NetworkResourceLoader::dataReceivedThroughContentFilter):
  • NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.cpp: (WebKit::ServiceWorkerDownloadTask::didReceiveData):
  • NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.h:
  • NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.messages.in:
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp: (WebKit::ServiceWorkerFetchTask::didReceiveData): (WebKit::ServiceWorkerFetchTask::loadBodyFromPreloader):
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:
  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.messages.in:
  • Platform/IPC/SharedBufferCopy.cpp: Removed.
  • Platform/IPC/SharedBufferCopy.h: Removed.
  • Platform/IPC/SharedBufferReference.cpp: Added. (IPC::SharedBufferReference::encode const): (IPC::SharedBufferReference::decode): (IPC::SharedBufferReference::unsafeBuffer const): (IPC::SharedBufferReference::data const): (IPC::SharedBufferReference::bufferWithOwner const):
  • Platform/IPC/SharedBufferReference.h: Added. (IPC::SharedBufferReference::SharedBufferReference): (IPC::SharedBufferReference::size const): (IPC::SharedBufferReference::isEmpty const): (IPC::SharedBufferReference::isNull const):
  • Platform/SharedMemory.cpp: (WebKit::transferOwnershipOfMemory const):
  • Platform/SharedMemory.h:
  • Platform/cocoa/SharedMemoryCocoa.cpp: (WebKit::changeOwnershipOfMemory): (WebKit::SharedMemory::Handle::takeOwnershipOfMemory const): (WebKit::SharedMemory::Handle::transferOwnershipOfMemory const): (WebKit::machProtection): (WebKit::SharedMemory::map):
  • Scripts/process-entitlements.sh:
  • Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp: (WebKit::CGDisplayListImageBufferBackend::createBackendHandle const):
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
  • Shared/WebCoreArgumentCoders.cpp: (IPC::encodeSharedBuffer): (IPC::decodeSharedBuffer):
  • Sources.txt:
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView createPDFWithConfiguration:completionHandler:]):
  • UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::platformRegisterAttachment):
  • UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: (WebKit::WebPasteboardProxy::getPasteboardBufferForType): (WebKit::WebPasteboardProxy::setPasteboardBufferForType): (WebKit::WebPasteboardProxy::readBufferFromPasteboard):
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::sendAudioComponentRegistrations):
  • UIProcess/WebPageProxy.cpp: (WebKit::CompletionHandler<void): (WebKit::WebPageProxy::drawPagesToPDF): (WebKit::WebPageProxy::drawToPDF): (WebKit::WebPageProxy::getLoadDecisionForIcon): (WebKit::WebPageProxy::updateAttachmentAttributes): (WebKit::WebPageProxy::registerAttachmentIdentifierFromData): (WebKit::WebPageProxy::platformRegisterAttachment):
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebPasteboardProxy.cpp: (WebKit::WebPasteboardProxy::readBufferFromPasteboard):
  • UIProcess/WebPasteboardProxy.h:
  • UIProcess/WebPasteboardProxy.messages.in:
  • UIProcess/WebURLSchemeTask.cpp: (WebKit::WebURLSchemeTask::didReceiveData):
  • UIProcess/gtk/WebPasteboardProxyGtk.cpp: (WebKit::WebPasteboardProxy::readBuffer):
  • UIProcess/ios/WKContentView.mm: (-[WKContentView _wk_pageCountForPrintFormatter:]):
  • UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::drawToPDFiOS):
  • UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::dataSelectionForPasteboard):
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/ImageBufferBackendHandle.h:
  • WebProcess/GPU/media/RemoteImageDecoderAVF.cpp: (WebKit::RemoteImageDecoderAVF::setData):
  • WebProcess/GPU/media/RemoteImageDecoderAVFManager.cpp: (WebKit::RemoteImageDecoderAVFManager::createImageDecoder):
  • WebProcess/GPU/media/RemoteMediaResourceProxy.cpp: (WebKit::RemoteMediaResourceProxy::dataReceived):
  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp: (WebKit::SourceBufferPrivateRemote::append):
  • WebProcess/Network/WebResourceLoader.cpp: (WebKit::WebResourceLoader::didReceiveData):
  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
  • WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::writeItemsToPasteboard):
  • WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp: (WebKit::WebServiceWorkerFetchTaskClient::didReceiveData): (WebKit::WebServiceWorkerFetchTaskClient::didReceiveBlobChunk):
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::registerAttachmentIdentifier):
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: (WebKit::WebPlatformStrategies::bufferForType): (WebKit::WebPlatformStrategies::setBufferForType): (WebKit::WebPlatformStrategies::readBufferFromClipboard): (WebKit::WebPlatformStrategies::readBufferFromPasteboard):
  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: (WebKit::WebDragClient::declareAndWriteDragImage):
  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::getContentsAsMHTMLData): (WebKit::WebPage::getSelectionAsWebArchiveData): (WebKit::WebPage::getMainResourceDataOfFrame): (WebKit::WebPage::getResourceDataFromFrame): (WebKit::WebPage::getWebArchiveOfFrame): (WebKit::WebPage::getAccessibilityTreeData): (WebKit::WebPage::drawToPDF): (WebKit::WebPage::drawPagesToPDF): (WebKit::WebPage::didGetLoadDecisionForIcon): (WebKit::WebPage::urlSchemeTaskDidReceiveData): (WebKit::WebPage::updateAttachmentAttributes):
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::getDataSelectionForPasteboard): (WebKit::WebPage::performActionOnElement): (WebKit::WebPage::drawToPDFiOS): (WebKit::WebPage::didFinishLoadForQuickLookDocumentInMainFrame):
  • WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getDataSelectionForPasteboard):
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::consumeAudioComponentRegistrations):

# Please populate the above commit message. Lines starting
# with '#' will be ignored

# 13 Tim Horton <timothy_horton@apple.com>
#
# ApplePayLogoSystemImage needlessly loads PassKit in WebKit child processes on iOS
# https://bugs.webkit.org/show_bug.cgi?id=240404
# <rdar://93070349>
#
# Reviewed by Chris Dumez.
#
# * UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
# (WebKit::ProcessLauncher::launchProcess): Adopt the WTF implementation of systemDirectoryPath.
# (WebKit::systemDirectoryPath): Moved to WTF.
#
# 13 Wenson Hsieh <Wenson Hsieh>
#
# ImageAnalysisQueue should reanalyze image elements whose image sources have changed
# https://bugs.webkit.org/show_bug.cgi?id=240371
# rdar://93175651
#
# Reviewed by Tim Horton.
#
# To aid with debugging similar issues in the future, plumb the image URL through to
# requestImageAnalysisWithIdentifier, which (if an engineering default is specified) will additionally reveal
# the URL in system logs.
#
# * Platform/cocoa/ImageAnalysisUtilities.h:
# * UIProcess/Cocoa/WebViewImpl.mm:
# (WebKit::WebViewImpl::requestTextRecognition):
# * UIProcess/ios/WKContentViewInteraction.mm:
# (-[WKContentView requestTextRecognition:imageData:identifier:completionHandler:]):
#
# 13 Aditya Keerthi <Aditya Keerthi>
#
# [iOS] Multiple visible find highlights when searching for text after beginning a "find from selection"
# https://bugs.webkit.org/show_bug.cgi?id=240393
# rdar://91441895
#
# Reviewed by Wenson Hsieh.
#
# Some WebKit clients use SPI on WKWebView to support "find from selection"
# functionality (the Cmd+E shortcut). However, to support general
# find functionality, they use new find API that uses a different codepath
# to draw highlights. Mixing use of the API and SPI can currently result
# in two highlights showing up.
#
# To fix, ensure SPI highlights are removed once the API is being used.
# The long term solution is for clients to adopt API for the
# "find from selection" functionality, but in the short term the SPI
# should remain supported.
#
# * WebProcess/WebPage/WebPage.cpp:
# (WebKit::WebPage::clearAllDecoratedFoundText):
#
# 13 Kimmo Kinnunen <kkinnunen@apple.com>
#
# IPC cannot encode, decode Ref<>, causing duplicate code
# https://bugs.webkit.org/show_bug.cgi?id=240160
#
# Reviewed by Antti Koivisto.
#
# Consider reference counted type T:
# Encoding is of signature encode(const T&)
# Decoding is of signature std::optional<Ref<T>> decode()
# This is usable for both RefPtr and Ref use-cases.
#
# Add Ref<T> encoder that is polymorphic to T.
# This way clients do not need to write encoders for
# Ref<T>, RefPtr<T>. They just need one encoder, for T.
#
# When clients do not need to write RefPtr<T>, they make less
# bugs. These will be corrected in future patches.
#
# Having Ref<T> encoders allows clients to use Vector<Ref<T>> encoding
# via Vector<U> encoder, and they would not need to duplicate that
# logic, making less bugs. These will be corrected in future patches.
#
# Remove most IPC::ArgumentCoder<Ref<..>> in favor of IPC::ArgumentCoder<..>.
# In the cases where removal was done, remove also redundant
# IPC::ArgumentCoder<RefPtr<..>>.
#
# * Platform/IPC/ArgumentCoders.h:
# (IPC::ArgumentCoder<RefPtr<T>>::decode):
# (IPC::ArgumentCoder<Ref<T>>::encode):
# (IPC::ArgumentCoder<Ref<T>>::decode):
# * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
# (IPC::ArgumentCoder<WebCore::Font>::encodePlatformData):
# (IPC::ArgumentCoder<WebCore::Font>::decodePlatformData):
# * Shared/WebCoreArgumentCoders.cpp:
# (IPC::ArgumentCoder<WebCore::Font>::encode):
# (IPC::ArgumentCoder<Font>::decode):
# (IPC::ArgumentCoder<SystemImage>::encode):
# (IPC::ArgumentCoder<SystemImage>::decode):
# * Shared/WebCoreArgumentCoders.h:
# * Shared/playstation/WebCoreArgumentCodersPlayStation.cpp:
# (IPC::ArgumentCoder<Font>::encodePlatformData):
# (IPC::ArgumentCoder<Font>::decodePlatformData):
# * Shared/soup/WebCoreArgumentCodersSoup.cpp:
# (IPC::ArgumentCoder<Font>::encodePlatformData):
# (IPC::ArgumentCoder<Font>::decodePlatformData):
# * Shared/win/WebCoreArgumentCodersWin.cpp:
# (IPC::ArgumentCoder<Font>::encodePlatformData):
# (IPC::ArgumentCoder<Font>::decodePlatformData):
#
# 13 Tim Horton <timothy_horton@apple.com>
#
# Add UI-side layers for optionally indicating interaction regions
# https://bugs.webkit.org/show_bug.cgi?id=240372
# <rdar://problem/87170289>
#
# Reviewed by Dean Jackson.
#
# * Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
# (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
# (WebKit::RemoteLayerTreePropertyApplier::applyHierarchyUpdates):
# Allow RemoteLayerTreeInteractionRegionLayers to add and maintain layers for interaction regions.
#
# * SourcesCocoa.txt:
# * UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.h: Added.
# * UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm: Added.
# (configureLayerForInteractionRegion):
# (WebKit::interactionRegionForLayer):
# (WebKit::isInteractionRegionLayer):
# (WebKit::setInteractionRegion):
# Box WebCore::InteractionRegion in a Objective-C object and store it on the layer.
# Use this as a key to indicate that a given layer is an interaction region.
#
# (WebKit::appendInteractionRegionLayersForLayer):
# Make sure that interaction region layers are always at the end of the layer's sublayers array.
#
# (WebKit::updateLayersForInteractionRegions):
# Add new layers for interaction regions.
# Maintain the same layer for regions that cover the same area.
# Add a green wash if the default WKInteractionRegionDebugFill is set.
#
# * WebKit.xcodeproj/project.pbxproj:
#
# 13 Simon Fraser <Simon Fraser>
#
# Simplify the usage of DrawGlyphsRecorder
# https://bugs.webkit.org/show_bug.cgi?id=240363
#
# Reviewed by Myles Maxfield.
#
# Move the DeconstructDrawGlyphs switch from inside DrawGlyphsRecorder to
# DisplayList::Recorder, so that DrawGlyphsRecorder is only ever used when deconstructing
# glyphs.
#
# Also, ensure that the only time that glyph deconstruction is enabled is when
# recording display lists via RemoteDisplayListRecorderProxy. There's no reason for
# paintAttachmentText() to need glyph deconstruction.
#
# This is a small perf improvement on the MotionMark Design subtest.
#
# * WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
# (WebKit::RemoteDisplayListRecorderProxy::RemoteDisplayListRecorderProxy):
# (WebKit::m_renderingBackend):
# * WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
#
# it takes from the XPC message is sent until the XPC reply is received. Add reporting when this happens

# On branch bz/240223
# Your branch is ahead of 'origin/main' by 1 commit.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# (use "git restore --staged <file>..." to unstage)
# modified: Source/WebKit/ChangeLog
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
# 0001-SharedBuffer-should-be-copied-and-then-attributed-ba.patch
#

Canonical link: https://commits.webkit.org/250556@main

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

1:43 PM Changeset in webkit [294252] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.0-branch/Source/WebKit

Cherry-pick r294175. rdar://problem/91441895

[iOS] Multiple visible find highlights when searching for text after beginning a "find from selection"
https://bugs.webkit.org/show_bug.cgi?id=240393
rdar://91441895

Reviewed by Wenson Hsieh.

Some WebKit clients use SPI on WKWebView to support "find from selection"
functionality (the Cmd+E shortcut). However, to support general
find functionality, they use new find API that uses a different codepath
to draw highlights. Mixing use of the API and SPI can currently result
in two highlights showing up.

To fix, ensure SPI highlights are removed once the API is being used.
The long term solution is for clients to adopt API for the
"find from selection" functionality, but in the short term the SPI
should remain supported.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::clearAllDecoratedFoundText):

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

1:38 PM Changeset in webkit [294251] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.2

1:32 PM Changeset in webkit [294250] by Jonathan Bedard
  • 2 edits in trunk/Websites/bugs.webkit.org

[PrettyPatch] Support commit messages (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=240386
<rdar://problem/93248835>

Unreviewed follow-up fix.

  • Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb: Handle diffs without a header.

Canonical link: https://commits.webkit.org/250606@main

12:00 PM Changeset in webkit [294249] by Ziran Sun
  • 3 edits
    1 move in trunk

[css-ui] alias appearance <compat-auto> keywords to 'auto' for textfield
https://bugs.webkit.org/show_bug.cgi?id=238551

Reviewed by Tim Nguyen.

Source/WebCore:

This is to add support of aliasing appearance to 'auto' for textfield.
It has improved the following wpt tests
imported/w3c/web-platform-tests/css/css-ui/appearance-textfield-001.html
and
imported/w3c/web-platform-tests/css/css-ui/webkit-appearance-textfield-001.html.

The test failures though, are not fully fixed. The issue left is that the search cancel button
for input type="search" still present while it is expected to disappear (Bug 238751).

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustAppearanceForElement const):

LayoutTests:

Rename test name as the test result now matches the expected.

  • fast/forms/color/color-input-uses-color-well-appearance-expected.html: Renamed from LayoutTests/fast/forms/color/color-input-uses-color-well-appearance-expected-mismatch.html.
11:54 AM Changeset in webkit [294248] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/Tools/buildstream

[Flatpak SDK] Update to pipewire master
https://bugs.webkit.org/show_bug.cgi?id=240428

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-16
Reviewed by Adrian Perez de Castro.

The GStreamer pipewiresrc element from 0.3.36 has bugs that were fixed in the master branch.

  • elements/freedesktop-sdk.bst:
  • patches/fdo-0001-pipewire-base-Track-master-branch.patch: Added.

Canonical link: https://commits.webkit.org/250604@main

11:35 AM Changeset in webkit [294247] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.100-branch/Source

Versioning.

WebKit-7614.1.14.100.1

11:11 AM Changeset in webkit [294246] by Alan Coon
  • 1 copy in branches/safari-7614.1.14.100-branch

New branch.

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

[GTK][WPE] Make ANGLE backend EGL context initialization work
https://bugs.webkit.org/show_bug.cgi?id=240313

The platform is not selected correctly by default and the config
can not be chosen in some cases in the current conditions. Maybe
at some point we want something more general in the code for the
platform detection but for testing we have solved it adding the
environment variable (EGL_PLATORM) to make sure the platform
inside mesa is correctly selected when running the tests. If we
don't do it the small environment in the testing driver process
causes to chose the X11 because it is the building default
option. We used wayland because the headless driver we use is a
wayland backed implemented using shared memory.

Patch by Alejandro G. Castro <alex@igalia.com> on 2022-05-16
Reviewed by Žan Doberšek.

No new tests, it fixes the tests for the ANGLE implementation.

  • Scripts/webkitpy/port/headlessdriver.py:

(HeadlessDriver._setup_environ_for_test):

10:57 AM Changeset in webkit [294244] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[Gardening]: REGRESSION (r264117): [ Mac iOS ] imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/blob.https.html
https://bugs.webkit.org/show_bug.cgi?id=214155

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/250602@main

10:53 AM Changeset in webkit [294243] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r294104): [GStreamer][VideoCapture] Webcam raw streams may hang up the video capture pipeline
https://bugs.webkit.org/show_bug.cgi?id=240456

Patch by Loïc Le Page <llepage@igalia.com> on 2022-05-16
Reviewed by Philippe Normand.

When capturing a raw stream from a webcam, the pipeline may hang up because the decodebin3 cannot fix the upstream caps.
The webcam capsfilter should not only specify the captured mime-type (video/x-raw) but also the capture image dimensions.

Manually tested.

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:
10:48 AM Changeset in webkit [294242] by J Pascoe
  • 2 edits in trunk/Tools

(REGRESSION(r287957)[ Mac ] TestWebKitAPI.WebAuthenticationPanel.LAGetAssertionNoMockNoUserGesture is a constant timeout)
https://bugs.webkit.org/show_bug.cgi?id=240403
rdar://93271671

Reviewed by Brent Fulgham.

Whenever HAVE(UNIFIED_ASC_AUTH_UI), unmocked calls are passed to ASA, which does not
support calls from TWAPI.

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(TestWebKitAPI::TEST):

10:43 AM Changeset in webkit [294241] by J Pascoe
  • 2 edits in trunk/Source/WebKit

REGRESSION (250501@main): [ Mac ] 2 TestWebKitAPI.WebAuthenticationPanel.GetAssertionLA tests failing
https://bugs.webkit.org/show_bug.cgi?id=240406
rdar://93267082

Reviewed by Brent Fulgham.

Using the the truthiness of BOOL from attributes doesn't work here, instead compare it to @YES.

  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticatorInternal::getExistingCredentials):

10:35 AM Changeset in webkit [294240] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][FFC] Add support for logical ordering
https://bugs.webkit.org/show_bug.cgi?id=240442

Reviewed by Antti Koivisto.

Let's reorder the logicalFlexItemList when the 'order' property has a non-initial value.

  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

10:30 AM Changeset in webkit [294239] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ iOS ] imported/w3c/web-platform-tests/webrtc/RTCRtpSender-replaceTrack.https.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240463

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/250597@main

9:49 AM Changeset in webkit [294238] by commit-queue@webkit.org
  • 8 edits in trunk

Use _adoptEffectiveConfiguration instead of a separate NSURLSession without credentials
https://bugs.webkit.org/show_bug.cgi?id=240362

Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-16
Reviewed by Chris Dumez.

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

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

(WebKit::NetworkSessionCocoa::initializeNSURLSessionsInSet):
(WebKit::SessionSet::initializeEphemeralStatelessSessionIfNeeded):
(WebKit::NetworkSessionCocoa::sessionWrapperForTask):
(WebKit::NetworkSessionCocoa::appBoundSession):
(WebKit::SessionSet::isolatedSession):
(WebKit::NetworkSessionCocoa::invalidateAndCancelSessionSet):

9:33 AM Changeset in webkit [294237] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][FFC] Add "flex-direction: column-reverse" basic visual/logical conversion
https://bugs.webkit.org/show_bug.cgi?id=240434

Reviewed by Antti Koivisto.

With "flex-direction: column-reverse" the main axis progression is from visual bottom to top (with default writing mode and all that).

  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

9:18 AM Changeset in webkit [294236] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[Gardening]:[ iOS ] imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-videoDetectorTest.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240348

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/250594@main

9:12 AM Changeset in webkit [294235] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm

Canvas generated transparent pixels are not well handled by LocalSampleBufferDisplayLayer
https://bugs.webkit.org/show_bug.cgi?id=230621
rdar://problem/83668394

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-16
Reviewed by Eric Carlson.

Remove black color for root and display layer.
When display layer is hidden but root layer is visible, set root layer background color to black to keep existing behavior.
This allows to render transparent video frames without a black background.

Covered by https://jsfiddle.net/nfu7oL60/ (make sure to switch between tabs after clicking start).
Also covered by https://webrtc.github.io/samples/src/content/peerconnection/pc1/ and muting/unmuting the camera.

  • Source/WebCore/platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:

(WebCore::LocalSampleBufferDisplayLayer::initialize):
(WebCore::LocalSampleBufferDisplayLayer::updateDisplayMode):

Canonical link: https://commits.webkit.org/250593@main

8:52 AM Changeset in webkit [294234] by Patrick Angle
  • 8 edits in trunk

Web Inspector: Regression(r266885) Crash sometimes when rehydrating imported audit results
https://bugs.webkit.org/show_bug.cgi?id=240366

Reviewed by Devin Rousso.

Source/JavaScriptCore:

  • inspector/protocol/DOM.json:

Source/WebCore:

Added test cases to inspector/model/dom-node.html

After r266885, there is no path to handle the possibility that there may not be a resulting node for calls to
DOM.querySelector. To correct this, mark the return value as optional (Web Inspector frontend already treats
it as optional) and return early if there was no Element matching the selector.

  • inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::querySelector):

  • inspector/agents/InspectorDOMAgent.h:

LayoutTests:

  • inspector/model/dom-node.html:
  • inspector/model/dom-node-expected.txt:
8:08 AM Changeset in webkit [294233] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][FFC] Add "flex-direction: row-reverse" basic visual/logical conversion
https://bugs.webkit.org/show_bug.cgi?id=240432

Reviewed by Antti Koivisto.

With "flex-direction: row-reverse" the main axis progression is from visual right to left (with default writing mode and all that).

  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

6:55 AM Changeset in webkit [294232] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GTK] Warning in WebKitDOMDocumentGtk.cpp with GCC 12
https://bugs.webkit.org/show_bug.cgi?id=239353

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-05-16
Reviewed by Yusuke Suzuki.

  • Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp:

(webkit_dom_document_create_node_iterator):
(webkit_dom_document_create_tree_walker):

Canonical link: https://commits.webkit.org/250590@main

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

[LFC][FFC] Add "flex-direction: column" basic visual/logical conversion
https://bugs.webkit.org/show_bug.cgi?id=240430

Reviewed by Antti Koivisto.

With "flex-direction: column" the main axis progression is based on the margin box height.

  • layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

5:54 AM Changeset in webkit [294230] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm

Rename MockAudioSharedInternalUnit::m_isProducingState to MockAudioSharedInternalUnit::m_internalState
https://bugs.webkit.org/show_bug.cgi?id=240450

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-16
Reviewed by Eric Carlson.

Follow-up to https://bugs.webkit.org/show_bug.cgi?id=240421 review.

No change of behavior.

  • Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm:

(WebCore::MockAudioSharedInternalUnit::MockAudioSharedInternalUnit):
(WebCore::MockAudioSharedInternalUnit::~MockAudioSharedInternalUnit):
(WebCore::MockAudioSharedInternalUnit::start):
(WebCore::MockAudioSharedInternalUnit::stop):
(WebCore::MockAudioSharedInternalUnit::uninitialize):
(WebCore::MockAudioSharedInternalUnit::generateSampleBuffers):

Canonical link: https://commits.webkit.org/250588@main

5:48 AM Changeset in webkit [294229] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

REGRESSION(r294104): [GStreamer] getUserMedia broken
https://bugs.webkit.org/show_bug.cgi?id=240420

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-16
Reviewed by Xabier Rodriguez-Calvar.

The converter handling logic was modified in order to fix getUserMedia negotiated with raw
video and also getDisplayMedia which is always raw video and thus doesn't require decoding.

This patch also introduces a small optimization, reconfiguration is now done once only,
after setting size and framerate. Before this patch it was done twice, so the pipeline was a
taking more time to produce the first frame.

  • platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:

(WebCore::GStreamerVideoCaptureSource::~GStreamerVideoCaptureSource):
(WebCore::GStreamerVideoCaptureSource::settingsDidChange): Trigger capturer reconfiguration after setting both size and framerate.
(WebCore::GStreamerVideoCaptureSource::startProducingData): Ditto.

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:

(WebCore::GStreamerVideoCapturer::createConverter): Do not decode display capture streams, these are always raw anyway.
(WebCore::GStreamerVideoCapturer::setSize): Delay reconfiguration.
(WebCore::GStreamerVideoCapturer::setFrameRate): Ditto.
(WebCore::GStreamerVideoCapturer::reconfigure): Keep track of compatible video format. This
is needed to workaround an issue in pipewiresrc caps negotiation.
(WebCore::GStreamerVideoCapturer::adjustVideoSrcMIMEType): Renamed to reconfigure().

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.h:

Canonical link: https://commits.webkit.org/250587@main

5:23 AM Changeset in webkit [294228] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Add basic video meta handling in sinks
https://bugs.webkit.org/show_bug.cgi?id=240429

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-16
Reviewed by Xabier Rodriguez-Calvar.

By handling allocation queries and advertising video meta handling to upstream elements, our
video sinks are now more efficient, especially on Raspberry Pi 4 with the v4l2 stateless
H.264 decoder.

  • platform/graphics/gstreamer/GStreamerVideoSinkCommon.cpp:

(webKitVideoSinkSetMediaPlayerPrivate):

Canonical link: https://commits.webkit.org/250586@main

4:43 AM Changeset in webkit [294227] by commit-queue@webkit.org
  • 1 edit
    8 deletes in trunk/LayoutTests

Remove some custom-element tests
https://bugs.webkit.org/show_bug.cgi?id=240449

Patch by Rob Buis <rbuis@igalia.com> on 2022-05-16
Reviewed by Tim Nguyen.

Remove some custom-element tests since they are now available in WPT.

  • fast/custom-elements/enqueue-custom-element-callback-reactions-inside-another-callback-expected.txt: Removed.
  • fast/custom-elements/enqueue-custom-element-callback-reactions-inside-another-callback.html: Removed.
  • fast/custom-elements/perform-microtask-checkpoint-before-construction-expected.txt: Removed.
  • fast/custom-elements/perform-microtask-checkpoint-before-construction.html: Removed.
  • fast/custom-elements/throw-on-dynamic-markup-insertion-counter-construct-expected.txt: Removed.
  • fast/custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html: Removed.
  • fast/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions-expected.txt: Removed.
  • fast/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html: Removed.
3:27 AM Changeset in webkit [294226] by ntim@apple.com
  • 8 edits
    11 deletes in trunk

[css-ui] Make inner-spin-button/sliderthumb-horizontal/sliderthumb-vertical appearance values internal
https://bugs.webkit.org/show_bug.cgi?id=240448

Reviewed by Antti Koivisto.

Test: imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001.html

iOS baseline for appearance-cssom-001-expected.txt is identical to the main one, so remove it.

LayoutTests:

  • fast/forms/range/thumbslider-crash-expected.txt: Removed.
  • fast/forms/range/thumbslider-crash.html: Removed.
  • fast/forms/range/thumbslider-no-parent-slider.html: Removed.
  • platform/gtk/fast/forms/range/thumbslider-no-parent-slider-expected.png: Removed.
  • platform/gtk/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt: Removed.
  • platform/ios/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Removed.
  • platform/mac/fast/forms/range/thumbslider-no-parent-slider-expected.png: Removed.
  • platform/mac/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Removed.
  • platform/win/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Removed.
  • platform/wincairo/fast/forms/range/thumbslider-no-parent-slider-expected.txt: Removed.
  • imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:

Source/WebCore:

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/CSSValueKeywords.in:
  • platform/ThemeTypes.h:

Canonical link: https://commits.webkit.org/250584@main

1:18 AM Changeset in webkit [294225] by youenn@apple.com
  • 31 edits in trunk

Make sure calling showNotification will extend the service worker lifetime
https://bugs.webkit.org/show_bug.cgi?id=240273
<rdar://92978482>

Reviewed by Chris Dumez.

Source/WebCore:

Update NotificationClient API so that show is taking a completion handler.
Make use of this completion handler to resolve the promise when the show notification steps are done, as per spec.
Register push event to ServiceWorkerGlobalScope when the event handlers are called.
When ServiceWorkerRegistration::show is called during one of the push event handlers,
extend the push event lifetime by adding the show notification promise to the push event.

Covered by API test.

  • Modules/notifications/Notification.cpp:
  • Modules/notifications/Notification.h:
  • Modules/notifications/NotificationClient.h:
  • dom/ScriptExecutionContext.cpp:
  • dom/ScriptExecutionContext.h:
  • workers/service/ServiceWorkerGlobalScope.cpp:
  • workers/service/ServiceWorkerGlobalScope.h:
  • workers/service/ServiceWorkerRegistration.cpp:
  • workers/service/ServiceWorkerRegistration.h:
  • workers/service/context/ServiceWorkerThread.cpp:

Source/WebKit:

On WebProcess side, implement the new NoficationClient::show API that takes a callback.
Delay calling this callback until UIProcess tells us so through async IPC.
On UIProcess side, take a callback and call it when the show notification steps are done.

  • NetworkProcess/Notifications/NetworkNotificationManager.cpp:
  • NetworkProcess/Notifications/NetworkNotificationManager.h:
  • Shared/Notifications/NotificationManagerMessageHandler.h:
  • Shared/Notifications/NotificationManagerMessageHandler.messages.in:
  • UIProcess/Notifications/ServiceWorkerNotificationHandler.cpp:
  • UIProcess/Notifications/ServiceWorkerNotificationHandler.h:
  • UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp:
  • UIProcess/Notifications/WebNotificationManagerMessageHandler.h:
  • WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:
  • WebProcess/Notifications/WebNotificationManager.cpp:
  • WebProcess/Notifications/WebNotificationManager.h:
  • WebProcess/WebCoreSupport/WebNotificationClient.cpp:
  • WebProcess/WebCoreSupport/WebNotificationClient.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebNotificationClient.h:
  • WebCoreSupport/WebNotificationClient.mm:

Tools:

  • TestWebKitAPI/TestNotificationProvider.cpp:
  • TestWebKitAPI/TestNotificationProvider.h:
  • TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
1:14 AM Changeset in webkit [294224] by Martin Robinson
  • 17 edits in trunk

Do not allow unitless values for CSS unprefixed perspective property
https://bugs.webkit.org/show_bug.cgi?id=104805
<rdar://problem/77016090>

Reviewed by Tim Nguyen.

LayoutTests/imported/w3c:

  • web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • web-platform-tests/quirks/unitless-length/excluded-properties-001-expected.txt:

Source/WebCore:

No new tests. This is tested by an existing WPT test:

web-platform-tests/quirks/unitless-length/excluded-properties-001.html

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSProperties.json:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumePerspective):
(WebCore::CSSPropertyParser::consumePrefixedPerspective):
(WebCore::CSSPropertyParser::parseShorthand):

  • css/parser/CSSPropertyParser.h:
  • rendering/style/WillChangeData.cpp:

(WebCore::WillChangeData::propertyCreatesStackingContext):

LayoutTests:

  • platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
12:26 AM Changeset in webkit [294223] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

MockAudioSharedInternalUnit should exit early when being stopped in generateSampleBuffers
https://bugs.webkit.org/show_bug.cgi?id=240421
<rdar://93279260>

Reviewed by Eric Carlson.

We used to always call generateSampleBuffers from main thread.
We are now calling it from background thread with dispatchAfter to mimick a realtime clock.
This broke the dispatchSync call we were calling when stopping the mock unit as the dispatchAfter task would be called
after the dispatchSync and |this| could potentially no longer be valid.
To prevent this, we introduce MockAudioSharedInternalUnitState which allows to safely know whether the unit is stopped or not
at any point in time. If the unit is stopped, dispatchAfter will not call generateSampleBuffers.

Covered by existing tests.

  • platform/mediastream/mac/MockAudioSharedUnit.mm:

(WebCore::MockAudioSharedInternalUnitState::create):
(WebCore::MockAudioSharedInternalUnitState::isProducingData const):
(WebCore::MockAudioSharedInternalUnitState::setIsProducingData):
(WebCore::MockAudioSharedInternalUnit::MockAudioSharedInternalUnit):
(WebCore::MockAudioSharedInternalUnit::~MockAudioSharedInternalUnit):
(WebCore::MockAudioSharedInternalUnit::start):
(WebCore::MockAudioSharedInternalUnit::stop):
(WebCore::MockAudioSharedInternalUnit::uninitialize):
(WebCore::MockAudioSharedInternalUnit::generateSampleBuffers):

12:14 AM Changeset in webkit [294222] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Add logging when taking a process assertion synchronously
https://bugs.webkit.org/show_bug.cgi?id=240334

Reviewed by Chris Dumez.

No observable change of behavior.

  • UIProcess/ios/ProcessAssertionIOS.mm:

(WebKit::ProcessAssertion::acquireSync):

Note: See TracTimeline for information about the timeline view.