[webkit-changes] [WebKit/WebKit] e89ed5: [JSC] Kill Air's special condition for code size

2023-03-04 Thread Yusuke Suzuki
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e89ed51e07de76eb4c3488a4d9b80befc7c672b6
  
https://github.com/WebKit/WebKit/commit/e89ed51e07de76eb4c3488a4d9b80befc7c672b6
  Author: Yusuke Suzuki 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/JavaScriptCore/runtime/Options.cpp
M Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp

  Log Message:
  ---
  [JSC] Kill Air's special condition for code size
https://bugs.webkit.org/show_bug.cgi?id=253405
rdar://106244263

Reviewed by Mark Lam.

When we have only 128MB executable memory and we don't have interpreter for 
wasm,
some websites exhaust executable memory since all the code is compiled in Air 
apriori.
And at that time, we introduced a hack which switches to B3 compilation instead 
of Air
since B3 generates smaller code.

But now, we have 512MB executable memory, and we have interpreter. So even when 
executable
memory gets exhausted, we don't crash. Plus, Air BBQ gets replaced with new BBQ 
which generates
2x~ smaller code than Air BBQ. And because of interpreter, executable memory 
usage is significantly
lower than before anyway.

This patch removes the introduced hack at that time, when new BBQJIT is 
enabled. We ensured that
original websites requiring this hack works fine without this hack at this 
point. (rdar://54275409)

* Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::planGeneratesLoopOSREntrypoints):
(JSC::Wasm::BBQPlan::compileFunction):
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):

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


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


[webkit-changes] [WebKit/WebKit] 121ab6: image-decoders code fails to compile with -Wthread...

2023-03-04 Thread Myles C. Maxfield
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 121ab62cae80a9f4b937c0cc4c3633ae52502dad
  
https://github.com/WebKit/WebKit/commit/121ab62cae80a9f4b937c0cc4c3633ae52502dad
  Author: Myles C. Maxfield 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/WebCore/SourcesCocoa.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.cpp
M Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.h
A Source/WebCore/platform/image-decoders/jpegxl/JxlDecoderPtr.h

  Log Message:
  ---
  image-decoders code fails to compile with -Wthread-safety-analysis
https://bugs.webkit.org/show_bug.cgi?id=253397
rdar://106239523

Reviewed by Simon Fraser.

This patch mostly adds WTF_REQUIRES_LOCK() annotations to places that need it.

It also switches out use of C++ API to C API, for binary compatibility.

No test because there is no behavior change.

* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.cpp:
(WebCore::JPEGXLImageDecoder::imageOutCallback):
(WebCore::JPEGXLImageDecoder::prepareColorTransform):
* Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.h:
* Source/WebCore/platform/image-decoders/jpegxl/JxlDecoderRAII.h: Added.
(JxlDecoderPtr::JxlDecoderPtr):
(JxlDecoderPtr::operator=):
(JxlDecoderPtr::~JxlDecoderPtr):
(JxlDecoderPtr::reset):
(JxlDecoderPtr::operator bool const):
(JxlDecoderPtr::get const):
(JxlDecoderMake):

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


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


[webkit-changes] [WebKit/WebKit] 6d41b0: Switch from WTF::Span to std::span

2023-03-04 Thread EWS
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6d41b0f74b61f318f8f50a191f4bb5808a507e43
  
https://github.com/WebKit/WebKit/commit/6d41b0f74b61f318f8f50a191f4bb5808a507e43
  Author: David Kilzer 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/JavaScriptCore/jsc.cpp
M Source/WTF/wtf/PlatformHave.h
M Source/WTF/wtf/SHA1.cpp
M Source/WTF/wtf/SHA1.h
M Source/WTF/wtf/Span.h
M Source/WTF/wtf/persistence/PersistentDecoder.cpp
M Source/WTF/wtf/persistence/PersistentDecoder.h
M Source/WTF/wtf/text/Base64.cpp
M Source/WTF/wtf/text/Base64.h
M Source/WTF/wtf/text/StringBuilder.h
M Source/WTF/wtf/text/StringImpl.h
M Source/WTF/wtf/text/StringSearch.h
M Source/WTF/wtf/text/WTFString.h
M Source/WebCore/Modules/fetch/FetchResponse.cpp
M Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp
M Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.cpp
M Source/WebCore/Modules/push-api/PushDatabase.cpp
M Source/WebCore/Modules/push-api/PushMessageCrypto.cpp
M Source/WebCore/Modules/push-api/cocoa/PushCryptoCocoa.cpp
M Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h
M Source/WebCore/Modules/webauthn/cbor/CBORReader.cpp
M Source/WebCore/Modules/webauthn/cbor/CBORReader.h
M Source/WebCore/bindings/js/SerializedScriptValue.h
M Source/WebCore/css/CSSValueList.h
M Source/WebCore/dom/make_names.pl
M Source/WebCore/fileapi/NetworkSendQueue.cpp
M Source/WebCore/html/canvas/CanvasPath.cpp
M Source/WebCore/html/parser/HTMLDocumentParserFastPath.cpp
M Source/WebCore/html/shadow/TextControlInnerElements.cpp
M Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp
M Source/WebCore/loader/icon/IconLoader.cpp
M Source/WebCore/page/PageColorSampler.cpp
M Source/WebCore/platform/SharedBuffer.h
M Source/WebCore/platform/graphics/ByteArrayPixelBuffer.h
M Source/WebCore/platform/gstreamer/GStreamerElementHarness.cpp
M Source/WebCore/platform/sql/SQLiteStatement.cpp
M Source/WebCore/platform/text/TextFlags.cpp
M Source/WebCore/workers/service/server/RegistrationDatabase.cpp
M Source/WebCore/xml/XMLErrors.cpp
M Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp
M Source/WebKit/NetworkProcess/storage/CacheStorageDiskStore.cpp
M Source/WebKit/NetworkProcess/storage/CacheStorageManager.cpp
M Source/WebKit/Platform/IPC/ArgumentCoders.cpp
M Source/WebKit/Platform/IPC/ArgumentCoders.h
M Source/WebKit/Platform/IPC/Encoder.h
M Source/WebKit/Platform/IPC/StreamConnectionEncoder.h
M Source/WebKit/Shared/Cocoa/SandboxExtensionCocoa.mm
M Source/WebKit/Shared/WebCoreArgumentCoders.cpp
M Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp
M Source/WebKitLegacy/mac/History/BinaryPropertyList.cpp
M Source/cmake/OptionsCommon.cmake
M Source/cmake/WebKitCompilerFlags.cmake
M Tools/Scripts/webkitpy/style/checkers/cpp.py
M Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py
M Tools/TestWebKitAPI/Tests/IPC/ArgumentCoderTests.cpp
M Tools/TestWebKitAPI/Tests/WTF/EmbeddedFixedVector.cpp
M Tools/TestWebKitAPI/Tests/WTF/RefCountedFixedVector.cpp

  Log Message:
  ---
  Switch from WTF::Span to std::span
https://bugs.webkit.org/show_bug.cgi?id=253377


Reviewed by Darin Adler.

On Apple ports of WebKit, switch to use std::span instead of
WTF::Span by creating a template type alias, creating
WTF::makeSpan() to use for both types (since the type alias
can't perform deduction), and implementing wrappers for
WTF::asBytes() and WTF::asWritableBytes().

* Source/JavaScriptCore/jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):
* Source/WTF/wtf/PlatformHave.h:
* Source/WTF/wtf/SHA1.cpp:
- Include  for std::to_integer().
* Source/WTF/wtf/SHA1.h:
(WTF::SHA1::addBytes):
* Source/WTF/wtf/Span.h:
(WTF::makeSpan):
(WTF::asBytes):
(WTF::asWritableBytes):
(makeSpan):
* Source/WTF/wtf/persistence/PersistentDecoder.cpp:
(WTF::Persistence::Decoder::bufferIsLargeEnoughToContain const):
(WTF::Persistence::Decoder::bufferPointerForDirectRead):
(WTF::Persistence::Decoder::rewind):
(WTF::Persistence::Decoder::decodeNumber):
* Source/WTF/wtf/persistence/PersistentDecoder.h:
(WTF::Persistence::Decoder::currentOffset const):
- Switch to use a span iterator instead of a raw pointer for
  bounds checks.
(): Deleted.
* Source/WTF/wtf/text/Base64.cpp:
(WTF::base64EncodeInternal):
(WTF::base64Decode):
* Source/WTF/wtf/text/Base64.h:
(WTF::StringTypeAdapter::writeTo const):
* Source/WTF/wtf/text/StringBuilder.h:
(WTF::StringBuilder::span const):
* Source/WTF/wtf/text/StringImpl.h:
(WTF::StringImpl::tryGetUTF8ForCharacters):
* Source/WTF/wtf/text/StringSearch.h:
(WTF::BoyerMooreHorspoolTable::BoyerMooreHorspoolTable):
* Source/WTF/wtf/text/WTFString.h:
(WTF::String::tryGetUTF8 const):

* Source/WebCore/Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::BodyLoader::didReceiveData):
(WebCore:

[webkit-changes] [WebKit/WebKit] 839689: [IFC][Partial layout] Add support for adding/remov...

2023-03-04 Thread Alan Baradlay
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 839689fd73dbff897cae86130c3571fb00f925ee
  
https://github.com/WebKit/WebKit/commit/839689fd73dbff897cae86130c3571fb00f925ee
  Author: Alan Baradlay 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp
M 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h
M Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp
M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp

  Log Message:
  ---
  [IFC][Partial layout] Add support for adding/removing line break boxes
https://bugs.webkit.org/show_bug.cgi?id=253292

Reviewed by Antti Koivisto.

Line break box changes (insertion/removal) are going through 
Invalidation:inlineLevelBoxInserted/inlineLevelBoxWillBeRemoved.
This is similar to what we do when InlineTextBox (RenderText) is 
inserted/removed (including line damage computation).

* 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp:
(WebCore::Layout::damagedLineIndex):
(WebCore::Layout::isSupportedInlineLevelBox):
(WebCore::Layout::InlineInvalidation::inlineLevelBoxInserted):
(WebCore::Layout::InlineInvalidation::inlineLevelBoxWillBeRemoved):
* 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h:
* Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::shouldInvalidateLineLayoutPathAfterChangeFor):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::insertedIntoTree):
(WebCore::LayoutIntegration::LineLayout::removedFromTree):
(WebCore::LayoutIntegration::LineLayout::updateTextContent):

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


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


[webkit-changes] [WebKit/WebKit] b9f99e: Optimize / Simplify HTMLFastPathParser::parseAttri...

2023-03-04 Thread Chris Dumez
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b9f99e9eaaa0a5fe071a66838744516070816501
  
https://github.com/WebKit/WebKit/commit/b9f99e9eaaa0a5fe071a66838744516070816501
  Author: Chris Dumez 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/WebCore/html/parser/HTMLDocumentParserFastPath.cpp

  Log Message:
  ---
  Optimize / Simplify HTMLFastPathParser::parseAttributes() a bit
https://bugs.webkit.org/show_bug.cgi?id=253398
rdar://106239527

Reviewed by Darin Adler.

* Source/WebCore/html/parser/HTMLDocumentParserFastPath.cpp:
(WebCore::HTMLFastPathParser::parseAttributes):

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


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


[webkit-changes] [WebKit/WebKit] d7ba77: Use modern constexpr instead of traits in Selector...

2023-03-04 Thread Chris Dumez
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d7ba779272595d0402d94e8eaa74d7657d678a41
  
https://github.com/WebKit/WebKit/commit/d7ba779272595d0402d94e8eaa74d7657d678a41
  Author: Chris Dumez 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/WebCore/dom/SelectorQuery.cpp
M Source/WebCore/dom/SelectorQuery.h

  Log Message:
  ---
  Use modern constexpr instead of traits in SelectorQuery.cpp
https://bugs.webkit.org/show_bug.cgi?id=253400

Reviewed by Darin Adler.

* Source/WebCore/dom/SelectorQuery.cpp:
(WebCore::appendOutputForElement):
(WebCore::SelectorDataList::queryAll const):
(WebCore::SelectorDataList::queryFirst const):
(WebCore::SelectorDataList::executeFastPathForIdSelector const):
(WebCore::filterRootById):
(WebCore::elementsForLocalName):
(WebCore::anyElement):
(WebCore::SelectorDataList::executeSingleTagNameSelectorData const):
(WebCore::SelectorDataList::executeSingleClassNameSelectorData const):
(WebCore::SelectorDataList::executeSingleSelectorData const):
(WebCore::SelectorDataList::executeSingleMultiSelectorData const):
(WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker const):
(WebCore::SelectorDataList::executeCompiledSelectorCheckerWithCheckingContext 
const):
(WebCore::SelectorDataList::executeCompiledSingleMultiSelectorData const):
(WebCore::SelectorDataList::execute const):
(WebCore::AllElementExtractorSelectorQueryTrait::appendOutputForElement): 
Deleted.
(WebCore::SingleElementExtractorSelectorQueryTrait::appendOutputForElement): 
Deleted.
(WebCore::isTreeScopeRoot): Deleted.
* Source/WebCore/dom/SelectorQuery.h:

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


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


[webkit-changes] [WebKit/WebKit] 01d271: Unreviewed, fix the build again after 261181@main

2023-03-04 Thread Wenson Hsieh
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 01d2717a458d6bfcc418c788caa2be8a57d25d8e
  
https://github.com/WebKit/WebKit/commit/01d2717a458d6bfcc418c788caa2be8a57d25d8e
  Author: Wenson Hsieh 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm
M Tools/TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm

  Log Message:
  ---
  Unreviewed, fix the build again after 261181@main

Only attempt to soft-link and call the version of 
`nw_proxy_config_create_with_agent_data` that
takes three arguments, if the libnetwork header `proxy_config_private.h` is 
also present.

* Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::setProxyConfigData):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:

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


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


[webkit-changes] [WebKit/WebKit] 436867: [IFC][Partial layout] Add support for removing tex...

2023-03-04 Thread Alan Baradlay
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4368671df993cb3f5dfa1cb24c786d110830e735
  
https://github.com/WebKit/WebKit/commit/4368671df993cb3f5dfa1cb24c786d110830e735
  Author: Alan Baradlay 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineDamage.h
M 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp
M 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h
M Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp
M Source/WebCore/layout/integration/LayoutIntegrationBoxTree.h
M Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp
M Source/WebCore/layout/integration/LayoutIntegrationCoverage.h
M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp
M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h
M Source/WebCore/rendering/RenderObject.cpp

  Log Message:
  ---
  [IFC][Partial layout] Add support for removing text renderers
https://bugs.webkit.org/show_bug.cgi?id=253221

Reviewed by Antti Koivisto.

Removing a text node is similar to regular text content mutation in the context 
of finding the damage boundary.
However we need to take care of the associated layout box by
1. detaching it from the layout tree
2. but still keeping it around by adding it to the m_lineDamage object until 
after the subsequent layout is done.
It ensures that geometry type of requests (e.g. repaint) still work between 
mutation and the subsequent layout (note that while geometry information is 
stored in display boxes, these boxes hold weak references to layout boxes)
We may revisit this approach and force a policy to run all geometry type of 
tasks before willBeRemoved() and/or detach the display content from the 
associated layout boxes (i.e. remove all weak references).

This patch also introduces additional check(s) for node removal (specifically 
when the about-to-be-removed node is the last one in the inline formatting 
context).

* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineDamage.h:
(WebCore::Layout::InlineDamage::addDetachedBox):
* 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp:
(WebCore::Layout::damagedLineIndex):
(WebCore::Layout::leadingInlineItemPositionForDamage):
(WebCore::Layout::InlineInvalidation::textWillBeRemoved):
* 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h:
* Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::remove):
* Source/WebCore/layout/integration/LayoutIntegrationBoxTree.h:
* Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::shouldInvalidateLineLayoutPathAfterChangeFor):
(WebCore::LayoutIntegration::shouldInvalidateLineLayoutPathAfterContentChangeFor):
 Deleted.
* Source/WebCore/layout/integration/LayoutIntegrationCoverage.h:
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::shouldInvalidateLineLayoutPathAfterContentChange):
(WebCore::LayoutIntegration::LineLayout::shouldInvalidateLineLayoutPathAfterTreeMutation):
(WebCore::LayoutIntegration::LineLayout::removedFromTree):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h:
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::invalidateLineLayoutAfterTreeMutationIfNeeded):
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::willBeRemovedFromTree):

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


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


[webkit-changes] [WebKit/WebKit] f71852: Revise check for Lockdown Mode enablement

2023-03-04 Thread EWS
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f71852e43526a118eb5a225b637862ba114dd82a
  
https://github.com/WebKit/WebKit/commit/f71852e43526a118eb5a225b637862ba114dd82a
  Author: Brent Fulgham 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/WTF/wtf/PlatformHave.h
M Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm

  Log Message:
  ---
  Revise check for Lockdown Mode enablement
https://bugs.webkit.org/show_bug.cgi?id=253268


Reviewed by Darin Adler.

Checking an NSUserDefault directly for Lockdown Mode is clunky. Instead, we 
should use
a less clunky method to check the status.

* Source/WTF/wtf/PlatformHave.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm:
(+[_WKSystemPreferences isCaptivePortalModeEnabled]):

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


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


[webkit-changes] [WebKit/WebKit] 77fc31: Implement ManagedMediaSource startstreaming/endstr...

2023-03-04 Thread Jean-Yves Avenard
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 77fc3174bf28cd77b65c93acbdf27e622bc2fb3b
  
https://github.com/WebKit/WebKit/commit/77fc3174bf28cd77b65c93acbdf27e622bc2fb3b
  Author: Jean-Yves Avenard 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
A LayoutTests/media/media-source/media-managedmse-streaming-expected.txt
A LayoutTests/media/media-source/media-managedmse-streaming.html
M Source/WebCore/Modules/mediasource/ManagedMediaSource.cpp
M Source/WebCore/Modules/mediasource/ManagedMediaSource.h
M Source/WebCore/Modules/mediasource/MediaSource.cpp
M Source/WebCore/Modules/mediasource/MediaSource.h
M Source/WebCore/Modules/mediasource/SourceBuffer.cpp
M Source/WebCore/platform/graphics/MediaSourcePrivateClient.h
M Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.cpp
M Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.h

  Log Message:
  ---
  Implement ManagedMediaSource startstreaming/endstreaming event
https://bugs.webkit.org/show_bug.cgi?id=253295
rdar://106182027

Reviewed by Jer Noble and Youenn Fablet.

We set a low and high watermarks of respectively 10 and 30s ; we continuously
monitor currentTime progress to ensure that buffering is within those
two thresholds.
Upcoming change would make those configurable.

* LayoutTests/media/media-source/media-managedmse-streaming-expected.txt: Added.
* LayoutTests/media/media-source/media-managedmse-streaming.html: Added.
* Source/WebCore/Modules/mediasource/ManagedMediaSource.cpp:
(WebCore::ManagedMediaSource::startStreaming):
(WebCore::ManagedMediaSource::endStreaming):
(WebCore::ManagedMediaSource::isBuffered const):
(WebCore::ManagedMediaSource::monitorSourceBuffers):
* Source/WebCore/Modules/mediasource/ManagedMediaSource.h:
* Source/WebCore/Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::seekToTime):
(WebCore::MediaSource::onReadyStateChange):
(WebCore::MediaSource::updateBufferedIfNeeded):
* Source/WebCore/Modules/mediasource/MediaSource.h:
* Source/WebCore/Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::removeTimerFired):
(WebCore::SourceBuffer::memoryPressure):
* Source/WebCore/platform/graphics/MediaSourcePrivateClient.h:
* Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.cpp:
(WebKit::RemoteMediaSourceProxy::monitorSourceBuffers):
* Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.h:

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


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


[webkit-changes] [WebKit/WebKit] 93ddd0: REGRESSION (261182@main): TestWebKitAPI.ProcessSwa...

2023-03-04 Thread Brent Fulgham
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 93ddd026548d5811d7583d917ea96b583af362ba
  
https://github.com/WebKit/WebKit/commit/93ddd026548d5811d7583d917ea96b583af362ba
  Author: Brent Fulgham 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm

  Log Message:
  ---
  REGRESSION (261182@main): 
TestWebKitAPI.ProcessSwap.LockdownModeEnabledByDefaultThenOptOut and 
TestWebKitAPI.ProcessSwap.NavigatingToLockdownMode are failing
https://bugs.webkit.org/show_bug.cgi?id=253388


Unreviewed test fix.

We need to remove the checks for 'CSSCounterStyleRule' and 
'contain-intrinsic-size', since these features are now
stable and not part of the Experimental cohort we wish to deactivate in 
Lockdown Mode.

* Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

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


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


[webkit-changes] [WebKit/WebKit] 633a76: Ensure that [PKDeferredPaymentRequest setFreeCance...

2023-03-04 Thread Gerald Squelart
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 633a76e240244003717981bfde7facde69c63f32
  
https://github.com/WebKit/WebKit/commit/633a76e240244003717981bfde7facde69c63f32
  Author: Gerald Squelart 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/WebCore/PAL/pal/spi/cocoa/PassKitSPI.h
M Source/WebKit/Shared/ApplePay/cocoa/DeferredPaymentRequestCocoa.mm

  Log Message:
  ---
  Ensure that [PKDeferredPaymentRequest setFreeCancellationDateTimeZone] exists 
before using it
https://bugs.webkit.org/show_bug.cgi?id=253395
rdar://106239467

Reviewed by Aditya Keerthi.

[PKDeferredPaymentRequest setFreeCancellationDateTimeZone] was added in a 
recent SDK, so we should ensure it's present before trying to use it.

* Source/WebCore/PAL/pal/spi/cocoa/PassKitSPI.h:
* Source/WebKit/Shared/ApplePay/cocoa/DeferredPaymentRequestCocoa.mm:
(WebKit::platformDeferredPaymentRequest):

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


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


[webkit-changes] [WebKit/WebKit] 42ab3c: Revert [261125@main] [JSC] Stop eagerly emitting w...

2023-03-04 Thread Chris Dumez
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 42ab3c79e0cde0ef6dc5de5854d534d9c09587d7
  
https://github.com/WebKit/WebKit/commit/42ab3c79e0cde0ef6dc5de5854d534d9c09587d7
  Author: Chris Dumez 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
M Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
M Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp

  Log Message:
  ---
  Revert [261125@main] [JSC] Stop eagerly emitting wide32 opcodes
https://bugs.webkit.org/show_bug.cgi?id=252891
rdar://105876002

Unreviewed, revert 261125@main as it caused a 4% Speedometer regression.

* Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitWideJumpIfNotFunctionHasOwnProperty):
(JSC::BytecodeGenerator::recordHasOwnPropertyInForInLoop):
(JSC::BytecodeGenerator::emitInByVal):
(JSC::BytecodeGenerator::emitGetByVal):
(JSC::rewriteOp):
(JSC::ForInContext::finalize):
(JSC::BytecodeGenerator::emitJumpIfNotFunctionHasOwnProperty): Deleted.
* Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h:
(JSC::ForInContext::addGetInst):
(JSC::ForInContext::addInInst):
* Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:
(JSC::HasOwnPropertyFunctionCallDotNode::emitBytecode):

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


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


[webkit-changes] [WebKit/WebKit] 563893: [CoordinatedGraphics] Initialize WebCore::DisplayU...

2023-03-04 Thread Žan Doberšek
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 563893ba617934cdf2147bb814a0c2e40030f413
  
https://github.com/WebKit/WebKit/commit/563893ba617934cdf2147bb814a0c2e40030f413
  Author: Žan Doberšek 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M 
Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp
M 
Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp
M 
Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.h

  Log Message:
  ---
  [CoordinatedGraphics] Initialize WebCore::DisplayUpdate in 
ThreadedDisplayRefreshMonitor
https://bugs.webkit.org/show_bug.cgi?id=253393

Unreviewed follow-up to 261124@main.

Construct the DisplayUpdate object in ThreadedCompositor based off of the
default refresh rate, and pass it on to the ThreadedDisplayRefreshMonitor
constructor where it's used to initialize the member variable, avoiding
division issues in certain cases where the object is left uninitialized but then
gets used during invalidation.

* 
Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::m_displayRefreshMonitor):
* 
Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:
(WebKit::ThreadedDisplayRefreshMonitor::ThreadedDisplayRefreshMonitor):
* 
Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.h:
(WebKit::ThreadedDisplayRefreshMonitor::create):

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


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


[webkit-changes] [WebKit/WebKit] bcf719: [JSC] VectorExtractLane+0 for f32x4 / f64x2 is nop

2023-03-04 Thread Yusuke Suzuki
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bcf7195164fcec6f7da447a343d3adf2dcce7ecd
  
https://github.com/WebKit/WebKit/commit/bcf7195164fcec6f7da447a343d3adf2dcce7ecd
  Author: Yusuke Suzuki 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/JavaScriptCore/b3/B3LowerToAir.cpp
M Source/JavaScriptCore/b3/testb3.h
M Source/JavaScriptCore/b3/testb3_1.cpp
M Source/JavaScriptCore/b3/testb3_7.cpp

  Log Message:
  ---
  [JSC] VectorExtractLane+0 for f32x4 / f64x2 is nop
https://bugs.webkit.org/show_bug.cgi?id=253381
rdar://106226855

Reviewed by Mark Lam.

VectorExtractLane f32x4 / f64x2 for 0th lane is just Trunc operation.
Since both are FPReg, this is nop. We handle this in the same way to Trunc.

* Source/JavaScriptCore/b3/B3LowerToAir.cpp:
* Source/JavaScriptCore/b3/testb3.h:
* Source/JavaScriptCore/b3/testb3_1.cpp:
(run):
* Source/JavaScriptCore/b3/testb3_7.cpp:
(testVectorExtractLane0Float):
(testVectorExtractLane0Double):

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


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


[webkit-changes] [WebKit/WebKit] d1ac2b: [UI-side compositing] Have pinch zoom constrain zo...

2023-03-04 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d1ac2b0c842b877514d0109437565162ebf7272b
  
https://github.com/WebKit/WebKit/commit/d1ac2b0c842b877514d0109437565162ebf7272b
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/WebCore/page/scrolling/ScrollingTree.cpp
M Source/WebCore/page/scrolling/ScrollingTree.h
M Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.mm
M Source/WebKit/WebProcess/WebPage/mac/RemoteLayerTreeDrawingAreaMac.mm
M Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm

  Log Message:
  ---
  [UI-side compositing] Have pinch zoom constrain zoom origin in 
commitTransientZoom
https://bugs.webkit.org/show_bug.cgi?id=252345
rdar://105515035

Reviewed by Simon Fraser.

Mirror TiledCoreAnimationDrawingArea code by constraining the zoom origin to 
prevent
view jumping after commiting a zoom in certain scenarios. We do this by querying
the root frame scrolling node about certain state to pass to the ScrollableArea
static function constrainScrollPositionForOverhang(). We also pass this 
constrained
origin to the WebProcess. We also add several functions to ScrollingTree and
RemoteScrollingCoordinatorProxy to retreive root node state while holding the 
tree
lock. It was also necessary to change ScrollingTree::mainFrameScrollPosition to 
use
the root node's scroll position rather than mainFrameScrollPosition since that
member does not appear to be updated with UI-side compositing on.

* Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h:
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxyMac::commitTransientZoom):
* Source/WebKit/WebProcess/WebPage/mac/RemoteLayerTreeDrawingAreaMac.mm:
(WebKit::RemoteLayerTreeDrawingAreaMac::commitTransientZoom):

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


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


[webkit-changes] [WebKit/WebKit] c4ee07: Use smart pointers for PageConfiguration

2023-03-04 Thread Alex Christensen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c4ee0780b3981bc7c1a6e4e0772a003e2e66bf61
  
https://github.com/WebKit/WebKit/commit/c4ee0780b3981bc7c1a6e4e0772a003e2e66bf61
  Author: Alex Christensen 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/WebCore/Modules/applepay/PaymentCoordinator.cpp
M Source/WebCore/Modules/applepay/PaymentCoordinator.h
M Source/WebCore/Modules/applepay/PaymentCoordinatorClient.cpp
M Source/WebCore/Modules/applepay/PaymentCoordinatorClient.h
M Source/WebCore/inspector/InspectorController.cpp
M Source/WebCore/inspector/InspectorController.h
M Source/WebCore/loader/EmptyClients.cpp
M Source/WebCore/loader/EmptyClients.h
M Source/WebCore/page/Chrome.cpp
M Source/WebCore/page/Chrome.h
M Source/WebCore/page/ChromeClient.h
M Source/WebCore/page/ContextMenuClient.h
M Source/WebCore/page/ContextMenuController.cpp
M Source/WebCore/page/ContextMenuController.h
M Source/WebCore/page/Page.cpp
M Source/WebCore/page/PageConfiguration.cpp
M Source/WebCore/page/PageConfiguration.h
M Source/WebCore/svg/graphics/SVGImage.cpp
M Source/WebCore/svg/graphics/SVGImage.h
M Source/WebCore/svg/graphics/SVGImageClients.h
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/MockPaymentCoordinator.cpp
M Source/WebCore/testing/MockPaymentCoordinator.h
M Source/WebKit/WebProcess/ApplePay/WebPaymentCoordinator.cpp
M Source/WebKit/WebProcess/ApplePay/WebPaymentCoordinator.h
M Source/WebKit/WebProcess/Inspector/WebInspectorClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
M Source/WebKit/WebProcess/WebCoreSupport/WebContextMenuClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebContextMenuClient.h
M Source/WebKit/WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKitLegacy/ios/WebCoreSupport/WebChromeClientIOS.h
M Source/WebKitLegacy/ios/WebCoreSupport/WebChromeClientIOS.mm
M Source/WebKitLegacy/ios/WebCoreSupport/WebInspectorClientIOS.mm
M Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.h
M Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm
M Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.h
M Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.mm
M Source/WebKitLegacy/mac/WebCoreSupport/WebInspectorClient.mm
M Source/WebKitLegacy/mac/WebCoreSupport/WebPaymentCoordinatorClient.h
M Source/WebKitLegacy/mac/WebCoreSupport/WebPaymentCoordinatorClient.mm
M Source/WebKitLegacy/mac/WebView/WebView.mm

  Log Message:
  ---
  Use smart pointers for PageConfiguration
https://bugs.webkit.org/show_bug.cgi?id=253348
rdar://106214366

Reviewed by Mark Lam.

Using std::unique_ptr is less error prone than new/delete.

* Source/WebCore/Modules/applepay/PaymentCoordinator.cpp:
(WebCore::PaymentCoordinator::PaymentCoordinator):
(WebCore::PaymentCoordinator::~PaymentCoordinator):
(WebCore::PaymentCoordinator::supportsVersion const):
(WebCore::PaymentCoordinator::canMakePayments):
(WebCore::PaymentCoordinator::canMakePaymentsWithActiveCard):
(WebCore::PaymentCoordinator::openPaymentSetup):
(WebCore::PaymentCoordinator::beginPaymentSession):
(WebCore::PaymentCoordinator::completeMerchantValidation):
(WebCore::PaymentCoordinator::completeShippingMethodSelection):
(WebCore::PaymentCoordinator::completeShippingContactSelection):
(WebCore::PaymentCoordinator::completePaymentMethodSelection):
(WebCore::PaymentCoordinator::completeCouponCodeChange):
(WebCore::PaymentCoordinator::completePaymentSession):
(WebCore::PaymentCoordinator::abortPaymentSession):
(WebCore::PaymentCoordinator::cancelPaymentSession):
(WebCore::PaymentCoordinator::validatedPaymentNetwork const):
(WebCore::PaymentCoordinator::getSetupFeatures):
(WebCore::PaymentCoordinator::beginApplePaySetup):
(WebCore::PaymentCoordinator::endApplePaySetup):
* Source/WebCore/Modules/applepay/PaymentCoordinator.h:
(WebCore::PaymentCoordinator::client):
* Source/WebCore/Modules/applepay/PaymentCoordinatorClient.cpp:
(WebCore::PaymentCoordinatorClient::supportsVersion const):
(WebCore::PaymentCoordinatorClient::supportsVersion): Deleted.
* Source/WebCore/Modules/applepay/PaymentCoordinatorClient.h:
* Source/WebCore/inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::createLazyAgents):
(WebCore::InspectorController::ensurePageAgent):
* Source/WebCore/inspector/InspectorController.h:
* Source/WebCore/loader/EmptyClients.cpp:
(WebCore::pageConfigurationWithEmptyClients):
* Source/WebCore/loader/EmptyClients.h:
* Source/WebCore/page/Chrome.cpp:
(WebCore::Chrome::Chrome):
(WebCore::Chrome::~Chrome):
(WebCore::Chrome::invalidateRootView):
(WebCore::Chrom

[webkit-changes] [WebKit/WebKit] eb7a9f: Generalize the names of the WheelEventProcessingSt...

2023-03-04 Thread Simon Fraser
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: eb7a9fda70a086149cfe7c3c86f8562cde7bdb7f
  
https://github.com/WebKit/WebKit/commit/eb7a9fda70a086149cfe7c3c86f8562cde7bdb7f
  Author: Simon Fraser 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/WebCore/page/EventHandler.cpp
M Source/WebCore/page/ios/EventHandlerIOS.mm
M Source/WebCore/page/mac/EventHandlerMac.mm
M Source/WebCore/page/scrolling/ScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.cpp
M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h
M Source/WebCore/page/scrolling/ScrollingTree.cpp
M Source/WebCore/page/scrolling/ScrollingTreeLatchingController.cpp
M Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp
M Source/WebCore/page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.cpp

  Log Message:
  ---
  Generalize the names of the WheelEventProcessingSteps values
https://bugs.webkit.org/show_bug.cgi?id=253344
rdar://106213251

Reviewed by Tim Horton.

Change the values of WheelEventProcessingSteps so that they make sense for both
threaded scrolling in the web process, and scrolling in the UI process.

* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEventInternal):
* Source/WebCore/page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::wheelEvent):
* Source/WebCore/page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::wheelEvent):
* Source/WebCore/page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::handleWheelEventForScrolling):
* Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.cpp:
(WebCore::operator<<):
* Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h:
(WebCore::WheelEventHandlingResult::needsMainThreadProcessing const):
* Source/WebCore/page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::computeWheelProcessingSteps):
(WebCore::ScrollingTree::handleWheelEvent):
* Source/WebCore/page/scrolling/ScrollingTreeLatchingController.cpp:
(WebCore::ScrollingTreeLatchingController::nodeDidHandleEvent):
* Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::handleWheelEventAfterMainThread):
* Source/WebCore/page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:
(WebCore::ScrollingTreeOverflowScrollingNodeMac::handleWheelEvent):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::handleWheelEvent):
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp:
(WebKit::RemoteLayerTreeEventDispatcher::scrollingThreadHandleWheelEvent):
(WebKit::RemoteLayerTreeEventDispatcher::internalHandleWheelEvent):
(WebKit::RemoteLayerTreeEventDispatcher::handleSyntheticWheelEvent):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleWheelEvent):
* Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::internalWheelEvent):
(WebKit::EventDispatcher::dispatchWheelEventViaMainThread):
(WebKit::EventDispatcher::dispatchWheelEvent):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::dispatchWheelEventWithoutScrolling):

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


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


[webkit-changes] [WebKit/WebKit] e1a6b4: Move mainFrame, isMainFrame, and settings from Fra...

2023-03-04 Thread Alex Christensen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e1a6b42e11b6d0b94a78c5a5bc391be355e79591
  
https://github.com/WebKit/WebKit/commit/e1a6b42e11b6d0b94a78c5a5bc391be355e79591
  Author: Alex Christensen 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/WebCore/page/AbstractFrame.cpp
M Source/WebCore/page/AbstractFrame.h
M Source/WebCore/page/Frame.cpp
M Source/WebCore/page/Frame.h

  Log Message:
  ---
  Move mainFrame, isMainFrame, and settings from Frame to AbstractFrame
https://bugs.webkit.org/show_bug.cgi?id=253378

Reviewed by Mark Lam.

Preparation for the main frame being a RemoteFrame in iframe processes.

* Source/WebCore/page/AbstractFrame.cpp:
(WebCore::AbstractFrame::AbstractFrame):
* Source/WebCore/page/AbstractFrame.h:
(WebCore::AbstractFrame::settings const):
(WebCore::AbstractFrame::mainFrame const):
(WebCore::AbstractFrame::isMainFrame const):
* Source/WebCore/page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::~Frame):
(WebCore::Frame::requestDOMPasteAccess):
* Source/WebCore/page/Frame.h:
(WebCore::Frame::mainFrame const): Deleted.

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


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


[webkit-changes] [WebKit/WebKit] 80dbec: WebPage::mainFrame should return an AbstractFrame*

2023-03-04 Thread Alex Christensen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 80dbec83af23cd500b461b5cd76ae09392fb560a
  
https://github.com/WebKit/WebKit/commit/80dbec83af23cd500b461b5cd76ae09392fb560a
  Author: Alex Christensen 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp
M 
Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm
M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm
M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
M Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm

  Log Message:
  ---
  WebPage::mainFrame should return an AbstractFrame*
https://bugs.webkit.org/show_bug.cgi?id=253355
rdar://106216849

Reviewed by Mark Lam.

More preparation for main frames being remote in iframe processes.

* 
Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController mainFrameDocument]):
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::preconnectTo):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::invalidateContentsForSlowScroll):
(WebKit::WebChromeClient::showPlaybackTargetPicker):
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::updateMockAccessibilityElementAfterCommittingLoad):
* Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mainFramePlugIn const):
(WebKit::WebPage::clearMainFrameName):
(WebKit::WebPage::mainFrameHasCustomContentProvider const):
(WebKit::WebPage::recomputeShortCircuitHorizontalWheelEventsState):
(WebKit::WebPage::mainFrame const):
(WebKit::WebPage::mainFrameView const):
(WebKit::WebPage::wasLoadedWithDataTransferFromPrevalentResource):
(WebKit::WebPage::simulateDeviceOrientationChange):
(WebKit::WebPage::attachmentElementWithIdentifier const):
(WebKit::WebPage::lastNavigationWasAppInitiated):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:
(-[WKAccessibilityWebPageObjectBase setWebPage:]):

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


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


[webkit-changes] [WebKit/WebKit] d008eb: [IFC][Partial layout] Always fall back to full inv...

2023-03-04 Thread Alan Baradlay
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d008eba10624afbd4e12212b46cc6bd4664ac6fb
  
https://github.com/WebKit/WebKit/commit/d008eba10624afbd4e12212b46cc6bd4664ac6fb
  Author: Alan Baradlay 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineDamage.h
M 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp
M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp
M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h
M Source/WebCore/rendering/RenderObject.cpp
M Source/WebCore/rendering/RenderText.cpp

  Log Message:
  ---
  [IFC][Partial layout] Always fall back to full invalidation when partial fails
https://bugs.webkit.org/show_bug.cgi?id=253280

Reviewed by Antti Koivisto.

This patch ensures that if we couldn't figure out the damaged range, we fall 
back
to full invalidation reverting partial tree mutations.

* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineDamage.h:
* 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp:
(WebCore::Layout::InlineInvalidation::textInserted):
(WebCore::Layout::InlineInvalidation::textWillBeRemoved):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::layout):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h:
(WebCore::LayoutIntegration::LineLayout::isDamaged const):
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::insertedIntoTree):
* Source/WebCore/rendering/RenderText.cpp:
(WebCore::invalidateLineLayoutPathOnContentChangeIfNeeded):

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


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


[webkit-changes] [WebKit/WebKit] 1c0168: [ews] unsafe-merge-queue should validate commit ju...

2023-03-04 Thread Aakash J
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1c0168845d1eae59add0200638e4e846c03fbacd
  
https://github.com/WebKit/WebKit/commit/1c0168845d1eae59add0200638e4e846c03fbacd
  Author: Aakash Jain 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Tools/CISupport/ews-build/factories.py
M Tools/CISupport/ews-build/factories_unittest.py
M Tools/CISupport/ews-build/steps.py

  Log Message:
  ---
  [ews] unsafe-merge-queue should validate commit just before merging
https://bugs.webkit.org/show_bug.cgi?id=253347

Reviewed by Jonathan Bedard.

unsafe-merge-queue should validate commit just before merging. Validation should
be done as close to the merging as possible, since it's possible that somebody 
removed
the unsafe-merge-queue label at the last moment.

* Tools/CISupport/ews-build/factories.py:
* Tools/CISupport/ews-build/factories_unittest.py:

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


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


[webkit-changes] [WebKit/WebKit] e23513: Background fetch response bodies need to be stored...

2023-03-04 Thread youennf
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e23513fa4f02b36817d8f0f11e455673386d8891
  
https://github.com/WebKit/WebKit/commit/e23513fa4f02b36817d8f0f11e455673386d8891
  Author: Youenn Fablet 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
A 
LayoutTests/http/wpt/background-fetch/background-fetch-non-persistent.window-expected.txt
A 
LayoutTests/http/wpt/background-fetch/background-fetch-non-persistent.window.html
A 
LayoutTests/http/wpt/background-fetch/background-fetch-non-persistent.window.js
M LayoutTests/http/wpt/background-fetch/sw.js
M Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreManager.cpp
M Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreManager.h
M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
M Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm

  Log Message:
  ---
  Background fetch response bodies need to be stored in memory for ephemeral 
sessions
https://bugs.webkit.org/show_bug.cgi?id=253148
rdar://problem/106080848

Reviewed by Chris Dumez.

In case path is empty (ephemeral sessions), BackgroundFetchStoreManager now 
stores the response chunks in a map.
Add support for clearing the map as needed.

* 
LayoutTests/http/wpt/background-fetch/background-fetch-non-persistent.window-expected.txt:
 Added.
* 
LayoutTests/http/wpt/background-fetch/background-fetch-non-persistent.window.html:
 Added.
* 
LayoutTests/http/wpt/background-fetch/background-fetch-non-persistent.window.js:
 Added.
(promise_test.async t):
* LayoutTests/http/wpt/background-fetch/sw.js:
(onmessage):
(onbackgroundfetchsuccess.async event):
* Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreManager.cpp:
(WebKit::BackgroundFetchStoreManager::clearFetch):
(WebKit::BackgroundFetchStoreManager::clearAllFetches):
(WebKit::BackgroundFetchStoreManager::storeFetchResponseBodyChunk):
(WebKit::BackgroundFetchStoreManager::retrieveResponseBody):
* Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreManager.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::requestBackgroundFetchPermission):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreClient.h:
(WebKit::WebsiteDataStoreClient::requestBackgroundFetchPermission):
* Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformInitializeDataStore):
* Tools/WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm:
(-[TestWebsiteDataStoreDelegate 
requestBackgroundFetchPermission:frameOrigin:decisionHandler:]):

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


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


[webkit-changes] [WebKit/WebKit] acd6fd: [Cocoa|iPad] No video on Netflix.com

2023-03-04 Thread Jer Noble
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: acd6fdd75bbb85fed8f53d1b472cf5413e1ae3e7
  
https://github.com/WebKit/WebKit/commit/acd6fdd75bbb85fed8f53d1b472cf5413e1ae3e7
  Author: Jer Noble 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

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

  Log Message:
  ---
  [Cocoa|iPad] No video on Netflix.com
https://bugs.webkit.org/show_bug.cgi?id=253367
rdar://106180027

Reviewed by Jean-Yves Avenard.

In -[WebAVPlayerLayer layoutSublayers], if the videoSublayer's frame is empty, 
we skip ahead
and call -resolveBounds to set the initial frame dimensions. However, if we 
haven't yet set
the _targetVideoFrame ivar, then the empty videoSublayer frame and the empty 
_targetVideoFrame
will match and we'll bail out early without doing anything.

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

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


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


[webkit-changes] [WebKit/WebKit] 2c7049: Check for null argument in AuxiliaryProcessMainCommon

2023-03-04 Thread Don Olmstead
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2c7049f692987334218626be65f4fd2a375058d2
  
https://github.com/WebKit/WebKit/commit/2c7049f692987334218626be65f4fd2a375058d2
  Author: Don Olmstead 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
M Source/WebKit/Shared/unix/AuxiliaryProcessMain.cpp

  Log Message:
  ---
  Check for null argument in AuxiliaryProcessMainCommon
https://bugs.webkit.org/show_bug.cgi?id=253356

Reviewed by Michael Catanzaro.

When starting up a process programmatically on PlayStation an additional
argument is passed into `main` but the value in `argv` is actually null.
This causes a crash when `ENABLE(DEVELOPER_MODE)` is `ON`.

Just check the value's existence before sending it to `strcmp`.

* Source/WebKit/Shared/unix/AuxiliaryProcessMain.cpp:

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


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


[webkit-changes] [WebKit/WebKit] 1fdc00: Implement the Apple Pay JS API for deferred paymen...

2023-03-04 Thread Gerald Squelart
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1fdc00a92679f0507c9a3a22f156f9491c62bdb4
  
https://github.com/WebKit/WebKit/commit/1fdc00a92679f0507c9a3a22f156f9491c62bdb4
  Author: Gerald Squelart 
  Date:   2023-03-04 (Sat, 04 Mar 2023)

  Changed paths:
A 
LayoutTests/http/tests/paymentrequest/ApplePayModifier-deferredPaymentRequest.https-expected.txt
A 
LayoutTests/http/tests/paymentrequest/ApplePayModifier-deferredPaymentRequest.https.html
M LayoutTests/platform/ios-wk2/TestExpectations
M LayoutTests/platform/mac-wk2/TestExpectations
M Source/WTF/wtf/PlatformEnableCocoa.h
M Source/WTF/wtf/PlatformHave.h
M Source/WebCore/DerivedSources-input.xcfilelist
M Source/WebCore/DerivedSources-output.xcfilelist
M Source/WebCore/DerivedSources.make
A Source/WebCore/Modules/applepay/ApplePayDeferredPaymentRequest.h
A Source/WebCore/Modules/applepay/ApplePayDeferredPaymentRequest.idl
M Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.h
M Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.idl
M Source/WebCore/Modules/applepay/ApplePayFeature.h
M Source/WebCore/Modules/applepay/ApplePayFeature.idl
M Source/WebCore/Modules/applepay/ApplePayPaymentRequest.h
M Source/WebCore/Modules/applepay/ApplePayPaymentRequest.idl
M Source/WebCore/Modules/applepay/ApplePaySession.cpp
M Source/WebCore/Modules/applepay/ApplePaySessionPaymentRequest.h
M Source/WebCore/Modules/applepay/cocoa/PaymentAPIVersionCocoa.mm
M Source/WebCore/Modules/applepay/paymentrequest/ApplePayModifier.h
M Source/WebCore/Modules/applepay/paymentrequest/ApplePayModifier.idl
M Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp
M Source/WebCore/PAL/pal/cocoa/PassKitSoftLink.h
M Source/WebCore/PAL/pal/cocoa/PassKitSoftLink.mm
M Source/WebCore/PAL/pal/spi/cocoa/PassKitSPI.h
M Source/WebCore/PlatformMac.cmake
M Source/WebCore/SourcesCocoa.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/testing/MockPaymentCoordinator.cpp
M Source/WebCore/testing/MockPaymentCoordinator.h
M Source/WebCore/testing/MockPaymentCoordinator.idl
M Source/WebKit/Platform/cocoa/PaymentAuthorizationPresenter.mm
A Source/WebKit/Shared/ApplePay/DeferredPaymentRequest.h
A Source/WebKit/Shared/ApplePay/cocoa/DeferredPaymentRequestCocoa.mm
M Source/WebKit/Shared/ApplePay/cocoa/PaymentTokenContextCocoa.mm
M Source/WebKit/Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm
M Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/SourcesCocoa.txt
M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  ---
  Implement the Apple Pay JS API for deferred payment requests
https://bugs.webkit.org/show_bug.cgi?id=253219
rdar://104562407

Reviewed by Aditya Keerthi and Dean Jackson.

The new Apple Pay JS API ApplePayDeferredPaymentRequest corresponds to 
PKDeferredPaymentRequest 
https://developer.apple.com/documentation/passkit/pkdeferredpaymentrequest

Payment requests now accept an optional property 'deferredPaymentRequest', 
which may contain an item with a deferred payment timing, and optionally a free 
cancellation date. This may be used for e.g.: pre-orders.

* 
LayoutTests/http/tests/paymentrequest/ApplePayModifier-deferredPaymentRequest.https-expected.txt:
 Added.
* 
LayoutTests/http/tests/paymentrequest/ApplePayModifier-deferredPaymentRequest.https.html:
 Added.
* LayoutTests/platform/ios-wk2/TestExpectations:
* LayoutTests/platform/mac-wk2/TestExpectations:
* Source/WTF/wtf/PlatformEnableCocoa.h:
* Source/WTF/wtf/PlatformHave.h:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Modules/applepay/ApplePayDeferredPaymentRequest.h: Copied from 
Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.idl.
* Source/WebCore/Modules/applepay/ApplePayDeferredPaymentRequest.idl: Copied 
from Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.idl.
* Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.h:
* Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.idl:
* Source/WebCore/Modules/applepay/ApplePayFeature.h:
* Source/WebCore/Modules/applepay/ApplePayFeature.idl:
* Source/WebCore/Modules/applepay/ApplePayPaymentRequest.h:
* Source/WebCore/Modules/applepay/ApplePayPaymentRequest.idl:
* Source/WebCore/Modules/applepay/ApplePaySession.cpp:
(WebCore::convertAndValidate):
* Source/WebCore/Modules/applepay/ApplePaySessionPaymentRequest.h:
(WebCore::ApplePaySessionPaymentRequest::deferredPaymentRequest const):
(WebCore::ApplePaySessionPaymentRequest::setDeferredPaymentRequest):
* Source/WebCore/Modules/applepay/cocoa/PaymentAPIVersionCocoa.mm:
(WebCore::PaymentAPIVersion::current):
* Source/WebCore/Modules/applepay/paymentreq