[webkit-changes] [WebKit/WebKit] a63d53: [PlayStation] Paint to correct DrawingAreaProxy type

2023-05-08 Thread Don Olmstead
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a63d53b024de0ae60e5571b9ba70dd74322fd75b
  
https://github.com/WebKit/WebKit/commit/a63d53b024de0ae60e5571b9ba70dd74322fd75b
  Author: Don Olmstead 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebKit/UIProcess/API/C/playstation/WKPagePrivatePlayStation.cpp
M 
Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h
M Source/WebKit/UIProcess/playstation/PageClientImpl.cpp
M Source/WebKit/UIProcess/wc/DrawingAreaProxyWC.h

  Log Message:
  ---
  [PlayStation] Paint to correct DrawingAreaProxy type
https://bugs.webkit.org/show_bug.cgi?id=255692

Reviewed by Fujii Hironori.

Add specialized types for `DrawingAreaProxyCoordinatedGraphics` and
`DrawingAreaProxyWC` so within `WKPagePaint` the correct type can be
cast to.

* Source/WebKit/UIProcess/API/C/playstation/WKPagePrivatePlayStation.cpp:
(WKPagePaint):
* 
Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h:
* Source/WebKit/UIProcess/playstation/PageClientImpl.cpp:
* Source/WebKit/UIProcess/wc/DrawingAreaProxyWC.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 1bc021: Build fix: Return AirOpcode* headers to private me...

2023-05-08 Thread Elliott Williams
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1bc021cb1eba91bffcde50e521380230b6f2efdc
  
https://github.com/WebKit/WebKit/commit/1bc021cb1eba91bffcde50e521380230b6f2efdc
  Author: Elliott Williams 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
M Source/JavaScriptCore/b3/air/opcode_generator.rb

  Log Message:
  ---
  Build fix: Return AirOpcode* headers to private membership
https://bugs.webkit.org/show_bug.cgi?id=254784
rdar://108843961

Unreviewed build fix.

In 263845@main, these generated headers stopped being installed by
JavaScriptCore:

> - Remove target membership from AirOpcodeGenerated.h and
>   AirOpcodeUtils.h. They are missing some includes when they are
>   processed by tapi, and they do not contain any API or SPI.

It turns out they need to be installed for JSC's tools projects in
production builds. Put them back, and instead make them processible by
tapi in non-JIT configurations by adding ENABLE(B3_JIT) guards.

* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/b3/air/opcode_generator.rb:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 1c22f6: [Cocoa] Video doesn't resize on YouTube.com in the...

2023-05-08 Thread Jer Noble
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1c22f6e64ba0baa4eb96c970f277fa2a99558d8b
  
https://github.com/WebKit/WebKit/commit/1c22f6e64ba0baa4eb96c970f277fa2a99558d8b
  Author: Jer Noble 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/platform/cocoa/WebAVPlayerLayer.mm

  Log Message:
  ---
  [Cocoa] Video doesn't resize on YouTube.com in theater mode
https://bugs.webkit.org/show_bug.cgi?id=256473
rdar://105929105

Unreviewed follow-up to 263836@main; fix runtime crash in -[WebAVPlayerLayer 
dealloc].

Just do the client deregistration explicitly in the dealloc method.

* Source/WebCore/platform/cocoa/WebAVPlayerLayer.mm:
(-[WebAVPlayerLayer dealloc]):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] a9c99e: [JavaScriptCore] Build with InstallAPI

2023-05-08 Thread Elliott Williams
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a9c99ebb0bfd3a03a7f532d39f9a18f984c9a8b0
  
https://github.com/WebKit/WebKit/commit/a9c99ebb0bfd3a03a7f532d39f9a18f984c9a8b0
  Author: Elliott Williams 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
A Source/JavaScriptCore/API/ExtraSymbolsForTAPI.h
M Source/JavaScriptCore/Configurations/Base.xcconfig
M Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig
M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
M Source/JavaScriptCore/assembler/JITOperationList.h
M Source/JavaScriptCore/b3/air/opcode_generator.rb
M Source/JavaScriptCore/dfg/DFGArgumentPosition.h
M Source/JavaScriptCore/dfg/DFGDoesGCCheck.h
M Source/JavaScriptCore/dfg/DFGForAllKills.h
M Source/JavaScriptCore/dfg/DFGMinifiedIDInlines.h
M Source/JavaScriptCore/ftl/FTLLazySlowPathCall.h
M Source/JavaScriptCore/runtime/JSArrayBufferPrototypeInlines.h
M Source/JavaScriptCore/runtime/VM.h
M Source/WTF/Configurations/WTF.xcconfig
A Source/WTF/Scripts/generate-tapi-filelist.py
M Source/WTF/WTF.xcodeproj/project.pbxproj
M Source/WTF/wtf/Compiler.h
M Source/WTF/wtf/PlatformEnable.h
M Source/WTF/wtf/PtrTag.h
M Source/bmalloc/Configurations/bmalloc.xcconfig
M Source/bmalloc/Configurations/libpas.xcconfig
M Source/bmalloc/bmalloc.xcodeproj/project.pbxproj
M Source/bmalloc/libpas/src/libpas/pas_report_crash.h
M Tools/Scripts/webkitpy/style/checkers/cpp.py

  Log Message:
  ---
  [JavaScriptCore] Build with InstallAPI
https://bugs.webkit.org/show_bug.cgi?id=254784
rdar://108843961

Reviewed by Alexey Proskuryakov.

InstallAPI is a build phase in Xcode that uses tapi(1) to create API
stubs for framework targets by parsing their headers. These .tbd files
can then be linked against by clients of the framework, such that
clients are able to build and link before the framework itself has
finished building.

We already use InstallAPI in iOS WebKit/WebKitLegacy. Enable it in
JavaScriptCore.

Because JavaScriptCore exports the WTF and bmalloc static libraries,
TAPI needs to read headers from those projects in addition to its own. Add
a script to bmalloc and WTF which generates header file lists based on
all-product-headers.yaml, which is metadata created by XCBuild that
contains the public/private headers of a target. Changes to the headers
being installed will rerun both the file list generator and InstallAPI.

In production-style builds, all-products-headers.yaml is not available
during the installhdrs phase, so the script produces its file list by
scanning the headers directory being installed. This doesn't carry the
staleness risk of scanning directories in normal builds, because
install-style builds are always clean.

Also in production-style builds, the SDKROOT path, which is referenced
in generated filelists, may change when building different projects. We
handle this by writing "" in path names when the filelists are
generated, and then replacing that token with the actual SDKROOT right
before JavaScriptCore invokes tapi.

* Source/JavaScriptCore/API/ExtraSymbolsForTAPI.h: Added, lists a few
  symbols that really shouldn't be declared in any headers.
* Source/JavaScriptCore/Configurations/Base.xcconfig: JavaScriptCore
  includes private OS headers from inside System.framework, but was
  adding this path using OTHER_CPLUSPLUSFLAGS. Move it to
  SYSTEM_HEADER_SEARCH_PATHS so that TAPI gets the search path, too.
* Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig: Enable
  TAPI and add flags for dialect settings and extra filelists.
* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj: Add
  reference to ExtraSymbolsForTAPI.h. Remove LLIntAssembly.h's target
  membership, because it is not generated in installapi style builds and
  is not needed by tapi.
* Source/WTF/Configurations/WTF.xcconfig: Enable
  INSTALLHDRS_SCRIPT_PHASE to invoke generate-tapi-filelist.py during
  installhdrs. Remove INSTALLHDRS_COPY_PHASE as headers were moved out
  of Copy Files phases last year.
* Source/WTF/Scripts/generate-tapi-filelist.py: Added.
* Source/WTF/WTF.xcodeproj/project.pbxproj: Add build phase to generate
  a TAPI filelist using the new script.
* Source/bmalloc/Configurations/bmalloc.xcconfig: Turn on
  INSTALLHDRS_SCRIPT_PHASE to invoke generate-tapi-filelist.py during
  installhdrs.
* Source/bmalloc/Configurations/libpas.xcconfig: Build with
  -DPAS_BMALLOC_HIDDEN, needed to fix symbol visibility when building
  with ThinLTO (rdar://86242029).
* Source/bmalloc/bmalloc.xcodeproj/project.pbxproj: Ditto pbxproj
  changes.
* Tools/Scripts/webkitpy/style/checkers/cpp.py: Allow bmalloc and WTF
  export macros in Source/JavaScriptCore/API/ExtraSymbolsForTAPI.h.

Fix up some generated headers' target membership to make tapi succeed.
These headers are still tracked in the project, but are either removed
from the target or no longer 

[webkit-changes] [WebKit/WebKit] b4ade8: Document::ListenerType should be an enum class

2023-05-08 Thread Ryosuke Niwa
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b4ade8e6bda5fd5d1d936c513d4fe88d73e88287
  
https://github.com/WebKit/WebKit/commit/b4ade8e6bda5fd5d1d936c513d4fe88d73e88287
  Author: Ryosuke Niwa 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/animation/DeclarativeAnimation.cpp
M Source/WebCore/dom/CharacterData.cpp
M Source/WebCore/dom/ContainerNode.cpp
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/Document.h
M Source/WebCore/dom/Element.cpp
M Source/WebCore/dom/Node.cpp
M Source/WebCore/editing/markup.cpp
M Source/WebCore/history/CachedFrame.cpp
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/rendering/RenderBlock.cpp

  Log Message:
  ---
  Document::ListenerType should be an enum class
https://bugs.webkit.org/show_bug.cgi?id=256492

Reviewed by Chris Dumez.

Made Document::ListenerType an enum class and made m_listenerTypes an OptionSet.

Also introduced a new helper function: hasListenerTypeForEventType.

* Source/WebCore/animation/DeclarativeAnimation.cpp:
(WebCore::DeclarativeAnimation::shouldFireDOMEvents const):
* Source/WebCore/dom/CharacterData.cpp:
(WebCore::canUseSetDataOptimization):
(WebCore::CharacterData::dispatchModifiedEvent):
* Source/WebCore/dom/ContainerNode.cpp:
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::hasListenerTypeForEventType const):
(WebCore::Document::addListenerTypeIfNeeded):
* Source/WebCore/dom/Document.h:
(WebCore::Document::hasListenerType const):
(WebCore::Document::hasAnyListenerOfType const): Added.
(WebCore::Document::addListenerType):
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::dispatchFocusInEventIfNeeded):
(WebCore::Element::dispatchFocusOutEventIfNeeded):
(WebCore::Element::dispatchMouseForceWillBegin):
* Source/WebCore/dom/Node.cpp:
(WebCore::Node::dispatchSubtreeModifiedEvent):
* Source/WebCore/editing/markup.cpp:
(WebCore::hasMutationEventListeners):
* Source/WebCore/history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::didLayout):
* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::OverflowEventDispatcher::OverflowEventDispatcher):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] ecfaca: InViewSizeAdjust LayoutPhase should have ScriptDis...

2023-05-08 Thread Ryosuke Niwa
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ecfaca4e0bf4e20b5a993ca4e2a23be731902538
  
https://github.com/WebKit/WebKit/commit/ecfaca4e0bf4e20b5a993ca4e2a23be731902538
  Author: Ryosuke Niwa 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/page/LocalFrameViewLayoutContext.cpp

  Log Message:
  ---
  InViewSizeAdjust LayoutPhase should have ScriptDisallowedScope
https://bugs.webkit.org/show_bug.cgi?id=256354

Reviewed by Simon Fraser.

Deployed ScriptDisallowedScope::InMainThread in LayoutPhase::InViewSizeAdjust.

* Source/WebCore/page/LocalFrameViewLayoutContext.cpp:
(WebCore::LocalFrameViewLayoutContext::performLayout):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] ea44bf: http/tests/privateClickMeasurement/store-private-c...

2023-05-08 Thread Charlie Wolfe
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ea44bfdc26efb1c44db03bc4eb6b222ea77f56af
  
https://github.com/WebKit/WebKit/commit/ea44bfdc26efb1c44db03bc4eb6b222ea77f56af
  Author: Charlie Wolfe 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M LayoutTests/platform/wk2/TestExpectations

  Log Message:
  ---
  
http/tests/privateClickMeasurement/store-private-click-measurement-with-source-nonce.html
 is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=227369
rdar://79734449

Unreviewed test gardening.

* LayoutTests/platform/wk2/TestExpectations:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 830fc5: document.write of template producing multiple text...

2023-05-08 Thread Ryosuke Niwa
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 830fc599637395e1d3260565dc1d8e84ad53f6ce
  
https://github.com/WebKit/WebKit/commit/830fc599637395e1d3260565dc1d8e84ad53f6ce
  Author: Ryosuke Niwa 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
A LayoutTests/fast/parser/template-multiple-child-text-nodes-expected.txt
A LayoutTests/fast/parser/template-multiple-child-text-nodes.html
M 
LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_template_run_type=write_single-expected.txt
M Source/WebCore/html/parser/HTMLConstructionSite.cpp

  Log Message:
  ---
  document.write of template producing multiple text nodes
https://bugs.webkit.org/show_bug.cgi?id=254334

Reviewed by Chris Dumez.

The bug was caused by HTMLConstructionSite::insertTextNode not considering the 
case where
the parent node is a template element in which case its text node is in its 
content fragment.

* 
LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_template_run_type=write_single-expected.txt:
* LayoutTests/fast/parser/template-multiple-child-text-nodes-expected.txt: 
Added.
* LayoutTests/fast/parser/template-multiple-child-text-nodes.html: Added.
* Source/WebCore/html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertTextNode):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 9e7dac: [css-counter-styles] Simplify assertions in CSSCou...

2023-05-08 Thread Tim Nguyen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9e7dac2e339c6e802307770798061c244be29c4b
  
https://github.com/WebKit/WebKit/commit/9e7dac2e339c6e802307770798061c244be29c4b
  Author: Tim Nguyen 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/css/CSSCounterStyle.cpp

  Log Message:
  ---
  [css-counter-styles] Simplify assertions in CSSCounterStyle.cpp
https://bugs.webkit.org/show_bug.cgi?id=256497
rdar://109065413

Reviewed by Myles C. Maxfield.

* Source/WebCore/css/CSSCounterStyle.cpp:
(WebCore::CSSCounterStyle::counterForSystemCyclic const):
(WebCore::CSSCounterStyle::counterForSystemSymbolic const):
(WebCore::CSSCounterStyle::counterForSystemAlphabetic const):
(WebCore::CSSCounterStyle::counterForSystemNumeric const):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 02d661: Processes in the WebProcessCache should suspend mo...

2023-05-08 Thread Chris Dumez
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 02d6615aea2e51b0f048e9500e9f24565231d36e
  
https://github.com/WebKit/WebKit/commit/02d6615aea2e51b0f048e9500e9f24565231d36e
  Author: Chris Dumez 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm
M Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h
M Source/WebKit/UIProcess/ProcessThrottler.cpp
M Source/WebKit/UIProcess/ProcessThrottler.h
M Source/WebKit/UIProcess/WebProcessProxy.h
M Source/WebKit/UIProcess/mac/WebProcessProxyMac.mm
M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm

  Log Message:
  ---
  Processes in the WebProcessCache should suspend more promptly
https://bugs.webkit.org/show_bug.cgi?id=256468
rdar://108624630

Reviewed by Geoffrey Garen.

When processes entered the WebProcessCache, they would not suspend for ~8 
minutes
due to the near-suspended assertion we take after releasing the last useful
process assertion.

To cause them to suspend more promptly, I am adding an implementation for
WebProcessProxy::platformSuspendProcess() & platformResumeProcess() to drop
& retake the near-suspended assertion. platformSuspendProcess() gets called
by the WebProcessCache 30 seconds after the process has entered the cache.

This patch effectively causes our WebProcesses to fully suspend 30 seconds after
entering the WebProcessCache, instead of 8 minutes. This tested as neutral on
PLT5 and Membuster.

* Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _requestWebProcessTermination:]):
(-[WKProcessPool _isWebProcessSuspended:]):
* Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* Source/WebKit/UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::setShouldTakeNearSuspendedAssertion):
* Source/WebKit/UIProcess/ProcessThrottler.h:
(WebKit::ProcessThrottler::isHoldingNearSuspendedAssertion const):
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/UIProcess/mac/WebProcessProxyMac.mm:
(WebKit::WebProcessProxy::platformSuspendProcess):
(WebKit::WebProcessProxy::platformResumeProcess):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] e8441e: [PlayStation] Build fix after 263719@main when FIL...

2023-05-08 Thread Basuke Suzuki
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e8441ed60b1313feadd12efe7faec0de27c75ab7
  
https://github.com/WebKit/WebKit/commit/e8441ed60b1313feadd12efe7faec0de27c75ab7
  Author: Basuke Suzuki 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/rendering/style/RenderStyle.h

  Log Message:
  ---
  [PlayStation] Build fix after 263719@main when FILTERS_LEVEL_2 is off (part 
2).
https://bugs.webkit.org/show_bug.cgi?id=256491

Unreviewed build fix.

Added missing implementation for case when the flag is off.

* Source/WebCore/rendering/style/RenderStyle.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] e0068d: [WebGPU] Texture address modes UVW mapped to RST i...

2023-05-08 Thread mwyrzykowski
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e0068ddc6a2cc5bbe66d0043de8e436329887565
  
https://github.com/WebKit/WebKit/commit/e0068ddc6a2cc5bbe66d0043de8e436329887565
  Author: Mike Wyrzykowski 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebGPU/WebGPU/Sampler.mm

  Log Message:
  ---
  [WebGPU] Texture address modes UVW mapped to RST instead of STR
https://bugs.webkit.org/show_bug.cgi?id=256467


Reviewed by Dan Glastonbury.

UV maps to ST. R maps to W.

Previously RST was mapping to UVW which is incorrect.

* Source/WebGPU/WebGPU/Sampler.mm:
(WebGPU::Device::createSampler):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 95f954: [Cocoa] Video doesn't resize on YouTube.com in the...

2023-05-08 Thread Jer Noble
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 95f95436a7cdf8752aaa4e411c35ca32cd921c0e
  
https://github.com/WebKit/WebKit/commit/95f95436a7cdf8752aaa4e411c35ca32cd921c0e
  Author: Jer Noble 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/platform/cocoa/VideoFullscreenModel.h
M Source/WebCore/platform/cocoa/VideoFullscreenModelVideoElement.h
M Source/WebCore/platform/cocoa/VideoFullscreenModelVideoElement.mm
M Source/WebCore/platform/cocoa/WebAVPlayerLayer.h
M Source/WebCore/platform/cocoa/WebAVPlayerLayer.mm
M Source/WebCore/platform/cocoa/WebAVPlayerLayerView.mm
M Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm
M Source/WebCore/platform/mac/VideoFullscreenInterfaceMac.mm
M Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.h
M Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm

  Log Message:
  ---
  [Cocoa] Video doesn't resize on YouTube.com in theater mode
https://bugs.webkit.org/show_bug.cgi?id=256473
rdar://105929105

Reviewed by Simon Fraser.

A rare timing issue will sometimes cause WebAVPlayerLayer to get "stuck" 
thinking it has an empty
videoDimensions. This seems to occur when layerCreationProperies are 
initialized in the WebContent
process before the video element has a valid nativeSize, but the video 
element's "resize" event
is fired before the layer is created in the UI process.

One cause of this symptom is that not all the relevant objects are notified 
when the videoDimensions
change in the UI process. The VideoFullscreenModelContext object has a 
videoDimensions() method whose
instance variable is never modified. And notifying the relevent objects becomes 
a job of the
VideoFullscreenManagerProxy itself, and that coverage was spotty.

Instead, fully implement VideoFullscreenModelContext::setVideoDimensions() and 
use the pre-existing
VideoFullscreenModelClient callbacks to notify both the 
VideoFullscreenInterface{Mac,AVKit} and the
WebAVPlayerLayer when the underlying video dimensions change.

WebAVPlayerLayer will therefore need a VideoFullscreenModelClient proxy object 
to use as the client
for the model, and since the only thing it uses a VideoFullscreenInteraface 
object for is to get its
associated model, it should just keep a weak reference to the model itself. 
Adding the model to the
WebAVPlayerLayer will cause its videoDimensions property to update. And when 
the videoDimensions
change, it can mark itself as needing layout.

Drive-by fix: In WebAVPlayerLayer, the -layoutSublayers method would bail out 
early if its own
affineTransform property was identity. This was incorrect, it should have 
checked it's videoSublayer's
affineTransform property, as that's what is actually changed later in the 
method. Also, don't
disable animations in the -layoutSublayers method, as this will cause animated 
property changes
to break (such as PiP animations on iOS).

* Source/WebCore/platform/cocoa/VideoFullscreenModel.h:
(WebCore::VideoFullscreenModel::logIdentifier const):
(WebCore::VideoFullscreenModel::loggerPtr const):
* Source/WebCore/platform/cocoa/VideoFullscreenModelVideoElement.h:
* Source/WebCore/platform/cocoa/VideoFullscreenModelVideoElement.mm:
(WebCore::VideoFullscreenModelVideoElement::logIdentifier const):
(WebCore::VideoFullscreenModelVideoElement::logIdentifier): Deleted.
* Source/WebCore/platform/cocoa/WebAVPlayerLayer.h:
* Source/WebCore/platform/cocoa/WebAVPlayerLayer.mm:
(WebCore::WebAVPlayerLayerFullscreenModelClient::WebAVPlayerLayerFullscreenModelClient):
(WebCore::WebAVPlayerLayerFullscreenModelClient::videoDimensionsChanged):
(-[WebAVPlayerLayer init]):
(-[WebAVPlayerLayer fullscreenModel]):
(-[WebAVPlayerLayer setFullscreenModel:]):
(-[WebAVPlayerLayer videoDimensions]):
(-[WebAVPlayerLayer setVideoDimensions:]):
(-[WebAVPlayerLayer layoutSublayers]):
(-[WebAVPlayerLayer resolveBounds]):
(-[WebAVPlayerLayer setVideoGravity:]):
(-[WebAVPlayerLayer logIdentifier]):
(-[WebAVPlayerLayer loggerPtr]):
(-[WebAVPlayerLayer fullscreenInterface]): Deleted.
(-[WebAVPlayerLayer setFullscreenInterface:]): Deleted.
* Source/WebCore/platform/cocoa/WebAVPlayerLayerView.mm:
(WebCore::WebAVPlayerLayerView_startRoutingVideoToPictureInPicturePlayerLayerView):
* Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::doSetup):
* Source/WebCore/platform/mac/VideoFullscreenInterfaceMac.mm:
(-[WebVideoFullscreenInterfaceMacObjC 
setUpPIPForVideoView:withFrame:inWindow:]):
(WebCore::boolString): Deleted.
* Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
* Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenModelContext::setVideoDimensions):
(WebKit::VideoFullscreenManagerProxy::createLayerWithID):
(WebKit::VideoFullscreenManagerProxy::createViewWithID):
(WebKit::VideoFullscreenManagerProxy::setVideoDimensions):

Canonical link: 

[webkit-changes] [WebKit/WebKit] 6ee658: [css-counter-styles] Remove code for old predefine...

2023-05-08 Thread Tim Nguyen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6ee6584631d2851d9d76841231b74b54306fa4d3
  
https://github.com/WebKit/WebKit/commit/6ee6584631d2851d9d76841231b74b54306fa4d3
  Author: Tim Nguyen 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/css/CSSPrimitiveValueMappings.h
M Source/WebCore/editing/cocoa/FontAttributesCocoa.mm
M Source/WebCore/rendering/RenderCounter.cpp
M Source/WebCore/rendering/RenderListMarker.cpp
M Source/WebCore/rendering/RenderListMarker.h
M Source/WebCore/rendering/style/ListStyleType.cpp
M Source/WebCore/rendering/style/ListStyleType.h
M Source/WebCore/rendering/style/RenderStyleInlines.h
M Source/WebCore/style/StyleBuilderConverter.h
M Source/WebCore/style/UserAgentStyle.cpp

  Log Message:
  ---
  [css-counter-styles] Remove code for old predefined counter styles 
implementation
https://bugs.webkit.org/show_bug.cgi?id=256156
rdar://108704012

Reviewed by Darin Adler.

Before this change, CSSCounterStyleAtRulesEnabled would toggle the codepath for 
rendering predefined (UA-level) counter styles.
This change makes rendering predefined styles go through the new codepath with 
CSSCounterStyleAtRulesEnabled off.
The only remaining role of setting is now to allow authors to turn on/off 
author-level @counter-style definitions.

Here's a summary of changes:
- Remove all the code in RenderListMarker that renders built-in counter styles 
when CSSCounterStyleAtRulesEnabled is off
- Always use the modern ListStyleType representation ({ 
ListStyleType::Type::CounterStyle,  })
- Unconditionally parse counterStyles.css and use it to render built-in counter 
styles

Doing this allows easier bug fixing around pre-defined counter styles (since 
bugs don't need to be fixed twice), but
also removes a large amount of code.

Tested that built-in counter styles still work properly with the pref off by 
running:
run-webkit-tests fast/lists 
imported/w3c/web-platform-tests/css/css-counter-styles --experimental-feature 
CSSCounterStyleAtRulesEnabled=false

* Source/WebCore/css/CSSPrimitiveValueMappings.h:
(WebCore::toCSSValueID):
(WebCore::fromCSSValueID):
* Source/WebCore/editing/cocoa/FontAttributesCocoa.mm:
(WebCore::cocoaTextListMarkerName):
* Source/WebCore/rendering/RenderCounter.cpp:
(WebCore::RenderCounter::originalText const):
* Source/WebCore/rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
(WebCore::RenderListMarker::updateContent):
(WebCore::toAlphabeticOrNumeric): Deleted.
(WebCore::toSymbolic): Deleted.
(WebCore::toAlphabetic): Deleted.
(WebCore::toNumeric): Deleted.
(WebCore::toPredefinedAdditiveSystem): Deleted.
(WebCore::effectiveListMarkerType): Deleted.
(WebCore::listMarkerSuffix): Deleted.
(WebCore::listMarkerText): Deleted.
* Source/WebCore/rendering/RenderListMarker.h:
* Source/WebCore/rendering/style/ListStyleType.cpp:
(WebCore::ListStyleType::isCircle const):
(WebCore::ListStyleType::isSquare const):
(WebCore::ListStyleType::isDisc const):
(WebCore::ListStyleType::isDisclosureClosed const):
* Source/WebCore/rendering/style/ListStyleType.h:
* Source/WebCore/rendering/style/RenderStyleInlines.h:
(WebCore::RenderStyle::initialListStyleType):
* Source/WebCore/style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertListStyleType):
* Source/WebCore/style/UserAgentStyle.cpp:
(WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 970f62: Unreviewed, use previous length checking in JSON.s...

2023-05-08 Thread Yusuke Suzuki
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 970f62aaf87cb70349d806f1455253f7767bb571
  
https://github.com/WebKit/WebKit/commit/970f62aaf87cb70349d806f1455253f7767bb571
  Author: Yusuke Suzuki 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/JavaScriptCore/runtime/JSONObject.cpp

  Log Message:
  ---
  Unreviewed, use previous length checking in JSON.stringify
https://bugs.webkit.org/show_bug.cgi?id=256494
rdar://109053647

FastStringifier is not using m_buffer entirely. So it is separately tracking 
m_capacity right now.
This design looks very strange, but let's stick with it.

* Source/JavaScriptCore/runtime/JSONObject.cpp:
(JSC::FastStringifier::append):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] ad1c1a: [PlayStation] Build fix after 263719@main when FIL...

2023-05-08 Thread Basuke Suzuki
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ad1c1aef7ec739d1bce9667f69087e6aa386b35e
  
https://github.com/WebKit/WebKit/commit/ad1c1aef7ec739d1bce9667f69087e6aa386b35e
  Author: Basuke Suzuki 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/rendering/style/RenderStyle.h

  Log Message:
  ---
  [PlayStation] Build fix after 263719@main when FILTERS_LEVEL_2 is off.
https://bugs.webkit.org/show_bug.cgi?id=256491

Unreviewed build fix.

* Source/WebCore/rendering/style/RenderStyle.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] e8027f: Defer AX object cache update as an event loop task...

2023-05-08 Thread Ryosuke Niwa
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e8027f0de5396f635ddfaf6b7ad8b38e05bc8fdd
  
https://github.com/WebKit/WebKit/commit/e8027f0de5396f635ddfaf6b7ad8b38e05bc8fdd
  Author: Ryosuke Niwa 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M LayoutTests/accessibility/mac/input-type-change-crash-expected.txt
M LayoutTests/accessibility/mac/tab-focus-post-notification.html
M LayoutTests/accessibility/mac/textbox-role-reports-notifications.html
M 
LayoutTests/accessibility/nested-textareas-value-changed-notifications-expected.txt
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/Document.h
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/testing/Internals.cpp

  Log Message:
  ---
  Defer AX object cache update as an event loop task instead of a post layout 
task
https://bugs.webkit.org/show_bug.cgi?id=256403

Reviewed by Antti Koivisto.

Defer accessibility object cache updates until an event loop task instead of 
running
them as a post layout task since they can trigger synchronous author script 
execution.

* LayoutTests/accessibility/mac/input-type-change-crash-expected.txt: 
Rebaselined.

* LayoutTests/accessibility/mac/tab-focus-post-notification.html: Wait for rAF 
between
each tabbing so that AX objects have a chance to update themselves.

* LayoutTests/accessibility/mac/textbox-role-reports-notifications.html: 
Manually call
updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks to flush AX cache 
updates.

* 
LayoutTests/accessibility/nested-textareas-value-changed-notifications-expected.txt:
Rebaselined.

* Source/WebCore/dom/Document.cpp:
(WebCore::Document::scheduleDeferredAXObjectCacheUpdate):
(WebCore::Document::flushDeferredAXObjectCacheUpdate):

* Source/WebCore/dom/Document.h:

* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::performPostLayoutTasks):

* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
Manually flush the pending AX object cache updates.

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] cf4d06: Revert perf sensitive parts of 263531@main

2023-05-08 Thread Tim Nguyen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cf4d064568e9d63278c83ed800514cf1f1a8694b
  
https://github.com/WebKit/WebKit/commit/cf4d064568e9d63278c83ed800514cf1f1a8694b
  Author: Tim Nguyen 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M LayoutTests/TestExpectations
M Source/WebCore/rendering/style/RenderStyle.cpp
M Source/WebCore/style/ElementRuleCollector.cpp

  Log Message:
  ---
  Revert perf sensitive parts of 263531@main
https://bugs.webkit.org/show_bug.cgi?id=256493

Unreviewed revert.

* LayoutTests/TestExpectations:
* Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresRepaint const):
* Source/WebCore/style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::addMatchedProperties):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 99c9a2: Regression(262025@main) WebProcesses on macOS 13.0...

2023-05-08 Thread Chris Dumez
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 99c9a20cadf67aca618c1457d19d544d306a849f
  
https://github.com/WebKit/WebKit/commit/99c9a20cadf67aca618c1457d19d544d306a849f
  Author: Chris Dumez 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebKit/Scripts/update-info-plist-for-runningboard.sh

  Log Message:
  ---
  Regression(262025@main) WebProcesses on macOS 13.0 are still marked as 
managed by RunningBoard
https://bugs.webkit.org/show_bug.cgi?id=256489
rdar://108417115

Reviewed by Geoffrey Garen and Ben Nham.

WebProcesses on macOS 13.0 are still marked as managed by RunningBoard even
though 262025@main made it so that we only use RunningBoard assertions on macOS
13.3+.

USE(RUNNINGBOARD) requires `__MAC_OS_X_VERSION_MIN_REQUIRED >= 130300` after
262025@main but update-info-plist-for-runningboard.sh was still checking for
13. This meant RunningBoard was managing process priority on macOS 13.0+
even though we are only taking RunningBoard assertion on macOS 13.3+. This
was causing our processes to have low priority.

* Source/WebKit/Scripts/update-info-plist-for-runningboard.sh:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] fa2caa: movementX and movementY are missing from pointerMo...

2023-05-08 Thread Abrar Rahman Protyasha
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fa2caa624d631c7085d6cb55a6b83ebc1c2ffe49
  
https://github.com/WebKit/WebKit/commit/fa2caa624d631c7085d6cb55a6b83ebc1c2ffe49
  Author: Abrar Rahman Protyasha 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
A 
LayoutTests/fast/events/pointer/ios/drag-populates-pointer-events-with-movementxy-fields-expected.txt
A 
LayoutTests/fast/events/pointer/ios/drag-populates-pointer-events-with-movementxy-fields.html
M LayoutTests/platform/gtk/pointer-lock/mouse-event-delivery-expected.txt
M 
LayoutTests/platform/wpe/imported/w3c/web-platform-tests/pointerevents/pointerlock/pointerevent_movementxy_with_pointerlock-expected.txt
M 
LayoutTests/platform/wpe/imported/w3c/web-platform-tests/pointerlock/movementX_Y_basic-expected.txt
M Source/WebCore/dom/MouseEvent.idl
M Source/WebCore/dom/MouseEventInit.idl
M Source/WebCore/dom/PointerEvent.h
M Source/WebCore/dom/ios/PointerEventIOS.cpp
M Source/WebCore/page/EventHandler.cpp
M Source/WebCore/page/EventHandler.h
M Source/WebCore/page/PointerCaptureController.cpp
M Source/WebCore/page/PointerCaptureController.h
M Source/WebCore/platform/PointerID.h
M Source/WebKit/UIProcess/WebPageProxy.h

  Log Message:
  ---
  movementX and movementY are missing from pointerMove events (255207)
rdar://108112600
https://bugs.webkit.org/show_bug.cgi?id=255207

Reviewed by Wenson Hsieh.

This commit performs a few things:

- Expose `movementX`/`movementY` *generally* in MouseEvent structs
  rather than locking it behind POINTER_LOCK support. This is because
  even without implementing pointer lock on iOS, we can (a) easily
  compute these values and (b) the attributes are generally useful.

- Introduce a bunch of plumbing to pass touch event deltas from our
  EventHandler to the PointerEvent creation. The bookkeeping required to
  compute these touch deltas is placed in WebKitAdditions.

- Tangentially, changes the `PointerID` type to represent uint32_t
  instead of its signed sibling. I've done this because we're passing in
  unsigned identifiers when creating PointerEvents, and I've logged a
  few cases of ID *overflow*.

- Add a layout test to verify correctness of the movementX/Y fields of
  pointer events generated by touch gestures.

- Corrects some test expectations now that we expose
  `movementX`/`movementY` regardless of pointer lock support.

* 
LayoutTests/fast/events/pointer/ios/drag-populates-pointer-events-with-movementxy-fields-expected.txt:
 Added.
* 
LayoutTests/fast/events/pointer/ios/drag-populates-pointer-events-with-movementxy-fields.html:
 Added.
* LayoutTests/platform/gtk/pointer-lock/mouse-event-delivery-expected.txt:
* 
LayoutTests/platform/wpe/imported/w3c/web-platform-tests/pointerevents/pointerlock/pointerevent_movementxy_with_pointerlock-expected.txt:
* 
LayoutTests/platform/wpe/imported/w3c/web-platform-tests/pointerlock/movementX_Y_basic-expected.txt:
* Source/WebCore/dom/MouseEvent.idl:
* Source/WebCore/dom/MouseEventInit.idl:
* Source/WebCore/dom/PointerEvent.h:
* Source/WebCore/dom/ios/PointerEventIOS.cpp:
(WebCore::PointerEvent::create):
(WebCore::PointerEvent::PointerEvent):
* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleTouchEvent):
* Source/WebCore/page/EventHandler.h:
* Source/WebCore/page/PointerCaptureController.cpp:
(WebCore::PointerCaptureController::dispatchEventForTouchAtIndex):
* Source/WebCore/page/PointerCaptureController.h:
* Source/WebCore/platform/PointerID.h:
* Source/WebKit/UIProcess/WebPageProxy.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 79dcef: Tests crashing at com.apple.AssetViewer: __64-[ASV...

2023-05-08 Thread Dean Jackson
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 79dceff293fcb856e9fc198fc8c7472bccc0563b
  
https://github.com/WebKit/WebKit/commit/79dceff293fcb856e9fc198fc8c7472bccc0563b
  Author: Dean Jackson 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M LayoutTests/TestExpectations
M LayoutTests/platform/glib/TestExpectations
M LayoutTests/platform/gtk/TestExpectations
M LayoutTests/platform/ios-simulator/TestExpectations
M LayoutTests/platform/ios-wk2/TestExpectations
M LayoutTests/platform/ios/TestExpectations
M LayoutTests/platform/mac-wk1/TestExpectations
M LayoutTests/platform/mac-wk2/TestExpectations
M LayoutTests/platform/mac/TestExpectations
M LayoutTests/platform/wpe/TestExpectations

  Log Message:
  ---
  Tests crashing at com.apple.AssetViewer: __64-[ASVInlinePreview 
preparePreviewOfFileAtURL:completionHandler:]_block_invoke_2
https://bugs.webkit.org/show_bug.cgi?id=256485
rdar://103419649

Unreviewed.

The model element tests are crashing in various ways, causing other tests
to appear to fail. Disable them all.

* LayoutTests/TestExpectations:
* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/gtk/TestExpectations:
* LayoutTests/platform/ios-simulator/TestExpectations:
* LayoutTests/platform/ios-wk2/TestExpectations:
* LayoutTests/platform/ios/TestExpectations:
* LayoutTests/platform/mac-wk1/TestExpectations:
* LayoutTests/platform/mac-wk2/TestExpectations:
* LayoutTests/platform/mac/TestExpectations:
* LayoutTests/platform/wpe/TestExpectations:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 340913: Unreviewed, reverting r263660@main.

2023-05-08 Thread Commit Queue
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3409130b94be814aebc60ef3f57aabb2691f97d0
  
https://github.com/WebKit/WebKit/commit/3409130b94be814aebc60ef3f57aabb2691f97d0
  Author: Commit Queue 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
R 
LayoutTests/media/media-session/actionHandler-no-document-leak-expected.txt
R LayoutTests/media/media-session/actionHandler-no-document-leak.html
R 
LayoutTests/media/media-session/resources/media-session-action-handler-document-leak-frame.html
M Source/WebCore/Modules/mediasession/MediaSessionActionHandler.h
M Source/WebCore/Modules/mediasession/MediaSessionActionHandler.idl

  Log Message:
  ---
  Unreviewed, reverting r263660@main.
https://bugs.webkit.org/show_bug.cgi?id=256490

causes crashes

Reverted changeset:

"The Document object is leaked on some pages using media (like YouTube.com)"
https://bugs.webkit.org/show_bug.cgi?id=251835
https://commits.webkit.org/263660@main

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] dfd1f4: Unreviewed, reverting r263715@main.

2023-05-08 Thread Commit Queue
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dfd1f46364b965f5c2a578e8375a2709e8c6a55f
  
https://github.com/WebKit/WebKit/commit/dfd1f46364b965f5c2a578e8375a2709e8c6a55f
  Author: Commit Queue 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/Modules/mediasession/MediaSession.cpp
M Source/WebCore/Modules/mediasession/MediaSession.h
M Source/WebCore/Modules/mediasession/MediaSession.idl
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
R Source/WebCore/bindings/js/JSMediaSessionCustom.cpp

  Log Message:
  ---
  Unreviewed, reverting r263715@main.
https://bugs.webkit.org/show_bug.cgi?id=256488

causes crashes

Reverted changeset:

"MediaSession should keep its action handlers alive"
https://bugs.webkit.org/show_bug.cgi?id=256334
https://commits.webkit.org/263715@main

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 08bc10: [PlayStation] Build fix after 263719@main when CSS...

2023-05-08 Thread Basuke Suzuki
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 08bc10f13a56d2db82d3a878737c3f0c9263e21f
  
https://github.com/WebKit/WebKit/commit/08bc10f13a56d2db82d3a878737c3f0c9263e21f
  Author: Basuke Suzuki 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/rendering/RenderLayer.h
M Source/WebCore/rendering/RenderLayerInlines.h
M Source/WebCore/rendering/style/RenderStyleSetters.h

  Log Message:
  ---
  [PlayStation] Build fix after 263719@main when CSS_COMPOSITING is off.
https://bugs.webkit.org/show_bug.cgi?id=256486

Unreviewed build fix.

* Source/WebCore/rendering/RenderLayer.h:
* Source/WebCore/rendering/RenderLayerInlines.h:
(WebCore::RenderLayer::hasBackdropFilter const):
(WebCore::RenderLayer::hasBlendMode const):
* Source/WebCore/rendering/style/KeyframeList.h:
* Source/WebCore/rendering/style/RenderStyleSetters.h:
(WebCore::RenderStyle::setInputSecurity):
(WebCore::RenderStyle::setIsolation):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] d67761: [GPU Process] Cache all RenderingResources as one ...

2023-05-08 Thread Said Abou-Hallawa
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d67761f1060aca4aef599fb47020365003a5544d
  
https://github.com/WebKit/WebKit/commit/d67761f1060aca4aef599fb47020365003a5544d
  Author: Said Abou-Hallawa 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/platform/graphics/DecomposedGlyphs.h
M Source/WebCore/platform/graphics/Gradient.h
M Source/WebCore/platform/graphics/NativeImage.h
M Source/WebCore/platform/graphics/RenderingResource.h
M Source/WebCore/platform/graphics/displaylists/DisplayListResourceHeap.h
M Source/WebKit/GPUProcess/graphics/QualifiedResourceHeap.h
M Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.h

  Log Message:
  ---
  [GPU Process] Cache all RenderingResources as one type
https://bugs.webkit.org/show_bug.cgi?id=256408


Reviewed by Simon Fraser.

This makes adding a new RenderingResource less pervasive. RenderingResources are
mainly cached to control their lifetime between WebProcess and GPUProcess. Their
concrete types are rarely used especially in WebProcess. So replace the pointers
to NativeImage, DecomposedGlyphs and Gradient to just a pointer to 
RenderingResource.
Add traits to these classes so RenderingResource can be casted to any of them.

* Source/WebCore/platform/graphics/DecomposedGlyphs.h:
(isType):
* Source/WebCore/platform/graphics/Gradient.h:
(isType):
* Source/WebCore/platform/graphics/NativeImage.h:
(isType):
* Source/WebCore/platform/graphics/RenderingResource.h:
(WebCore::RenderingResource::isNativeImage const):
(WebCore::RenderingResource::isGradient const):
(WebCore::RenderingResource::isDecomposedGlyphs const):
* Source/WebCore/platform/graphics/displaylists/DisplayListResourceHeap.h:
(WebCore::DisplayList::LocalResourceHeap::add):
* Source/WebKit/GPUProcess/graphics/QualifiedResourceHeap.h:
(WebKit::QualifiedResourceHeap::add):
(WebKit::QualifiedResourceHeap::getNativeImage const):
(WebKit::QualifiedResourceHeap::getDecomposedGlyphs const):
(WebKit::QualifiedResourceHeap::getGradient const):
(WebKit::QualifiedResourceHeap::removeRenderingResource):
(WebKit::QualifiedResourceHeap::releaseAllResources):
(WebKit::QualifiedResourceHeap::releaseAllImageResources):
(WebKit::QualifiedResourceHeap::checkInvariants const):
(WebKit::QualifiedResourceHeap::removeNativeImage): Deleted.
(WebKit::QualifiedResourceHeap::removeDecomposedGlyphs): Deleted.
(WebKit::QualifiedResourceHeap::removeGradient): Deleted.
* Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp:
(WebKit::RemoteResourceCache::releaseRenderingResource):
* Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:
(WebKit::RemoteResourceCacheProxy::~RemoteResourceCacheProxy):
(WebKit::RemoteResourceCacheProxy::clear):
(WebKit::RemoteResourceCacheProxy::imagesCount const):
(WebKit::RemoteResourceCacheProxy::cachedNativeImage const):
(WebKit::RemoteResourceCacheProxy::recordDecomposedGlyphsUse):
(WebKit::RemoteResourceCacheProxy::recordGradientUse):
(WebKit::RemoteResourceCacheProxy::recordNativeImageUse):
(WebKit::RemoteResourceCacheProxy::releaseRenderingResource):
(WebKit::RemoteResourceCacheProxy::clearRenderingResourceMap):
(WebKit::RemoteResourceCacheProxy::clearNativeImageMap):
(WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed):
(WebKit::RemoteResourceCacheProxy::releaseMemory):
(WebKit::RemoteResourceCacheProxy::clearDecomposedGlyphsMap): Deleted.
(WebKit::RemoteResourceCacheProxy::clearGradientMap): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:
(WebKit::RemoteResourceCacheProxy::imagesCount const): Deleted.

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 2f2fe4: [macOS] Release memory in WebProcesses before full...

2023-05-08 Thread Chris Dumez
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2f2fe47009094437126a5cf55d07b429fae71fff
  
https://github.com/WebKit/WebKit/commit/2f2fe47009094437126a5cf55d07b429fae71fff
  Author: Chris Dumez 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebKit/UIProcess/ProcessThrottler.cpp
M Source/WebKit/UIProcess/ProcessThrottlerClient.h
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Source/WebKit/UIProcess/WebProcessProxy.h
M Source/WebKit/WebProcess/WebProcess.cpp
M Source/WebKit/WebProcess/WebProcess.h
M Source/WebKit/WebProcess/WebProcess.messages.in

  Log Message:
  ---
  [macOS] Release memory in WebProcesses before fully suspending them
https://bugs.webkit.org/show_bug.cgi?id=256332
rdar://108625394

Reviewed by Geoffrey Garen.

Before dropping the last assertion for a WebProcess on macOS, send
a ReleaseMemory IPC to it and slim down the process as much as possible
before suspension.

We don't do this for processes in the WebProcessCache for performance
reasons. These processes exit on memory pressure anyway.

* Source/WebKit/UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::setThrottleState):
(WebKit::ProcessThrottler::dropNearSuspendedAssertionTimerFired):
(WebKit::ProcessThrottler::numberOfPagesAllowedToRunInTheBackgroundChanged):
* Source/WebKit/UIProcess/ProcessThrottlerClient.h:
(WebKit::ProcessThrottlerClient::prepareToDropLastAssertion):
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::prepareToDropLastAssertion):
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::releaseMemory):
* Source/WebKit/WebProcess/WebProcess.h:
* Source/WebKit/WebProcess/WebProcess.messages.in:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 4062fb: Enable more strict deserialization on OSes that ca...

2023-05-08 Thread Alex Christensen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4062fbc29a2e67eed6ab3bf607376367e5b60161
  
https://github.com/WebKit/WebKit/commit/4062fbc29a2e67eed6ab3bf607376367e5b60161
  Author: Alex Christensen 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WTF/wtf/PlatformHave.h
M Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm

  Log Message:
  ---
  Enable more strict deserialization on OSes that can support it
https://bugs.webkit.org/show_bug.cgi?id=256481
rdar://109053464

Reviewed by John Wilander.

Also behind an off-by-default runtime flag.

* Source/WTF/wtf/PlatformHave.h:
* Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:
(IPC::haveStrictDecodableCNContact):
(IPC::haveStrictDecodablePKContact):
(IPC::haveStrictDecodableNSTextTable):
(IPC::shouldEnableStrictMode):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] f91c37: Tests crashing at com.apple.AssetViewer: __64-[ASV...

2023-05-08 Thread Dean Jackson
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f91c377541e98376060b37ae823636d7dfff1d75
  
https://github.com/WebKit/WebKit/commit/f91c377541e98376060b37ae823636d7dfff1d75
  Author: Dean Jackson 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M LayoutTests/platform/mac/TestExpectations

  Log Message:
  ---
  Tests crashing at com.apple.AssetViewer: __64-[ASVInlinePreview 
preparePreviewOfFileAtURL:completionHandler:]_block_invoke_2
https://bugs.webkit.org/show_bug.cgi?id=256485
rdar://103419649

Unreviewed.

The model element tests are crashing in various ways, causing other tests
to appear to fail. Disable them temporarily.

* LayoutTests/platform/mac/TestExpectations: Skip model-element.

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 9a8998: [GPU Process][Filters] Make FilterFunction a Rende...

2023-05-08 Thread Said Abou-Hallawa
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9a8998b85a0acaa34a0c0756c3e77cfe645512c6
  
https://github.com/WebKit/WebKit/commit/9a8998b85a0acaa34a0c0756c3e77cfe645512c6
  Author: Said Abou-Hallawa 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/platform/graphics/RenderingResource.h
M Source/WebCore/platform/graphics/filters/Filter.cpp
M Source/WebCore/platform/graphics/filters/Filter.h
M Source/WebCore/platform/graphics/filters/FilterFunction.cpp
M Source/WebCore/platform/graphics/filters/FilterFunction.h
M Source/WebCore/svg/graphics/filters/SVGFilter.cpp
M Source/WebCore/svg/graphics/filters/SVGFilter.h
M Source/WebKit/Shared/WebCoreArgumentCoders.cpp

  Log Message:
  ---
  [GPU Process][Filters] Make FilterFunction a RenderingResource
https://bugs.webkit.org/show_bug.cgi?id=256318
rdar://108900138

Reviewed by Simon Fraser.

This will allow caching the SVGFilter in GPU Process and will allow referencing
it in DisplayList items by its RenderingResourceIdentifier.

To do that, FilterFunction has to be a RenderingResource. This will overcome a
layering violation because we should not reference SVGFilter in platform 
sources.
Also this will overcome a ref-counting problem since FilterFunction and
RenderingResource are both RefCounted classes.

* Source/WebCore/platform/graphics/RenderingResource.h:
(WebCore::RenderingResource::renderingResourceIdentifierIfExists const):
* Source/WebCore/platform/graphics/filters/Filter.cpp:
(WebCore::Filter::Filter):
* Source/WebCore/platform/graphics/filters/Filter.h:
(WebCore::Filter::Filter):
* Source/WebCore/platform/graphics/filters/FilterFunction.cpp:
(WebCore::FilterFunction::FilterFunction):
* Source/WebCore/platform/graphics/filters/FilterFunction.h:
* Source/WebCore/svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::create):
(WebCore::SVGFilter::SVGFilter):
* Source/WebCore/svg/graphics/filters/SVGFilter.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder::encode):
(IPC::ArgumentCoder::decode):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] e456b3: Update to PDF.js v3.6.172

2023-05-08 Thread Michael Catanzaro
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e456b31b38489ce1b03d87a50a5c7572c8dfa370
  
https://github.com/WebKit/WebKit/commit/e456b31b38489ce1b03d87a50a5c7572c8dfa370
  Author: Michael Catanzaro 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/ThirdParty/pdfjs/PdfJSFiles.cmake
M Source/ThirdParty/pdfjs/build/pdf.js
M Source/ThirdParty/pdfjs/build/pdf.sandbox.js
M Source/ThirdParty/pdfjs/build/pdf.worker.js
M Source/ThirdParty/pdfjs/web/debugger.css
A Source/ThirdParty/pdfjs/web/images/gv-toolbarButton-download.svg
A Source/ThirdParty/pdfjs/web/images/gv-toolbarButton-openinapp.svg
M Source/ThirdParty/pdfjs/web/locale/en-US/viewer.properties
M Source/ThirdParty/pdfjs/web/locale/it/viewer.properties
M Source/ThirdParty/pdfjs/web/locale/ja/viewer.properties
M Source/ThirdParty/pdfjs/web/locale/ko/viewer.properties
M Source/ThirdParty/pdfjs/web/locale/lo/viewer.properties
M Source/ThirdParty/pdfjs/web/locale/nn-NO/viewer.properties
M Source/ThirdParty/pdfjs/web/locale/zh-CN/viewer.properties
M Source/ThirdParty/pdfjs/web/viewer.css
M Source/ThirdParty/pdfjs/web/viewer.js

  Log Message:
  ---
  Update to PDF.js v3.6.172
https://bugs.webkit.org/show_bug.cgi?id=256469

Reviewed by Tim Nguyen.

* Source/ThirdParty/pdfjs/PdfJSFiles.cmake:
* Source/ThirdParty/pdfjs/build/pdf.js:
(return.):
(return):
* Source/ThirdParty/pdfjs/build/pdf.sandbox.js:
* Source/ThirdParty/pdfjs/build/pdf.worker.js:
(return.):
(return):
* Source/ThirdParty/pdfjs/web/debugger.css:
(#PDFBug,):
(#PDFBug table.showText,):
* Source/ThirdParty/pdfjs/web/images/gv-toolbarButton-download.svg: Added.
* Source/ThirdParty/pdfjs/web/images/gv-toolbarButton-openinapp.svg: Added.
* Source/ThirdParty/pdfjs/web/locale/en-US/viewer.properties:
* Source/ThirdParty/pdfjs/web/locale/it/viewer.properties:
* Source/ThirdParty/pdfjs/web/locale/ja/viewer.properties:
* Source/ThirdParty/pdfjs/web/locale/ko/viewer.properties:
* Source/ThirdParty/pdfjs/web/locale/lo/viewer.properties:
* Source/ThirdParty/pdfjs/web/locale/nn-NO/viewer.properties:
* Source/ThirdParty/pdfjs/web/locale/zh-CN/viewer.properties:
* Source/ThirdParty/pdfjs/web/viewer.css:
(.textLayer :is(span, br)):
(@media screen and (forced-colors: active) .annotationLayer 
.textWidgetAnnotation :is(input, textarea):required,):
(.annotationLayer :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton) > a):
(.annotationLayer):
(.annotationLayer .textWidgetAnnotation :is(input, textarea),):
(.annotationLayer .textWidgetAnnotation :is(input, textarea):required,):
(.annotationLayer .textWidgetAnnotation :is(input, textarea)[disabled],):
(.annotationLayer .textWidgetAnnotation :is(input, textarea):hover,):
(.annotationLayer .textWidgetAnnotation :is(input, textarea):focus,):
(.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) :focus):
(.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before,):
(.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before):
(.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::after):
(.annotationLayer .buttonWidgetAnnotation.radioButton input:checked::before):
(.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input):
(.xfaLayer div,):
(:is(.xfaLeft, .xfaRight) > :is(.xfaCaption, .xfaCaptionForCheckButton)):
(:is(.xfaTop, .xfaBottom) > :is(.xfaCaption, .xfaCaptionForCheckButton)):
(:is(.xfaTextfield, .xfaSelect):focus):
(:is(.xfaCheckbox, .xfaRadio):focus):
(:is(.xfaTop, .xfaBottom) > :is(.xfaTextfield, .xfaSelect)):
(:is(.xfaNonInteractive, .xfaDisabled, .xfaReadOnly) :is(input, textarea)):
(.annotationEditorLayer):
(#hiddenCopyElement):
(.pdfViewer:is(.scrollHorizontal, .scrollWrapped),):
(.pdfViewer.removePageBorders,):
(.spread :is(.page, .dummyPage),):
(.spread .page,):
(.pdfViewer.removePageBorders .spread .page,):
(.pdfViewer .page.loadingIcon::after):
(.pdfViewer .page.loading::after):
(.pdfViewer .page:not(.loading)::after):
(:root):
(@media (prefers-color-scheme: dark) :root):
(#outerContainer:is(.sidebarMoving, .sidebarOpen) #sidebarContainer):
(:is(.toolbar, .editorParamsToolbar, .findbar, #sidebarContainer)):
(#loadingBar .progress):
(@keyframes progressIndeterminate):
(#loadingBar.indeterminate .progress .glimmer):
(#outerContainer.sidebarResizing):
(:is(.doorHanger, .doorHangerRight)::after,):
(.doorHanger::after):
(.doorHangerRight::after):
(:is(.doorHanger, .doorHangerRight)::before):
(.doorHanger::before):
(.doorHangerRight::before):
(#findMsg[data-status="notFound"]):
(:is(#findResultsCount, #findMsg):empty):
(.dialogButton:is(:hover, :focus-visible)):
(.dialogButton:is(:hover, :focus-visible) > span):
(:is(.toolbarButton, .secondaryToolbarButton, .dialogButton)[disabled]):
(.splitToolbarButton > .toolbarButton:is(:hover, :focus-visible),):
(.toolbarButton:is(:hover, :focus-visible)):
(.secondaryToolbarButton:is(:hover, :focus-visible)):

[webkit-changes] [WebKit/WebKit] b4546b: Unreviewed, reverting r259497@main.

2023-05-08 Thread Commit Queue
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b4546b995beae82a263cc1b2f393d44abe79b8ef
  
https://github.com/WebKit/WebKit/commit/b4546b995beae82a263cc1b2f393d44abe79b8ef
  Author: Commit Queue 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
R LayoutTests/fast/box-shadow/negative-shadow-box-expand-expected.txt
R LayoutTests/fast/box-shadow/negative-shadow-box-expand.html
R LayoutTests/fast/box-shadow/negative-shadow-box-shrink-expected.txt
R LayoutTests/fast/box-shadow/negative-shadow-box-shrink.html
M Source/WebCore/rendering/RenderElement.cpp

  Log Message:
  ---
  Unreviewed, reverting r259497@main.
https://bugs.webkit.org/show_bug.cgi?id=256480

causing issue when element with box-shadow and height:auto changes size

Reverted changeset:

"Fix negative shadow repaint issue"
https://bugs.webkit.org/show_bug.cgi?id=251176
https://commits.webkit.org/259497@main

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 00634c: Calling SecStaticCodeCheckValidity() takes 16ms on...

2023-05-08 Thread Per Arne Vollan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 00634c1b3ea6169be499097a1e8304afbfd984b0
  
https://github.com/WebKit/WebKit/commit/00634c1b3ea6169be499097a1e8304afbfd984b0
  Author: Per Arne Vollan 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm

  Log Message:
  ---
  Calling SecStaticCodeCheckValidity() takes 16ms on WebProcess launch
https://bugs.webkit.org/show_bug.cgi?id=256251
rdar://108020395

Reviewed by Geoffrey Garen.

Dispatch work on a secondary thread, so we can do other useful work while this 
XPC communication is in progress.
Local measurements show that this change reduces the blocking of the main 
thread from ~15ms to < 1ms.

* Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 8ff202: Non-unified build fixes, early May 2023 edition

2023-05-08 Thread Don Olmstead
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8ff202f134cadf832c4a2549bd160ff983fa0436
  
https://github.com/WebKit/WebKit/commit/8ff202f134cadf832c4a2549bd160ff983fa0436
  Author: Don Olmstead 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/accessibility/AccessibilityTableCell.cpp
M Source/WebCore/animation/AnimationTimeline.h
M Source/WebCore/animation/DeclarativeAnimation.cpp
M Source/WebCore/animation/DocumentTimeline.h
M Source/WebCore/animation/KeyframeEffectStack.cpp
M Source/WebCore/bindings/js/JSAnimationEffectCustom.cpp
M Source/WebCore/bindings/js/JSKeyframeEffectCustom.cpp
M Source/WebCore/css/CSSCounterStyleDescriptors.cpp
M Source/WebCore/css/CSSCounterStyleRegistry.cpp
M Source/WebCore/css/CSSCustomPropertyValue.cpp
M Source/WebCore/css/CSSFontSelector.cpp
M Source/WebCore/css/SelectorFilter.cpp
M Source/WebCore/display/css/DisplayBoxFactory.cpp
M Source/WebCore/editing/MarkupAccumulator.cpp
M Source/WebCore/html/HTMLImageElement.cpp
M Source/WebCore/html/HTMLInputElement.cpp
M Source/WebCore/html/HTMLObjectElement.cpp
M Source/WebCore/html/HTMLOptionElement.cpp
M Source/WebCore/html/shadow/TextControlInnerElements.cpp
M Source/WebCore/inspector/InspectorFrontendHost.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineLineBox.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
M Source/WebCore/layout/layouttree/LayoutBox.cpp
M Source/WebCore/loader/FrameLoader.cpp
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/page/LocalFrameViewLayoutContext.cpp
M Source/WebCore/rendering/BackgroundPainter.h
M Source/WebCore/rendering/RegionContext.cpp
M Source/WebCore/rendering/RenderLayerCompositor.cpp
M Source/WebCore/rendering/RenderLayoutState.cpp
M Source/WebCore/rendering/RenderTableCol.cpp
M Source/WebCore/rendering/mathml/RenderMathMLPadded.cpp
M Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp
M Source/WebCore/rendering/mathml/RenderMathMLRow.cpp
M Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp
M Source/WebCore/rendering/style/NinePieceImage.cpp
M Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp
M Source/WebCore/rendering/style/StyleBackgroundData.cpp
M Source/WebCore/rendering/style/StyleBoxData.cpp
M Source/WebCore/rendering/style/StyleMarqueeData.cpp
M Source/WebCore/rendering/style/StyleMultiImage.cpp
M Source/WebCore/rendering/style/StyleTransformData.cpp
M Source/WebCore/rendering/style/StyleVisitedLinkColorData.cpp
M Source/WebCore/rendering/svg/LegacyRenderSVGImage.cpp
M Source/WebCore/rendering/svg/LegacyRenderSVGPath.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceGradient.cpp
M Source/WebCore/rendering/svg/RenderSVGResourceSolidColor.cpp
M Source/WebCore/rendering/svg/SVGResourcesCache.cpp
M Source/WebCore/style/StyleBuilder.cpp
M Source/WebCore/style/StyleChange.cpp
M Source/WebCore/style/StyleTreeResolver.cpp
M Source/WebCore/xml/XPathUtil.h

  Log Message:
  ---
  Non-unified build fixes, early May 2023 edition
https://bugs.webkit.org/show_bug.cgi?id=256444

Unreviewed non-unified build fix.

Just WebCore related fixes.

* Source/WebCore/accessibility/AccessibilityTableCell.cpp:
* Source/WebCore/animation/AnimationTimeline.h:
* Source/WebCore/animation/DeclarativeAnimation.cpp:
* Source/WebCore/animation/DocumentTimeline.h:
* Source/WebCore/animation/KeyframeEffectStack.cpp:
* Source/WebCore/bindings/js/JSAnimationEffectCustom.cpp:
* Source/WebCore/bindings/js/JSKeyframeEffectCustom.cpp:
* Source/WebCore/css/CSSCounterStyleDescriptors.cpp:
* Source/WebCore/css/CSSCounterStyleRegistry.cpp:
* Source/WebCore/css/CSSCustomPropertyValue.cpp:
* Source/WebCore/css/CSSFontSelector.cpp:
* Source/WebCore/css/SelectorFilter.cpp:
* Source/WebCore/display/css/DisplayBoxFactory.cpp:
* Source/WebCore/editing/MarkupAccumulator.cpp:
* Source/WebCore/html/HTMLImageElement.cpp:
* Source/WebCore/html/HTMLInputElement.cpp:
* Source/WebCore/html/HTMLObjectElement.cpp:
* Source/WebCore/html/HTMLOptionElement.cpp:
* Source/WebCore/html/shadow/TextControlInnerElements.cpp:
* Source/WebCore/inspector/InspectorFrontendHost.cpp:
* Source/WebCore/layout/formattingContexts/inline/InlineLineBox.cpp:
* Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
* Source/WebCore/layout/layouttree/LayoutBox.cpp:
* Source/WebCore/loader/FrameLoader.cpp:
* Source/WebCore/page/LocalFrameView.cpp:
* Source/WebCore/page/LocalFrameViewLayoutContext.cpp:
* 

[webkit-changes] [WebKit/WebKit] 0a95f7: [JSC] Simplify constructEmptyObject

2023-05-08 Thread Yusuke Suzuki
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0a95f7ae67392ec73a6cb351f1054b3b9395bf0a
  
https://github.com/WebKit/WebKit/commit/0a95f7ae67392ec73a6cb351f1054b3b9395bf0a
  Author: Yusuke Suzuki 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/JavaScriptCore/runtime/JSObject.h
M Source/JavaScriptCore/runtime/JSObjectInlines.h
M Source/JavaScriptCore/runtime/ObjectConstructor.h

  Log Message:
  ---
  [JSC] Simplify constructEmptyObject
https://bugs.webkit.org/show_bug.cgi?id=256478
rdar://109049306

Reviewed by Alexey Shvayka and Keith Miller.

This patch simplifies constructEmptyObject because this is super hot code in 
JSON.parse.

1. gcSafeZeroMemory is not necessary in JSFinalObject's constructor. memset is 
OK since
   this object is not exposed to GC yet.
2. We use constant defaultInlineCapacity in constructEmptyObject's fast path to 
make
   the above constant assignment instead of loop.

* Source/JavaScriptCore/runtime/JSObject.h:
(JSC::JSFinalObject::createWithButterfly):
* Source/JavaScriptCore/runtime/JSObjectInlines.h:
(JSC::JSFinalObject::createDefaultEmptyObject):
* Source/JavaScriptCore/runtime/ObjectConstructor.h:
(JSC::constructEmptyObject):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 38b868: Web Inspector: Regression (258503@main) Font featu...

2023-05-08 Thread Razvan Caliman - Apple
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 38b868bbbaa50a85247eab0ae0ea58723a803641
  
https://github.com/WebKit/WebKit/commit/38b868bbbaa50a85247eab0ae0ea58723a803641
  Author: Razvan Caliman 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebInspectorUI/UserInterface/Views/FontDetailsPanel.js

  Log Message:
  ---
  Web Inspector: Regression (258503@main) Font feature property values shown in 
Font panel are always Normal
https://bugs.webkit.org/show_bug.cgi?id=256364

Reviewed by Patrick Angle.

When relocating code from the `Font` model to the `FontStyles` model
in https://github.com/WebKit/WebKit/pull/8157, we forgot to update
the path to the font styles regular expression pattern,
`WI.Font.SettingPattern` -> `WI.FontStyles.SettingPattern`,
used to match the parts of `font-variant-*` CSS property values.

In absence of a match, the fallback UI string was used,
which is `Normal` for most font feature property values.

* Source/WebInspectorUI/UserInterface/Views/FontDetailsPanel.js:
(WI.FontDetailsPanel.prototype._formatSimpleFeatureValues):
(WI.FontDetailsPanel.prototype._formatLigatureValue):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 352b95: AX: reconcile aria-describedby and aria-descriptio...

2023-05-08 Thread Chris Fleizach
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 352b951ab4a8d8e91964eab584ea727b271f7c6e
  
https://github.com/WebKit/WebKit/commit/352b951ab4a8d8e91964eab584ea727b271f7c6e
  Author: Chris Fleizach 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M LayoutTests/accessibility/aria-describedby-on-input.html
M LayoutTests/accessibility/aria-description-expected.txt
M LayoutTests/accessibility/aria-description.html
M LayoutTests/accessibility/custom-elements/describedby-shadow.html
M LayoutTests/accessibility/custom-elements/describedby.html
M LayoutTests/accessibility/element-reflection-ariadescribedby.html
M LayoutTests/accessibility/ios-simulator/figure-element-expected.txt
M LayoutTests/accessibility/ios-simulator/figure-element.html
M LayoutTests/accessibility/mac/figure-element-expected.txt
M LayoutTests/accessibility/mac/figure-element.html
M 
LayoutTests/accessibility/text-alternative-calculation-from-unrendered-table.html
M LayoutTests/accessibility/text-alternative-calculation-hidden-nodes.html
M 
LayoutTests/platform/ios/accessibility/aria-describedby-on-input-expected.txt
A LayoutTests/platform/ios/accessibility/aria-description-expected.txt
A 
LayoutTests/platform/mac/accessibility/aria-describedby-on-input-expected.txt
A LayoutTests/platform/mac/accessibility/aria-description-expected.txt
A 
LayoutTests/platform/mac/accessibility/custom-elements/describedby-expected.txt
A 
LayoutTests/platform/mac/accessibility/custom-elements/describedby-shadow-expected.txt
A 
LayoutTests/platform/mac/accessibility/element-reflection-ariadescribedby-expected.txt
A 
LayoutTests/platform/mac/accessibility/text-alternative-calculation-from-unrendered-table-expected.txt
A 
LayoutTests/platform/mac/accessibility/text-alternative-calculation-hidden-nodes-expected.txt
M LayoutTests/platform/wpe/accessibility/aria-description-expected.txt
M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
M Source/WebCore/accessibility/AccessibilityObject.cpp
M Source/WebCore/accessibility/AccessibilityObject.h
M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm
M Tools/DumpRenderTree/AccessibilityUIElement.cpp
M Tools/DumpRenderTree/AccessibilityUIElement.h
M Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm
M Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm

  Log Message:
  ---
  AX: reconcile aria-describedby and aria-description in WebKit
https://bugs.webkit.org/show_bug.cgi?id=255812
rdar://108386295

Reviewed by Andres Gonzalez.

aria-describedby should be equivalent to aria-description (and override it when 
both are present).
These should map to AXCustomContent with importance of high.

* LayoutTests/accessibility/aria-describedby-on-input.html:
* LayoutTests/accessibility/aria-description-expected.txt:
* LayoutTests/accessibility/aria-description.html:
* LayoutTests/accessibility/custom-elements/describedby-shadow.html:
* LayoutTests/accessibility/custom-elements/describedby.html:
* LayoutTests/accessibility/element-reflection-ariadescribedby.html:
* LayoutTests/accessibility/ios-simulator/figure-element-expected.txt:
* LayoutTests/accessibility/ios-simulator/figure-element.html:
* LayoutTests/accessibility/mac/figure-element-expected.txt:
* LayoutTests/accessibility/mac/figure-element.html:
* 
LayoutTests/accessibility/text-alternative-calculation-from-unrendered-table.html:
* LayoutTests/accessibility/text-alternative-calculation-hidden-nodes.html:
* LayoutTests/platform/ios/accessibility/aria-describedby-on-input-expected.txt:
* 
LayoutTests/platform/mac/accessibility/aria-describedby-on-input-expected.txt: 
Added.
* LayoutTests/platform/mac/accessibility/aria-description-expected.txt: Copied 
from LayoutTests/accessibility/aria-description-expected.txt.
* 
LayoutTests/platform/mac/accessibility/custom-elements/describedby-expected.txt:
 Added.
* 
LayoutTests/platform/mac/accessibility/custom-elements/describedby-shadow-expected.txt:
 Added.
* 
LayoutTests/platform/mac/accessibility/element-reflection-ariadescribedby-expected.txt:
 Added.
* 
LayoutTests/platform/mac/accessibility/text-alternative-calculation-from-unrendered-table-expected.txt:
 Added.
* 
LayoutTests/platform/mac/accessibility/text-alternative-calculation-hidden-nodes-expected.txt:
 Added.
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::helpText const):
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::extendedDescription const):
* Source/WebCore/accessibility/AccessibilityObject.h:
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase accessibilityCustomContent]):
* Tools/DumpRenderTree/AccessibilityUIElement.cpp:
(getCustomContentCallback):
(AccessibilityUIElement::getJSClass):
* 

[webkit-changes] [WebKit/WebKit] d27a9b: [Windows] Drop support of older version of Windows.

2023-05-08 Thread Basuke Suzuki
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d27a9b023902534f01844dd91c56de14ee95f493
  
https://github.com/WebKit/WebKit/commit/d27a9b023902534f01844dd91c56de14ee95f493
  Author: Basuke Suzuki 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/cmake/OptionsWin.cmake

  Log Message:
  ---
  [Windows] Drop support of older version of Windows.
https://bugs.webkit.org/show_bug.cgi?id=256314

Reviewed by Don Olmstead and Yusuke Suzuki.

Change the supported Windows version from Windows 7 to Windows 10 1809 
"Redstone 5".
Version 1809 is the oldest version which is still supported in Enterprise 
LTSB/LTSC
editions.

https://learn.microsoft.com/en-us/windows/release-health/supported-versions-windows-client

* Source/cmake/OptionsWin.cmake:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 0e10b1: UI process should create RemoteFrame in all proces...

2023-05-08 Thread Alex Christensen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0e10b1b25a875055ce80c3c05760ad7e783ed940
  
https://github.com/WebKit/WebKit/commit/0e10b1b25a875055ce80c3c05760ad7e783ed940
  Author: Alex Christensen 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebKit/Shared/LocalFrameCreationParameters.h
M Source/WebKit/Shared/LocalFrameCreationParameters.serialization.in
M Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp
M Source/WebKit/UIProcess/WebFrameProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
M Source/WebKit/WebProcess/WebPage/WebFrame.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebPage/WebPage.messages.in

  Log Message:
  ---
  UI process should create RemoteFrame in all processes upon frame creation
https://bugs.webkit.org/show_bug.cgi?id=256474
rdar://109047555

Reviewed by Chris Dumez.

With site isolation turned on, the UI process needs to be the source of truth 
for the frame tree state,
and it needs to broadcast changes it gets from one process to all the other 
processes.  This begins that
pattern.  Instead of sending a message to create a local frame or transition a 
remote frame to a local
frame before starting a load in a process, create the remote frame as soon as a 
local frame is made in
another process, then we always transition that remote frame to a local frame 
before starting a load.

* Source/WebKit/Shared/LocalFrameCreationParameters.h:
* Source/WebKit/Shared/LocalFrameCreationParameters.serialization.in:
* Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp:
(WebKit::ProvisionalFrameProxy::ProvisionalFrameProxy):
* Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didCreateSubframe):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::createRemoteSubframesInOtherProcesses):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createRemoteSubframe):
(WebKit::WebPage::transitionFrameToLocalAndLoadRequest):
(WebKit::WebPage::loadRequestByCreatingNewLocalFrameOrConvertingRemoteFrame): 
Deleted.
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] b300e9: [iOS] YouTube playback can unexpectedly interrupt ...

2023-05-08 Thread Aditya Keerthi
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b300e9f2c444288175f0af13b59562609b86c24e
  
https://github.com/WebKit/WebKit/commit/b300e9f2c444288175f0af13b59562609b86c24e
  Author: Aditya Keerthi 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
A LayoutTests/media/audio-play-with-video-element-interrupted-expected.txt
A LayoutTests/media/audio-play-with-video-element-interrupted.html
M Source/WebCore/Modules/audiosession/DOMAudioSession.cpp
M Source/WebCore/Modules/audiosession/DOMAudioSession.h
M Source/WebCore/platform/audio/AudioSession.cpp
M Source/WebCore/platform/audio/AudioSession.h
M Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.cpp
M Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.h
M Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.messages.in
M Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.cpp
M Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.h
M Source/WebKit/WebProcess/GPU/media/RemoteAudioSession.cpp
M Source/WebKit/WebProcess/GPU/media/RemoteAudioSession.h
M Source/WebKit/WebProcess/GPU/media/RemoteAudioSession.messages.in

  Log Message:
  ---
  [iOS] YouTube playback can unexpectedly interrupt other apps playing audio
https://bugs.webkit.org/show_bug.cgi?id=256168
rdar://108741963

Reviewed by Jean-Yves Avenard.

Consider the following sequence of events:

1. Begin playback of a video on YouTube.
2. Open another app like Music, and play some audio while the video is playing.
3. Play the YouTube video again, as it will be paused following (2).
4. Play the audio in Music again, as it will be paused following (3).

After (4), the YouTube video does not get paused, and ends up interrupting
the content in Music. Instead, the same behavior as (2) should occur, where
the video gets paused, and the audio from Music is allowed to play 
uninterrupted.

The issue arises from the existing implemention of audio playback using the
GPU process. With the GPU process, there is now an `AudioSession` in both the
Web and GPU processes. After (2), the system dispatches an
`AVAudioSessionInterruptionNotification` notification, observed in the GPU
process, and used to pause playback. The interruption state is stored on the
`AudioSession` in the GPU process, and is sent to the `AudioSession` in the Web
process (`RemoteAudioSession`). Consequently, the video playback is correctly
paused following (2).

After (3), the video is resumed in the Web process, and the `RemoteAudioSession`
is marked as uninterrupted. However, the `AudioSession` is the GPU process is
not informed that the audio interruption has ended. Consequently, when the
notification is dispatched again after (4), it is ignored, as the GPU process
believes the audio session is already interrupted. This results in a failure
to correctly interrupt the audio session, and media playback in WebKit ends
up interrupting the session in another app.

To fix, ensure the GPU process is notified when interruption ends as a result
of change in the Web process.

* LayoutTests/media/audio-play-with-video-element-interrupted-expected.txt: 
Added.
* LayoutTests/media/audio-play-with-video-element-interrupted.html: Added.

Added a layout test to exercise the issue. Without this fix, the test times out.

* Source/WebCore/Modules/audiosession/DOMAudioSession.cpp:
(WebCore::DOMAudioSession::audioSessionActiveStateChanged):
(WebCore::DOMAudioSession::activeStateChanged): Deleted.
* Source/WebCore/Modules/audiosession/DOMAudioSession.h:
* Source/WebCore/platform/audio/AudioSession.cpp:
(WebCore::AudioSession::activeStateChanged):
* Source/WebCore/platform/audio/AudioSession.h:

Rename an `InterruptionObserver` method that has the same name as an
`AudioSession` method, so that `RemoteAudioSession` (a derived class of
`AudioSession`) can also be an `InterruptionObserver`.

* Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.cpp:
(WebKit::RemoteAudioSessionProxy::beginInterruption):
(WebKit::RemoteAudioSessionProxy::endInterruption):
(WebKit::RemoteAudioSessionProxy::beginInterruptionRemote):

Call into `RemoteAudioSessionProxyManager`, which is the actual
`InterruptionObserver`.

(WebKit::RemoteAudioSessionProxy::endInterruptionRemote):

Ditto.

* Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.h:
* Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.messages.in:

Add new IPC messages to begin/end interruptions from the Web process.

* Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.cpp:
(WebKit::RemoteAudioSessionProxyManager::beginInterruptionRemote):

Temporarily remove `this` as an `InterruptionObserver` to avoid sending a
spurious interruption message to the Web process, since this interruption
was triggered by the Web process.

(WebKit::RemoteAudioSessionProxyManager::endInterruptionRemote):

Ditto.

* Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.h:
* 

[webkit-changes] [WebKit/WebKit] a6579e: Use move semantics for SharedMemory::Handle

2023-05-08 Thread Don Olmstead
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a6579e4702cc972831a3d0bcbd75e9582cdc48d0
  
https://github.com/WebKit/WebKit/commit/a6579e4702cc972831a3d0bcbd75e9582cdc48d0
  Author: Don Olmstead 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp
M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h
M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp
M Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.cpp
M Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.h
M Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.h
M Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm
M Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp
M Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.h
M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp
M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h
M Source/WebKit/Platform/IPC/SharedBufferReference.cpp
M Source/WebKit/Platform/IPC/StreamServerConnectionBuffer.h
M Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp
M Source/WebKit/Platform/SharedMemory.h
M Source/WebKit/Platform/cocoa/SharedMemoryCocoa.cpp
M Source/WebKit/Platform/unix/SharedMemoryUnix.cpp
M Source/WebKit/Platform/win/SharedMemoryWin.cpp
M Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm
M Source/WebKit/Shared/ShareableBitmap.cpp
M Source/WebKit/Shared/ShareableResource.cpp
M Source/WebKit/Shared/WebCompiledContentRuleListData.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.cpp
M Source/WebKit/Shared/WebHitTestResultData.cpp
M Source/WebKit/Shared/WebHitTestResultData.h
M Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
M Source/WebKit/UIProcess/mac/WebPageProxyMac.mm
M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp
M Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp
M 
Source/WebKit/WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp
M 
Source/WebKit/WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.h
M Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp
M Source/WebKit/WebProcess/GPU/webrtc/SharedVideoFrame.cpp
M Source/WebKit/WebProcess/GPU/webrtc/SharedVideoFrame.h
M Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp
M Source/WebKit/WebProcess/Storage/WebSWClientConnection.h
M Source/WebKit/WebProcess/Storage/WebSWOriginTable.cpp
M Source/WebKit/WebProcess/Storage/WebSWOriginTable.h
M Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp
M Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.cpp
M Source/WebKit/WebProcess/WebPage/VisitedLinkTableController.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h

  Log Message:
  ---
  Use move semantics for SharedMemory::Handle
https://bugs.webkit.org/show_bug.cgi?id=255745

Reviewed by Kimmo Kinnunen.

Use move semantics to signify ownership of the `SharedMemory::Handle`.

* Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
* Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h:
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h:
* Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp:
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
* Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
* Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.h:
* Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
* Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
* Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp:
* Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.h:
* Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
* Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h:
* Source/WebKit/Platform/IPC/SharedBufferReference.cpp:
* Source/WebKit/Platform/IPC/StreamServerConnectionBuffer.h:
* Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:
* Source/WebKit/Platform/SharedMemory.h:
* Source/WebKit/Platform/cocoa/SharedMemoryCocoa.cpp:
* Source/WebKit/Platform/unix/SharedMemoryUnix.cpp:
* Source/WebKit/Platform/win/SharedMemoryWin.cpp:
* Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
* Source/WebKit/Shared/ShareableBitmap.cpp:
* Source/WebKit/Shared/ShareableResource.cpp:
* Source/WebKit/Shared/WebCompiledContentRuleListData.cpp:
* 

[webkit-changes] [WebKit/WebKit] 81881e: Sync 'SVGClipPathElement' with IDL Spec and add 't...

2023-05-08 Thread Ahmad Saleem
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 81881e6b668f137e4dd22f54edacc02df0f90c31
  
https://github.com/WebKit/WebKit/commit/81881e6b668f137e4dd22f54edacc02df0f90c31
  Author: Ahmad Saleem 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/idlharness-expected.txt
M LayoutTests/svg/dom/svg2-inheritance-expected.txt
M Source/WebCore/svg/SVGClipPathElement.idl

  Log Message:
  ---
  Sync 'SVGClipPathElement' with IDL Spec and add 'transform' as well

https://bugs.webkit.org/show_bug.cgi?id=256316

Reviewed by Simon Fraser.

This patch aligns WebKit with web-spec [1]:

[1] https://drafts.fxtf.org/css-masking/#InterfaceSVGClipPathElement

This is also part of Interop 2023.

* Source/WebCore/svg/SVGClipPathElement.idl: As above
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/idlharness-expected.txt:
 Rebaselined
* LayoutTests/svg/dom/svg2-inheritance-expected.txt: Rebaselined

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] cb7d4f: AttributeModificationReason should be an enum class

2023-05-08 Thread Ryosuke Niwa
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cb7d4f918f6d3c771ffe7411ed0987d843480cb7
  
https://github.com/WebKit/WebKit/commit/cb7d4f918f6d3c771ffe7411ed0987d843480cb7
  Author: Ryosuke Niwa 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/dom/Element.cpp
M Source/WebCore/dom/Element.h
M Source/WebCore/dom/StyledElement.cpp
M Source/WebCore/dom/StyledElement.h
M Source/WebCore/html/HTMLInputElement.h
M Source/WebCore/html/HTMLMetaElement.h
M Source/WebCore/mathml/MathMLSelectElement.h
M Source/WebCore/svg/SVGElement.h

  Log Message:
  ---
  AttributeModificationReason should be an enum class
https://bugs.webkit.org/show_bug.cgi?id=256421

Reviewed by Chris Dumez.

* Source/WebCore/dom/Element.cpp:
(WebCore::Element::parserSetAttributes):
(WebCore::Element::cloneAttributesFromElement):
* Source/WebCore/dom/Element.h:
* Source/WebCore/dom/StyledElement.cpp:
(WebCore::StyledElement::styleAttributeChanged):
* Source/WebCore/dom/StyledElement.h:
* Source/WebCore/html/HTMLInputElement.h:
* Source/WebCore/html/HTMLMetaElement.h:
* Source/WebCore/mathml/MathMLSelectElement.h:
* Source/WebCore/svg/SVGElement.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 3f7af1: [UI-side compositing] Guard against UI process han...

2023-05-08 Thread Simon Fraser
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3f7af1859b92db6b242e50fa76450385e91628e0
  
https://github.com/WebKit/WebKit/commit/3f7af1859b92db6b242e50fa76450385e91628e0
  Author: Simon Fraser 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp

  Log Message:
  ---
  [UI-side compositing] Guard against UI process hangs caused by incorrect 
frame rate data
https://bugs.webkit.org/show_bug.cgi?id=256399
rdar://108954321

Reviewed by Chris Dumez.

The spin report in the radar suggests that the Safari main thread is blocked on
RemoteLayerTreeEventDispatcher::mainThreadDisplayDidRefresh() because the 
scrolling thread
is stuck in 
RemoteLayerTreeEventDispatcher::waitForRenderingUpdateCompletionOrTimeout().
The only way this can happen is that we send a long timeout to 
m_stateCondition.waitUntil(),
but this timeout should be at most half of the frame duration.

So protect against bad m_scrollingTree->frameDuration() data by imposing a cap
at at most 32ms on this timeout, and release log if it seems wrong.

* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp:
(WebKit::RemoteLayerTreeEventDispatcher::waitForRenderingUpdateCompletionOrTimeout):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 0fd2f4: EditorCommandSource and EditorParagraphSeparator s...

2023-05-08 Thread Ryosuke Niwa
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0fd2f46306b7c97422a6668742c5b94dae9ea872
  
https://github.com/WebKit/WebKit/commit/0fd2f46306b7c97422a6668742c5b94dae9ea872
  Author: Ryosuke Niwa 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/TextEvent.h
M Source/WebCore/editing/Editing.cpp
M Source/WebCore/editing/Editor.cpp
M Source/WebCore/editing/Editor.h
M Source/WebCore/editing/EditorCommand.cpp

  Log Message:
  ---
  EditorCommandSource and EditorParagraphSeparator should be enum classes
https://bugs.webkit.org/show_bug.cgi?id=256446

Reviewed by Wenson Hsieh.

Made them enum classes.

* Source/WebCore/dom/Document.cpp:
(WebCore::command):
* Source/WebCore/dom/TextEvent.h:
* Source/WebCore/editing/Editing.cpp:
(WebCore::createDefaultParagraphElement):
* Source/WebCore/editing/Editor.cpp:
(WebCore::Editor::clear):
* Source/WebCore/editing/Editor.h:
* Source/WebCore/editing/EditorCommand.cpp:
(WebCore::applyCommandToFrame):
(WebCore::executeApplyParagraphStyle):
(WebCore::executeCopy):
(WebCore::executeCopyFont):
(WebCore::executeCut):
(WebCore::executeDefaultParagraphSeparator):
(WebCore::executeDelete):
(WebCore::executeForwardDelete):
(WebCore::executeInsertLineBreak):
(WebCore::executePaste):
(WebCore::executePasteFont):
(WebCore::executePasteGlobalSelection):
(WebCore::executePasteAndMatchStyle):
(WebCore::executePasteAsPlainText):
(WebCore::executePasteAsQuotation):
(WebCore::enabledCopy):
(WebCore::enabledCut):
(WebCore::enabledDelete):
(WebCore::enabledPaste):
(WebCore::valueDefaultParagraphSeparator):
(WebCore::allowExecutionWhenDisabledCopyCut):
(WebCore::Editor::command):
(WebCore::Editor::Command::isSupported const):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 6537be: Unreviewed build fix on macOS

2023-05-08 Thread Chris Dumez
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6537be3e9a0b73a0b05b521b104238713050f9f4
  
https://github.com/WebKit/WebKit/commit/6537be3e9a0b73a0b05b521b104238713050f9f4
  Author: Chris Dumez 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm

  Log Message:
  ---
  Unreviewed build fix on macOS
https://bugs.webkit.org/show_bug.cgi?id=256476
rdar://109042873

* Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerViewController enterFullScreenAnimated:completionHandler:]):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 05fc19: iOS: Duplicate WebGL content after switching away ...

2023-05-08 Thread Kimmo Kinnunen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 05fc19839037c4e09946ed54a19b4a1ea5820d9b
  
https://github.com/WebKit/WebKit/commit/05fc19839037c4e09946ed54a19b4a1ea5820d9b
  Author: Kimmo Kinnunen 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/platform/graphics/GraphicsLayerClient.h
M Source/WebCore/platform/graphics/ca/TileGrid.cpp
M Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm
M Source/WebCore/platform/graphics/mac/WebLayer.mm
M Source/WebCore/rendering/PaintPhase.h
M Source/WebCore/rendering/RenderBoxModelObject.cpp
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayerBacking.cpp
M Source/WebCore/rendering/RenderWidget.cpp
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
M Source/WebKitLegacy/mac/WebView/WebFrame.mm

  Log Message:
  ---
  iOS: Duplicate WebGL content after switching away from Safari and coming back
https://bugs.webkit.org/show_bug.cgi?id=256039
rdar://87609216

Reviewed by Simon Fraser.

Minimizing to Dock (macOS) or going to home screen (iOS) would suspend
the page and discard decoded images. After coming back to the view,
the view compositing context would be marked as
nextRenderingUpdateRequiresSynchronousImageDecoding. This is done
in order to obtain full image of the loaded page with images.

This "paint images with synchronous image decode" would be implemented
with GraphicsLayerPaintBehavior::Snapshot. This would trigger
WebCore::PaintBehavior::Snapshotting. However, in painting,
Snapshotting would serve two purposes:
  1) Draw composited content for snapshot-like behavior
  2) Force the synchronous image decode.

This would mean that WebGL or Video would be painted to the background
layer, since the element would think the paint would be in snapshot-like
state whenever the intention is to force the synchronous image decoding.

Snapshot-like behavior is following:
 - The whole render tree is painted from root down, visiting all content
   in all render layers, including those typically painted to compositing
   layers
 - The paint is intended for external use, so it is "one shot only".
   This means the content, including the images, must be painted.
 - The paint should not modify the paint state related to the real
   compositing paint state.

Instead:
Remove GraphicsLayerPaintBehavior::Snapshot, GraphicsLayers are never
drawn in snapshot-like manner. GraphicsLayers are painted per graphics
layer, even in renderInContext case. Use
GraphicsLayerPaintBehavior::ForceSynchronousImageDecode to signify that
the image content has to end up painted by the paint

Rename GraphicsLayerPaintBehaviorFirstTilePaint to
GraphicsLayerPaintBehavior::DefaultAsynchronousImageDecode.
"FirstTilePaint" is not a "paint behavior". This was used to signify
"paint fast since this is first paint, do not decode images even if
they are in the viewport unless they're marked as sync decode".

Add corresponding WebCore::PaintBehavior flags, with corresponding
rationale. WebCore::PaintBehavior::Snapshotting is preserved for now.
This also should be removed, as it is not "paint behavior", it is "paint
reason". In future patches it should possibly be defined in terms of
real paint behaviors, namely FlattenCompositingLayers,
ForceSynchronousImageDecode.

* Source/WebCore/display/compositing/DisplayLayerController.cpp:
(WebCore::Display::LayerController::RootLayerClient::paintContents):
* Source/WebCore/display/compositing/DisplayLayerController.h:
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::willPaintContents):
* Source/WebCore/page/PageOverlayController.cpp:
(WebCore::PageOverlayController::paintContents):
* Source/WebCore/page/PageOverlayController.h:
* Source/WebCore/page/linux/ResourceUsageOverlayLinux.cpp:
* Source/WebCore/platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::paintGraphicsLayerContents):
* Source/WebCore/platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::paintGraphicsLayerContents):
* Source/WebCore/platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::paintContents):
(): Deleted.
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::platformCALayerPaintContents):
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h:
* Source/WebCore/platform/graphics/ca/PlatformCALayer.h:
* Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h:
* Source/WebCore/platform/graphics/ca/TileCoverageMap.cpp:
(WebCore::TileCoverageMap::platformCALayerPaintContents):
* Source/WebCore/platform/graphics/ca/TileCoverageMap.h:
* Source/WebCore/platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::platformCALayerPaintContents):
* Source/WebCore/platform/graphics/ca/TileGrid.h:
* Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(WebCore::PlatformCALayer::drawLayerContents):
* 

[webkit-changes] [WebKit/WebKit] 7f5b08: REGRESSION (261186@main): Linker warnings for WKPr...

2023-05-08 Thread Commit Queue
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7f5b080ae4a01b12899c01f04f4eb1d8bea829a9
  
https://github.com/WebKit/WebKit/commit/7f5b080ae4a01b12899c01f04f4eb1d8bea829a9
  Author: David Kilzer 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm

  Log Message:
  ---
  REGRESSION (261186@main): Linker warnings for 
WKPreferences.inactiveSchedulingPolicy property methods
https://bugs.webkit.org/show_bug.cgi?id=256431


Reviewed by Alex Christensen.

Move the methods to the correct Objective-C category to fix the
bug.

* Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences setInactiveSchedulingPolicy:]):
(-[WKPreferences inactiveSchedulingPolicy]):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] d76f2c: Fix various -Werror build failures

2023-05-08 Thread Michael Catanzaro
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d76f2c41bc3b68f5c8500cc4201855ae17811e78
  
https://github.com/WebKit/WebKit/commit/d76f2c41bc3b68f5c8500cc4201855ae17811e78
  Author: Michael Catanzaro 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M 
Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
M Tools/MiniBrowser/gtk/main.c
M Tools/TestWebKitAPI/Tests/WebCore/FloatSizeTests.cpp

  Log Message:
  ---
  Fix various -Werror build failures
https://bugs.webkit.org/show_bug.cgi?id=256466

Unreviewed build fixes.

Fix unused variable warnings, plus placate Clang's overaggressive
-Wmissing-field-initializers in MiniBrowser.

* Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
* Tools/MiniBrowser/gtk/main.c:
(addSettingsGroupToContext):
* Tools/TestWebKitAPI/Tests/WebCore/FloatSizeTests.cpp:
(TestWebKitAPI::TEST):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 3163f4: Fix false-positive bad release after calling H264B...

2023-05-08 Thread Commit Queue
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3163f4a6e89a3a907222d60e6ee0bdc2ce6f8a90
  
https://github.com/WebKit/WebKit/commit/3163f4a6e89a3a907222d60e6ee0bdc2ce6f8a90
  Author: David Kilzer 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M 
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm
M 
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm
A 
Source/ThirdParty/libwebrtc/WebKit/0001-Fix-false-positive-bad-release-after-calling-H264Buf.patch

  Log Message:
  ---
  Fix false-positive bad release after calling 
H264BufferToCMSampleBuffer/H265BufferToCMSampleBuffer
https://bugs.webkit.org/show_bug.cgi?id=256432


Reviewed by Youenn Fablet.

Add CF_RETURNS_RETAINED to both methods to fix the false
positive bad releases.  This lets the clang static analyzer
reason properly about the return value of these functions.

* 
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:
(H264BufferToCMSampleBuffer):
* 
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm:
(H265BufferToCMSampleBuffer):
* 
Source/ThirdParty/libwebrtc/WebKit/0001-Fix-false-positive-bad-release-after-calling-H264Buf.patch:
 Add.

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 1ffbfe: Disallow caching of StyleSheetContents that uses n...

2023-05-08 Thread Antti Koivisto
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1ffbfef4c616e64e54e0a9257f1268ab3ba8f227
  
https://github.com/WebKit/WebKit/commit/1ffbfef4c616e64e54e0a9257f1268ab3ba8f227
  Author: Antti Koivisto 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/css/CSSGroupingRule.cpp
M Source/WebCore/css/CSSStyleSheet.cpp
M Source/WebCore/css/StyleSheetContents.cpp
M Source/WebCore/css/StyleSheetContents.h
M Source/WebCore/css/parser/CSSParserImpl.cpp

  Log Message:
  ---
  Disallow caching of StyleSheetContents that uses nesting
https://bugs.webkit.org/show_bug.cgi?id=256449
rdar://108758349

Reviewed by Alan Baradlay.

Mutations to cached document may affect other stylesheets.

* Source/WebCore/css/CSSGroupingRule.cpp:
(WebCore::CSSGroupingRule::prepareChildStyleRuleForNesting):
* Source/WebCore/css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::prepareChildStyleRuleForNesting):
* Source/WebCore/css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::isCacheable const):
* Source/WebCore/css/StyleSheetContents.h:
* Source/WebCore/css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeRegularRuleList):
(WebCore::CSSParserImpl::consumeStyleRule):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] e4e4f4: HTMLCanvasElement accesses ImageBufferBackend

2023-05-08 Thread Kimmo Kinnunen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e4e4f40e8fbd6a284baf8ccbda286c2f7f680c56
  
https://github.com/WebKit/WebKit/commit/e4e4f40e8fbd6a284baf8ccbda286c2f7f680c56
  Author: Kimmo Kinnunen 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/html/HTMLCanvasElement.cpp
M Source/WebCore/html/HTMLCanvasElement.h

  Log Message:
  ---
  HTMLCanvasElement accesses ImageBufferBackend
https://bugs.webkit.org/show_bug.cgi?id=255984
rdar://10882

Reviewed by Matt Woodrow.

Remove the ad-hoc access of ImageBufferBackend in HTMLCanvasElement.

The original code in bug 231163 tried to work around the
case where Canvas was in GPUP but DOM access was in WP, and when
the RemoteImageBufferProxy, ImageBufferIOSurfaceBackend ehad bugs
related to flushing the drawing before external access.

These issues have been worked on now, and it should be safe to remove
the workaround. Also current Cocoa trunk builds are all in different
configuration (full GPUP).

* Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
(WebCore::HTMLCanvasElement::drawingContext const): Deleted.
* Source/WebCore/html/HTMLCanvasElement.h:
* Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 03ed22: [GStreamer][WebRTC] Outgoing video with odd dimens...

2023-05-08 Thread Philippe Normand
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 03ed22e40854af5ac798de592c22f7e7c22706ab
  
https://github.com/WebKit/WebKit/commit/03ed22e40854af5ac798de592c22f7e7c22706ab
  Author: Philippe Normand 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.h
M 
Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.h

  Log Message:
  ---
  [GStreamer][WebRTC] Outgoing video with odd dimensions refused by encoder
https://bugs.webkit.org/show_bug.cgi?id=256368

Reviewed by Xabier Rodriguez-Calvar.

Video encoders require a multiple of two frame size. At least x264enc does 
anyway. This can't easily
be applied in our encoder wrapper, so we do it in the MediaStream source 
instead.

* Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp:
(WebCore::VideoFrameGStreamer::resizedSample):
(WebCore::VideoFrameGStreamer::resizeTo):
* Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.h:
* Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 0d267f: RemoteDisplayListRecorder sends trivial transforms...

2023-05-08 Thread Kimmo Kinnunen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0d267f7455a4b8f173a0151f7e39a8e651691e3f
  
https://github.com/WebKit/WebKit/commit/0d267f7455a4b8f173a0151f7e39a8e651691e3f
  Author: Kimmo Kinnunen 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp
M Tools/TestWebKitAPI/Tests/WebCore/DisplayListRecorderTests.cpp

  Log Message:
  ---
  RemoteDisplayListRecorder sends trivial transforms to GPUP
https://bugs.webkit.org/show_bug.cgi?id=256362
rdar://108945948

Reviewed by Simon Fraser and Said Abou-Hallawa.

Avoid sending trivial translates, scales, rotates.
Avoids small amount of CPU work.

* Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::translate):
(WebCore::DisplayList::Recorder::rotate):
(WebKit::RemoteLayerBackingStore::drawInContext):
* Tools/TestWebKitAPI/Tests/WebCore/DisplayListRecorderTests.cpp:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 26583b: Fix variable-opsz-size-adjust.html (optical size) ...

2023-05-08 Thread Vitor Roriz
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 26583bfadc4b660692b9cdaa5cd0227785c8fd4f
  
https://github.com/WebKit/WebKit/commit/26583bfadc4b660692b9cdaa5cd0227785c8fd4f
  Author: Vitor Roriz 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M LayoutTests/TestExpectations
M LayoutTests/platform/gtk/TestExpectations
M LayoutTests/platform/wpe/TestExpectations
M 
Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp

  Log Message:
  ---
  Fix variable-opsz-size-adjust.html (optical size) test fails (255862)
https://bugs.webkit.org/show_bug.cgi?id=255862
rdar://108447198

Reviewed by Myles C. Maxfield.

UnrealizedFont was getting size before size-adjust adjustment and for that
reason size-adjust was not affecting the optical-size.

* LayoutTests/TestExpectations:
- Bug fixed for CoreText.

* LayoutTests/platform/gtk/TestExpectations:
* LayoutTests/platform/wpe/TestExpectations:
- It still fails for FreeType, so I'm creating a separated bug.

* Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] ac78e4: [GStreamer][WebRTC] Incoming audio streaming somet...

2023-05-08 Thread Philippe Normand
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ac78e4bede06668c4158bf218562c438593eb3df
  
https://github.com/WebKit/WebKit/commit/ac78e4bede06668c4158bf218562c438593eb3df
  Author: Philippe Normand 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M 
Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp

  Log Message:
  ---
  [GStreamer][WebRTC] Incoming audio streaming sometimes remains silent
https://bugs.webkit.org/show_bug.cgi?id=256453

Reviewed by Xabier Rodriguez-Calvar.

The playback appsrc latency query is no longer forwarded to the webrtc appsink. 
The latency query is
thus handled by appsrc/basesrc.

* Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 3f7511: [GStreamer] Fix 1.23 appsink build warning in Audi...

2023-05-08 Thread Philippe Normand
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3f75119ce2dad19a9cb310db1c7abd5d64f46134
  
https://github.com/WebKit/WebKit/commit/3f75119ce2dad19a9cb310db1c7abd5d64f46134
  Author: Philippe Normand 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp

  Log Message:
  ---
  [GStreamer] Fix 1.23 appsink build warning in AudioFileReader
https://bugs.webkit.org/show_bug.cgi?id=256448

Reviewed by Xabier Rodriguez-Calvar.

Following-up after 263669@main.

* Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::handleNewDeinterleavePad):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] fff290: [GStreamer][WebCodecs] Video decoder flush should ...

2023-05-08 Thread Philippe Normand
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fff29015f30320e2451013f6bbb3563caedc2f82
  
https://github.com/WebKit/WebKit/commit/fff29015f30320e2451013f6bbb3563caedc2f82
  Author: Philippe Normand 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M LayoutTests/platform/glib/TestExpectations
M Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp
M Source/WebCore/platform/gstreamer/GStreamerElementHarness.cpp
M Source/WebCore/platform/gstreamer/GStreamerElementHarness.h

  Log Message:
  ---
  [GStreamer][WebCodecs] Video decoder flush should not clear caps and sticky 
events
https://bugs.webkit.org/show_bug.cgi?id=256376

Reviewed by Xabier Rodriguez-Calvar.

The element harness now has API to flush only buffers, eg force processing of 
the currently queued
output buffers, without clearing input caps and sticky events. The decoder uses 
that API, there's no
need to explicitly re-push new caps or sticky events because the input format 
is not expected to
change across flushes.

* LayoutTests/platform/glib/TestExpectations:
* Source/WebCore/platform/graphics/gstreamer/VideoDecoderGStreamer.cpp:
(WebCore::GStreamerInternalVideoDecoder::flush):
* Source/WebCore/platform/gstreamer/GStreamerElementHarness.cpp:
(WebCore::GStreamerElementHarness::flush):
(WebCore::GStreamerElementHarness::flushBuffers):
* Source/WebCore/platform/gstreamer/GStreamerElementHarness.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 465879: Cherry-pick 263714@main (56d72f891945). https://bu...

2023-05-08 Thread Michael Catanzaro
  Branch: refs/heads/webkitglib/2.40
  Home:   https://github.com/WebKit/WebKit
  Commit: 46587900dc7976212c0709c40a627f20eab0f62d
  
https://github.com/WebKit/WebKit/commit/46587900dc7976212c0709c40a627f20eab0f62d
  Author: Michael Catanzaro 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/JavaScriptCore/API/glib/JSCClass.cpp
M Source/JavaScriptCore/API/glib/JSCContext.cpp
M Source/JavaScriptCore/API/glib/JSCValue.cpp
M Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp
M Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp
M Source/WebKit/UIProcess/API/glib/WebKitNetworkSession.cpp
M Source/WebKit/UIProcess/API/glib/WebKitUserContentFilterStore.cpp
M Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
M Source/WebKit/UIProcess/API/glib/WebKitWebResource.cpp
M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp
M Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp
M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebExtension.cpp
M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp
M 
Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebProcessExtension.cpp

  Log Message:
  ---
  Cherry-pick 263714@main (56d72f891945). 
https://bugs.webkit.org/show_bug.cgi?id=256335

[GLib] Audit and fix incorrect use of (closure) in WebKit
https://bugs.webkit.org/show_bug.cgi?id=256335

Reviewed by Adrian Perez de Castro.

Following Emmanuele's guidance in 
https://www.bassi.io/articles/2023/02/20/bindable-api-2023/ I have audited our 
use of (closure) annotations in WebKit and found they are all incorrect. Unary 
(closure) is only allowed on function typedefs; in function declarations an 
argument is always required, e.g. (closure user_data). But (closure user_data) 
is actually default, so most of our annotations can actually be removed.

It looks like this was not causing many problems in practice. For example, 
let's look at the callback parameter to jsc_class_add_constructor generated 
*before* this patch:

  
a #GCallback to be called to create an instance 
of @jsc_class

  

This already looks fine: it knows the closure parameter comes right after 
callback, which is the correct order. So even though Emmanuele says this use of 
unary closure was incorrect, it wasn't causing problems in practice.

Looking through the generated JavaScriptCore-6.0.gir, this results in gir 
changes for only jsc_value_new_array_buffer and 
jsc_value_new_typed_array_with_buffer, where the closure parameter was 
previously not detected, which is now fixed. I don't think this resulted in any 
changes to WebKit-6.0.gir.

I've also fixed WPE's webkit_web_view_add_frame_displayed_callback() where 
the callback parameter defaulted to (scope call), causing it to be valid only 
for the duration of the function call.

* Source/JavaScriptCore/API/glib/JSCClass.cpp:
* Source/JavaScriptCore/API/glib/JSCContext.cpp:
* Source/JavaScriptCore/API/glib/JSCValue.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitFaviconDatabase.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitNetworkSession.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitUserContentFilterStore.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitWebResource.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp:
* Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
* Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebExtension.cpp:
* Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
* 
Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebProcessExtension.cpp:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] c49bd9: [GStreamer][MSE] Decoder sometimes receives caps e...

2023-05-08 Thread Philippe Normand
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c49bd915d945920f4ab068450f981203b2dbce6d
  
https://github.com/WebKit/WebKit/commit/c49bd915d945920f4ab068450f981203b2dbce6d
  Author: Philippe Normand 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp

  Log Message:
  ---
  [GStreamer][MSE] Decoder sometimes receives caps event before stream-start
https://bugs.webkit.org/show_bug.cgi?id=256428

Reviewed by Xabier Rodriguez-Calvar.

Warn about caps event reaching the video decoder before stream-start. This is a 
temporary workaround
for broken behaviour of the playbin3/webkitmediasource combo.

* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setupCodecProbe):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 12f69a: GraphicsLayerPaintBehavior should be a OptionSet

2023-05-08 Thread Kimmo Kinnunen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 12f69a0befe118fa63e102842146ee121fd3e5b9
  
https://github.com/WebKit/WebKit/commit/12f69a0befe118fa63e102842146ee121fd3e5b9
  Author: Kimmo Kinnunen 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/display/compositing/DisplayLayerController.cpp
M Source/WebCore/display/compositing/DisplayLayerController.h
M Source/WebCore/page/PageOverlayController.cpp
M Source/WebCore/page/PageOverlayController.h
M Source/WebCore/page/linux/ResourceUsageOverlayLinux.cpp
M Source/WebCore/platform/graphics/GraphicsLayer.cpp
M Source/WebCore/platform/graphics/GraphicsLayer.h
M Source/WebCore/platform/graphics/GraphicsLayerClient.h
M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h
M Source/WebCore/platform/graphics/ca/PlatformCALayer.h
M Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h
M Source/WebCore/platform/graphics/ca/TileCoverageMap.cpp
M Source/WebCore/platform/graphics/ca/TileCoverageMap.h
M Source/WebCore/platform/graphics/ca/TileGrid.cpp
M Source/WebCore/platform/graphics/ca/TileGrid.h
M Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm
M Source/WebCore/platform/graphics/mac/WebLayer.mm
M Source/WebCore/platform/mac/DataDetectorHighlight.h
M Source/WebCore/platform/mac/DataDetectorHighlight.mm
M Source/WebCore/rendering/RenderLayerBacking.cpp
M Source/WebCore/rendering/RenderLayerBacking.h
M Source/WebCore/rendering/RenderLayerCompositor.cpp
M Source/WebCore/rendering/RenderLayerCompositor.h
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp
M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.h

  Log Message:
  ---
  GraphicsLayerPaintBehavior should be a OptionSet
https://bugs.webkit.org/show_bug.cgi?id=256451
rdar://109031023

Reviewed by Antti Koivisto.

It is easier to reason about the conditional code when the code will
match other WebKit code using OptionSets.
Replaces GraphicsLayerPaintNormal with empty option set.

This work is preparation of renaming the enumerations to better match
what they intend to do.

* Source/WebCore/display/compositing/DisplayLayerController.cpp:
(WebCore::Display::LayerController::RootLayerClient::paintContents):
* Source/WebCore/display/compositing/DisplayLayerController.h:
* Source/WebCore/page/PageOverlayController.cpp:
(WebCore::PageOverlayController::paintContents):
* Source/WebCore/page/PageOverlayController.h:
* Source/WebCore/page/linux/ResourceUsageOverlayLinux.cpp:
* Source/WebCore/platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::paintGraphicsLayerContents):
* Source/WebCore/platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::paintGraphicsLayerContents):
* Source/WebCore/platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::paintContents):
(): Deleted.
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::platformCALayerPaintContents):
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h:
* Source/WebCore/platform/graphics/ca/PlatformCALayer.h:
* Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h:
* Source/WebCore/platform/graphics/ca/TileCoverageMap.cpp:
(WebCore::TileCoverageMap::platformCALayerPaintContents):
* Source/WebCore/platform/graphics/ca/TileCoverageMap.h:
* Source/WebCore/platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::platformCALayerPaintContents):
* Source/WebCore/platform/graphics/ca/TileGrid.h:
* Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(WebCore::PlatformCALayer::drawLayerContents):
* Source/WebCore/platform/graphics/mac/WebLayer.mm:
(-[WebLayer drawInContext:]):
(-[WebSimpleLayer drawInContext:]):
* Source/WebCore/platform/mac/DataDetectorHighlight.h:
* Source/WebCore/platform/mac/DataDetectorHighlight.mm:
(WebCore::DataDetectorHighlight::paintContents):
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintContents):
* Source/WebCore/rendering/RenderLayerBacking.h:
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::paintContents):
* Source/WebCore/rendering/RenderLayerCompositor.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::drawInContext):
* 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp:
(WebKit::LayerTreeHost::paintContents):
* 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.h:

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 967f74: Fix type confusion in StyleBuilderCustom::ApplyVal...

2023-05-08 Thread Arunsundar Kannan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 967f74508a933d74938539523c1559ff2f08147c
  
https://github.com/WebKit/WebKit/commit/967f74508a933d74938539523c1559ff2f08147c
  Author: Arunsundar Kannan 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
A 
LayoutTests/fast/css/style-builder-custom-apply-value-will-change-type-confusion-expected.txt
A 
LayoutTests/fast/css/style-builder-custom-apply-value-will-change-type-confusion.html
M Source/WebCore/style/StyleBuilderCustom.h

  Log Message:
  ---
  Fix type confusion in StyleBuilderCustom::ApplyValueWillChange.
https://bugs.webkit.org/show_bug.cgi?id=256053.
rdar://108502113.

Reviewed by Antti Koivisto.

This change fixes applyValueWillChange so that it can deal with single
values instead of expecting a list of values towards the end.

* 
LayoutTests/fast/css/style-builder-custom-apply-value-will-change-type-confusion-expected.txt:
 Added.
* 
LayoutTests/fast/css/style-builder-custom-apply-value-will-change-type-confusion.html:
 Added.
* Source/WebCore/style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueWillChange):

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] fc81fe: REGRESSION (244038@main): toPKShippingMethods() ca...

2023-05-08 Thread Commit Queue
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fc81fe749d70e476de48c63805441c682dac982b
  
https://github.com/WebKit/WebKit/commit/fc81fe749d70e476de48c63805441c682dac982b
  Author: David Kilzer 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebKit/Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm

  Log Message:
  ---
  REGRESSION (244038@main): toPKShippingMethods() causes leaks by returning 
retained object unexpectedly
https://bugs.webkit.org/show_bug.cgi?id=256439


Reviewed by Wenson Hsieh and Devin Rousso.

* Source/WebKit/Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::toPKShippingMethods):
- Adopt and autorelease the return value to fix the leak.

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] e6f69b: REGRESSION (251295@main): -[WKWebInspectorUISaveCo...

2023-05-08 Thread Commit Queue
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e6f69b44fce622290b8b6c36bc438383ce456977
  
https://github.com/WebKit/WebKit/commit/e6f69b44fce622290b8b6c36bc438383ce456977
  Author: David Kilzer 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebKit/UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm

  Log Message:
  ---
  REGRESSION (251295@main): -[WKWebInspectorUISaveController 
initWithSaveDatas:savePanel:] leaks an NSView
https://bugs.webkit.org/show_bug.cgi?id=256440


Reviewed by Devin Rousso.

* Source/WebKit/UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm:
(-[WKWebInspectorUISaveController initWithSaveDatas:savePanel:]):
- Use adoptNS().get() to fix the leak.

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] d57e03: REGRESSION (244460@main): Stop using RetainPtr<>::...

2023-05-08 Thread Commit Queue
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d57e039ea7119851ddf2cb8b19c55bbd62b9187d
  
https://github.com/WebKit/WebKit/commit/d57e039ea7119851ddf2cb8b19c55bbd62b9187d
  Author: David Kilzer 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.mm

  Log Message:
  ---
  REGRESSION (244460@main): Stop using RetainPtr<>::autorelease() in 
createNSArray() lambda
https://bugs.webkit.org/show_bug.cgi?id=256438


Reviewed by Chris Dumez.

This prevents these objects from being put into an
autoreleasePool, and may fix a false-postive leak reported by
clang static analyzer.

* Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.mm:
(-[_WKApplicationManifest icons]):
- Remove use of RetainPtr<>::autorelease() in createNSArray().

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 72712b: REGRESSION(263719@main): KeyframeList.h depends on...

2023-05-08 Thread Ross Kirsling
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 72712be1177bac5d22a9c14926f9f37ccb5ab538
  
https://github.com/WebKit/WebKit/commit/72712be1177bac5d22a9c14926f9f37ccb5ab538
  Author: Ross Kirsling 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M Source/WebCore/rendering/style/KeyframeList.h

  Log Message:
  ---
  REGRESSION(263719@main): KeyframeList.h depends on RenderStyle.h
https://bugs.webkit.org/show_bug.cgi?id=256447

Unreviewed PlayStation (or non-unified) build fix.

* Source/WebCore/rendering/style/KeyframeList.h:
Upgrade forward decl to include.

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 6a08e9: Input[type=date] with invalid date should return e...

2023-05-08 Thread Ahmad Saleem
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6a08e90633f7219e33c16a58f294c5a5a7f32d4a
  
https://github.com/WebKit/WebKit/commit/6a08e90633f7219e33c16a58f294c5a5a7f32d4a
  Author: Ahmad Saleem 
  Date:   2023-05-08 (Mon, 08 May 2023)

  Changed paths:
M 
LayoutTests/fast/forms/date/date-editable-components/date-editable-components-keyboard-events-expected.txt
M 
LayoutTests/fast/forms/date/date-editable-components/date-editable-components-keyboard-events.html
M Source/WebCore/html/BaseDateAndTimeInputType.cpp

  Log Message:
  ---
  Input[type=date] with invalid date should return empty string for value IDL 
attribute instead of the default value

https://bugs.webkit.org/show_bug.cgi?id=120038

Reviewed by Ryosuke Niwa.

This patch aligns WebKit with Chromium / Blink and Firefox / Gecko.

Merge - 
https://chromium.googlesource.com/chromium/blink/+/cb52052e3522824fa9ffc73cb34667492d47d976

BaseDateAndTimeInputType::sanitizeValue should return an empty string if the
input string is invalid.

* Source/WebCore/html/BaseDateAndTimeInputType.cpp
(BaseDateAndTimeInputType::sanitizeValue): Return 'emptyString'
* 
LayoutTests/fast/forms/date/date-editable-components/date-editable-components-keyboard-events.html:
 Add 'emptyString' test
* 
LayoutTests/fast/forms/date/date-editable-components/date-editable-components-keyboard-events-expected.txt:
 Update Expectations for new sub-test

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


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes