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

Timeline



Jun 15, 2022:

11:04 PM Changeset in webkit [295587] by Fujii Hironori
  • 4 edits in trunk/Source/WebCore/platform/graphics/texmap

Remove unused code for GL_TEXTURE_RECTANGLE_ARB
https://bugs.webkit.org/show_bug.cgi?id=241670

Reviewed by Don Olmstead.

The code for GL_TEXTURE_RECTANGLE_ARB was added by 105925@main (Bug
87738) for Qt-Mac port. But, no longer used.

  • Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawTexture):
(WebCore::prepareTransformationMatrixWithFlags):
(WebCore::TextureMapperGL::drawTexturePlanarYUV):
(WebCore::TextureMapperGL::drawTextureSemiPlanarYUV):
(WebCore::TextureMapperGL::drawTexturePackedYUV):
(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):

  • Source/WebCore/platform/graphics/texmap/TextureMapperGL.h:
  • Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp:

(WebCore::TextureMapperShaderProgram::create):

  • Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.h:

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

10:49 PM Changeset in webkit [295586] by msaboff@apple.com
  • 2 edits in trunk/Source/WebKit/Configurations

[Regression r295565] iOS Simulator build fails
https://bugs.webkit.org/show_bug.cgi?id=241673

Unreviewed, fix ios simulator build after r295565.

  • Source/WebKit/Configurations/adattributiond.xcconfig:
  • Source/WebKit/Configurations/webpushd.xcconfig:

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

10:31 PM Changeset in webkit [295585] by sbarati@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Don't clear both prototype ICs for LLInt iterator_next
https://bugs.webkit.org/show_bug.cgi?id=241663

Reviewed by Yusuke Suzuki.

If we use BytecodeIndex instead of a bytecode offset, we don't need to
clear both ICs. We can just clear the one that the watchpoint fired for.

  • Source/JavaScriptCore/bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finalizeLLIntInlineCaches):

  • Source/JavaScriptCore/bytecode/CodeBlock.h:
  • Source/JavaScriptCore/bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.cpp:

(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::LLIntPrototypeLoadAdaptiveStructureWatchpoint):
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::initialize):
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::fireInternal):

  • Source/JavaScriptCore/bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h:
  • Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:

(JSC::LLInt::setupGetByIdPrototypeCache):
(JSC::LLInt::performLLIntGetByID):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

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

9:57 PM Changeset in webkit [295584] by Fujii Hironori
  • 1 edit in trunk/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.h

Remove unused expandedQuadEdgesInScreenSpace uniform variable
https://bugs.webkit.org/show_bug.cgi?id=241667

Reviewed by Don Olmstead.

expandedQuadEdgesInScreenSpace uniform variable was added by
108289@main (Bug 90308), but unsued since 124039@main (Bug 105377).

  • Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.h:

Removed it.

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

9:16 PM Changeset in webkit [295583] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Validate descriptor when creating MTLRenderPipelineState
https://bugs.webkit.org/show_bug.cgi?id=241587
rdar://problem/93820440

Patch by Dan Glastonbury <djg@apple.com> on 2022-06-15
Reviewed by Kimmo Kinnunen.

  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_state_cache.mm:

(rx::mtl::ValidateRenderPipelineState):
(rx::mtl::RenderPipelineCache::createRenderPipelineState):
Extend MTlRenderPipelineDescriptor validation to ensure that there is at least
one valid render target set for the the render pipeline. This is required for
certain families of metal devices to avoid a validation failure inside the metal
framework. Moving the failure here will cause the app using ANGLE to return a GL
error instead of crashing the process.

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

7:18 PM Changeset in webkit [295582] by Andres Gonzalez
  • 1 edit in trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp

AX ITM: Should not build an isolated tree branch rooted at an object with invalid ID. Should not attempt to remove an object for an invalid ID.
https://bugs.webkit.org/show_bug.cgi?id=241643

Reviewed by Chris Fleizach.

Added check for valid object ID in AXIsolatedTree::collectNodeChangesForSubtree and in updateChildren since in both cases the ID is used as a key for HashMaps which cannot be null.

  • Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::collectNodeChangesForSubtree):
(WebCore::AXIsolatedTree::updateChildren):

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

6:02 PM Changeset in webkit [295581] by commit-queue@webkit.org
  • 1 edit in trunk/Source/cmake/WebKitCommon.cmake

[CMake] Check for all required perl modules
https://bugs.webkit.org/show_bug.cgi?id=241648

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

  • Source/cmake/WebKitCommon.cmake:

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

4:55 PM Changeset in webkit [295580] by Patrick Angle
  • 3 edits in trunk/LayoutTests

Web Inspector: inspector/page/setShowPaintRects.html is a flakey failure since introduction
https://bugs.webkit.org/show_bug.cgi?id=233047
rdar://85345706

Reviewed by Antoine Quint.

Adding test results to the page causes a paint to be scheduled, which can cause paint rects to be requested at times we
are not expecting them as part of the flow of the test. We expect only our explicit change to an element to cause paints
to occur, but currently those paints end up interleaved with paints for adding results to the test page.

To resolve this, we now defer writing results to the test page until the end of each test case. This allows us to wait
to start each test case until there are no paint rects, and to avoid accidently causing a paint rect to appear at
inopportune times for our testing.

  • LayoutTests/inspector/page/setShowPaintRects-expected.txt:
  • LayoutTests/inspector/page/setShowPaintRects.html:
  • LayoutTests/platform/mac/TestExpectations:

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

4:32 PM Changeset in webkit [295579] by Patrick Angle
  • 1 edit in trunk/.github/CODEOWNERS

Add myself (patrickangle) to GitHub CODEOWNERS for Web Inspector

Reviewed by Jonathan Bedard.

  • .github/CODEOWNERS:

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

4:01 PM Changeset in webkit [295578] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

[Cocoa] Add feature flag for WebM Experiment
https://bugs.webkit.org/show_bug.cgi?id=241642
<rdar://95228097>

Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-15
Reviewed by Eric Carlson.

Added internal feature and build flag for experimental WebM player.

  • Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml:
  • Source/WTF/wtf/PlatformEnableCocoa.h:

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

3:46 PM Changeset in webkit [295577] by Elliott Williams
  • 1 edit in trunk/Tools/Scripts/build-webkit

[build-webkit] Don't run build-imagediff when cleaning with Xcode
https://bugs.webkit.org/show_bug.cgi?id=241624

Reviewed by Jonathan Bedard.

Fixes "error: Unknown build action ' --clean'" from xcodebuild, as
build-webkit was passing the --clean argument to build-imagediff with an
extra space.

Since the move to XCBuild, cleaning deletes the whole build directory,
so there is nothing left for build-imagediff to clean and we skip this
step altogether.

  • Tools/Scripts/build-webkit:

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

3:46 PM Changeset in webkit [295576] by ysuzuki@apple.com
  • 1 edit in trunk/.github/CODEOWNERS

Add CODEOWNERS file to ping review request automatically to JSC reviewers
https://bugs.webkit.org/show_bug.cgi?id=241058

Reviewed by Jonathan Bedard.

This patch adds JavaScriptCore CODEOWNERS configurations. By using this file, we can request
reviews automatically based on modified files. I added jsc-reviewers group and
this file configures that Source/JavaScriptCore (except for inspector directory)
PR will automatically set jsc-reviewers as a requested reviewer.

  • .github/CODEOWNERS: Added.

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

3:29 PM Changeset in webkit [295575] by Devin Rousso
  • 1 edit in trunk/.github/CODEOWNERS

add myself to GitHub CODEOWNERS

Reviewed by Jonathan Bedard

  • .github/CODEOWNERS:

Specifically for:

  • Web Inspector (frontend and backend)
  • Apple Pay
  • Payment Request
  • media controls

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

3:21 PM Changeset in webkit [295574] by Patrick Angle
  • 3 edits in trunk/Source/WebInspectorUI/UserInterface/Views

Web Inspector: Regression(r293334) fill-available is not a valid dimension, -webkit-fill-available is still prefixed
https://bugs.webkit.org/show_bug.cgi?id=241649
rdar://95240065

Reviewed by Devin Rousso.

fill-available is not a valid CSS dimension, we still need to use -webkit-fill-available for now.

  • Source/WebInspectorUI/UserInterface/Views/EventBreakpointPopover.css:

(.popover .edit-breakpoint-popover-content .event input):

  • Source/WebInspectorUI/UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:

(.sidebar > .panel.details.css-style > .content ~ .options-container > .filter-bar):

  • Source/WebInspectorUI/UserInterface/Views/RecordingContentView.css:

(.content-view.recording > .preview-container):

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

2:40 PM Changeset in webkit [295573] by Antti Koivisto
  • 1 edit
    2 adds in trunk

REGRESSION (r287195): Safari fails to correctly render indented numbered lists with custom CSS and hyphenation ON
https://bugs.webkit.org/show_bug.cgi?id=241630
<rdar://91245970>

Reviewed by Darin Adler.

  • LayoutTests/fast/text/list-and-hyphenation-expected.html: Added.
  • LayoutTests/fast/text/list-and-hyphenation.html: Added.
  • Source/WebCore/rendering/RenderText.cpp:

(WebCore::RenderText::maxWordFragmentWidth):

Return entireWordWidth instead of 0 in the bail out cases.
This ends up setting maxWordWidth = w and leaving currMinWidth unchanged in the caller, matching the pre-r287195 behavior.

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

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

Block network extension system calls
https://bugs.webkit.org/show_bug.cgi?id=241633
<rdar://73513138>

Reviewed by Sihui Liu.

After moving content filtering to the Network process and fixing an issue where Safari's injected bundle were
making network calls, network extension system calls can be blocked in the WebContent process.

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

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

1:44 PM Changeset in webkit [295571] by pvollan@apple.com
  • 1 edit
    1 move in trunk/Source/WebKit

Rename file
https://bugs.webkit.org/show_bug.cgi?id=241644

Unreviewed, rename incorrectly named file AuxiliaryProcessProcyCocoa.mm.

  • Source/WebKit/UIProcess/Cocoa/AuxiliaryProcessProxyCocoa.mm: Renamed from Source/WebKit/UIProcess/Cocoa/AuxiliaryProcessProcyCocoa.mm.

(WebKit::AuxiliaryProcessProxy::fetchAudioComponentServerRegistrations):

  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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

1:20 PM Changeset in webkit [295570] by Brandon
  • 2 edits in trunk/Source/bmalloc/libpas/src/libpas

[libpas] fix build with pas_assertion_failed and type conversion
https://bugs.webkit.org/show_bug.cgi?id=241640

Reviewed by Mark Lam.

Build fix.

  • Source/bmalloc/libpas/src/libpas/pas_utils.c:

(pas_report_assertion_failed):
(pas_assertion_failed): Deleted.

  • Source/bmalloc/libpas/src/libpas/pas_utils.h:

(pas_assertion_failed):
(pas_assertion_failed_noreturn_silencer1):
(pas_assertion_failed_noreturn_silencer2):
(pas_assertion_failed_noreturn_silencer3):
(pas_assertion_failed_noreturn_silencer4):
(pas_assertion_failed_noreturn_silencer5):
(pas_assertion_failed_noreturn_silencer6):

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

12:59 PM Changeset in webkit [295569] by Antti Koivisto
  • 11 edits in trunk

Invalidate animation keyframes using container units on when container size changes
https://bugs.webkit.org/show_bug.cgi?id=241546

Reviewed by Antoine Quint.

Container size change also changes the interpretation of container units used in keyframes.

  • LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-animation-expected.txt:
  • Source/WebCore/dom/Element.cpp:

(WebCore::Element::invalidateForQueryContainerSizeChange):
(WebCore::Element::needsUpdateQueryContainerDependentStyle const):
(WebCore::Element::clearNeedsUpdateQueryContainerDependentStyle):
(WebCore::Element::invalidateForQueryContainerChange): Deleted.

Add a new bit that tells when a container has been resized.

  • Source/WebCore/dom/Element.h:
  • Source/WebCore/dom/Node.h:
  • Source/WebCore/rendering/style/KeyframeList.cpp:

(WebCore::KeyframeList::usesContainerUnits const):

Check for container unit use.

  • Source/WebCore/rendering/style/KeyframeList.h:
  • Source/WebCore/style/StyleScope.cpp:

(WebCore::Style::Scope::updateQueryContainerState):

  • Source/WebCore/style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::createAnimatedElementUpdate):

Invalidate the keyframes if needed when computing the style.

(WebCore::Style::TreeResolver::pushParent):

Track if the subtree is withing a resized container.

  • Source/WebCore/style/StyleTreeResolver.h:
  • Source/WebCore/style/Styleable.cpp:

(WebCore::Styleable::queryContainerDidChange const):

  • Source/WebCore/style/Styleable.h:

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

12:28 PM Changeset in webkit [295568] by eric.carlson@apple.com
  • 1 edit in trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm

[Cocoa] Crash in SourceBufferPrivateAVFObjC::layerDidReceiveError.
https://bugs.webkit.org/show_bug.cgi?id=241599
rdar://92972452

Reviewed by Jer Noble.

Have WebAVSampleBufferErrorListener take a strong reference to parent before calling it.

  • Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(-[WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]):
(-[WebAVSampleBufferErrorListener layerFailedToDecode:]):
(-[WebAVSampleBufferErrorListener audioRendererWasAutomaticallyFlushed:]):

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

11:01 AM Changeset in webkit [295567] by pvollan@apple.com
  • 1 edit in trunk/Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm

Fix build issue
https://bugs.webkit.org/show_bug.cgi?id=241637

Unreviewed, fix build issue after r295560.

  • Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm:

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

10:58 AM Changeset in webkit [295566] by commit-queue@webkit.org
  • 1 edit in trunk/Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb

Incorrect Github file link in PrettyPatch
https://bugs.webkit.org/show_bug.cgi?id=241638

Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-15
Reviewed by Jonathan Bedard.

In the pretty patch view, pressing a filename redirects you to
https://github.com/WebKit/WebKit/blob/%7Bfilename%7D due to a
templating typo.

  • Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb:

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

10:51 AM Changeset in webkit [295565] by msaboff@apple.com
  • 7 edits
    1 add in trunk/Source/WebKit

Move webpushd and adattributiond to the secondary content path when configured
https://bugs.webkit.org/show_bug.cgi?id=241539
<rdar://90513797>

Reviewed by Keith Miller.

Moved webpushd and adattributiond and their plist files to the secondary content path when using
the system content path.
As part of this change, webpushd was moved to SYSTEM_SECONDARY_CONTENT_PATH/usr/libexec.
Created symlinks in /System/Library/{LaunchAgents|LaunchDaemons} for the plist files.

  • Source/WebKit/Configurations/Base.xcconfig:
  • Source/WebKit/Configurations/adattributiond.xcconfig:
  • Source/WebKit/Configurations/webpushd.xcconfig:
  • Source/WebKit/Scripts/copy-launchd-plist-and-create-symlink.sh: Added.
  • Source/WebKit/Shared/EntryPointUtilities/Cocoa/Daemon/com.apple.webkit.adattributiond.plist:
  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:
  • Source/WebKit/webpushd/com.apple.webkit.webpushd.ios.plist:
  • Source/WebKit/webpushd/com.apple.webkit.webpushd.mac.plist:

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

10:06 AM Changeset in webkit [295564] by Aditya Keerthi
  • 3 edits in trunk/LayoutTests

REGRESSION: [ Mac wk2 ] fast/forms/datetimelocal/datetimelocal-editable-components/datetimelocal-choose-value-from-picker.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239257
rdar://91653542

Reviewed by Wenson Hsieh.

245100@main changed the value parsing and sanitization algorithm for
<input type="datetime-local"> to better match the spec. Following this change,
the output of HTMLInputElement.value uses the shortest possible string,
omitting seconds or milliseconds when 0.

The flaky test tests that choosing a value using the date/time picker does not
unexpectedly add or remove second and millisecond fields. This behavior was
being verified by checking whether the input's value contained seconds or
milliseconds after using the picker. However, following 245100@main, the value
can appear without seconds/milliseconds, even though the editable fields do.

The non-determinism comes from the fact that the current system time is used
to populate the seconds and milliseconds field when using the picker on an
empty input. Consequently, the test will fail when the current time has a 0
second value.

To fix, verify that using the picker does not unexpectedly add or remove second
and millisecond fields by checking the width of the element before and after
date selection. This approach ensures determinism, while fulfilling the goal of
the test.

As an aside, the current behavior to populate the seconds and milliseconds for
empty inputs could be improved. http://webkit.org/b/241620 has been filed, with
the intent of setting the seconds and milliseconds fields to 0 when they are
initially empty.

  • LayoutTests/fast/forms/datetimelocal/datetimelocal-editable-components/datetimelocal-choose-value-from-picker-expected.txt:
  • LayoutTests/fast/forms/datetimelocal/datetimelocal-editable-components/datetimelocal-choose-value-from-picker.html:
  • LayoutTests/platform/mac-wk2/TestExpectations:

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

9:59 AM Changeset in webkit [295563] by Aditya Keerthi
  • 3 edits in trunk/Source/WebKit/WebProcess/WebPage

REGRESSION (iOS 16): Find on Page highlights shift after entering Split View
https://bugs.webkit.org/show_bug.cgi?id=241615
rdar://94795621

Reviewed by Wenson Hsieh.

When entering Split View, the find overlay layer and the highlighted range
should be redrawn to reflect changes in layout.

  • Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.cpp:

(WebKit::WebFoundTextRangeController::decorateTextRangeWithStyle):
(WebKit::WebFoundTextRangeController::redraw):
(WebKit::WebFoundTextRangeController::setTextIndicatorWithRange):

Factor out text indicator creation into a common method.

  • Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.h:
  • Source/WebKit/WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::mainFrameDidLayout):

Redraw decorated ranges after layout.

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

9:43 AM Changeset in webkit [295562] by mark.lam@apple.com
  • 4 edits in trunk/Source/bmalloc/libpas/src/libpas

Add variadic PAS_ASSERT support.
https://bugs.webkit.org/show_bug.cgi?id=241626
rdar://95204263

Reviewed by Keith Miller.

This patch adds support for a variadic PAS_ASSERT, and uses it to gather
more debugging info for asserts in pas_local_view_cache_stop and
pas_segregated_heap_ensure_allocator_index.

From manual local disassembly of pas_local_view_cache_stop, I verified that
this patch only changes assertion fail reporting code in an out of line slow
path. The change does perturb code size, and any changes in code may also
cause clang to arbitrarily rearrange the order of some control flow diamonds
(e.g. the cases in a switch statement).

If no extra data is provided to the variadic PAS_ASSERT, it will emit exactly
same code as it does previously when PAS_ASSERT was not variadic. This gives
us confidence that any perturbations in code will only manifest in PAS_ASSERTs
that we choose to add extra info for reporting assertion failures.

Preliminary benchmark results appear to show that performance is neutral.

  • Source/bmalloc/libpas/src/libpas/pas_local_view_cache.c:

(pas_local_view_cache_stop):

  • Source/bmalloc/libpas/src/libpas/pas_segregated_heap.c:

(pas_segregated_heap_ensure_allocator_index):

  • Source/bmalloc/libpas/src/libpas/pas_utils.c:

(pas_crash_with_info_impl1):
(pas_crash_with_info_impl2):
(pas_crash_with_info_impl3):
(pas_crash_with_info_impl4):
(pas_crash_with_info_impl5):
(pas_crash_with_info_impl6):
(pas_report_assertion_failed):

  • Source/bmalloc/libpas/src/libpas/pas_utils.h:

(pas_assertion_failed):
(pas_assertion_failed_noreturn_silencer1):
(pas_assertion_failed_noreturn_silencer2):
(pas_assertion_failed_noreturn_silencer3):
(pas_assertion_failed_noreturn_silencer4):
(pas_assertion_failed_noreturn_silencer5):
(pas_assertion_failed_noreturn_silencer6):

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

8:54 AM Changeset in webkit [295561] by Jonathan Bedard
  • 4 edits in trunk/Tools/Scripts/libraries/resultsdbpy

Add git-webkit squash and refactory mock git (Follow-up)
https://bugs.webkit.org/show_bug.cgi?id=237664
rdar://90040109

Reviewed by Aakash Jain.

  • Tools/Scripts/libraries/resultsdbpy/resultsdbpy/init.py: Bump version.
  • Tools/Scripts/libraries/resultsdbpy/setup.py: Ditto.
  • Tools/Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller_unittest.py:

(CommitControllerTest.test_branches): Add new branch.

  • Tools/Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context_unittest.py:

(CommitContextTest.test_branches): Ditto.

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

8:39 AM Changeset in webkit [295560] by pvollan@apple.com
  • 14 edits
    1 add in trunk/Source

[GPUP] Send Audio component registrations from the UI process
https://bugs.webkit.org/show_bug.cgi?id=241339
<rdar://88659991>

Reviewed by Geoffrey Garen.

Currently, Audio component registrations are only sent to the WebContent process. They should be sent to the GPU process as well.
This patch moves the existing registration code from the WebContent process code to the Auxiliary process code.

  • Source/WebKit/GPUProcess/GPUProcess.messages.in:
  • Source/WebKit/Shared/AuxiliaryProcess.h:
  • Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm:

(WebKit::AuxiliaryProcess::consumeAudioComponentRegistrations):

  • Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
  • Source/WebKit/UIProcess/Cocoa/AuxiliaryProcessProcyCocoa.mm: Added.

(WebKit::AuxiliaryProcessProxy::fetchAudioComponentServerRegistrations):

  • Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::sendAudioComponentRegistrations):

  • Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::didFinishLaunching):

  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:
  • Source/WebKit/WebProcess/WebProcess.h:
  • Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::consumeAudioComponentRegistrations): Deleted.

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

8:34 AM Changeset in webkit [295559] by Razvan Caliman
  • 8 edits in trunk

Web Inspector: Remove setting to toggle fuzzy matching for CSS autocompletion
https://bugs.webkit.org/show_bug.cgi?id=241561

Reviewed by Patrick Angle.

The fuzzy matching CSS autocompletion feature has been enabled by default for a few STP releases already.
No regressions for the autocompletion functionality have been uncovered since.
It's time to remove the setting that allows toggling off the feature.

  • LayoutTests/inspector/unit-tests/css-keyword-completions.html:

Turns out the test was never exercising the fuzzy matching branch of autocompletion.
Becaue the useFuzzy flag was missing, it was falling back to testing prefix autocompletion.
The difference is that completion results are not plain strings, but QueryResult instances.

  • Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js:
  • Source/WebInspectorUI/UserInterface/Base/Setting.js:
  • Source/WebInspectorUI/UserInterface/Models/CSSCompletions.js:

(WI.CSSCompletions.getCompletionText):

Moved the method to get the string value of a completion from WI.CompletionSuggestionsView
to be a static member of WI.CSSCompletions.

  • Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js:

(WI.CSSKeywordCompletions.forPartialPropertyName):

  • Source/WebInspectorUI/UserInterface/Views/CompletionSuggestionsView.js:

(WI.CompletionSuggestionsView.prototype.set selectedIndex):
(WI.CompletionSuggestionsView.prototype.getCompletionText): Deleted.

  • Source/WebInspectorUI/UserInterface/Views/SettingsTabContentView.js:
  • Source/WebInspectorUI/UserInterface/Views/SpreadsheetTextField.js:

(WI.SpreadsheetTextField.prototype._updateCompletions):

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

7:51 AM Changeset in webkit [295558] by Andres Gonzalez
  • 1 edit in trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm

AX: CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WTF::RetainPtr<NSMutableArray> WTF::createNSArray<WTF::Vector<WTF::RefPtr<WebCore::AXCoreObject, WTF::RawPtrTraits<WebCore::AXCoreObject>, WTF::DefaultRefDerefTraits<WebC. web content
https://bugs.webkit.org/show_bug.cgi?id=241619

Reviewed by Chris Fleizach.

Check for nullptr before dereferencing the RefPtrs passed to makeNSArray. In some cases, the given AccessibilityChildrenVector may contain nullptrs.

  • Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(makeNSArray):

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

7:02 AM Changeset in webkit [295557] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk/Source

GPUP CGContexts create unattributed Metal resources
https://bugs.webkit.org/show_bug.cgi?id=241509
rdar://problem/94803367

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-06-15
Reviewed by Dean Jackson.

Re-land the patch after revert with disabling the feature for iOS simulator
since task_identity_t is not available in the simulator.

Unattributed Metal related memory allocations grow GPUP footprint,
causing the process go over its memory limit.

Add a CoreGraphics SPI to mark that the CGContext resources belong to a
particular process.

Integrate this via IOSurface::setOwnershipIdentity(), as that is where
the current CGContext for IOSurfaces are instantiated and held.

  • Source/WTF/wtf/PlatformHave.h:
  • Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h:
  • Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.cpp: Added.
  • Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.h: Added.
  • Source/WebCore/PAL/pal/PlatformMac.cmake:
  • Source/WebCore/platform/graphics/cocoa/IOSurface.h:
  • Source/WebCore/platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::ensurePlatformContext):
(WebCore::IOSurface::setOwnershipIdentity):

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

6:43 AM Changeset in webkit [295556] by Alan Bujtas
  • 1 edit
    4 adds in trunk

REGRESSION (r289443): Page contents disappear after entering a letter in the username field of bmoharris.com
https://bugs.webkit.org/show_bug.cgi?id=241625
<rdar://93516876>

Reviewed by Simon Fraser.

overflow: clip forbids scrolling entirely, through any mechanism (https://drafts.csswg.org/css-overflow/#propdef-overflow)

  • LayoutTests/fast/scrolling/scrollIntoView-with-overflow-clip-expected.html: Added.
  • LayoutTests/fast/scrolling/scrollIntoView-with-overflow-clip.html: Added.
  • LayoutTests/fast/scrolling/selection-reveal-with-overflow-clip-expected.html: Added.
  • LayoutTests/fast/scrolling/selection-reveal-with-overflow-clip.html: Added.
  • Source/WebCore/rendering/RenderLayer.cpp:

(WebCore::RenderLayer::allowsCurrentScroll const): Make sure the content is not scrollable when overflow: clip is set on the renderer.

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

4:10 AM Changeset in webkit [295555] by commit-queue@webkit.org
  • 9 edits in trunk

[GStreamer][WebRTC] canvas to PeerConnection improvements
https://bugs.webkit.org/show_bug.cgi?id=241330

Patch by Philippe Normand <philn@igalia.com> on 2022-06-15
Reviewed by Miguel Gomez and Xabier Rodriguez-Calvar.

Video frames exported from the WebGL canvas need to be flipped on GStreamer ports and their format
should be RGBA. Frames coming from 2D canvas don't need to be flipped and have BGRA format.

Texture flipping is now handled in the player which is useful when painting canvas to a video
element. And flipping is also now handled in RTC outgoing video sources, which is useful when
exporting a canvas to a WebRTC PeerConnection.

The 30fps framerate is hardcoded, ideally should be inferred from the compositor refresh rate.
Having a framerate > 1 is specially needed for the canvas->WebRTC use-case, otherwise a 1/1
framerate would be set in caps, making the corresponding video stream slower than the actual refresh
rate.

  • LayoutTests/platform/glib/TestExpectations:
  • Source/WebCore/html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::toVideoFrame):

  • Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::updateTextureMapperFlags):

  • Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp:

(WebCore::VideoFrameGStreamer::createFromPixelBuffer):

  • Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.h:
  • Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:

(WebCore::GraphicsContextGLTextureMapper::paintCompositedResultsToVideoFrame):

  • Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp:

(WebCore::MockRealtimeVideoSourceGStreamer::updateSampleBuffer):

  • Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.cpp:

(WebCore::RealtimeOutgoingVideoSourceGStreamer::RealtimeOutgoingVideoSourceGStreamer):
(WebCore::RealtimeOutgoingVideoSourceGStreamer::setPayloadType):

  • Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingVideoSourceGStreamer.h:

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

12:55 AM Changeset in webkit [295554] by Adrian Perez de Castro
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Base/BrowserInspectorFrontendHost.js

[WPE][GTK] REGRESSION(r292084): Browser frontend host is missing recent additions
https://bugs.webkit.org/show_bug.cgi?id=241594

Reviewed by Patrick Angle.

Update BrowserInspectorFrontendHost.js to add missing methods, update
signatures of changed ones, and remove those which are no longer present
in the IDL interface. This makes the Web Inspector work again when
loaded over HTTP.

  • Source/WebInspectorUI/UserInterface/Base/BrowserInspectorFrontendHost.js:

(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.canLoad): Added, always
returns false.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.load): Added stub.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.getPath): Added stub.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.canPickColorFromScreen):
Added, always returns false.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.pickColorFromScreen):
Added stub.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.getCurrentX): Added stub.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.getCurrentY): Added stub.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.setPath): Added stub.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.get port): Deleted.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.append): Deleted.
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.close): Deleted.

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

Jun 14, 2022:

11:38 PM Changeset in webkit [295553] by Tyler Wilcock
  • 4 edits
    2 adds in trunk

AX: AccessibilityObject::insertText does not insert any text into password fields
https://bugs.webkit.org/show_bug.cgi?id=241613

Reviewed by Chris Fleizach and Andres Gonzalez.

Prior to this patch, AccessibilityObject::insertText used to return
early if Element::shouldUseInputMethod returned false. We need to
exclude password fields from this check, which this patch implements.

  • LayoutTests/accessibility/insert-text-into-password-field-expected.txt: Added.
  • LayoutTests/accessibility/insert-text-into-password-field.html: Added.
  • LayoutTests/platform/glib/TestExpectations: Disable new test.
  • LayoutTests/platform/ios/TestExpectations: Enable new test.
  • LayoutTests/platform/win/TestExpectations: Disable new test.
  • Source/WebCore/accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::insertText):

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

10:57 PM Changeset in webkit [295552] by Jean-Yves Avenard
  • 5 edits
    4 adds in trunk

REGRESSION (iOS 16): <img> with video source fails to render—affects iCloud live photos (IOKit blocking)
https://bugs.webkit.org/show_bug.cgi?id=241589

Reviewed by Simon Fraser.

Stop using IOKit in the content process. Instead we create a SharedMemory backed
ShareableBitmap and send it to the content process. The content process takes
ownership of this ShareableBitmap.

Covered by new media/media-hevc-video-as-img.html test

  • LayoutTests/media/content/bipbop-hevc.mp4: Added.
  • LayoutTests/media/content/test-video-as-img.png: Added.
  • LayoutTests/media/media-hevc-video-as-img-expected.html: Added.
  • LayoutTests/media/media-hevc-video-as-img.html: Added.
  • LayoutTests/platform/glib/TestExpectations:
  • Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.cpp:

(WebKit::RemoteImageDecoderAVFProxy::createFrameImageAtIndex):

  • Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.h:
  • Source/WebKit/GPUProcess/media/RemoteImageDecoderAVFProxy.messages.in:
  • Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp:

(WebKit::RemoteImageDecoderAVF::createFrameImageAtIndex):

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

7:49 PM Changeset in webkit [295551] by Ross Kirsling
  • 2 edits in trunk

Temporal.Instant#round should treat the Big Bang (not the Unix epoch) as zero
https://bugs.webkit.org/show_bug.cgi?id=241622

Reviewed by Yusuke Suzuki.

Implement the spec fix of tc39/proposal-temporal#2210.
This change is quite simple, as we can just update the Int128 version of roundNumberToIncrement.

  • JSTests/test262/expectations.yaml:

Mark four test cases as passing.

  • Source/JavaScriptCore/runtime/TemporalObject.cpp:

(JSC::roundNumberToIncrement):
(JSC::abs): Deleted.

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

7:27 PM Changeset in webkit [295550] by Ross Kirsling
  • 2 edits in trunk

Temporal.PlainTime#since should handle ceil/floor properly
https://bugs.webkit.org/show_bug.cgi?id=241623

Reviewed by Yusuke Suzuki.

This patch adds a spec step that our implementation was missing:

DifferenceTemporalPlainTime ( operation, temporalTime, other, options )

...

  1. If operation is ~since~, then
    1. Set roundingMode to ! NegateTemporalRoundingMode(roundingMode).
  • JSTests/test262/expectations.yaml:

Mark four test cases as passing.

  • Source/JavaScriptCore/runtime/TemporalPlainTime.cpp:

(JSC::TemporalPlainTime::since const):

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

7:21 PM Changeset in webkit [295549] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WTF/wtf/PlatformEnable.h

Wasm LLInt support does not build on arm32-softfp
https://bugs.webkit.org/show_bug.cgi?id=241592

Patch by Joseph Griego <jgriego@igalia.com> on 2022-06-14
Reviewed by Yusuke Suzuki.

Example build failure: https://build.webkit.org/#/builders/61/builds/12719

Additionally, fixing the obvious problem in FPRInfo.h will fix the build
but does not produce working wasm support. So, for now, disable the feature
if are building with the softfp ABI

  • Source/WTF/wtf/PlatformEnable.h:

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

6:49 PM Changeset in webkit [295548] by Wenson Hsieh
  • 3 edits in trunk/LayoutTests

[iOS 15+] editing/selection/ios/hide-selection-in-tiny-contenteditable.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=241611
rdar://82183980

Reviewed by Aditya Keerthi.

This test is intended to check whether the text editing caret is visible or hidden on iOS when focusing a 1px by 1px
editable container; in particular, we expect to see the caret show up after making the tiny contenteditable area much
larger. However, the horizontal offset of the caret is sometimes shifted by a small amount to the left during the final
step of the test, likely due to the fact that the web view might still be in an unstable state after the animated zoom
in and out. Unfortunately, I haven't been able to reproduce this locally, so I can't confirm that this theory.

To try and mitigate this with a speculative fix, we:

  1. Update the test so that it just checks whether or not the caret rect is empty during each step.
  2. Use immediateZoomToScale instead of zoomToScale, so that we don't end up in an unstable state after finishing

the second part of the test (which zooms in and out).

  • LayoutTests/editing/selection/ios/hide-selection-in-tiny-contenteditable-expected.txt:
  • LayoutTests/editing/selection/ios/hide-selection-in-tiny-contenteditable.html:
  • LayoutTests/platform/ios-wk2/TestExpectations:

Mark the test as passing.

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

6:13 PM Changeset in webkit [295547] by Jenner@apple.com
  • 5 edits
    1 delete in trunk/Source

Revert [251527@main] GPUP CGContexts create unattributed Metal resources
https://bugs.webkit.org/show_bug.cgi?id=241509
rdar://problem/94803367

Unreviewed build fix/ revert.

  • Source/WTF/wtf/PlatformHave.h:
  • Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
  • Source/WebCore/PAL/pal/PlatformMac.cmake:
  • Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.cpp: Removed.
  • Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.h: Removed.
  • Source/WebCore/platform/graphics/cocoa/IOSurface.h:
  • Source/WebCore/platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::ensurePlatformContext):
(WebCore::IOSurface::setOwnershipIdentity):

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

5:53 PM Changeset in webkit [295546] by Cameron McCormack
  • 63 edits
    16 deletes in trunk

Revert r295516 and r295373
https://bugs.webkit.org/show_bug.cgi?id=241621

Unreviewed, reverts:

r295516 "Make TextRun::isolatedCopy copy character data in more cases"
r295373 "Add a new DrawDecomposedGlyphs display list item to avoid repeatedly sending glyphs when using the GlyphDisplayListCache"

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

4:54 PM Changeset in webkit [295545] by Jean-Yves Avenard
  • 2 edits in trunk/Source/WebKit

Return error when parsing badly encoded std::variant IPC messages.
https://bugs.webkit.org/show_bug.cgi?id=241547
rdar://problem/95016858

Reviewed by Kimmo Kinnunen.

We check the variant's index at the start and insure its validity,
returning early of an invalid type index is found rather than asserting.

Code covered by making PasteboardCustomData::Entry use the std::variant encoder
and covered with ipc/pasteboard-write-custom-data.html

  • Source/WebKit/Platform/IPC/ArgumentCoders.h:
  • Source/WebKit/Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<PasteboardCustomData::Entry>::encode):
(IPC::ArgumentCoder<PasteboardCustomData::Entry>::decode):

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

3:59 PM Changeset in webkit [295544] by don.olmstead@sony.com
  • 1 edit in trunk/Source/cmake/OptionsPlayStation.cmake

[CMake] Specify some PlayStation WebKitRequirements components as optional
https://bugs.webkit.org/show_bug.cgi?id=241585

Reviewed by Ross Kirsling.

Explicitly mark the components of find_package(WebKitRequirements) as optional and required.
Some components can be optionally provided by WebKitRequirements or outside it as its own binary
so do a check for those cases, like libwebp.

  • Source/cmake/OptionsPlayStation.cmake:

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

3:51 PM Changeset in webkit [295543] by Elliott Williams
  • 1 edit in trunk/Tools/CISupport/built-product-archive

Refactor built-product-archive to avoid deleting build products
https://bugs.webkit.org/show_bug.cgi?id=241586

Reviewed by Jonathan Bedard.

Deleting build products interferes with subsequent incremental builds.
Change the script to filter out what gets added to the archive, instead
of deleting from the directory being archived.

On Darwin-based platforms, this is done with mkbom and ditto's --bom
option, and surfaced in createZip via an excludePatterns argument.

Additionally, clean up the top-level logic before calling into
createZip, so that it doesn't need to know about the --minify option.

  • Tools/CISupport/built-product-archive:

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

3:22 PM Changeset in webkit [295542] by Fujii Hironori
  • 2 edits in trunk

TextureMapperLayer - avoiding multiple regions in paintUsingOverlapRegions
https://bugs.webkit.org/show_bug.cgi?id=140101

Reviewed by Don Olmstead.

paintUsingOverlapRegions has a code to merge nonOverlapRegion into
overlapRegion to avoid dividing into multiple small areas if
overlapRegion is bigger than nonOverlapRegion.

However, if the overlap region is just 1 pixel small from all the 4
side, this check would not catch that.

  • LayoutTests/platform/glib/TestExpectations:
  • Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintUsingOverlapRegions):
Compare totalArea of overlapRegion and nonOverlapRegion.

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

3:15 PM Changeset in webkit [295541] by ntim@apple.com
  • 2 edits in trunk/Source/WebCore

Remove redundant text-align-last BuilderCustom functions
https://bugs.webkit.org/show_bug.cgi?id=241607
<rdar://95131415>

Reviewed by Simon Fraser.

They might have been copy pasted from text-align, which needs them for the hasExplicitlySetTextAlign flag, which text-align-last does not have.

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyInitialTextAlignLast): Deleted.
(WebCore::Style::BuilderCustom::applyValueTextAlignLast): Deleted.

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

3:14 PM Changeset in webkit [295540] by Jonathan Bedard
  • 4 edits in trunk

[git-webkit] Automatically grant team access to private forks
https://bugs.webkit.org/show_bug.cgi?id=240819
<rdar://93780380>

Reviewed by Stephanie Lewis.

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:

(Tracker): Share ACCEPT_HEADER string.
(Tracker.credentials.validater): Ditto.

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

(Setup.github): Allow provided team access to forked repository.
(Setup.git): Pass team for repo access from webkitscmpy.access config value.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:

(GitHub): Share ACCEPT_HEADER string.
(GitHub.PRGenerator.create): Ditto.
(GitHub.PRGenerator.update): Ditto.
(GitHub.request): Ditto.

  • metadata/git_config_extension: Define group to have access to apple/WebKit forks.

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

2:59 PM Changeset in webkit [295539] by Cameron McCormack
  • 5 edits in trunk/Source/WebCore

Track SVG renderer updates using a NodeFlag instead of on Style::Update
https://bugs.webkit.org/show_bug.cgi?id=241489
<rdar://problem/94756741>

Reviewed by Antti Koivisto.

SVG renderer updates are currently tracked as a kind of Style::Update change.
When a page is updating attributes on many SVG elements, but is not making
changes that require a restyle on those elements, we can spend a lot of time
hashing to store and look up the Style::Update associated with an element.

This patch moves the "SVG renderer update is needed" state to a Node flag
instead, but continues to use the Style::Update mechanism for root tracking,
to reduce this overhead.

This is a 1% improvement on the MotionMark Suits sub-test.

  • Source/WebCore/rendering/updating/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateRenderTree):
(WebCore::RenderTreeUpdater::updateSVGRendererIfNeeded):
(WebCore::RenderTreeUpdater::updateElementRenderer):

  • Source/WebCore/rendering/updating/RenderTreeUpdater.h:
  • Source/WebCore/style/StyleUpdate.cpp:

(WebCore::Style::Update::addElement):
(WebCore::Style::Update::addSVGRendererUpdate):

  • Source/WebCore/style/StyleUpdate.h:

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

2:46 PM Changeset in webkit [295538] by Matt Woodrow
  • 3 edits in trunk

Treat the composite operator for the bottom mask layer as source-over.
https://bugs.webkit.org/show_bug.cgi?id=241541

Reviewed by Tim Nguyen.

  • LayoutTests/TestExpectations:
  • Source/WebCore/rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • Source/WebCore/rendering/style/FillLayer.h:

(WebCore::FillLayer::compositeForPainting const):

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

2:36 PM Changeset in webkit [295537] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/UIProcess

Update context menu icon for Remove Background
https://bugs.webkit.org/show_bug.cgi?id=241467

Patch by Mike Wyrzykowski <mwyrzykowski@apple.com> on 2022-06-14
Reviewed by Dean Jackson and Wenson Hsieh.

Update the symbol names for Copy Subject and Remove Background.

  • Source/WebKit/UIProcess/API/Cocoa/_WKElementAction.mm:

(+[_WKElementAction imageForElementActionType:]):
Copy Subject will use circle.dashed.rectangle.

  • Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView removeBackgroundMenu]):
Remove Background should use circle.rectangle.filled.pattern.diagonalline.

(-[WKContentView menuWithInlineAction:image:identifier:handler:]):
Add image parameter for vertical context menu.

(-[WKContentView appHighlightMenu]):
We could use the "quicknote" symbol here but I don't think it's correct.
I left it empty because I don't think app highlights menu can appear in the
larger vertical context menu.

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

2:17 PM Changeset in webkit [295536] by Brandon
  • 1 edit in trunk/Source/bmalloc/libpas/ReadMe.md

[libpas] Add documentation on running specific tests in libpas
https://bugs.webkit.org/show_bug.cgi?id=241610

Reviewed by Mark Lam.

Add documentation on running specific libpas test cases.

  • Source/bmalloc/libpas/ReadMe.md:

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

2:00 PM Changeset in webkit [295535] by ntim@apple.com
  • 1 edit in trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml

Enable CSSTextAlignLast setting by default
https://bugs.webkit.org/show_bug.cgi?id=241241
<rdar://problem/94313487 >

Reviewed by Alan Bujtas.

All the WPT are on parity with Chrome & Firefox, so this should be ready to ship.

  • Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:

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

1:52 PM Changeset in webkit [295534] by Aditya Keerthi
  • 3 edits in trunk

CrashTracer: MobileSafari at UIKitCore: -[UITextSearchingFindSession foundRange:forSearchString:inDocument:]
https://bugs.webkit.org/show_bug.cgi?id=241602
rdar://94622715

Reviewed by Wenson Hsieh.

UIKit retains the search string passed in to
-[UITextSearchingFindSession foundRange:forSearchString:inDocument:]. However,
since WebKit returns search results asynchronously, the string may be released
by the time we inform the aggregator of the results.

To fix, retain the search string in the capture list of the search completion
handler.

  • Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView performTextSearchWithQueryString:usingOptions:resultAggregator:]):

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

Updated tests to use find interaction API rather than SPI.

Explicitly declare WKWebView's conformance to UITextSearching, since the
conformance to _UITextSearching in WKWebViewPrivate.h hides it.

_UITextSearching is still kept around for SPI clients, and will be removed
once they have migrated to the API.

(-[TestSearchAggregator foundRange:forSearchString:inDocument:]):
(-[TestSearchAggregator invalidateFoundRange:inDocument:]):
(testPerformTextSearchWithQueryStringInWebView):
(textRangesForQueryString):
(TEST):

Added an API test to verify the crash no longer occurs.

  • Tools/TestWebKitAPI/ios/UIKitSPI.h:

Declared UITextSearchOptions properties as readwrite for use in testing.

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

1:33 PM Changeset in webkit [295533] by eric.carlson@apple.com
  • 1 edit in trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm

[Cocoa] Update camera list when system preferred camera changes
https://bugs.webkit.org/show_bug.cgi?id=241604
rdar://89694851

Reviewed by Youenn Fablet.

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

(WebCore::AVCaptureDeviceManager::~AVCaptureDeviceManager):
(WebCore::AVCaptureDeviceManager::registerForDeviceNotifications):
(-[WebCoreAVCaptureDeviceManagerObserver observeValueForKeyPath:ofObject:change:context:]):

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

1:01 PM Changeset in webkit [295532] by Simon Fraser
  • 2 edits in trunk/Source/WebCore/rendering

Make RenderLayer ISOHeap allocated
https://bugs.webkit.org/show_bug.cgi?id=241606

Reviewed by Alan Bujtas.

Use ISOHeap allocation for RenderLayer. Losing the heap identifier capability is not a big loss;
RenderLayers themselves don't use much memory.

  • Source/WebCore/rendering/RenderLayer.cpp:
  • Source/WebCore/rendering/RenderLayer.h:

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

11:11 AM Changeset in webkit [295531] by Antti Koivisto
  • 1 edit in trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

Nullptr crash in RenderLayerCompositor::requiresCompositingLayer
https://bugs.webkit.org/show_bug.cgi?id=241595
<rdar://88854150>

Reviewed by Simon Fraser.

  • Source/WebCore/rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingLayer const):

Add a null check. In -webkit-box-reflect case it is not clear renderer.layer() can't be null.

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

11:06 AM Changeset in webkit [295530] by pvollan@apple.com
  • 12 edits
    1 copy in trunk/Source

Create sandbox extension for Power logging service in the GPU process
https://bugs.webkit.org/show_bug.cgi?id=241227
<rdar://82442196>

Reviewed by Geoffrey Garen.

When power logging is enabled, the GPU process on macOS should be granted access to the Power logging service.

  • Source/WTF/wtf/PlatformHave.h:
  • Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
  • Source/WebCore/PAL/pal/spi/mac/PowerLogSPI.h: Copied from Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm.
  • Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::createImageSourceOptions):

  • Source/WebKit/Configurations/WebKit.xcconfig:
  • Source/WebKit/GPUProcess/GPUProcess.h:
  • Source/WebKit/GPUProcess/GPUProcess.messages.in:
  • Source/WebKit/GPUProcess/mac/GPUProcessMac.mm:

(WebKit::GPUProcess::openDirectoryCacheInvalidated):
(WebKit::GPUProcess::enablePowerLogging):

  • Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm:

(WebKit::GPUProcessProxy::powerLoggingInTaskMode const):
(WebKit::GPUProcessProxy::enablePowerLogging):

  • Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):

  • Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::didFinishLaunching):

  • Source/WebKit/UIProcess/GPU/GPUProcessProxy.h:
  • Source/WebKit/UIProcess/WebProcessPool.h:
  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:

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

11:05 AM Changeset in webkit [295529] by Matteo Flores
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[Gardening][ iOS ] editing/pasteboard/dom-paste/dom-paste-same-origin.html is a flaky timeout/failure.
https://bugs.webkit.org/show_bug.cgi?id=237174

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

11:02 AM Changeset in webkit [295528] by pvollan@apple.com
  • 2 edits in trunk/Source

Adopt SPI to get default content of Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=241286
<rdar://64528683>

Reviewed by Geoffrey Garen.

Adopt SPI to get system content of Launch Services database. If this SPI is available,
it will replace the SPI we currently use to retrieve the database in the Network process.

  • Source/WTF/wtf/PlatformHave.h:
  • Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm:

(WebKit::LaunchServicesDatabaseObserver::LaunchServicesDatabaseObserver):
(WebKit::LaunchServicesDatabaseObserver::startObserving):
(WebKit::LaunchServicesDatabaseObserver::~LaunchServicesDatabaseObserver):

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

10:51 AM Changeset in webkit [295527] by Matteo Flores
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]REGRESSION(r289495): [ Monterey arm64 ] model-element/model-element-ready.html is a flaky assertion failure
https://bugs.webkit.org/show_bug.cgi?id=236678

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

10:09 AM Changeset in webkit [295526] by commit-queue@webkit.org
  • 10 edits
    1 add in trunk

[GLib] Support for JS scripts evaluation involving Promises
https://bugs.webkit.org/show_bug.cgi?id=241418

Patch by Philippe Normand <philn@igalia.com> on 2022-06-14
Reviewed by Adrian Perez de Castro and Michael Catanzaro.

The current APIs for webkit_web_view_run_javascript_* do not handle scripts involving Promises.
This new API fills the gap.

  • Source/JavaScriptCore/API/glib/JSCDefines.h:
  • Source/WebKit/Shared/API/APISerializedScriptValue.h:
  • Source/WebKit/SourcesGTK.txt:
  • Source/WebKit/SourcesWPE.txt:
  • Source/WebKit/UIProcess/API/glib/APISerializedScriptValueGLib.cpp: Added.

(API::SharedJSContext::SharedJSContext):
(API::SharedJSContext::ensureContext):
(API::SharedJSContext::releaseContextIfNecessary):
(API::sharedContext):
(API::valueFromGVariant):
(API::coreValueFromGVariant):
(API::SerializedScriptValue::createFromGVariant):

  • Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:

(webkit_web_view_run_javascript_in_world):
(webkit_web_view_run_async_javascript_function_in_world):

  • Source/WebKit/UIProcess/API/gtk/WebKitWebView.h:
  • Source/WebKit/UIProcess/API/wpe/WebKitWebView.h:
  • Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:

(testWebViewRunAsyncFunctions):
(beforeAll):

  • Tools/TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:

(WebViewTest::runJavaScriptInWorldAndWaitUntilFinished):
(WebViewTest::runAsyncJavaScriptFunctionInWorldAndWaitUntilFinished):

  • Tools/TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:

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

10:07 AM Changeset in webkit [295525] by clopez@igalia.com
  • 3 edits in trunk/Tools

Port to Python3
https://bugs.webkit.org/show_bug.cgi?id=230098
<rdar://problem/82925374>

Reviewed by Aakash Jain.

Port browserperfdash-benchmark to python3 and invoke it with
the python3 interpreter on the CI.

  • Tools/CISupport/build-webkit-org/steps.py:

(RunBenchmarkTests):

  • Tools/Scripts/browserperfdash-benchmark:
  • Tools/Scripts/webkitpy/browserperfdash/browserperfdash_runner.py:

(BrowserPerfDashRunner._parse_config_file):
(BrowserPerfDashRunner._upload_result):

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

9:21 AM Changeset in webkit [295524] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebKit

UserMediaCaptureManagerProxy should allow reusing any camera source of the same page
https://bugs.webkit.org/show_bug.cgi?id=241548
rdar://problem/95091899

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

We are trying to reuse an existing camera source but we were only storing one camera source.
This does not work well in case the camera source gets cloned and then ended.
What we need to do is store all sources and if one is reusable, use it.

We use a WeakHashSet to store all camera sources (through getUserMedia or clone)
and iterate on them to either reuse and if not possible stop them.

This also ensures that a page does not have two live AVVideoCaptureSource sources.
If we had that, one source would interrupt the other and vice versa.

Fix a bug in which a cloned track would not have its PageIdentifier.

  • Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:

(WebKit::UserMediaCaptureManagerProxy::createCameraSource):
(WebKit::UserMediaCaptureManagerProxy::clone):

  • Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
  • Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
  • Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp:

(WebKit::RemoteRealtimeMediaSourceProxy::createRemoteCloneSource):

  • Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h:
  • Source/WebKit/WebProcess/cocoa/RemoteRealtimeVideoSource.cpp:

(WebKit::RemoteRealtimeVideoSource::clone):

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

9:19 AM Changeset in webkit [295523] by commit-queue@webkit.org
  • 1 edit
    1 delete in trunk/Tools

[BuildStream] Migrate to commit identifier for version keeping
https://bugs.webkit.org/show_bug.cgi?id=241469

Patch by Philippe Normand <philn@igalia.com> on 2022-06-14
Reviewed by Adrian Perez de Castro and Jonathan Bedard.

  • Tools/buildstream/utils/generate-version:
  • Tools/glib/svn-revision: Deleted.

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

7:53 AM Changeset in webkit [295522] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk/Source

GPUP CGContexts create unattributed Metal resources
https://bugs.webkit.org/show_bug.cgi?id=241509
rdar://problem/94803367

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-06-14
Reviewed by Dean Jackson.

Unattributed Metal related memory allocations grow GPUP footprint,
causing the process go over its memory limit.

Add a CoreGraphics SPI to mark that the CGContext resources belong to a
particular process.

Integrate this via IOSurface::setOwnershipIdentity(), as that is where
the current CGContext for IOSurfaces are instantiated and held.

  • Source/WTF/wtf/PlatformHave.h:
  • Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h:
  • Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.cpp: Added.
  • Source/WebCore/PAL/pal/cg/CoreGraphicsSoftLink.h: Added.
  • Source/WebCore/PAL/pal/PlatformMac.cmake:
  • Source/WebCore/platform/graphics/cocoa/IOSurface.h:
  • Source/WebCore/platform/graphics/cocoa/IOSurface.mm:

(WebCore::IOSurface::ensurePlatformContext):
(WebCore::IOSurface::setOwnershipIdentity):

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

7:47 AM WebKitGTK/2.36.x edited by clopez@igalia.com
(diff)
7:10 AM Changeset in webkit [295521] by Diego Pino Garcia
  • 4 edits in trunk/Tools

[build.webkit.org] Add WebKitGTK and WPE bots for Ubuntu 22.04
https://bugs.webkit.org/show_bug.cgi?id=241335

Reviewed by Adrian Perez de Castro and Aakash Jain.

  • Tools/CISupport/build-webkit-org/config.json: Add two new entries for building WebKitGTK and WPE on Ubuntu 20.04. The current Ubuntu LTS bots are now building WebKitGTK and WPE on Ubuntu 22.04.
  • Tools/CISupport/build-webkit-org/factories_unittest.py: Add two new entries for testing WebKitGTK and WPE on Ubuntu 20.04.
  • Tools/glib/dependencies/apt: Install package 'python-gi' only if available.
  • Tools/gtk/dependencies/apt: Install packages only if available.

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

3:12 AM Changeset in webkit [295520] by clopez@igalia.com
  • 1 edit in trunk/Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py

run-benchmark script fails to find the lsof command on Linux
https://bugs.webkit.org/show_bug.cgi?id=241081

Reviewed by Dewei Zhu.

The lsof command is shipped on Linux typically on /usr/bin meanwhile on
Mac is shipped on /usr/sbin. Check if is on PATH before defaulting to the
Mac path.

  • Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: (SimpleHTTPServerDriver._find_http_server_port):

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

3:01 AM Changeset in webkit [295519] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[RISC-V] Build fixes after 251455@main
https://bugs.webkit.org/show_bug.cgi?id=241591

Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-06-14
Unreviewed, adding missing RISCV64 build guards alongside guards for other
64-bit platforms to get the build back up and running.

  • Source/JavaScriptCore/llint/WebAssembly.asm:
  • Source/JavaScriptCore/wasm/WasmMemoryInformation.cpp:

(JSC::Wasm::PinnedRegisterInfo::get):

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

1:28 AM Changeset in webkit [295518] by commit-queue@webkit.org
  • 12 edits in trunk

Implement PerformanceResourceTiming.workerStart in ServiceWorkers
https://bugs.webkit.org/show_bug.cgi?id=179377
rdar://problem/35391187

Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-14
Reviewed by Alex Christensen.

Store the time when we are about to either fire the fetch event or run the service worker to fire the fetch event.
To do so, we store it in NetworkResourceLoader and send the value to WebResourceLoader.
In case of process swap, we send it back to the new WebResourceLoader.
WebResourceLoader is then responsible to update the network load metrics when receiving the response/finish load metrics.

Covered by updated tests.

  • LayoutTests/http/wpt/service-workers/navigation-timing.https-expected.txt:
  • LayoutTests/http/wpt/service-workers/navigation-timing.js:

(event.setTimeout):

  • LayoutTests/http/wpt/service-workers/resources/navigation-timing-part-2.html:
  • Source/WebCore/page/PerformanceResourceTiming.cpp:

(WebCore::PerformanceResourceTiming::workerStart const):

  • Source/WebCore/platform/network/NetworkLoadMetrics.cpp:

(WebCore::NetworkLoadMetrics::updateFromFinalMetrics):
(WebCore::NetworkLoadMetrics::isolatedCopy const):

  • Source/WebCore/platform/network/NetworkLoadMetrics.h:

(WebCore::NetworkLoadMetrics::encode const):
(WebCore::NetworkLoadMetrics::decode):

  • Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::transferToNewWebProcess):
(WebKit::NetworkResourceLoader::continueWillSendRequest):
(WebKit::NetworkResourceLoader::setWorkerStart):

  • Source/WebKit/NetworkProcess/NetworkResourceLoader.h:
  • Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:

(WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask):

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

(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didFinishResourceLoad):

  • Source/WebKit/WebProcess/Network/WebResourceLoader.h:

(WebKit::WebResourceLoader::setWorkerStart):

  • Source/WebKit/WebProcess/Network/WebResourceLoader.messages.in:

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

Note: See TracTimeline for information about the timeline view.