[webkit-changes] [WebKit/WebKit] fee47c: [JSC] Use ZeroReg for store8 / store16 in ARM64 B3...

2023-05-19 Thread Yusuke Suzuki
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fee47c730a954e40d85076e0b498fe14ddb1b318
  
https://github.com/WebKit/WebKit/commit/fee47c730a954e40d85076e0b498fe14ddb1b318
  Author: Yusuke Suzuki 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
M Source/JavaScriptCore/assembler/testmasm.cpp
M Source/JavaScriptCore/b3/B3LowerToAir.cpp
M Source/JavaScriptCore/b3/air/AirOpcode.opcodes

  Log Message:
  ---
  [JSC] Use ZeroReg for store8 / store16 in ARM64 B3/Air
https://bugs.webkit.org/show_bug.cgi?id=257070
rdar://109591267

Reviewed by Justin Michaud.

This patch extends B3/Air to use ZeroReg for store8 / store16 in ARM64.
This allows us to remove zero-stored register usage further, which can reduce 
register pressure.

* Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::store16):
(JSC::MacroAssemblerARM64::store8):
* Source/JavaScriptCore/assembler/testmasm.cpp:
(JSC::testStoreImmediateAddress):
(JSC::testStoreImmediateBaseIndex):
* Source/JavaScriptCore/b3/B3LowerToAir.cpp:
* Source/JavaScriptCore/b3/air/AirOpcode.opcodes:

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


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


[webkit-changes] [WebKit/WebKit] 202d7e: [ManagedMSE] JS ManagedSourceBuffer object doesn't...

2023-05-19 Thread Jean-Yves Avenard
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 202d7e72c2c6566cff1ed27fa4d010820598c51d
  
https://github.com/WebKit/WebKit/commit/202d7e72c2c6566cff1ed27fa4d010820598c51d
  Author: Jean-Yves Avenard 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M 
LayoutTests/media/media-source/media-managedmse-bufferedchange-expected.txt
M LayoutTests/media/media-source/media-managedmse-bufferedchange.html
M Source/WebCore/Modules/mediasource/MediaSource.idl
M Source/WebCore/Modules/mediasource/SourceBuffer.idl
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
A Source/WebCore/bindings/js/JSMediaSourceCustom.cpp
A Source/WebCore/bindings/js/JSSourceBufferCustom.cpp

  Log Message:
  ---
  [ManagedMSE] JS ManagedSourceBuffer object doesn't present any of its 
attributes
https://bugs.webkit.org/show_bug.cgi?id=257037
rdar://109569570

Reviewed by Chris Dumez.

Add missing custom toJS for MediaSource and SourceBuffer.

* LayoutTests/media/media-source/media-managedmse-bufferedchange-expected.txt:
* LayoutTests/media/media-source/media-managedmse-bufferedchange.html:
* Source/WebCore/Modules/mediasource/MediaSource.idl:
* Source/WebCore/Modules/mediasource/SourceBuffer.idl:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/bindings/js/JSMediaSourceCustom.cpp: Added.
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
* Source/WebCore/bindings/js/JSSourceBufferCustom.cpp: Added.
(WebCore::toJSNewlyCreated):
(WebCore::toJS):

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


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


[webkit-changes] [WebKit/WebKit] e28cee: [JSC] Introduce MakeAtomString DFG node

2023-05-19 Thread Yusuke Suzuki
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e28cee6cd730b374c4fa86a91d238b5f0b9bb69e
  
https://github.com/WebKit/WebKit/commit/e28cee6cd730b374c4fa86a91d238b5f0b9bb69e
  Author: Yusuke Suzuki 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
A JSTests/stress/make-atom-string.js
M Source/JavaScriptCore/CMakeLists.txt
M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
M Source/JavaScriptCore/dfg/DFGClobberize.h
M Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp
M Source/JavaScriptCore/dfg/DFGDoesGC.cpp
M Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
M Source/JavaScriptCore/dfg/DFGNodeType.h
M Source/JavaScriptCore/dfg/DFGOperations.cpp
M Source/JavaScriptCore/dfg/DFGOperations.h
M Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp
M Source/JavaScriptCore/dfg/DFGSafeToExecute.h
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
M Source/JavaScriptCore/dfg/DFGStoreBarrierInsertionPhase.cpp
M Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp
M Source/JavaScriptCore/dfg/DFGValidate.cpp
M Source/JavaScriptCore/ftl/FTLCapabilities.cpp
M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
M Source/JavaScriptCore/heap/Heap.cpp
M Source/JavaScriptCore/runtime/JSCJSValue.cpp
M Source/JavaScriptCore/runtime/JSString.cpp
M Source/JavaScriptCore/runtime/JSString.h
M Source/JavaScriptCore/runtime/JSStringInlines.h
A Source/JavaScriptCore/runtime/KeyAtomStringCache.h
A Source/JavaScriptCore/runtime/KeyAtomStringCacheInlines.h
M Source/JavaScriptCore/runtime/NumberPrototype.cpp
M Source/JavaScriptCore/runtime/NumericStrings.h
M Source/JavaScriptCore/runtime/VM.h
M Source/WTF/wtf/text/AtomStringImpl.cpp
M Source/WTF/wtf/text/AtomStringImpl.h

  Log Message:
  ---
  [JSC] Introduce MakeAtomString DFG node
https://bugs.webkit.org/show_bug.cgi?id=256821
rdar://109383731

Reviewed by Justin Michaud.

This is common pattern that GetByVal / PutByVal / InByVal gets concatnated 
strings.

object["property-" + name]

Normally we create rope string, and GetByVal will resolve it to Identifier. 
This is nice in general
since we do not know whether this string will be resolved when creating a 
string. But in DFG / FTL,
we can do block local strength reduction analysis and we can identify very 
common pattern like the above: after
creating rope string, passing it to GetByVal etc. so immediately resolves it to 
non-rope atom string.

This patch adds strength reduction which does pattern matching 
GetByVal(MakeRope(...)) and change it to
GetByVal(MakeAtomString(...)). Instead of creating a rope, MakeAtomString 
resolves all strings, concatenate, atomize
and create normal JSString with this. Furhter we add quick KeyAtomStringCache 
since it can be possible that this
generated strings are already created before. This quick cache can reduce 
allocation of JSStrings significantly.

Block locality is conservative, but important since,

var string = x + y + z;
if (unlikely) {
GetByVal(string);
}

currently we do not want to resolve this case eagerly.

Further, we also refine NumericStrings cache to put JSString* for integer 
string caches. Both these caches are cleared
when GC happens. But still we can reduce # of allocated JSStrings for common 
cases.

* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter::executeEffects):
* Source/JavaScriptCore/dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* Source/JavaScriptCore/dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* Source/JavaScriptCore/dfg/DFGNodeType.h:
* Source/JavaScriptCore/dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/dfg/DFGOperations.h:
* Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp:
* Source/JavaScriptCore/dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* Source/JavaScriptCore/dfg/DFGStoreBarrierInsertionPhase.cpp:
* Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
* Source/JavaScriptCore/dfg/DFGValidate.cpp:
* Source/JavaScriptCore/ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:

[webkit-changes] [WebKit/WebKit] 5ea1c0: MTLSharedEvent is returned as a RetainPtr

2023-05-19 Thread Dean Jackson
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5ea1c0f48a09bcccb86edfbf78072d441f2c6f57
  
https://github.com/WebKit/WebKit/commit/5ea1c0f48a09bcccb86edfbf78072d441f2c6f57
  Author: Dean Jackson 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp

  Log Message:
  ---
  MTLSharedEvent is returned as a RetainPtr
https://bugs.webkit.org/show_bug.cgi?id=257072
rdar://109590090

Unreviewed.

Build fix in WebXROpaqueFramebuffer. m_completionEvent is a RetainPtr.

* Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::endFrame):

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


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


[webkit-changes] [WebKit/WebKit] 3af657: [JSC] CFA should clear abstract values first befor...

2023-05-19 Thread Commit Queue
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3af657fdb0401840e45d495b73ecf570f4c93401
  
https://github.com/WebKit/WebKit/commit/3af657fdb0401840e45d495b73ecf570f4c93401
  Author: Yijia Huang 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
A JSTests/stress/regress-109263765.js
M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
M Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp
M Source/JavaScriptCore/dfg/DFGCFAPhase.cpp
M Source/JavaScriptCore/dfg/DFGFlowMap.h
M Source/JavaScriptCore/dfg/DFGGraph.cpp
M Source/JavaScriptCore/dfg/DFGGraph.h
M Source/JavaScriptCore/dfg/DFGInPlaceAbstractState.h
M Source/JavaScriptCore/dfg/DFGLivenessAnalysisPhase.cpp
M Source/JavaScriptCore/dfg/DFGLivenessAnalysisPhase.h
M Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp
M Source/JavaScriptCore/dfg/DFGPlan.cpp
M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp

  Log Message:
  ---
  [JSC] CFA should clear abstract values first before reconstruction
https://bugs.webkit.org/show_bug.cgi?id=257044
rdar://109576467

Reviewed by Yusuke Suzuki.

Graph::packNodeIndices updates DFG nodes' indexes after packing,
which is usually performed in LivenessAnalysis phase. Since node
index is used for associating its abstract value, we usually need
to perform CFA subsequently to reconstruct abstract values for DFG graph.

However, the current implementation for CFA to reconstruct abstract
values is to reset their content according the new speculation without
cleaning first. This will bring us a problem that for some DFG nodes
e.g., EnumeratorNextUpdateIndexAndMode which shouldn't have speculation
type but might be updated with new node indexes after Graph::packNodeIndices.
With those updated node indexes, those DFG nodes might associate to typed
abstract values which is wrong. In this case, even CFA is performed 
subsequently,
those abstract values are still typed.

This patch fixes this issue by:
1. Clear abstract values after packing graph in debug build.
2. Do perform CFA in AI validation.
3. Clear abstract value for EnumeratorNextUpdateIndexAndMode in AI.

* JSTests/stress/regress-109263765.js: Added.
(foo):
* Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter::executeEffects):
* Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp:
* Source/JavaScriptCore/dfg/DFGAtTailAbstractState.cpp:
(JSC::DFG::AtTailAbstractState::createOrClearValueForNode):
(JSC::DFG::AtTailAbstractState::createValueForNode): Deleted.
* Source/JavaScriptCore/dfg/DFGAtTailAbstractState.h:
* Source/JavaScriptCore/dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::run):
* Source/JavaScriptCore/dfg/DFGInPlaceAbstractState.h:
(JSC::DFG::InPlaceAbstractState::createOrClearValueForNode):
(JSC::DFG::InPlaceAbstractState::createValueForNode): Deleted.
* Source/JavaScriptCore/dfg/DFGLivenessAnalysisPhase.cpp:
(JSC::DFG::performGraphPackingAndLivenessAnalysis):
(JSC::DFG::performLivenessAnalysis): Deleted.
* Source/JavaScriptCore/dfg/DFGLivenessAnalysisPhase.h:
* Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:
* Source/JavaScriptCore/dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3):
(JSC::FTL::DFG::LowerDFGToB3::compileNode):

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


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


[webkit-changes] [WebKit/WebKit] 47e3ba: BBQJIT Splat 0/-1 should emit only one instruction

2023-05-19 Thread Keith Miller
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 47e3bae743c547cf4172e785763a4c55a045be39
  
https://github.com/WebKit/WebKit/commit/47e3bae743c547cf4172e785763a4c55a045be39
  Author: Keith Miller 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp

  Log Message:
  ---
  BBQJIT Splat 0/-1 should emit only one instruction
https://bugs.webkit.org/show_bug.cgi?id=257051

Reviewed by Yusuke Suzuki.

According to https://github.com/WebAssembly/design/issues/1476 at least one 
person wants to encode vector 0 as Splat i32.const 0 since the former's 
encoding is 18 bytes whereas the latter is 5 bytes. As such, we should emit 
Splat i32.const 0/-1 as the optimal code in BBQJIT.

* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJIT::addSIMDSplat):

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


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


[webkit-changes] [WebKit/WebKit] 1b1a76: Rename coreAbstractFrame to coreFrame and coreFram...

2023-05-19 Thread Charlie Wolfe
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1b1a76ca5fb0f041adea9b3382addd619f173cd9
  
https://github.com/WebKit/WebKit/commit/1b1a76ca5fb0f041adea9b3382addd619f173cd9
  Author: Charlie Wolfe 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp
M 
Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm
M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp
M Source/WebKit/WebProcess/InjectedBundle/API/c/mac/WKBundlePageMac.mm
M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp
M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp
M Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp
M 
Source/WebKit/WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp
M Source/WebKit/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp
M Source/WebKit/WebProcess/Inspector/WebInspector.cpp
M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/curl/WebFrameNetworkingContext.cpp
M Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h
M Source/WebKit/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp
M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
M Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp
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/gtk/WebPageGtk.cpp
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
M Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm
M Source/WebKit/WebProcess/WebProcess.cpp

  Log Message:
  ---
  Rename coreAbstractFrame to coreFrame and coreFrame to coreLocalFrame
https://bugs.webkit.org/show_bug.cgi?id=256869
rdar://109433121

Reviewed by Alex Christensen.

Rename coreAbstractFrame() to coreFrame() and coreFrame() to coreLocalFrame().

* Source/WebKit/WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::WebAutomationSessionProxy::getAccessibilityObjectForNode):
(WebKit::WebAutomationSessionProxy::ensureObserverForFrame):
(WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction):
(WebKit::WebAutomationSessionProxy::resolveChildFrameWithOrdinal):
(WebKit::WebAutomationSessionProxy::resolveChildFrameWithName):
(WebKit::WebAutomationSessionProxy::computeElementLayout):
(WebKit::WebAutomationSessionProxy::selectOptionElement):
(WebKit::WebAutomationSessionProxy::setFilesForInputFileUpload):
(WebKit::WebAutomationSessionProxy::takeScreenshot):
(WebKit::WebAutomationSessionProxy::snapshotRectForScreenshot):
(WebKit::WebAutomationSessionProxy::getCookiesForFrame):
(WebKit::WebAutomationSessionProxy::deleteCookie):
* Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(-[WKWebProcessPlugInFrame _securityOrigin]):
(-[WKWebProcessPlugInFrame appleTouchIconURLs]):
(-[WKWebProcessPlugInFrame faviconURLs]):
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameGetFrameLoadState):
(WKBundleFrameClearOpener):
(WKBundleFrameCallShouldCloseOnWebView):
(WKBundleFrameCopySecurityOrigin):
(WKBundleFrameFocus):
(_WKBundleFrameGenerateTestReport):
* Source/WebKit/WebProcess/InjectedBundle/API/c/mac/WKBundlePageMac.mm:
(WKBundlePageGetPDFDocumentInFrame):
* Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp:
(getURL):
(webkitFrameGetJSCValuesForElementsInWorld):
(webkit_frame_get_js_value_for_dom_object_in_script_world):
* Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
* Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::numberOfPages):
(WebKit::InjectedBundle::pageNumberForElementById):
(WebKit::InjectedBundle::pageSizeAndMarginsInPixels):
(WebKit::InjectedBundle::isPageBoxVisible):
* Source/WebKit/WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
(WebKit::InjectedBundleDOMWindowExtension::InjectedBundleDOMWindowExtension):
* Source/WebKit/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
(WebKit::InjectedBundleHitTestResult::imageRect const):
* Source/WebKit/WebProcess/Inspector/WebInspector.cpp:
(WebKit::WebInspector::showMainResourceForFrame):
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::PDFPlugin):
(WebKit::PDFPlugin::getResourceBytesAtPosition):

[webkit-changes] [WebKit/WebKit] fbe202: WebKitSwiftOverlay should (once again) include a W...

2023-05-19 Thread Brady Eidson
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fbe202e644f13e1a04ca990fc6d469de62fe
  
https://github.com/WebKit/WebKit/commit/fbe202e644f13e1a04ca990fc6d469de62fe
  Author: Brady Eidson 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebKit/SwiftOverlay/WebKitSwiftOverlay.xcodeproj/project.pbxproj

  Log Message:
  ---
  WebKitSwiftOverlay should (once again) include a WebKitAdditions overlay
https://bugs.webkit.org/show_bug.cgi?id=257046
rdar://109577606

Reviewed by Andy Estes.

Include WebKitAdditionsSwiftOverlay from a well known location.

* Source/WebKit/SwiftOverlay/WebKitSwiftOverlay.xcodeproj/project.pbxproj:

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


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


[webkit-changes] [WebKit/WebKit] 2fefca: [WGSL] Only pack and pad user-defined structs

2023-05-19 Thread Tadeu Zagallo
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2fefca2ae91fb881dcfbd8fda7e72f4092dc425c
  
https://github.com/WebKit/WebKit/commit/2fefca2ae91fb881dcfbd8fda7e72f4092dc425c
  Author: Tadeu Zagallo 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp

  Log Message:
  ---
  [WGSL] Only pack and pad user-defined structs
https://bugs.webkit.org/show_bug.cgi?id=257033
rdar://109565469

Reviewed by Myles C. Maxfield.

We can't use the packed types (packed_uint3, etc) in the vertex function's 
output.
Also a minor fix after 264231@main, while we don't want *most* structs to have
built-in attributes in its fields, we do need them for the vertex output struct.

* Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
(WGSL::Metal::FunctionDefinitionWriter::visit):

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


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


[webkit-changes] [WebKit/WebKit] e83c06: [WebGPU] Wrong defaults are used when processing m...

2023-05-19 Thread Myles C. Maxfield
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e83c068571149a7e2e13faf2724c5063a210020f
  
https://github.com/WebKit/WebKit/commit/e83c068571149a7e2e13faf2724c5063a210020f
  Author: Myles C. Maxfield 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp

  Log Message:
  ---
  [WebGPU] Wrong defaults are used when processing multisampling state
https://bugs.webkit.org/show_bug.cgi?id=257047
rdar://109579261

Reviewed by Tadeu Zagallo.

Use the default values from the IDL.

* Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUDeviceImpl.cpp:
(PAL::WebGPU::convertToBacking):

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


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


[webkit-changes] [WebKit/WebKit] 89cc82: [Cocoa] Allow additional Socket Option powers in N...

2023-05-19 Thread Brent Fulgham
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 89cc82d5b08e9a51e582e13390667fd022b8c317
  
https://github.com/WebKit/WebKit/commit/89cc82d5b08e9a51e582e13390667fd022b8c317
  Author: Brent Fulgham 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in
M 
Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in

  Log Message:
  ---
  [Cocoa] Allow additional Socket Option powers in Network Process
https://bugs.webkit.org/show_bug.cgi?id=256992


Reviewed by Per Arne Vollan.

Update the Network sandboxes to permit socket options that have been hit during 
telemetry collection:

allow socket-option-set level:SOL_SOCKET name:SO_MARK_KNOWN_TRACKER
allow socket-option-get level:SOL_SOCKET name:SO_SNDBUF
allow socket-option-set level:SOL_SOCKET name:SO_SNDLOWAT

We should add these permissions to avoid generating telemetry and reports for 
things that are needed
during normal WebKit operations.

* Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb.in:

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


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


[webkit-changes] [WebKit/WebKit] 8922f7: (REGRESSION 262148@main) No repaint when deleting ...

2023-05-19 Thread Alan Baradlay
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8922f7c4d3323f179770504e36a3a8b60596ea58
  
https://github.com/WebKit/WebKit/commit/8922f7c4d3323f179770504e36a3a8b60596ea58
  Author: Alan Baradlay 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
A 
LayoutTests/fast/inline/range-replace-partial-layout-invalidation-expected.html
A LayoutTests/fast/inline/range-replace-partial-layout-invalidation.html
M 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp

  Log Message:
  ---
  (REGRESSION 262148@main) No repaint when deleting text, possibly only when 
the deleted text spans more than one line
https://bugs.webkit.org/show_bug.cgi?id=257043


Reviewed by Antti Koivisto.

Normally while editing inline content in a content-editable container e.g

  "This is some long
   long long long
   long text content"

  and select/delete "long long text" (spanning over line#2 and #3)

What happens is RenderText receives a content mutation event pointing to the 
_beginning_ of "long long text".
As a result we damage line #2 and run a partial layout staring from line#2 
until after we see no layout change anymore or we hit content end.

However some JS based editors call innerHTML instead to mimic editing steps 
turning the above example to a "range replace"
type of mutation where the entire text content is getting replaced with the 
"new", shortened content.

In such cases, instead of receiving the position of the actual damage, we end 
up with the offset value of 0
since the entire content is being replaced (even though it's just a slight 
change in the text content)
Now we damage line#0 and start running layout from the very first line until we 
see no layout change...which is the second line
since the actual damage is on the third line.

Since IFC does not support such mutations yet, in this patch we disable range 
based bailout which means while
we still run partial inline layout, we always go all the way to the bottom of 
the content.

/fast/inline/range-replace-partial-layout-invalidation-expected.html: Added.
* LayoutTests/fast/inline/range-replace-partial-layout-invalidation.html: Added.
* 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp:
(WebCore::Layout::InlineInvalidation::textWillBeRemoved):

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


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


[webkit-changes] [WebKit/WebKit] cbe37d: Respect style containment on list items

2023-05-19 Thread Rob Buis
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cbe37d744f2fd617ae9dfa317f3e553c02b32c93
  
https://github.com/WebKit/WebKit/commit/cbe37d744f2fd617ae9dfa317f3e553c02b32c93
  Author: Rob Buis 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M LayoutTests/TestExpectations
M Source/WebCore/rendering/RenderListItem.cpp

  Log Message:
  ---
  Respect style containment on list items
https://bugs.webkit.org/show_bug.cgi?id=256884

Reviewed by Oriol Brufau.

List items can be affected by style containment
as a scope for the current counter, just like
normal lists [1].
[1] https://drafts.csswg.org/css-contain-2/#containment-style

* LayoutTests/TestExpectations:
* Source/WebCore/rendering/RenderListItem.cpp:
(WebCore::enclosingList):

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


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


[webkit-changes] [WebKit/WebKit] 272d45: Clear UserActionElement state for the node when it...

2023-05-19 Thread Chirag Shah
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 272d45367b3566bd8836ec791248c6916710fc04
  
https://github.com/WebKit/WebKit/commit/272d45367b3566bd8836ec791248c6916710fc04
  Author: Chirag M Shah 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
A LayoutTests/fast/html/element-moving-to-new-document-crash-expected.txt
A LayoutTests/fast/html/element-moving-to-new-document-crash.html
M Source/WebCore/dom/Element.cpp
M Source/WebCore/dom/UserActionElementSet.cpp
M Source/WebCore/dom/UserActionElementSet.h

  Log Message:
  ---
  Clear UserActionElement state for the node when it is moved from the Document 
to a different one
https://bugs.webkit.org/show_bug.cgi?id=253012
rdar://105876245

Reviewed by Ryosuke Niwa.

Before this change, when an element was moved from oldDocument to
newDocument, and we had UserActionElementSet state for it, we never
cleared that. This meant that the element was still marked to have this
state, which the newDocument doesn't know about. This change fixes
that.

* LayoutTests/fast/html/element-moving-to-new-document-crash-expected.txt: 
Added.
* LayoutTests/fast/html/element-moving-to-new-document-crash.html: Added.
* Source/WebCore/dom/Element.cpp:
(WebCore::Element::removedFromAncestor):
* Source/WebCore/dom/UserActionElementSet.cpp:
(WebCore::UserActionElementSet::clear):
* Source/WebCore/dom/UserActionElementSet.h:
(WebCore::UserActionElementSet::clearAllForElement):

Originally-landed-as: 259548.353@safari-7615-branch (b82284c1f8c5). 
rdar://105876245
Canonical link: https://commits.webkit.org/264272@main


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


[webkit-changes] [WebKit/WebKit] 274608: [macOS] Expose DeviceMotionEvent / DeviceOrientati...

2023-05-19 Thread Chris Dumez
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2746089d71f266790dc9ea4a93a62472ecfd910f
  
https://github.com/WebKit/WebKit/commit/2746089d71f266790dc9ea4a93a62472ecfd910f
  Author: Chris Dumez 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M 
LayoutTests/http/tests/events/device-orientation-motion-insecure-context.html
M 
LayoutTests/http/tests/events/device-orientation-motion-non-secure-context.html
M 
LayoutTests/http/tests/events/device-orientation-motion-secure-context.html
M 
LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt
A 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt
A 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt
M Source/WTF/wtf/PlatformEnableCocoa.h
M Source/WebCore/dom/DeviceOrientationClient.h
M Source/WebCore/dom/DeviceOrientationController.cpp
M Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
R Source/WebKitLegacy/mac/WebCoreSupport/WebDeviceOrientationClient.h
R Source/WebKitLegacy/mac/WebCoreSupport/WebDeviceOrientationClient.mm
M Source/WebKitLegacy/mac/WebView/WebView.mm

  Log Message:
  ---
  [macOS] Expose DeviceMotionEvent / DeviceOrientationEvent on the global 
Window object
https://bugs.webkit.org/show_bug.cgi?id=256994

Reviewed by Brent Fulgham.

Expose DeviceMotionEvent / DeviceOrientationEvent on the global Window object
on macOS. Historically, we've only exposed the event types on iOS since we only
fire those events on iOS. However, Chrome and Firefox expose those event types
on desktop even though they don't fire them. Exposing the event types doesn't
hurt so align with other browsers.

* 
LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt:
* Source/WTF/wtf/PlatformEnableCocoa.h:

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


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


[webkit-changes] [WebKit/WebKit] 0a9b7c: Managed Media Source should only be available if a...

2023-05-19 Thread Jean-Yves Avenard
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0a9b7c59e3fa9131c40823fa108c5c9818269b08
  
https://github.com/WebKit/WebKit/commit/0a9b7c59e3fa9131c40823fa108c5c9818269b08
  Author: Jean-Yves Avenard 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
A LayoutTests/media/media-source/media-managedmse-airplay-expected.txt
A LayoutTests/media/media-source/media-managedmse-airplay.html
M LayoutTests/media/media-source/media-managedmse-bufferedchange.html
M 
LayoutTests/media/media-source/media-managedmse-memorypressure-inactive.html
M LayoutTests/media/media-source/media-managedmse-memorypressure.html
M LayoutTests/media/media-source/media-managedmse-streaming-atend.html
M LayoutTests/media/media-source/media-managedmse-streaming.html
M LayoutTests/media/media-source/media-managedmse.html
M LayoutTests/platform/glib/TestExpectations
M LayoutTests/platform/ios/TestExpectations
M LayoutTests/platform/ipad/TestExpectations
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
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/remoteplayback/RemotePlayback.cpp
M Source/WebCore/html/HTMLMediaElement.cpp
M Source/WebCore/html/HTMLMediaElement.h
M Source/WebCore/html/HTMLVideoElement.cpp
M Source/WebKit/Shared/WebPreferencesDefaultValues.cpp
M Source/WebKit/Shared/WebPreferencesDefaultValues.h
M Tools/TestWebKitAPI/Tests/WebKit/file-with-managedmse.html

  Log Message:
  ---
  Managed Media Source should only be available if airplay source alternative 
is present
https://bugs.webkit.org/show_bug.cgi?id=256570
rdar://109130836

Reviewed by Jer Noble.

When we add a Managed Media Source to a media element, it should per
MSE spec changed the MSE's readyState to "open" and fire the `sourceopen` event.
We want to make sure that the developer hasn't left anything unchecked,
it is expected that either an alternative source is set and compatible with
remote playback, or by explicitly disabling remote playback
(either by using an attribute or using Remote Playback API).

To achieve this, we do not move the MSE's readyState to "open" until
all those conditions have been achieved. And the readyState will remain
at `closed` until then. Should one of the condition become fullfilled
after the Managed Media Source has been created, it will be unblocked and
can be used as usual.

The behaviour is placed behind a preference.

Fly-by fix: There were three different ways to disable AirPlay, each
working independently from the other. We combine them all together that
should one method be used to disable AirPlay, it will be disabled regardless
of what the other methods are doing.

* LayoutTests/TestExpectations:
* LayoutTests/media/media-source/media-managedmse-airplay-expected.txt: Added.
* LayoutTests/media/media-source/media-managedmse-airplay.html: Added.
* LayoutTests/media/media-source/media-managedmse-bufferedchange.html: Amended 
to explicitly disable AirPlay
* LayoutTests/media/media-source/media-managedmse-memorypressure-inactive.html: 
Amended to explicitly disable AirPlay
* LayoutTests/media/media-source/media-managedmse-memorypressure.html: Amended 
to explicitly disable AirPlay
* LayoutTests/media/media-source/media-managedmse-streaming-atend.html: Amended 
to explicitly disable AirPlay
* LayoutTests/media/media-source/media-managedmse-streaming.html: Amended to 
explicitly disable AirPlay
* LayoutTests/media/media-source/media-managedmse.html: Amended to explicitly 
disable AirPlay
* LayoutTests/platform/glib/TestExpectations:
* LayoutTests/platform/ios/TestExpectations:
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/Modules/mediasource/ManagedMediaSource.cpp:
(WebCore::ManagedMediaSource::isOpen const):
* Source/WebCore/Modules/mediasource/ManagedMediaSource.h:
* Source/WebCore/Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::setPrivateAndOpen):
(WebCore::MediaSource::isOpen const):
(WebCore::MediaSource::isClosed const):
(WebCore::MediaSource::isEnded const):
(WebCore::MediaSource::openIfDeferredOpen):
(WebCore::MediaSource::readyState const):
(WebCore::MediaSource::onReadyStateChange):
* Source/WebCore/Modules/mediasource/MediaSource.h:
(WebCore::MediaSource::readyState const): Deleted.
* Source/WebCore/Modules/remoteplayback/RemotePlayback.cpp:
(WebCore::RemotePlayback::watchAvailability): Use utility method on mediaElement
(WebCore::RemotePlayback::cancelWatchAvailability): ditto
(WebCore::RemotePlayback::prompt): ditto
* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::attributeChanged): If remote playback gets
disabled, move the Managed Media Source state to open if needed
(WebCore::isAllowedToLoadMediaURL): make 

[webkit-changes] [WebKit/WebKit] f9d239: [MiniBrowser] Sync user agents with Web Inspector

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

  Changed paths:
M Tools/MiniBrowser/mac/SettingsController.m

  Log Message:
  ---
  [MiniBrowser] Sync user agents with Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=257012
rdar://109555783

Reviewed by Aditya Keerthi.

The current set of user agent strings in MiniBrowser is quite outdated,
which can make testing on (some) websites inconvenient.

In this patch, we sync the user agent strings in MiniBrowser with those
in Web Inspector, where Safari 16.4 (and contemporary major browser
vendors) user agents were recently upstreamed in Web Inspector (263319@main).

* Tools/MiniBrowser/mac/SettingsController.m:
(+[SettingsController userAgentData]):

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


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


[webkit-changes] [WebKit/WebKit] 224630: Confluence tools icons are all blank in Lockdown Mode

2023-05-19 Thread Vitor Roriz
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 224630b45ce39ca3bdedcd62bfb324ee5c6e20e7
  
https://github.com/WebKit/WebKit/commit/224630b45ce39ca3bdedcd62bfb324ee5c6e20e7
  Author: Vitor Roriz 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebCore/loader/cache/AllowedFonts.cpp

  Log Message:
  ---
  Confluence tools icons are all blank in Lockdown Mode
https://bugs.webkit.org/show_bug.cgi?id=257041
rdar://106426851

Reviewed by Brent Fulgham.

- Adding 'adgs-icons.woff' to the list of allowed fonts during
lockdown mode for supporting icons in confluence pages.
- Sorting allowed fonts from apple.com to better visualize future changes.
- Updating list of allowed fonts loaded by apple.com.

* Source/WebCore/loader/cache/AllowedFonts.cpp:
(WebCore::allowedFontHashesInLockdownMode):

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


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


[webkit-changes] [WebKit/WebKit] f9c309: Unreviewed, fix typo in sandbox profile introduced...

2023-05-19 Thread Chris Dumez
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f9c3094308b2da43fc0b05a51b0eea7cdabb1ba7
  
https://github.com/WebKit/WebKit/commit/f9c3094308b2da43fc0b05a51b0eea7cdabb1ba7
  Author: Chris Dumez 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebKit/WebProcess/com.apple.WebProcess.sb.in

  Log Message:
  ---
  Unreviewed, fix typo in sandbox profile introduced in 264253@main
https://bugs.webkit.org/show_bug.cgi?id=257040
rdar://109574296

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

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


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


[webkit-changes] [WebKit/WebKit] cb345f: AX: Move [WebAccessibilityObjectWrapper windowElem...

2023-05-19 Thread AndresGonzalezApple
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cb345f2eccf03e362b521fb1ddd449ab19ea2a94
  
https://github.com/WebKit/WebKit/commit/cb345f2eccf03e362b521fb1ddd449ab19ea2a94
  Author: Andres Gonzalez 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebCore/accessibility/AccessibilityObjectInterface.h
M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm

  Log Message:
  ---
  AX: Move [WebAccessibilityObjectWrapper windowElement:] off the main thread.
https://bugs.webkit.org/show_bug.cgi?id=256896


Reviewed by Tyler Wilcock.

This method was hitting the main thread to get the platformWidget of the 
LocalFrameView. But the LocalFrameView must have an AccessibilityScrollView 
object associated with it, and its corresponding AXIsolatedObject is caching 
the PlatformWidget. Thus this patch avoids hitting the main thread by using 
this direct path on the AX thread instead of having to go through the 
LocalFrameView.
Added the AXCoreObject::axScrollView method to return the closest AX object 
ancestor to an object that represents a ScrollView.

* Source/WebCore/accessibility/AccessibilityObjectInterface.h:
(WebCore::AXCoreObject::axScrollView const):
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper windowElement:]):

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


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


[webkit-changes] [WebKit/WebKit] 39a1ff: Remove static strings and symbols

2023-05-19 Thread Justin Michaud
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 39a1ff098a4ebfd7b753243ba2d609fc5ef763eb
  
https://github.com/WebKit/WebKit/commit/39a1ff098a4ebfd7b753243ba2d609fc5ef763eb
  Author: Justin Michaud 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/JavaScriptCore/builtins/BuiltinExecutables.cpp
M Source/JavaScriptCore/builtins/BuiltinExecutables.h
M Source/JavaScriptCore/builtins/BuiltinNames.cpp
M Source/JavaScriptCore/builtins/BuiltinNames.h
M Source/JavaScriptCore/runtime/InitializeThreading.cpp
M Source/JavaScriptCore/runtime/JSString.h
M Source/JavaScriptCore/runtime/SmallStrings.cpp
M Source/JavaScriptCore/runtime/SmallStrings.h
M Source/JavaScriptCore/runtime/VM.cpp
M Source/WTF/wtf/CompactPtr.h
M Source/WTF/wtf/Threading.cpp
M Source/WTF/wtf/URL.cpp
M Source/WTF/wtf/spi/cocoa/MachVMSPI.h
M Source/WTF/wtf/text/AtomString.cpp
M Source/WTF/wtf/text/AtomString.h
M Source/WTF/wtf/text/AtomStringImpl.cpp
M Source/WTF/wtf/text/AtomStringImpl.h
M Source/WTF/wtf/text/StringImpl.cpp
M Source/WTF/wtf/text/StringImpl.h
M Source/WTF/wtf/text/SymbolImpl.cpp
M Source/WTF/wtf/text/SymbolImpl.h
M Source/WTF/wtf/text/UniquedStringImpl.h
M Source/WTF/wtf/text/WTFString.cpp
M Source/WTF/wtf/text/WTFString.h
M Source/WebCore/bindings/scripts/StaticString.pm
M Source/WebCore/css/CSSFontFaceSet.cpp
M Source/WebCore/css/CSSFontSelector.cpp
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/Document.h
M Source/WebCore/dom/Element.cpp
M Source/WebCore/dom/make_names.pl
M Source/WebCore/platform/graphics/FontCascadeFonts.cpp
M Source/WebCore/style/StyleResolveForFontRaw.cpp
M 
Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm
M Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm
M Tools/TestWebKitAPI/Tests/WTF/JSONValue.cpp
M Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp
M Tools/TestWebKitAPI/Tests/WebCore/FileMonitor.cpp
M Tools/TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp
M Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm

  Log Message:
  ---
  Remove static strings and symbols
https://bugs.webkit.org/show_bug.cgi?id=256744
rdar://109287900

Reviewed by Yusuke Suzuki.

We would like to make StringImpl*, JSString* and JSRopeString* fit into
32 bits.

Why?
- This has the potential to save memory and improve cache locallity.
- Previously, when Yusuke made JSRopeString smaller by squishing the ropes
together, it was a 1% Speedometer regression. This will let us undo
that change while keeping the size of JSRopeString small.

We need to:
1) Forbid precice allocation
2) Ensure 16-byte alignment

This patch does both of these things, and should be sufficient to enable
CompactPtr to work on iOS (although this patch doesn't do that).

On macOS, pointers are 48-bit instead of 36-bit, so we have more work to do:
1) Make sure that all strings are allocated out of the same malloc region
2) Allocate a chunk of va space for them, and plumb the base pointer around

This patch does the first thing.

Isn't removing static strings going to be a memory regression?

Well, hopefully not. Today we still increment the ref count of static strings,
so the memory is dirtied. After applying this patch, the character data will
still be static, but the StringImpl itself (which remember, was always dirty)
will be placed next to its bretheren.

This patch might introduce some concurrency bugs though. By inspection I
have tried to match the existing invariants, but I don't know if I have
spotted everything.

* Source/JavaScriptCore/builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::defaultConstructorSourceCode):
* Source/JavaScriptCore/builtins/BuiltinExecutables.h:
* Source/JavaScriptCore/builtins/BuiltinNames.cpp:
(JSC::Symbols::initializeStaticSymbols):
(JSC::BuiltinNames::BuiltinNames):
(): Deleted.
* Source/JavaScriptCore/builtins/BuiltinNames.h:
* Source/JavaScriptCore/runtime/InitializeThreading.cpp:
(JSC::initialize):
* Source/JavaScriptCore/runtime/JSString.h:
(JSC::JSString::destroy): Deleted.
(JSC::JSString::subspaceFor): Deleted.
(JSC::JSString::uninitializedValueInternal const): Deleted.
(JSC::JSString::valueInternal const): Deleted.
(JSC::JSString::JSString): Deleted.
(JSC::JSString::finishCreation): Deleted.
(JSC::JSString::create): Deleted.
(JSC::JSString::createHasOtherOwner): Deleted.
(JSC::JSString::toBoolean const): Deleted.
(JSC::JSString::canGetIndex): Deleted.
(JSC::JSString::offsetOfValue): Deleted.
(JSC::JSString::isRope const): Deleted.
(JSC::JSString::fiberConcurrently const): Deleted.
* Source/JavaScriptCore/runtime/SmallStrings.cpp:
* Source/JavaScriptCore/runtime/SmallStrings.h:
(JSC::SmallString::initializeJSStaticStrings):
* Source/JavaScriptCore/runtime/VM.cpp:
(JSC::VM::ensureTerminationException):
(): Deleted.
* 

[webkit-changes] [WebKit/WebKit] c65472: ASAN_BUS | Yarr::Interpreter::matchDisjunction; Ya...

2023-05-19 Thread Michael Saboff
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c654724c531ef90a5676f0b5dbcfede89ae40189
  
https://github.com/WebKit/WebKit/commit/c654724c531ef90a5676f0b5dbcfede89ae40189
  Author: Michael Saboff 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
A JSTests/stress/regexp-lookbehind-greedy-backreference.js
M Source/JavaScriptCore/yarr/YarrInterpreter.cpp

  Log Message:
  ---
  ASAN_BUS | Yarr::Interpreter::matchDisjunction; 
Yarr::Interpreter::backtrackParentheses; Yarr::Interpreter::matchDisjunction
https://bugs.webkit.org/show_bug.cgi?id=253466
rdar://105669717

Reviewed by Yusuke Suzuki.

When backtracking, i.e. unmatching a greedy backreference in a lookbehind, the 
unmatch requires moving the input pointer
forward.  THis means we need to do a checkInput() instead of a rewind() in this 
case.

* JSTests/stress/regexp-lookbehind-greedy-backreference.js: Added.
(arrayToString):
(dumpValue):
(compareArray):
(testRegExp):
* Source/JavaScriptCore/yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::backtrackBackReference):

Originally-landed-as: 259548.378@safari-7615-branch (3d135908241d). 
rdar://1056697172
Canonical link: https://commits.webkit.org/264264@main


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


[webkit-changes] [WebKit/WebKit] 1ef1b7: Bail out early if m_element is deleted

2023-05-19 Thread Chirag Shah
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1ef1b775b5ae7b6ae0e2124fc5faa7ec0916401b
  
https://github.com/WebKit/WebKit/commit/1ef1b775b5ae7b6ae0e2124fc5faa7ec0916401b
  Author: Chirag M Shah 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
A LayoutTests/fullscreen/element-clear-during-fullscreen-crash-expected.txt
A LayoutTests/fullscreen/element-clear-during-fullscreen-crash.html
M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp

  Log Message:
  ---
  Bail out early if m_element is deleted
https://bugs.webkit.org/show_bug.cgi?id=253129
rdar://104290899

Reviewed by Jer Noble.

A call to WebFullScreenManager::willEnterFullScreen() can end up calling
WebFullScreenManager::clearElement() which can happen when location.hash
is changed. This clears the m_element which is then later used in
willEnterFullScreen(). This change bails out early if this happens and
cleans up the state-machine.

* LayoutTests/fullscreen/element-clear-during-fullscreen-crash-expected.txt: 
Added.
* LayoutTests/fullscreen/element-clear-during-fullscreen-crash.html: Added.
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::willEnterFullScreen):

Originally-landed-as: 259548.352@safari-7615-branch (9f301d9e042e). 
rdar://104290899
Canonical link: https://commits.webkit.org/264263@main


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


[webkit-changes] [WebKit/WebKit] 402ed6: Do not parse caption-side: left / right as valid CSS

2023-05-19 Thread Ahmad Saleem
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 402ed699af6cddc14e0c068446c8e803d3bc9f91
  
https://github.com/WebKit/WebKit/commit/402ed699af6cddc14e0c068446c8e803d3bc9f91
  Author: Ahmad Saleem 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-tables/parsing/caption-side-invalid-expected.txt
M Source/WebCore/css/CSSPrimitiveValueMappings.h
M Source/WebCore/css/CSSProperties.json
M Source/WebCore/rendering/style/RenderStyleConstants.cpp
M Source/WebCore/rendering/style/RenderStyleConstants.h

  Log Message:
  ---
  Do not parse caption-side: left / right as valid CSS

https://bugs.webkit.org/show_bug.cgi?id=256040
rdar://problem/108892083

Reviewed by Antti Koivisto.

This patch aligns WebKit with Blink / Chromium, Gecko / Firefox and Web-Spec [1]
by removing 'left' and 'right' parsing support for 'caption-side'

[1] https://drafts.csswg.org/css-tables/#propdef-caption-side

* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/CSSPrimitiveValueMappings.h: Remove 'left' and 'right' case
* Source/WebCore/rendering/style/RenderStyleConstants.cpp: Ditto from 
caption-side function
* Source/WebCore/rendering/style/RenderStyleConstants.h: Ditto from 
caption-side enum
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-tables/parsing/caption-side-invalid-expected.txt:
 Rebaselined

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


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


[webkit-changes] [WebKit/WebKit] da4777: Merge CSSImportRule layer IDL extensions into main...

2023-05-19 Thread CanadaHonk
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: da477790afb9aa628a64e020fdc7a6e220a20350
  
https://github.com/WebKit/WebKit/commit/da477790afb9aa628a64e020fdc7a6e220a20350
  Author: CanadaHonk 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebCore/CMakeLists.txt
M Source/WebCore/DerivedSources-input.xcfilelist
M Source/WebCore/DerivedSources-output.xcfilelist
M Source/WebCore/DerivedSources.make
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
R Source/WebCore/css/CSSImportRule+Layer.idl
M Source/WebCore/css/CSSImportRule.idl

  Log Message:
  ---
  Merge CSSImportRule layer IDL extensions into main interface
https://bugs.webkit.org/show_bug.cgi?id=256979

Reviewed by Tim Nguyen.

Merged the CSSImportRule layer extensions (layerName) into the main interface.
Spec PR: https://github.com/w3c/csswg-drafts/pull/8711

Simplifies the IDL files from two to one :')

* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSImportRule+Layer.idl: Removed.
* Source/WebCore/css/CSSImportRule.idl:

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


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


[webkit-changes] [WebKit/WebKit] 8113b3: Remove Quirk shouldDisableLazyImageLoading for Ike...

2023-05-19 Thread Karl Dubost
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8113b3ee5ee91698e1b8d3a37f8ce153112ec644
  
https://github.com/WebKit/WebKit/commit/8113b3ee5ee91698e1b8d3a37f8ce153112ec644
  Author: Karl Dubost 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/Document.h
M Source/WebCore/html/HTMLImageElement.idl
M Source/WebCore/html/parser/HTMLPreloadScanner.cpp
M Source/WebCore/loader/ImageLoader.cpp
M Source/WebCore/page/Quirks.cpp
M Source/WebCore/page/Quirks.h

  Log Message:
  ---
  Remove Quirk shouldDisableLazyImageLoading for Ikea.com
https://bugs.webkit.org/show_bug.cgi?id=257007
rdar://109547199

Reviewed by Chris Dumez.

Removes the lazy images loading necessary for Ikea. The Ikea Web
team has fixed their code and the images are now loading into
Safari without issues. This also re-enable the normal preference
setting for disabling/enabling Lazy Image loading.

* Source/WebCore/dom/Document.cpp:
(WebCore::Document::lazyImageLoadingEnabled const): Deleted.
* Source/WebCore/dom/Document.h:
* Source/WebCore/html/HTMLImageElement.idl:
* Source/WebCore/html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
* Source/WebCore/loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::shouldDisableLazyImageLoadingQuirk const): Deleted.
* Source/WebCore/page/Quirks.h:

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


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


[webkit-changes] [WebKit/WebKit] 08747d: `git-webkit` complains about missing `Python.h`

2023-05-19 Thread Vitaly Dyachkov
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 08747dc9d22d3afcdc82e5268b89df4a1f9bf8cc
  
https://github.com/WebKit/WebKit/commit/08747dc9d22d3afcdc82e5268b89df4a1f9bf8cc
  Author: Vitaly Dyachkov 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Tools/glib/dependencies/apt
M Tools/glib/dependencies/dnf

  Log Message:
  ---
  `git-webkit` complains about missing `Python.h`
https://bugs.webkit.org/show_bug.cgi?id=257021

Reviewed by Alejandro G. Castro.

`get-webkit` automatically installs `cffi` which requires `Python.h`
and throws scary messages if it's not found.

* Tools/glib/dependencies/apt:
* Tools/glib/dependencies/dnf:

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


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


[webkit-changes] [WebKit/WebKit] 0aad38: [Cairo] Unnecessary overrides `GraphicsContext::dr...

2023-05-19 Thread Vitaly Dyachkov
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0aad38b2c52686d3a70ca03b845d24eebf594c70
  
https://github.com/WebKit/WebKit/commit/0aad38b2c52686d3a70ca03b845d24eebf594c70
  Author: Vitaly Dyachkov 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebCore/platform/graphics/cairo/FontCairo.cpp
M Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
M Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.h

  Log Message:
  ---
  [Cairo] Unnecessary overrides `GraphicsContext::drawGlyphs()` and 
`GraphicsContext::drawDecomposedGlyphs()`
https://bugs.webkit.org/show_bug.cgi?id=257019

Reviewed by Carlos Garcia Campos.

Default `GraphicsContext::drawGlyphs()` simply calls
`FontCascade::drawGlyphs()` but `GraphicsContextCairo::drawGlyphs()`
duplicates the logic of `FontCascade::drawGlyphs()`.

`GraphicsContextCairo::drawDecomposedGlyphs()` is virtually the same as
`GraphicsContext::drawDecomposedGlyphs()`.

* Source/WebCore/platform/graphics/cairo/FontCairo.cpp:
(WebCore::FontCascade::drawGlyphs):
* Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContextCairo::drawGlyphs): Deleted.
(WebCore::GraphicsContextCairo::drawDecomposedGlyphs): Deleted.
* Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.h:

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


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


[webkit-changes] [WebKit/WebKit] d94a32: [git-webkit] Keywords can contains colons

2023-05-19 Thread Jonathan Bedard
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d94a32bf563853086a20ec5539e7a3de701f0298
  
https://github.com/WebKit/WebKit/commit/d94a32bf563853086a20ec5539e7a3de701f0298
  Author: Jonathan Bedard 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M metadata/trackers.json

  Log Message:
  ---
  [git-webkit] Keywords can contains colons
https://bugs.webkit.org/show_bug.cgi?id=256981
rdar://109530553

Reviewed by Aakash Jain.

* metadata/trackers.json: Match any string between 'keyword:' and keyword.

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


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


[webkit-changes] [WebKit/WebKit] 2f9989: Block necp-client-open in GPU process sandbox

2023-05-19 Thread Per Arne Vollan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2f9989015488b63be52d1a36d0c308d757fef7cd
  
https://github.com/WebKit/WebKit/commit/2f9989015488b63be52d1a36d0c308d757fef7cd
  Author: Per Arne Vollan 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in

  Log Message:
  ---
  Block necp-client-open in GPU process sandbox
https://bugs.webkit.org/show_bug.cgi?id=256990
rdar://103842348

Reviewed by Brent Fulgham.

This is related to network extensions, and should not be allowed in the GPU 
process.

* Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:

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


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


[webkit-changes] [WebKit/WebKit] 3ebf7a: Make sure a controllerchange event gets fired on c...

2023-05-19 Thread Chris Dumez
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3ebf7a86bf38b50ccb2982ef6040051ec356a75a
  
https://github.com/WebKit/WebKit/commit/3ebf7a86bf38b50ccb2982ef6040051ec356a75a
  Author: Chris Dumez 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M LayoutTests/TestExpectations
M 
LayoutTests/imported/w3c/web-platform-tests/clear-site-data/storage.https-expected.txt
M Source/WebCore/workers/service/SWClientConnection.cpp
M Source/WebCore/workers/service/SWClientConnection.h
M Source/WebCore/workers/service/server/SWServer.h
M Source/WebCore/workers/service/server/SWServerRegistration.cpp
M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp
M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.h
M Source/WebKit/WebProcess/Storage/WebSWClientConnection.messages.in

  Log Message:
  ---
  Make sure a controllerchange event gets fired on clients when a service 
worker gets deleted
https://bugs.webkit.org/show_bug.cgi?id=256982

Reviewed by Youenn Fablet.

Make sure a controllerchange event gets fired on clients when a service worker 
gets deleted.
This matches Firefox and Chrome's behavior.

* LayoutTests/TestExpectations:
* 
LayoutTests/imported/w3c/web-platform-tests/clear-site-data/storage.https-expected.txt:
* Source/WebCore/workers/service/SWClientConnection.cpp:
(WebCore::updateController):
(WebCore::SWClientConnection::notifyClientsOfControllerChange):
* Source/WebCore/workers/service/SWClientConnection.h:
* Source/WebCore/workers/service/server/SWServer.h:
* Source/WebCore/workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::notifyClientsOfControllerChange):
(WebCore::SWServerRegistration::clear):
* Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::notifyClientsOfControllerChange):
* Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.h:
* Source/WebKit/WebProcess/Storage/WebSWClientConnection.messages.in:

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


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


[webkit-changes] [WebKit/WebKit] 6f4210: Revert

2023-05-19 Thread Per Arne Vollan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6f4210894bd27c3cc0eb22d39299d85372610a7d
  
https://github.com/WebKit/WebKit/commit/6f4210894bd27c3cc0eb22d39299d85372610a7d
  Author: Per Arne Vollan 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M 
Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
M Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm

  Log Message:
  ---
  Revert 
https://bugs.webkit.org/show_bug.cgi?id=256977
rdar://109528147

Unreviewed revert.

Revert , since this workaround is no 
longer needed after AX addressed the original issue.

* Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):

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


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


[webkit-changes] [WebKit/WebKit] 73e39a: Suppress mach-message sandbox violations in the We...

2023-05-19 Thread Per Arne Vollan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 73e39a42f4e486d92fab029f608b6648c021c49f
  
https://github.com/WebKit/WebKit/commit/73e39a42f4e486d92fab029f608b6648c021c49f
  Author: Per Arne Vollan 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M 
Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
M Source/WebKit/WebProcess/com.apple.WebProcess.sb.in

  Log Message:
  ---
  Suppress mach-message sandbox violations in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=256993
rdar://109535809

Reviewed by Brent Fulgham.

These are from launchd blocking, and are considered benign.

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

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


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


[webkit-changes] [WebKit/WebKit] 705acf: Text not wrapping in nested grid

2023-05-19 Thread Brandon Stewart
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 705acfb695e5f37fa7e52c7d2050e9e3151cb606
  
https://github.com/WebKit/WebKit/commit/705acfb695e5f37fa7e52c7d2050e9e3151cb606
  Author: Brandon Stewart 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-relayout-with-nested-grid-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-relayout-with-nested-grid-ref.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-relayout-with-nested-grid.html
M Source/WebCore/rendering/RenderGrid.cpp
M Source/WebCore/rendering/RenderGrid.h

  Log Message:
  ---
  Text not wrapping in nested grid
https://bugs.webkit.org/show_bug.cgi?id=254214
rdar://107002717

Reviewed by Alan Baradlay.

This is a hack fix to support not re-layout text in inner grids. This is caused 
by the updateGridAreaLogicalSize
being called in performGridItemsPreLayout(). This causes the paragraph to 
re-need a layout, which should not be happening.
This re-layout ultimately the text to go out of the bounds of the grid.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-relayout-with-nested-grid-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-relayout-with-nested-grid-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-relayout-with-nested-grid.html:
 Added.
* Source/WebCore/rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutGrid):
(WebCore::RenderGrid::layoutMasonry):
(WebCore::RenderGrid::computeIntrinsicLogicalWidths const):
(WebCore::RenderGrid::performGridItemsPreLayout const):
* Source/WebCore/rendering/RenderGrid.h:

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


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


[webkit-changes] [WebKit/WebKit] 8b48b8: textareas logical height with overflow auto should...

2023-05-19 Thread Alan Baradlay
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8b48b8b9e8b826979b747f9c11166b3f03c850c3
  
https://github.com/WebKit/WebKit/commit/8b48b8b9e8b826979b747f9c11166b3f03c850c3
  Author: Alan Baradlay 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M 
LayoutTests/platform/ios-wk2/fast/forms/basic-textareas-quirks-expected.txt
M LayoutTests/platform/ios/fast/forms/basic-textareas-expected.txt
M LayoutTests/platform/mac/fast/forms/basic-textareas-expected.txt
M LayoutTests/platform/mac/fast/forms/basic-textareas-quirks-expected.txt
M Source/WebCore/rendering/RenderTextControl.cpp

  Log Message:
  ---
  textareas logical height with overflow auto shouldn't add scrollbar-thickness
https://bugs.webkit.org/show_bug.cgi?id=256811


Reviewed by Simon Fraser.

"This change fixes the scrollbar thickness incorrectly being included in the 
textarea when overflow is hidden or clipped."
Merged from Blink: 
https://chromium.googlesource.com/chromium/src/+/18481ffa332076e58fd9adbbea2062c2ba087dfb

* Source/WebCore/rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::computeLogicalHeight const):

* LayoutTests/platform/ios-wk2/fast/forms/basic-textareas-quirks-expected.txt:
* LayoutTests/platform/ios/fast/forms/basic-textareas-expected.txt:
* LayoutTests/platform/mac/fast/forms/basic-textareas-expected.txt: interop 
progression.
* LayoutTests/platform/mac/fast/forms/basic-textareas-quirks-expected.txt: 
interop progression.
* Source/WebCore/rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::computeLogicalHeight const):

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


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


[webkit-changes] [WebKit/WebKit] 95a170: Fix and enable v8's multi-value test

2023-05-19 Thread Keith Miller
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 95a170759a008c7875d381ff5fb261ff2b55042f
  
https://github.com/WebKit/WebKit/commit/95a170759a008c7875d381ff5fb261ff2b55042f
  Author: Keith Miller 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M JSTests/wasm/v8/multi-value.js

  Log Message:
  ---
  Fix and enable v8's multi-value test
https://bugs.webkit.org/show_bug.cgi?id=256980

Reviewed by Yusuke Suzuki.

Most tests just needed an error correction. One test incorrectly tested that
the unreachable return values of a function must match the signature's return 
type.
This doesn't seem to match what the spec/interpreter say.

* JSTests/wasm/v8/multi-value.js:
(MultiIfOneArmedNoTypeCheckTest):
(MultiJSToWasmReturnTest):
(MultiBlockUnreachableTypeErrorTest): Deleted.

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


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


[webkit-changes] [WebKit/WebKit] 5a8358: [GStreamer] Video encoder caps reported as leaked

2023-05-19 Thread Philippe Normand
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5a8358f7d8ad2e226e6b09f4fa16373e5f35d81f
  
https://github.com/WebKit/WebKit/commit/5a8358f7d8ad2e226e6b09f4fa16373e5f35d81f
  Author: Philippe Normand 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp

  Log Message:
  ---
  [GStreamer] Video encoder caps reported as leaked
https://bugs.webkit.org/show_bug.cgi?id=256907

Reviewed by Xabier Rodriguez-Calvar.

Flag the EncoderDefinition caps fields as MAY_BE_LEAKED, so that they can be 
ignored by the
GStreamer leak tracer. Those caps are static for the whole WebProcess lifetime.

* Source/WebCore/platform/gstreamer/VideoEncoderPrivateGStreamer.cpp:
(Encoders::registerEncoder):

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


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


[webkit-changes] [WebKit/WebKit] e449e9: (REGRESSION)[IFC] Incorrect content clipping when ...

2023-05-19 Thread Alan Baradlay
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e449e98c37d8b9600a4b314576747a6f39824dad
  
https://github.com/WebKit/WebKit/commit/e449e98c37d8b9600a4b314576747a6f39824dad
  Author: Alan Baradlay 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
A 
LayoutTests/fast/inline/incorrect-content-clip-when-list-marker-is-present-expected.html
A 
LayoutTests/fast/inline/incorrect-content-clip-when-list-marker-is-present.html
M LayoutTests/fast/replaced/ul-li-word-break-break-word-expected.html
M LayoutTests/platform/ios/fast/lists/li-br-expected.txt
M LayoutTests/platform/mac/fast/lists/li-br-expected.txt
M Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineLine.h
M Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp

  Log Message:
  ---
  (REGRESSION)[IFC] Incorrect content clipping when list marker is present
https://bugs.webkit.org/show_bug.cgi?id=256968


Reviewed by Antti Koivisto.

Both Chrome and Firefox consider the position _after_ the list marker as a soft 
wrap opportunity and they also make the line contentful in line-breaking sense 
-but not for floats etc.

* 
LayoutTests/fast/inline/incorrect-content-clip-when-list-marker-is-present-expected.html:
 Added.
* 
LayoutTests/fast/inline/incorrect-content-clip-when-list-marker-is-present.html:
 Added.
* Source/WebCore/layout/formattingContexts/inline/InlineLine.h:
(WebCore::Layout::Line::hasContent const):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::isAtSoftWrapOpportunity):

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


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


[webkit-changes] [WebKit/WebKit] 994a3d: [GTK][WPE] Update several test results

2023-05-19 Thread Claudio Saavedra
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 994a3d080727520d6b51853f663e987469d91082
  
https://github.com/WebKit/WebKit/commit/994a3d080727520d6b51853f663e987469d91082
  Author: Claudio Saavedra 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
R 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-cascade/layer-counter-style-override-expected.txt
M 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt
M 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/cssom-view/cssom-getBoundingClientRect-003-expected.txt
A 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/linking/reftests/url-reference-local-textpath-expected.txt
A 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/text/reftests/dominant-baseline-hanging-small-font-size-expected.txt
A 
LayoutTests/platform/glib/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt
R 
LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/out-of-flow/all-mathml-containers-expected.txt
R 
LayoutTests/platform/gtk/imported/w3c/web-platform-tests/svg/linking/reftests/url-reference-local-textpath-expected.txt
R 
LayoutTests/platform/gtk/imported/w3c/web-platform-tests/svg/text/reftests/dominant-baseline-hanging-small-font-size-expected.txt
R 
LayoutTests/platform/gtk/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt
R 
LayoutTests/platform/wpe/imported/w3c/web-platform-tests/svg/linking/reftests/url-reference-local-textpath-expected.txt
R 
LayoutTests/platform/wpe/imported/w3c/web-platform-tests/svg/text/reftests/dominant-baseline-hanging-small-font-size-expected.txt
R 
LayoutTests/platform/wpe/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt

  Log Message:
  ---
  [GTK][WPE] Update several test results
https://bugs.webkit.org/show_bug.cgi?id=257015

Unreviewed gardening.

Several tests have been passing but the expectation file had them as failing.
Update those. Additionally update and move some results that are the same
for WPE and GTK to the glib expectations directory.

* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-cascade/layer-counter-style-override-expected.txt:
 Removed.
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/linking/reftests/url-reference-local-textpath-expected.txt:
 Renamed from 
LayoutTests/platform/gtk/imported/w3c/web-platform-tests/svg/linking/reftests/url-reference-local-textpath-expected.txt.
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/text/reftests/dominant-baseline-hanging-small-font-size-expected.txt:
 Renamed from 
LayoutTests/platform/gtk/imported/w3c/web-platform-tests/svg/text/reftests/dominant-baseline-hanging-small-font-size-expected.txt.
* 
LayoutTests/platform/glib/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt:
 Renamed from 
LayoutTests/platform/wpe/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt.
* 
LayoutTests/platform/gtk/imported/w3c/web-platform-tests/mathml/relations/css-styling/out-of-flow/all-mathml-containers-expected.txt:
 Removed.
* 
LayoutTests/platform/gtk/svg/repaint/text-repainting-after-modifying-container-transform-repaint-rects-expected.txt:
 Removed.
* 
LayoutTests/platform/wpe/imported/w3c/web-platform-tests/svg/linking/reftests/url-reference-local-textpath-expected.txt:
 Removed.
* 
LayoutTests/platform/wpe/imported/w3c/web-platform-tests/svg/text/reftests/dominant-baseline-hanging-small-font-size-expected.txt:
 Removed.
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-flexbox/text-as-flexitem-size-001-expected.txt:
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/cssom-view/cssom-getBoundingClientRect-003-expected.txt:
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/linking/reftests/url-reference-local-textpath-expected.txt:
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/text/reftests/dominant-baseline-hanging-small-font-size-expected.txt:

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


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


[webkit-changes] [WebKit/WebKit] cef754: Fix that CSSSelectorParser::consumeName doesn't wo...

2023-05-19 Thread joonghunpark
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cef7548f63392ca20dc8eec8ba15de3abdc41559
  
https://github.com/WebKit/WebKit/commit/cef7548f63392ca20dc8eec8ba15de3abdc41559
  Author: Joonghun Park 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/js/CSS-supports-L4-expected.txt
M Source/WebCore/css/parser/CSSSelectorParser.cpp

  Log Message:
  ---
  Fix that CSSSelectorParser::consumeName doesn't work properly for '|'.
https://bugs.webkit.org/show_bug.cgi?id=215635

Reviewed by Antti Koivisto.

When css complex selector has an unknown combinator specified as delimiter '|',
it was addressed as css namespace separator in
CSSSelectorParser::consumeName by consuming it in a wrong manner.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-conditional/js/CSS-supports-L4-expected.txt:
* Source/WebCore/css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::supportsComplexSelector):
(WebCore::CSSSelectorParser::consumeName):

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


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


[webkit-changes] [WebKit/WebKit] 092303: HTML `pattern` attribute should set `v` flag for r...

2023-05-19 Thread Anne van Kesteren
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 092303e2abb1e89254f64b301953ac0fbf36c681
  
https://github.com/WebKit/WebKit/commit/092303e2abb1e89254f64b301953ac0fbf36c681
  Author: Anne van Kesteren 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M LayoutTests/fast/forms/ValidityState-patternMismatch-expected.txt
M LayoutTests/fast/forms/ValidityState-patternMismatch.html
M 
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch.html
A 
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/reportValidity-crash.html
M 
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/w3c-import.log
M 
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/pattern_attribute-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/pattern_attribute.html
M Source/JavaScriptCore/yarr/RegularExpression.cpp
M Source/WebCore/html/BaseTextInputType.cpp

  Log Message:
  ---
  HTML `pattern` attribute should set `v` flag for regular expressions
https://bugs.webkit.org/show_bug.cgi?id=251675
rdar://105268069

Reviewed by Yusuke Suzuki.

Make  use Flags::UnicodeSets instead of Flags::Unicode
and encourage future callers of RegularExpression to do the same.

* LayoutTests/fast/forms/ValidityState-patternMismatch-expected.txt:
* LayoutTests/fast/forms/ValidityState-patternMismatch.html:
* 
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch.html:
* 
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/reportValidity-crash.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/w3c-import.log:
* 
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/pattern_attribute-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/pattern_attribute.html:
* Source/JavaScriptCore/yarr/RegularExpression.cpp:
(JSC::Yarr::RegularExpression::Private::compile):
* Source/WebCore/html/BaseTextInputType.cpp:
(WebCore::BaseTextInputType::patternMismatch const):

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


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


[webkit-changes] [WebKit/WebKit] a84036: [WPE][GTK][CMake] The path to bwrap and xdg-dbus-p...

2023-05-19 Thread Carlos Alberto Lopez Perez
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a84036c6d1d66d723f217a4c29eee76f2039a353
  
https://github.com/WebKit/WebKit/commit/a84036c6d1d66d723f217a4c29eee76f2039a353
  Author: Carlos Alberto Lopez Perez 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/cmake/BubblewrapSandboxChecks.cmake
M Tools/yocto/targets.conf

  Log Message:
  ---
  [WPE][GTK][CMake] The path to bwrap and xdg-dbus-proxy should not be 
auto-detected when cross-compiling
https://bugs.webkit.org/show_bug.cgi?id=256679

Reviewed by Adrian Perez de Castro.

When enabling -DENABLE_BUBBLEWRAP_SANDBOX=ON is needed to define to the build
the paths (full-paths) to the bwrap and xdg-dbus-proxy binaries.

The current CMake code is auto-detecting those paths by calling the CMake
function find_program(): so it is defining the paths to those programs with
the values from the host system.

But when cross-compiling that is wrong because the target binaries end with the
values for the paths from the host system which don't necessary have to match
the values from the target system.

I can't see how it will be possible to auto-detect the value that this programs
will have in the target system from the host system, so the only sane way of
dealing with this seems to be to give an error at configure time and ask for
those paths to be defined manually.

This patch changes the code to only try to auto-detect those binaries when no
cross-compiling.

Also update the default build parameters for the cross-building of targets
with cross-toolchain-helper to define the right paths that those targets will
have at run-time.

* Source/cmake/BubblewrapSandboxChecks.cmake:
* Tools/yocto/targets.conf:

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


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


[webkit-changes] [WebKit/WebKit] b81063: [WGSL] Respect @size and @alignment when serializi...

2023-05-19 Thread Tadeu Zagallo
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b810632939925d5e80263b3991700849b1873cea
  
https://github.com/WebKit/WebKit/commit/b810632939925d5e80263b3991700849b1873cea
  Author: Tadeu Zagallo 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebGPU/WGSL/GlobalVariableRewriter.cpp
M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp
M Source/WebGPU/WGSL/Types.cpp
M Source/WebGPU/WGSL/Types.h

  Log Message:
  ---
  [WGSL] Respect @size and @alignment when serializing structs
https://bugs.webkit.org/show_bug.cgi?id=256971
rdar://109516591

Reviewed by Dan Glastonbury.

Implement the size and alignment calculation for types according to the spec[1] 
and
respect both the implicit and explit size and alignments (provided through 
attributes)
when serializing structs.

[1]: https://gpuweb.github.io/gpuweb/wgsl/#alignment-and-size

* Source/WebGPU/WGSL/GlobalVariableRewriter.cpp:
(WGSL::RewriteGlobalVariables::insertStructs):
* Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
(WGSL::Metal::FunctionDefinitionWriter::visit):
* Source/WebGPU/WGSL/Types.cpp:
(WGSL::Type::size const):
(WGSL::Type::alignment const):
* Source/WebGPU/WGSL/Types.h:

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


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


[webkit-changes] [WebKit/WebKit] ff4ece: Make sure to run a service worker before firing it...

2023-05-19 Thread youennf
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ff4eced3ff239c434ef397c0c059a8a027a54db5
  
https://github.com/WebKit/WebKit/commit/ff4eced3ff239c434ef397c0c059a8a027a54db5
  Author: Youenn Fablet 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M LayoutTests/TestExpectations
A 
LayoutTests/http/wpt/service-workers/changing-service-worker-lengthy-worker.py
A 
LayoutTests/http/wpt/service-workers/service-worker-process-crashing-between-installed-and-activating-expected.txt
A 
LayoutTests/http/wpt/service-workers/service-worker-process-crashing-between-installed-and-activating.html
M Source/WebCore/workers/service/server/SWServer.cpp
M Source/WebCore/workers/service/server/SWServer.h
M Source/WebCore/workers/service/server/SWServerRegistration.cpp

  Log Message:
  ---
  Make sure to run a service worker before firing its activate event
https://bugs.webkit.org/show_bug.cgi?id=256893
rdar://109411104

Reviewed by Ben Nham.

As per spec, we should run the service worker before firing the activate event.
We were not doing so and there might be cases where the service worker will no 
longer be running between installed and activating steps.
This happens for instance in case the process is terminated due to memory 
issues.
We align the implementation with the spec by renaming fireActivateEvent to 
runServiceWorkerAndFireActivateEvent.
Internally, it calls runServiceWorkerIfNecessary before firing the event.
Small refactoring to allow either running a service worker from its object or 
from its ID.

* LayoutTests/TestExpectations:
* 
LayoutTests/http/wpt/service-workers/changing-service-worker-lengthy-worker.py: 
Added.
(main):
* 
LayoutTests/http/wpt/service-workers/service-worker-process-crashing-between-installed-and-activating-expected.txt:
 Added.
* 
LayoutTests/http/wpt/service-workers/service-worker-process-crashing-between-installed-and-activating.html:
 Added.
* Source/WebCore/workers/service/server/SWServer.cpp:
(WebCore::SWServer::runServiceWorkerIfNecessary):
(WebCore::SWServer::runServiceWorker):
(WebCore::SWServer::runServiceWorkerAndFireActivateEvent):
(WebCore::SWServer::fireActivateEvent): Deleted.
* Source/WebCore/workers/service/server/SWServer.h:
* Source/WebCore/workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::activate):

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


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


[webkit-changes] [WebKit/WebKit] 0a7158: [JSC] Do not hoist constant if constant fits in Im...

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

  Changed paths:
M Source/JavaScriptCore/b3/B3MoveConstants.cpp

  Log Message:
  ---
  [JSC] Do not hoist constant if constant fits in Imm for B3 Add/Sub
https://bugs.webkit.org/show_bug.cgi?id=257008
rdar://109551466

Reviewed by Tadeu Zagallo.

We should just use Imm directly if constant is small enough to be directly 
represented as Imm.
This reduces register pressure.

* Source/JavaScriptCore/b3/B3MoveConstants.cpp:

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


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


[webkit-changes] [WebKit/WebKit] 2fed40: RemoteImageBufferProxy waits flushes in a dedicate...

2023-05-19 Thread Kimmo Kinnunen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2fed4020085ce890460e9adaa800e7c01afa01b2
  
https://github.com/WebKit/WebKit/commit/2fed4020085ce890460e9adaa800e7c01afa01b2
  Author: Kimmo Kinnunen 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h
M Source/WebKit/Resources/Signposts/SystemTracePoints.plist
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
R Source/WebKit/WebProcess/GPU/graphics/DisplayListRecorderFlushIdentifier.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h

  Log Message:
  ---
  RemoteImageBufferProxy waits flushes in a dedicated work queue
https://bugs.webkit.org/show_bug.cgi?id=256694
rdar://109257081

Reviewed by Matt Woodrow.

The wait semaphore would be moved to dedicated work queue and waited
upon. When the semaphore would signal, the work queue would wake up
the possible multiple waiters. This behavior is a bit redundant.

Instead, first waiter waits on the semaphore, and subsequent waiters
query the result of the first waiter. The timeout is not exact, as
it will be at maximum the timeout of the first waiter. However, all
current waiters have the same timeout. Subsequent commits might make
this more rigorous, when the pattern will be moved to new abstraction
IPC::Fence.

Removes DisplayListRecorderFlushIdentifier, it is not useful or used.

* Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h:
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
* Source/WebKit/Resources/Signposts/SystemTracePoints.plist:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/graphics/DisplayListRecorderFlushIdentifier.h: 
Removed.
* Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp:
(WebKit::RemoteImageBufferProxyFlushFence::create):
(WebKit::RemoteImageBufferProxyFlushFence::~RemoteImageBufferProxyFlushFence):
(WebKit::RemoteImageBufferProxyFlushFence::waitFor):
(WebKit::RemoteImageBufferProxyFlushFence::forceSignal):
(WebKit::RemoteImageBufferProxyFlushFence::RemoteImageBufferProxyFlushFence):
(WebKit::RemoteImageBufferProxyFlushFence::WTF_GUARDED_BY_LOCK):
(WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy):
(WebKit::RemoteImageBufferProxy::backingStoreWillChange):
(WebKit::RemoteImageBufferProxy::clearBackend):
(WebKit::RemoteImageBufferProxy::flushDrawingContext):
(WebKit::RemoteImageBufferProxy::flushDrawingContextAsync):
(WebKit::RemoteImageBufferProxy::createFlusher):
(WebKit::RemoteImageBufferProxy::prepareForBackingStoreChange):
(WebKit::RemoteImageBufferProxy::hasPendingFlush const): Deleted.
(WebKit::RemoteImageBufferProxyFlushState::waitForDidFlush): Deleted.
(WebKit::RemoteImageBufferProxyFlushState::markCompletedFlush): Deleted.
(WebKit::RemoteImageBufferProxyFlushState::identifierForCompletedFlush const): 
Deleted.
(WebKit::RemoteImageBufferProxyFlushState::cancel): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::lastSentFlushIdentifier const): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::RemoteRenderingBackendProxy):
(WebKit::RemoteRenderingBackendProxy::addPendingFlush): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:

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


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


[webkit-changes] [WebKit/WebKit] 61e0dd: ImageBufferBackend::getPixelBuffer has redundant a...

2023-05-19 Thread Kimmo Kinnunen
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 61e0dd7d8d87ba9591d3ca6e16da94702bdcc090
  
https://github.com/WebKit/WebKit/commit/61e0dd7d8d87ba9591d3ca6e16da94702bdcc090
  Author: Kimmo Kinnunen 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebCore/platform/graphics/ImageBuffer.cpp
M Source/WebCore/platform/graphics/ImageBufferBackend.cpp
M Source/WebCore/platform/graphics/ImageBufferBackend.h
M Source/WebCore/platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp
M Source/WebCore/platform/graphics/cairo/ImageBufferCairoSurfaceBackend.h
M Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.cpp
M Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.h
M Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp
M Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.h
M Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.h
M Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.mm
M 
Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp
M Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h
M 
Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp
M 
Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h
M 
Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBitmapBackend.cpp
M 
Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBitmapBackend.h

  Log Message:
  ---
  ImageBufferBackend::getPixelBuffer has redundant allocator parameter
https://bugs.webkit.org/show_bug.cgi?id=256778
rdar://109343550

Reviewed by Said Abou-Hallawa.

ImageBufferBackend::getPixelBuffer is a virtual function where
subclasses can customize the behavior. The PixelBuffer allocator
parameter is not used in polymorphic way. Instead, the caller of
ImageBufferBackend::getImageBuffer, e.g. ImageBuffer and
RemoteImageBufferProxy, can create the PixelBuffer before invoking
getPixelBuffer.

The removal simplifying the getImageBuffer API is needed so that adding
actually useful parameters does not cause overly complicated API.

Makes the rect and point arguments of
ImageBufferBackend::getPixelBuffer/putPixelBuffer be in backend
coordinate system instead of "logical size" coordinate system. The
"logical size" doesn't make sense for the backend, rather backend is
always in raw pixel coordinates.

Fixes undefined behavior wrt read before write in constructs such as:
  ConstPixelBufferConversionView source {
  ...,
  [bytesPerRow initializer],
  ..., x + source.bytesPerRow * y, ...
  };

* Source/WebCore/platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::getPixelBuffer const):
(WebCore::ImageBuffer::putPixelBuffer):
* Source/WebCore/platform/graphics/ImageBufferBackend.cpp:
(WebCore::ImageBufferBackend::convertToLuminanceMask):
(WebCore::ImageBufferBackend::getPixelBuffer):
(WebCore::ImageBufferBackend::putPixelBuffer):
* Source/WebCore/platform/graphics/ImageBufferBackend.h:
* Source/WebCore/platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp:
(WebCore::ImageBufferCairoSurfaceBackend::getPixelBuffer):
* Source/WebCore/platform/graphics/cairo/ImageBufferCairoSurfaceBackend.h:
* Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.cpp:
(WebCore::ImageBufferCGBitmapBackend::getPixelBuffer):
* Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.h:
* Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:
(WebCore::ImageBufferIOSurfaceBackend::getPixelBuffer):
* Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
* Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.h:
* Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.mm:
(WebKit::CGDisplayListImageBufferBackend::getPixelBuffer):
* Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::getPixelBuffer):
* Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
* 
Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp:
(WebKit::ImageBufferRemoteIOSurfaceBackend::getPixelBuffer):
* 
Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h:
* 
Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBitmapBackend.cpp:
(WebKit::ImageBufferShareableMappedIOSurfaceBitmapBackend::getPixelBuffer):
* 
Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBitmapBackend.h:

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


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


[webkit-changes] [WebKit/WebKit] dd8a70: Convert more enums in FrameSelection.h into enum c...

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

  Changed paths:
M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
M Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
M Source/WebCore/editing/AlternativeTextController.cpp
M Source/WebCore/editing/Editor.cpp
M Source/WebCore/editing/Editor.h
M Source/WebCore/editing/EditorCommand.cpp
M Source/WebCore/editing/FrameSelection.cpp
M Source/WebCore/editing/FrameSelection.h
M Source/WebCore/editing/SpellingCorrectionCommand.cpp
M Source/WebCore/editing/TypingCommand.cpp
M Source/WebCore/editing/cocoa/EditorCocoa.mm
M Source/WebCore/page/DOMSelection.cpp
M Source/WebCore/page/EventHandler.cpp
M Source/WebCore/page/FocusController.cpp
M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
M Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.cpp
M Source/WebKit/WebProcess/WebPage/ios/FindControllerIOS.mm
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
M Source/WebKitLegacy/mac/DOM/DOMUIKitExtensions.mm
M Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.mm
M Source/WebKitLegacy/mac/WebView/WebFrame.mm
M Source/WebKitLegacy/mac/WebView/WebFrameInternal.h
M Source/WebKitLegacy/mac/WebView/WebTextCompletionController.mm

  Log Message:
  ---
  Convert more enums in FrameSelection.h into enum classes
https://bugs.webkit.org/show_bug.cgi?id=257003

Reviewed by Chris Dumez.

* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::visiblePositionRangeForLine const):
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const):
* Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityModifySelection:increase:]):
(-[WebAccessibilityObjectWrapper accessibilityMoveSelectionToMarker:]):
* Source/WebCore/editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
* Source/WebCore/editing/Editor.cpp:
(WebCore::TemporarySelectionChange::setSelection):
(WebCore::Editor::appliedEditing):
(WebCore::Editor::markAndReplaceFor):
(WebCore::Editor::setIgnoreSelectionChanges):
(WebCore::Editor::insertTextPlaceholder):
(WebCore::Editor::removeTextPlaceholder):
(WebCore::Editor::respondToChangedSelection):
* Source/WebCore/editing/Editor.h:
* Source/WebCore/editing/EditorCommand.cpp:
(WebCore::executeMoveBackward):
(WebCore::executeMoveBackwardAndModifySelection):
(WebCore::executeMoveDown):
(WebCore::executeMoveDownAndModifySelection):
(WebCore::executeMoveForward):
(WebCore::executeMoveForwardAndModifySelection):
(WebCore::executeMoveLeft):
(WebCore::executeMoveLeftAndModifySelection):
(WebCore::executeMovePageDown):
(WebCore::executeMovePageDownAndModifySelection):
(WebCore::executeMovePageUp):
(WebCore::executeMovePageUpAndModifySelection):
(WebCore::executeMoveRight):
(WebCore::executeMoveRightAndModifySelection):
(WebCore::executeMoveToBeginningOfDocument):
(WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
(WebCore::executeMoveToBeginningOfLine):
(WebCore::executeMoveToBeginningOfLineAndModifySelection):
(WebCore::executeMoveToBeginningOfParagraph):
(WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
(WebCore::executeMoveToBeginningOfSentence):
(WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
(WebCore::executeMoveToEndOfDocument):
(WebCore::executeMoveToEndOfDocumentAndModifySelection):
(WebCore::executeMoveToEndOfSentence):
(WebCore::executeMoveToEndOfSentenceAndModifySelection):
(WebCore::executeMoveToEndOfLine):
(WebCore::executeMoveToEndOfLineAndModifySelection):
(WebCore::executeMoveToEndOfParagraph):
(WebCore::executeMoveToEndOfParagraphAndModifySelection):
(WebCore::executeMoveParagraphBackwardAndModifySelection):
(WebCore::executeMoveParagraphForwardAndModifySelection):
(WebCore::executeMoveUp):
(WebCore::executeMoveUpAndModifySelection):
(WebCore::executeMoveWordBackward):
(WebCore::executeMoveWordBackwardAndModifySelection):
(WebCore::executeMoveWordForward):
(WebCore::executeMoveWordForwardAndModifySelection):
(WebCore::executeMoveWordLeft):
(WebCore::executeMoveWordLeftAndModifySelection):
(WebCore::executeMoveWordRight):
(WebCore::executeMoveWordRightAndModifySelection):
(WebCore::executeMoveToLeftEndOfLine):
(WebCore::executeMoveToLeftEndOfLineAndModifySelection):
(WebCore::executeMoveToRightEndOfLine):
(WebCore::executeMoveToRightEndOfLineAndModifySelection):
* Source/WebCore/editing/FrameSelection.cpp:
(WebCore::FrameSelection::moveTo):
(WebCore::FrameSelection::moveWithoutValidationTo):

[webkit-changes] [WebKit/WebKit] f8e938: [GTK] The stutters are back

2023-05-19 Thread Carlos Garcia Campos
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f8e938785f3cf4d8135f7d8082e632f5090efd43
  
https://github.com/WebKit/WebKit/commit/f8e938785f3cf4d8135f7d8082e632f5090efd43
  Author: Carlos Garcia Campos 
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
M Source/WebKit/PlatformGTK.cmake
M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp
M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h
M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.messages.in
M Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp
M Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.h
A Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.messages.in

  Log Message:
  ---
  [GTK] The stutters are back
https://bugs.webkit.org/show_bug.cgi?id=256756

Reviewed by Michael Catanzaro.

Use a explicit FrameDone message instead of using async reply for Frame
message. This allows to make AcceleratedSurfaceDMABuf a message receiver
and use the compositing run loop as receiver queue. This way we avoid
using the main thread to handle frame done notifications.

* Source/WebKit/PlatformGTK.cmake:
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp:
(WebKit::AcceleratedBackingStoreDMABuf::frame):
(WebKit::AcceleratedBackingStoreDMABuf::frameDone):
(WebKit::AcceleratedBackingStoreDMABuf::update):
(WebKit::AcceleratedBackingStoreDMABuf::snapshot):
(WebKit::AcceleratedBackingStoreDMABuf::paint):
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h:
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.messages.in:
* Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp:
(WebKit::AcceleratedSurfaceDMABuf::didCreateGLContext):
(WebKit::AcceleratedSurfaceDMABuf::willDestroyGLContext):
(WebKit::AcceleratedSurfaceDMABuf::didRenderFrame):
(WebKit::AcceleratedSurfaceDMABuf::frameDone):
* Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.h:
* Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.messages.in: 
Copied from 
Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.messages.in.

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


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


[webkit-changes] [WebKit/WebKit] ca8455: [WGSL] Implement all logical operators

2023-05-19 Thread Tadeu Zagallo
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ca8455227212d8b0a160c793fdad2549c07e8124
  
https://github.com/WebKit/WebKit/commit/ca8455227212d8b0a160c793fdad2549c07e8124
  Author: Tadeu Zagallo 
  Date:   2023-05-18 (Thu, 18 May 2023)

  Changed paths:
M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp
M Source/WebGPU/WGSL/TypeDeclarations.rb
M Source/WebGPU/WGSL/tests/valid/overload.wgsl

  Log Message:
  ---
  [WGSL] Implement all logical operators
https://bugs.webkit.org/show_bug.cgi?id=256963
rdar://109515188

Reviewed by Dan Glastonbury.

Implement logical operators (or logical expression) according to the spec[1].

[1]: https://gpuweb.github.io/gpuweb/wgsl/#logical-expr

* Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
(WGSL::Metal::FunctionDefinitionWriter::visit):
* Source/WebGPU/WGSL/TypeDeclarations.rb:
* Source/WebGPU/WGSL/tests/valid/overload.wgsl:

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


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


[webkit-changes] [WebKit/WebKit] 3315d8: [iOS] Tapping "Done" sometimes fails to dismiss th...

2023-05-19 Thread Wenson Hsieh
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3315d8e5237e64de3178a0d200631deb98022c3c
  
https://github.com/WebKit/WebKit/commit/3315d8e5237e64de3178a0d200631deb98022c3c
  Author: Wenson Hsieh 
  Date:   2023-05-18 (Thu, 18 May 2023)

  Changed paths:
M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h
M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Tools/TestWebKitAPI/Tests/ios/FocusPreservationTests.mm

  Log Message:
  ---
  [iOS] Tapping "Done" sometimes fails to dismiss the software keyboard after 
dismissing AutoFill UI
https://bugs.webkit.org/show_bug.cgi?id=256997
rdar://109413302

Reviewed by Aditya Keerthi.

Make it harder for WebKit SPI clients to accidentally leave the keyboard in a 
broken state, where
tapping the Done button fails to dismiss the keyboard. This is currently 
possible in the case where
`-_preserveFocusWithToken:destructively:` is invoked without a balanced call to
`-_restoreFocusWithToken:`, since we'll continue to maintain the 
`_focusPreservationCount` until
a new element is focused (which resets this count back to 0).

Instead, if the user taps the Done button (which is surfaced to WebKit as a 
call to
`-accessoryDone`), we should always allow the user to dismiss the keyboard; to 
ensure this, we add a
call to `-_resetFocusPreservationCount` before attempting to blur the focused 
element.

Test: 
FocusPreservationTests.UserCanDismissInputViewRegardlessOfFocusPreservationCount

* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h:
* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _resetFocusPreservationCount]):
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView accessoryDone]):
(-[WKContentView _elementDidBlur]):
* Tools/TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:

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


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


[webkit-changes] [WebKit/WebKit] dfe31a: [WGSL] Report the correct workgroup size in EntryP...

2023-05-19 Thread Tadeu Zagallo
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dfe31a43c822ff776a5303f79119741966f815ff
  
https://github.com/WebKit/WebKit/commit/dfe31a43c822ff776a5303f79119741966f815ff
  Author: Tadeu Zagallo 
  Date:   2023-05-18 (Thu, 18 May 2023)

  Changed paths:
M Source/WebGPU/WGSL/AST/ASTVisitor.cpp
M Source/WebGPU/WGSL/AST/ASTVisitor.h
M Source/WebGPU/WGSL/AST/ASTWorkgroupSizeAttribute.h
M Source/WebGPU/WGSL/EntryPointRewriter.cpp
M Source/WebGPU/WGSL/TypeCheck.cpp

  Log Message:
  ---
  [WGSL] Report the correct workgroup size in EntryPointInformation
https://bugs.webkit.org/show_bug.cgi?id=256969
rdar://109516093

Reviewed by Mike Wyrzykowski.

Previously, we were always reporting the workgroup size to be `1, 1, 1` to
the API. Instead, extract and use actual values from the AST. This code still
doesn't handle constants, but that will be done later in a separate pass.

* Source/WebGPU/WGSL/AST/ASTVisitor.cpp:
(WGSL::AST::extractInteger):
* Source/WebGPU/WGSL/AST/ASTVisitor.h:
* Source/WebGPU/WGSL/AST/ASTWorkgroupSizeAttribute.h:
* Source/WebGPU/WGSL/EntryPointRewriter.cpp:
(WGSL::EntryPointRewriter::EntryPointRewriter):
* Source/WebGPU/WGSL/TypeCheck.cpp:
(WGSL::TypeChecker::extractInteger): Deleted.

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


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


[webkit-changes] [WebKit/WebKit] 61646f: [WebGPU] Pipelines should check if createFunction ...

2023-05-19 Thread Tadeu Zagallo
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 61646fa2b75cc97a71988d7fdad17f3f9109b146
  
https://github.com/WebKit/WebKit/commit/61646fa2b75cc97a71988d7fdad17f3f9109b146
  Author: Tadeu Zagallo 
  Date:   2023-05-18 (Thu, 18 May 2023)

  Changed paths:
M Source/WebGPU/WebGPU/ComputePipeline.mm
M Source/WebGPU/WebGPU/RenderPipeline.mm

  Log Message:
  ---
  [WebGPU] Pipelines should check if createFunction failed
https://bugs.webkit.org/show_bug.cgi?id=256964
rdar://109515339

Reviewed by Mike Wyrzykowski.

If `createFunction` returns nil, assiging it to the Metal pipeline descriptor 
will
result in a crash. Instead, we should return an invalid pipeline so we can 
report
an error instead of crashing.

* Source/WebGPU/WebGPU/ComputePipeline.mm:
(WebGPU::Device::createComputePipeline):
* Source/WebGPU/WebGPU/RenderPipeline.mm:
(WebGPU::Device::createRenderPipeline):

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


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


[webkit-changes] [WebKit/WebKit] 8364b0: [WGSL] EntryPointRewriter is skipping materializat...

2023-05-19 Thread Tadeu Zagallo
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8364b025cf0649b2f3a4eae233a496cac9e0e232
  
https://github.com/WebKit/WebKit/commit/8364b025cf0649b2f3a4eae233a496cac9e0e232
  Author: Tadeu Zagallo 
  Date:   2023-05-18 (Thu, 18 May 2023)

  Changed paths:
M Source/WebGPU/WGSL/EntryPointRewriter.cpp

  Log Message:
  ---
  [WGSL] EntryPointRewriter is skipping materializations
https://bugs.webkit.org/show_bug.cgi?id=256966
rdar://109515526

Reviewed by Mike Wyrzykowski and Dan Glastonbury.

The EntryPointRewriter would return early when `m_parameters` was empty. 
`m_parameters`
holds parameters that were moved into the stage_in struct. Before early 
returning, it
also called `appendBuiltins`, which inserted all the built-in inputs into 
function's
parameters, whether those were already parameters to begin with, or were 
hoisted from
a struct parameter, since Metal doesn't allow built-ins in structs. However, we 
were
missing that we could have an empty `m_parameters`, but still have values in 
`m_materializations`,
which holds the operations we might need to reconstruct struct arguments whose 
fields
got hoisted into the function's top-level parameters. To make the code less 
error-prone,
I removed the early return and instead conditionally apply each of the steps: 
append the
built-in parameters, construct the stage_in struct and materialize 
(user-defined) struct
inputs.

* Source/WebGPU/WGSL/EntryPointRewriter.cpp:
(WGSL::EntryPointRewriter::rewrite):

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


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


[webkit-changes] [WebKit/WebKit] d6f9f3: [WGSL] Struct members shouldn't have built-in attr...

2023-05-19 Thread Tadeu Zagallo
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d6f9f3ee61b8accacdc7790d72fcb03af4e84811
  
https://github.com/WebKit/WebKit/commit/d6f9f3ee61b8accacdc7790d72fcb03af4e84811
  Author: Tadeu Zagallo 
  Date:   2023-05-18 (Thu, 18 May 2023)

  Changed paths:
M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp

  Log Message:
  ---
  [WGSL] Struct members shouldn't have built-in attributes
https://bugs.webkit.org/show_bug.cgi?id=256967
rdar://109515831

Reviewed by Mike Wyrzykowski and Dan Glastonbury.

It's invalid for MSL code to have built-in attributes in struct members, and at
this point of the compilation these inputs were already hoisted into parameters
of the entry point function, so we should just skip the serialization of 
built-in
attributes if we are serializing a struct.

* Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
(WGSL::Metal::FunctionDefinitionWriter::visit):

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


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