-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge upstream 2024-06-30 (qt6) #41
Conversation
https://bugs.webkit.org/show_bug.cgi?id=275707 Reviewed by Darin Adler. * Source/WebCore/platform/graphics/ImageBufferBackend.cpp: (WebCore::ImageBufferBackend::getPixelBuffer): (WebCore::ImageBufferBackend::putPixelBuffer): * Source/WebCore/platform/graphics/ImageBufferBackend.h: * Source/WebCore/platform/graphics/ShareableBitmap.cpp: (WebCore::ShareableBitmap::span const): (WebCore::ShareableBitmap::mutableSpan): (WebCore::ShareableBitmap::data const): Deleted. * Source/WebCore/platform/graphics/ShareableBitmap.h: * Source/WebCore/platform/graphics/cg/GraphicsContextGLCG.cpp: (WebCore::GraphicsContextGL::createNativeImageFromPixelBuffer): * Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.cpp: (WebCore::ImageBufferCGBitmapBackend::create): (WebCore::ImageBufferCGBitmapBackend::ImageBufferCGBitmapBackend): * Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.h: * Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp: (WebCore::ImageBufferIOSurfaceBackend::getPixelBuffer): (WebCore::ImageBufferIOSurfaceBackend::putPixelBuffer): * Source/WebCore/platform/graphics/cg/ImageBufferUtilitiesCG.cpp: (WebCore::verifyImageBufferIsBigEnough): (WebCore::encode): * Source/WebCore/platform/graphics/cg/ImageBufferUtilitiesCG.h: * Source/WebCore/platform/graphics/cg/ShareableBitmapCG.mm: (WebCore::ShareableBitmap::createGraphicsContext): (WebCore::ShareableBitmap::makeCGImage): (WebCore::ShareableBitmap::releaseBitmapContextData): * Source/WebCore/platform/graphics/cocoa/IOSurface.h: * Source/WebCore/platform/graphics/cv/PixelBufferConformerCV.cpp: (WebCore::CVPixelBufferGetBytePointerCallback): * Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp: (WebKit::ImageBufferShareableBitmapBackend::getPixelBuffer): (WebKit::ImageBufferShareableBitmapBackend::putPixelBuffer): Canonical link: https://commits.webkit.org/280293@main
https://bugs.webkit.org/show_bug.cgi?id=275780 Reviewed by Darin Adler. Further split up CSSPropertyParserHelpers into type specific files. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: - Add new files. * Source/WebCore/css/parser/CSSPropertyParserConsumer+Ident.cpp: * Source/WebCore/css/parser/CSSPropertyParserConsumer+Ident.h: - Move custom and dashed ident consumers. * Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp: Copied from Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp. * Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.h: Copied from Source/WebCore/css/parser/CSSPropertyParserHelpers.h. * Source/WebCore/css/parser/CSSPropertyParserConsumer+Position.cpp: Copied from Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp. * Source/WebCore/css/parser/CSSPropertyParserConsumer+Position.h: Copied from Source/WebCore/css/parser/CSSPropertyParserHelpers.h. * Source/WebCore/css/parser/CSSPropertyParserConsumer+String.cpp: Copied from Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp. * Source/WebCore/css/parser/CSSPropertyParserConsumer+String.h: Copied from Source/WebCore/css/parser/CSSPropertyParserHelpers.h. * Source/WebCore/css/parser/CSSPropertyParserConsumer+URL.cpp: Copied from Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp. * Source/WebCore/css/parser/CSSPropertyParserConsumer+URL.h: Copied from Source/WebCore/css/parser/CSSPropertyParserHelpers.h. - Move consume functions to new files. * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: * Source/WebCore/css/parser/CSSPropertyParserHelpers.h: - Remove moved functions. * Source/WebCore/css/parser/CSSPropertyParser.cpp: * Source/WebCore/css/parser/CSSPropertyParserWorkerSafe.cpp: * Source/WebCore/css/process-css-properties.py: - Update includes. Canonical link: https://commits.webkit.org/280294@main
…ines https://bugs.webkit.org/show_bug.cgi?id=275793 rdar://130373046 Reviewed by Per Arne Vollan. Call inflate() only when the dirtyRect is going to be used. * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::didDraw): Canonical link: https://commits.webkit.org/280295@main
https://bugs.webkit.org/show_bug.cgi?id=275680 Reviewed by Michael Catanzaro. In 279373@main I enabled the offscreen canvas settings by default, but I forgot about the build option. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Canonical link: https://commits.webkit.org/280296@main
https://bugs.webkit.org/show_bug.cgi?id=275778 Reviewed by Alicia Boya Garcia. If we fail to push a buffer downstream we should post an error on the bus, GST_ELEMENT_ERROR takes care of that. In that case the error message will be handled in the player, which will also dump the pipeline graph, so there is no need to do that anymore from the source element. Driving-by, the pipeline dumps generated by webkitmediasrc are now named according to the pipeline they belong to, instead of hardcoding "playback-pipeline". * Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp: (dumpPipeline): (webKitMediaSrcLoop): Canonical link: https://commits.webkit.org/280297@main
…layer https://bugs.webkit.org/show_bug.cgi?id=275791 rdar://130369517 Reviewed by Eric Carlson. Apply coding style to RemoteMediaPlayerManager::didReceivePlayerMessage. * Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp: (WebKit::RemoteMediaPlayerManager::didReceivePlayerMessage): Canonical link: https://commits.webkit.org/280298@main
https://bugs.webkit.org/show_bug.cgi?id=275777 Reviewed by Tim Nguyen. This patch sync upstream tests from: Upstream commit: web-platform-tests/wpt@4eecf04 * LayoutTests/imported/w3c/web-platform-tests/editing/run/formatblock.html: * LayoutTests/imported/w3c/web-platform-tests/editing/run/formatblock_4001-last-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/editing/run/forwarddelete.html: * LayoutTests/imported/w3c/web-platform-tests/editing/run/forwarddelete_6001-last-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/editing/run/insertorderedlist-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/editing/run/insertorderedlist.html: * LayoutTests/imported/w3c/web-platform-tests/editing/run/insertparagraph.html: * LayoutTests/imported/w3c/web-platform-tests/editing/run/insertparagraph_6001-last-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/editing/run/insertunorderedlist-expected.txt: Removed. * LayoutTests/imported/w3c/web-platform-tests/editing/run/insertunorderedlist.html: * LayoutTests/imported/w3c/web-platform-tests/editing/run/undo-redo.html: * LayoutTests/tests-options.json: * LayoutTests/imported/w3c/web-platform-tests/editing/run/formatblock_4001-5000-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/editing/run/formatblock_5001-last-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/editing/run/forwarddelete_6001-7000-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/editing/run/forwarddelete_7001-last-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/editing/run/insertorderedlist_1-1000-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/editing/run/insertorderedlist_1001-last-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/editing/run/insertparagraph_6001-7000-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/editing/run/insertparagraph_7001-last-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/editing/run/insertunorderedlist_1-1000-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/editing/run/insertunorderedlist_1001-2000-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/editing/run/insertunorderedlist_2001-last-expected.txt: Canonical link: https://commits.webkit.org/280299@main
…LoadStatistics/ https://bugs.webkit.org/show_bug.cgi?id=275747 rdar://129872343 Reviewed by Matthew Finkel and Sihui Liu. * LayoutTests/http/tests/resourceLoadStatistics/add-blocking-to-redirect.html: * LayoutTests/http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import.https-expected.txt: Renamed from LayoutTests/http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import-expected.txt. * LayoutTests/http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import.https.html: Renamed from LayoutTests/http/tests/resourceLoadStatistics/blocking-in-web-worker-script-import.html. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-1p-cname.https-expected.txt: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-1p-cname-expected.txt. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-1p-cname.https.html: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-1p-cname.html. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-3p-cname.https-expected.txt: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-3p-cname-expected.txt. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-3p-cname.https.html: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-3p-cname.html. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-matching-cname.https-expected.txt: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-matching-cname-expected.txt. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-matching-cname.https.html: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-matching-cname.html. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-no-cname.https-expected.txt: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-no-cname-expected.txt. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-no-cname.https.html: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-cname-sub-no-cname.html. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-1p-cname.https-expected.txt: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-1p-cname-expected.txt. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-1p-cname.https.html: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-1p-cname.html. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-3p-cname.https-expected.txt: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-3p-cname-expected.txt. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-3p-cname.https.html: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-3p-cname.html. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-no-cname.https-expected.txt: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-no-cname-expected.txt. * LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-no-cname.https.html: Renamed from LayoutTests/http/tests/resourceLoadStatistics/cname-cloaking-top-no-cname-sub-no-cname.html. * LayoutTests/http/tests/resourceLoadStatistics/cookie-deletion.html: * LayoutTests/http/tests/resourceLoadStatistics/cookies-with-and-without-user-interaction.html: * LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/app-bound-domains-exempt-from-cookie-blocking-between-each-other.html: * LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-third-party-resources-exempt-from-cookie-blocking.html: * LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/third-party-cookie-blocking.html: * LayoutTests/http/tests/resourceLoadStatistics/grandfathering.html: * LayoutTests/http/tests/resourceLoadStatistics/no-third-party-cookie-blocking-when-itp-is-off.html: * LayoutTests/http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html: * LayoutTests/http/tests/resourceLoadStatistics/ping-to-prevalent-resource.html: * LayoutTests/http/tests/resourceLoadStatistics/resources/secure-worker-importing-localhost-script.js: Added. (onmessage): * LayoutTests/http/tests/resourceLoadStatistics/resources/set-cookie.py: * LayoutTests/http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction.html: * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/gtk/TestExpectations: * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/mac-wk2/TestExpectations: * LayoutTests/platform/wincairo/TestExpectations: * LayoutTests/platform/wk2/TestExpectations: Canonical link: https://commits.webkit.org/280300@main
* Source/WebKit/WPEPlatform/wpe/wayland/CMakeLists.txt: Add WPEMonitorWayland.h to installed headers list. Canonical link: https://commits.webkit.org/280301@main
…d by the key event callback https://bugs.webkit.org/show_bug.cgi?id=275810 Reviewed by Michael Catanzaro. Return early if the view is nullptr after the key event emission. * Source/WebKit/WPEPlatform/wpe/wayland/WPEWaylandSeat.cpp: (WPE::WaylandSeat::handleKeyEvent): Canonical link: https://commits.webkit.org/280302@main
…rent https://bugs.webkit.org/show_bug.cgi?id=275807 rdar://127219753 Reviewed by Dan Glastonbury. All commands using the underlying context should make the context current. * Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm: (WebCore::GraphicsContextGLCocoa::bindExternalImage): (WebCore::GraphicsContextGLCocoa::enableFoveation): (WebCore::GraphicsContextGLCocoa::disableFoveation): Canonical link: https://commits.webkit.org/280303@main
…ument for alignment https://bugs.webkit.org/show_bug.cgi?id=275738 Reviewed by Darin Adler. It is easy to get the order of these parameters wrong otherwise, so we adopt the template argument whenever we round up for stack alignment. * Source/JavaScriptCore/b3/air/AirCCallingConvention.cpp: (JSC::B3::Air::computeCCallingConvention): * Source/JavaScriptCore/b3/air/AirCode.cpp: (JSC::B3::Air::Code::addStackSlot): * Source/JavaScriptCore/b3/air/AirCode.h: (JSC::B3::Air::Code::requestCallArgAreaSizeInBytes): * Source/JavaScriptCore/b3/air/AirStackAllocation.cpp: * Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp: (JSC::InlineCacheCompiler::generateAccessCase): (JSC::InlineCacheCompiler::emitProxyObjectAccess): (JSC::getByIdGetterHandler): (JSC::getByIdProxyObjectLoadHandler): (JSC::putByIdSetterHandlerImpl): * Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): * Source/JavaScriptCore/jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::makeSpaceOnStackForCCall): (JSC::AssemblyHelpers::reclaimSpaceOnStackForCCall): * Source/JavaScriptCore/jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): * Source/JavaScriptCore/jit/ScratchRegisterAllocator.cpp: (JSC::ScratchRegisterAllocator::preserveRegistersToStackForCall): (JSC::ScratchRegisterAllocator::restoreRegistersFromStackForCall): * Source/JavaScriptCore/wasm/WasmBBQJIT.cpp: (JSC::Wasm::BBQJITImpl::BBQJIT::addThrow): (JSC::Wasm::BBQJITImpl::BBQJIT::addCall): (JSC::Wasm::BBQJITImpl::BBQJIT::emitIndirectCall): * Source/JavaScriptCore/wasm/WasmBBQJIT32_64.cpp: (JSC::Wasm::BBQJITImpl::BBQJIT::alignedFrameSize const): (JSC::Wasm::BBQJITImpl::BBQJIT::addCallRef): * Source/JavaScriptCore/wasm/WasmBBQJIT32_64.h: (JSC::Wasm::BBQJITImpl::BBQJIT::emitCCall): * Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp: (JSC::Wasm::BBQJITImpl::BBQJIT::alignedFrameSize const): (JSC::Wasm::BBQJITImpl::BBQJIT::addCallRef): * Source/JavaScriptCore/wasm/WasmBBQJIT64.h: (JSC::Wasm::BBQJITImpl::BBQJIT::emitCCall): * Source/JavaScriptCore/wasm/WasmCallingConvention.h: (JSC::Wasm::WasmCallingConvention::callInformationFor const): (JSC::Wasm::CCallingConventionArmThumb2::callInformationFor const): * Source/JavaScriptCore/wasm/WasmLLIntPlan.cpp: (JSC::Wasm::LLIntPlan::tryCreateInterpretedJSToWasmCallee): * Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp: (JSC::Wasm::OMGIRGenerator::computeStackCheckSize): (JSC::Wasm::OMGIRGenerator::emitIndirectCall): (JSC::Wasm::OMGIRGenerator::createTailCallPatchpoint): (JSC::Wasm::OMGIRGenerator::addCall): * Source/JavaScriptCore/wasm/WasmOMGIRGenerator32_64.cpp: (JSC::Wasm::OMGIRGenerator::computeStackCheckSize): (JSC::Wasm::OMGIRGenerator::emitIndirectCall): (JSC::Wasm::OMGIRGenerator::createTailCallPatchpoint): (JSC::Wasm::OMGIRGenerator::addCall): * Source/JavaScriptCore/wasm/WasmThunks.cpp: (JSC::Wasm::throwStackOverflowFromWasmThunkGenerator): * Source/JavaScriptCore/wasm/js/JSToWasm.cpp: (JSC::Wasm::createJSToWasmWrapper): * Source/JavaScriptCore/wasm/js/WasmToJS.cpp: (JSC::Wasm::wasmToJS): * Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp: (JSC::WebAssemblyFunction::jsCallEntrypointSlow): Canonical link: https://commits.webkit.org/280304@main
https://bugs.webkit.org/show_bug.cgi?id=275737 Reviewed by Darin Adler. In r280167 the behaviour change was implemented to use the ongoing promise information as a fallback to determine the script execution context, since the script execution context may be gone in detached state. However, tests such as navigate-event/intercept-detach.html show that there is no guarantee that there is any ongoing promise at all, so remove the ASSERT and just return early in that case. * Source/WebCore/page/Navigation.cpp: (WebCore::Navigation::abortOngoingNavigation): Canonical link: https://commits.webkit.org/280305@main
https://bugs.webkit.org/show_bug.cgi?id=275620 <radar://130058905> Reviewed by Dan Glastonbury. A compromised web process could overflow the calculations in validateResolveQuerySet(). * Source/WebGPU/WebGPU/CommandEncoder.mm: (WebGPU::validateResolveQuerySet): Canonical link: https://commits.webkit.org/280306@main
WebKit-7619.1.21 Canonical link: https://commits.webkit.org/280307@main
https://bugs.webkit.org/show_bug.cgi?id=275804 Reviewed by Chris Dumez. Adopt smart pointers for Document::existingAXObjectCache usage, most AXObjectCache are not trivial and so far some locations have been adapted to use a smart pointer, this PR should cover all remaining callers of existingAXObjectCache. Based on [alpha.webkit.UncountedCallArgsChecker] warnings. * Source/WebCore/accessibility/AXImage.cpp: (WebCore::AXImage::imageOverlayElements): * Source/WebCore/dom/Node.cpp: (WebCore::Node::removedFromAncestor): (WebCore::Node::moveNodeToNewDocumentSlowCase): * Source/WebCore/editing/Editing.cpp: (WebCore::isEditableToAccessibility): (WebCore::editableRootForPosition): * Source/WebCore/html/ColorInputType.cpp: (WebCore::ColorInputType::attributeChanged): (WebCore::ColorInputType::didChooseColor): * Source/WebCore/html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked): (WebCore::HTMLInputElement::setIndeterminate): (WebCore::HTMLInputElement::setAutoFilledAndObscured): (WebCore::HTMLInputElement::setShowAutoFillButton): * Source/WebCore/html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::setSelectedState): * Source/WebCore/html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::didElementStateChange): * Source/WebCore/html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setValueCommon): * Source/WebCore/html/InputType.cpp: (WebCore::InputType::applyStep): * Source/WebCore/html/ValidatedFormListedElement.cpp: (WebCore::ValidatedFormListedElement::updateValidity): * Source/WebCore/page/FocusController.cpp: (WebCore::FocusController::setInitialFocus): * Source/WebCore/page/LocalFrameView.cpp: (WebCore::LocalFrameView::didLayout): * Source/WebCore/rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::layoutModernLines): * Source/WebCore/rendering/RenderMenuList.cpp: (RenderMenuList::didAttachChild): (RenderMenuList::didUpdateActiveOption): * Source/WebCore/rendering/RenderWidget.cpp: (WebCore::RenderWidget::willBeDestroyed): (WebCore::RenderWidget::setWidget): (WebCore::RenderWidget::styleDidChange): Canonical link: https://commits.webkit.org/280308@main
https://bugs.webkit.org/show_bug.cgi?id=275796 Reviewed by Darin Adler. * Source/JavaScriptCore/runtime/ArrayBuffer.h: * Source/WTF/wtf/FileSystem.cpp: (WTF::FileSystemImpl::appendFileContentsToFileHandle): (WTF::FileSystemImpl::readOrMakeSalt): (WTF::FileSystemImpl::readEntireFile): * Source/WTF/wtf/FileSystem.h: * Source/WTF/wtf/posix/FileSystemPOSIX.cpp: (WTF::FileSystemImpl::readFromFile): * Source/WTF/wtf/win/FileSystemWin.cpp: (WTF::FileSystemImpl::readFromFile): * Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp: (WebCore::FileSystemSyncAccessHandle::read): * Source/WebCore/Modules/webcodecs/WebCodecsAudioData.cpp: (WebCore::WebCodecsAudioData::copyTo): * Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.cpp: (WebCore::WebCodecsAudioDecoder::decode): * Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunk.cpp: (WebCore::WebCodecsEncodedAudioChunk::copyTo): * Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunk.h: (WebCore::WebCodecsEncodedAudioChunk::span const): (WebCore::WebCodecsEncodedAudioChunk::data const): Deleted. * Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunk.cpp: (WebCore::WebCodecsEncodedVideoChunk::copyTo): * Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunk.h: (WebCore::WebCodecsEncodedVideoChunk::span const): (WebCore::WebCodecsEncodedVideoChunk::data const): Deleted. * Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp: (WebCore::WebCodecsVideoDecoder::decode): * Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp: (WebCore::WebCodecsVideoFrame::create): (WebCore::WebCodecsVideoFrame::copyTo): * Source/WebCore/bindings/js/BufferSource.h: (WebCore::BufferSource::length const): (WebCore::BufferSource::span const): (WebCore::BufferSource::mutableSpan): (WebCore::toNSData): (WebCore::BufferSource::data const): Deleted. (WebCore::BufferSource::mutableData const): Deleted. * Source/WebCore/platform/FileHandle.cpp: (WebCore::FileHandle::read): * Source/WebCore/platform/FileStream.cpp: (WebCore::FileStream::read): * Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h: (WebCore::unmapFunction): * Source/WebCore/platform/network/curl/CurlFormDataStream.cpp: (WebCore::CurlFormDataStream::readFromFile): * Source/WebKit/NetworkProcess/cache/NetworkCacheIOChannelCurl.cpp: (WebKit::NetworkCache::IOChannel::read): * Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm: (WebKit::LocalAuthenticator::deleteDuplicateCredential const): * Tools/TestWebKitAPI/Tests/WebCore/gstreamer/GstElementHarness.cpp: (TestWebKitAPI::TEST_F): Canonical link: https://commits.webkit.org/280309@main
…inumVertexInstanceCount https://bugs.webkit.org/show_bug.cgi?id=275569 <radar://129990531> Reviewed by Tadeu Zagallo. If the user does not call setVertexBuffer on a buffer which the pipeline uses, we should treat the buffer's size as 0. * LayoutTests/fast/webgpu/nocrash/poc-275569-expected.txt: Added. * LayoutTests/fast/webgpu/nocrash/poc-275569.html: Added. Add regression test. * Source/WebGPU/WebGPU/RenderBundleEncoder.mm: (WebGPU::RenderBundleEncoder::computeMininumVertexInstanceCount const): * Source/WebGPU/WebGPU/RenderPassEncoder.mm: (WebGPU::RenderPassEncoder::computeMininumVertexInstanceCount const): Canonical link: https://commits.webkit.org/280310@main
…f legacyMainFrameProcess https://bugs.webkit.org/show_bug.cgi?id=275784 rdar://130344439 Reviewed by Brady Eidson. While reducing use of legacyMainFrameProcess I found a few of them were related to WKURLSchemeTask, so I got that completely working with a test. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTreeTransaction): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::commitScrollingTreeState): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::startURLSchemeTask): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::processForNavigationInternal): * Source/WebKit/UIProcess/WebURLSchemeTask.cpp: (WebKit::WebURLSchemeTask::willPerformRedirection): * Source/WebKit/UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::setPromisedDataForImage): (WebKit::WebPageProxy::executeSavedCommandBySelector): * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (TestWebKitAPI::siteIsolatedViewAndDelegate): (TestWebKitAPI::TEST(SiteIsolation, URLSchemeTask)): Canonical link: https://commits.webkit.org/280311@main
…d/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-userInitiated.html is a consistent failure https://bugs.webkit.org/show_bug.cgi?id=275822 rdar://130441062 Unreviewed test gardening. Adding test expectation. * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/280312@main
https://bugs.webkit.org/show_bug.cgi?id=275655 rdar://130131152 Reviewed by Yijia Huang. * Source/JavaScriptCore/assembler/AssemblerBuffer.cpp: * Source/JavaScriptCore/assembler/AssemblerBuffer.h: (JSC::AssemblerLabel::offset const): (JSC::AssemblerLabel::setOffset): (JSC::AssemblerDataImpl::AssemblerDataImpl): (JSC::AssemblerDataImpl::~AssemblerDataImpl): (JSC::AssemblerBuffer::AssemblerBuffer): (JSC::AssemblerBuffer::~AssemblerBuffer): (JSC::AssemblerBuffer::putIntegralUnchecked): (JSC::AssemblerBuffer::grow): (JSC::AssemblerBuffer::outOfLineGrow): * Source/JavaScriptCore/assembler/LinkBuffer.cpp: (JSC::LinkBuffer::copyCompactAndLinkCode): (JSC::LinkBuffer::allocate): * Source/JavaScriptCore/assembler/LinkBuffer.h: * Source/WTF/wtf/PlatformEnable.h: Canonical link: https://commits.webkit.org/280313@main
https://bugs.webkit.org/show_bug.cgi?id=275781 rdar://130337376 Reviewed by Justin Michaud. This patch adds pre-generated LLInt Polymorphic Call IC code. As a result, LLInt w/o JIT can fully use the same Polymorphic Call IC as the same to JIT version (and this is possible now since we no longer generate any code for Call IC). * Source/JavaScriptCore/bytecode/BytecodeList.rb: * Source/JavaScriptCore/bytecode/CallLinkInfo.cpp: (JSC::CallLinkInfo::clearStub): (JSC::CallLinkInfo::visitWeak): (JSC::CallLinkInfo::revertCallToStub): (JSC::DataOnlyCallLinkInfo::initialize): (JSC::CallLinkInfo::setStub): * Source/JavaScriptCore/bytecode/CallLinkInfo.h: (JSC::CallLinkInfo::stub const): (JSC::CallLinkInfo::offsetOfStub): (JSC::CallLinkInfo::forEachDependentCell const): (JSC::CallLinkInfo::allowStubs const): Deleted. (JSC::CallLinkInfo::disallowStubs): Deleted. * Source/JavaScriptCore/bytecode/CallLinkInfoBase.cpp: (JSC::CallLinkInfoBase::unlinkOrUpgrade): * Source/JavaScriptCore/bytecode/CallLinkInfoBase.h: * Source/JavaScriptCore/bytecode/Repatch.cpp: (JSC::linkSlowFor): (JSC::linkMonomorphicCall): (JSC::linkPolymorphicCall): (JSC::ecmaModeFor): * Source/JavaScriptCore/bytecode/RepatchInlines.h: (JSC::linkFor): * Source/JavaScriptCore/heap/Heap.cpp: (JSC::Heap::addCoreConstraints): * Source/JavaScriptCore/heap/JITStubRoutineSet.cpp: (JSC::JITStubRoutineSet::~JITStubRoutineSet): (JSC::JITStubRoutineSet::add): (JSC::JITStubRoutineSet::prepareForConservativeScan): (JSC::JITStubRoutineSet::clearMarks): (JSC::JITStubRoutineSet::markSlow): (JSC::JITStubRoutineSet::deleteUnmarkedJettisonedStubRoutines): (JSC::JITStubRoutineSet::traceMarkedStubRoutines): * Source/JavaScriptCore/heap/JITStubRoutineSet.h: * Source/JavaScriptCore/jit/GCAwareJITStubRoutine.cpp: (JSC::GCAwareJITStubRoutine::makeGCAware): (JSC::GCAwareJITStubRoutine::removeDeadOwners): * Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h: * Source/JavaScriptCore/jit/JITStubRoutine.cpp: (JSC::JITStubRoutine::runWithDowncast): * Source/JavaScriptCore/jit/JITStubRoutine.h: * Source/JavaScriptCore/jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::markRequiredObjectsImpl): (JSC::PolymorphicCallStubRoutine::markRequiredObjectsInternalImpl): Deleted. * Source/JavaScriptCore/jit/PolymorphicCallStubRoutine.h: * Source/JavaScriptCore/llint/LLIntSlowPaths.cpp: (JSC::LLInt::llint_polymorphic_call): * Source/JavaScriptCore/llint/LLIntSlowPaths.h: * Source/JavaScriptCore/llint/LowLevelInterpreter.asm: Canonical link: https://commits.webkit.org/280314@main
https://bugs.webkit.org/show_bug.cgi?id=275815 rdar://129022920 Reviewed by Per Arne Vollan. On Mac, we are getting spurious os_log_faults because LaunchServices is registering for a notifyd notification with the prefix `com.apple.coreservices.launchservices.session` and this isn't on the list of allowlisted notification prefixes for that process. WebContent actually blocks connections to LaunchServices at runtime (via a call to `_LSSetApplicationLaunchServicesServerConnectionStatus`), so we actually don't care or need LS to get those notifications. The issue is that call has to happen late in WebContent initialization and by that time LS has already registered for that notification. To fix this, notifyd now allows us to specify prefixes in the notification allowlist. Since we don't care about this notification being forwarded to the WebContent process, add it to the list of non-forwarded entitled notifications. * Source/WebKit/Scripts/process-entitlements.sh: Canonical link: https://commits.webkit.org/280315@main
https://bugs.webkit.org/show_bug.cgi?id=275821 <rdar://problem/130438575> Reviewed by Justin Michaud and Yijia Huang. This change implements stage 3 proposal [1] to remove [[VarNames]] from global object, which purpose was to prevent redeclaration of `var` and `function` bindings that were declared via eval(). However, those bindings are configurable and thus still were redeclarable following `delete`. The proposal simplified both mental model of redeclaration constraints and its implementation. This patch effectively reverts [2] and aligns JSC with V8. [1]: https://github.com/tc39/proposal-redeclarable-global-eval-vars [2]: WebKit/WebKit#17662 * JSTests/stress/global-add-function-should-not-be-shadowed-by-lexical-bindings.js: * JSTests/stress/global-add-var-should-not-be-shadowed-by-lexical-bindings.js: * JSTests/stress/has-var-declaration.js: * JSTests/test262/expectations.yaml: Mark 1 test as passing. * Source/JavaScriptCore/runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::createGlobalFunctionBinding): (JSC::JSGlobalObject::addStaticGlobals): (JSC::JSGlobalObject::deleteProperty): Deleted. * Source/JavaScriptCore/runtime/JSGlobalObject.h: * Source/JavaScriptCore/runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::createGlobalVarBinding): (JSC::JSGlobalObject::hasVarDeclaration): Deleted. * Source/JavaScriptCore/runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::initializeGlobalProperties): Canonical link: https://commits.webkit.org/280316@main
…ium_directories assert fail due to creating overlapping directories https://bugs.webkit.org/show_bug.cgi?id=275820 rdar://129774839 Reviewed by Yusuke Suzuki. There are some edge cases that can cause pas_segregated_heap_ensure_size_directory_for_size() to create a new directory that overlaps the next largest directory, i.e. the new directory's object_size index is greater than the next largest's min_index. One case in which this can occur is after entering mini mode, which forces bitfit. A side effect of that is that the "ideal object size" computation changes, which can lead to this overlap. There are three possible solutions: 1. Extend the directory for the next largest size class (candidate) down to the new install_index. However, after this solution can lead to pathologically large directories if given the a particular sequence of allocates. This is because then the candidate is extended based on the min_index, which then could continue decreasing after each allocate. Normally, size classes are extended based only on the candidate's object_size, which doesn't change once the directory is created. 2. Trim the lower bound of the next biggest directory (candidate) if the new directory would overlap the candidate min_index. This appears to be unsafe if the candidate is bitfit given the comment in the code that does similar trimming for result. /* Bitfit size directories claim super high alignment, so they should never get replaced. This is a hard requirement, since: - pas_bitfit_size_class is allocated as part of the pas_segregated_size_directory. - We cannot add duplicate bitfit_size_classes, so if we ever tried to replace a segregated_size_directory with another one of the same size, and they both had bitfit_size_classes, then we'd be in trouble. */ PAS_ASSERT(!pas_segregated_size_directory_is_bitfit(result)); 3. Cap the new directory's object_size at the next largest directories min_index. Bumping of the new directory's object_size to the ideal object size appears to be an optimization and so it is safe to not do this if it would create overlapping directories. Some of the existing libpas chaos test cases do hit this case, but it goes unnoticed because the overlapping directories are small, not medium. The assert that made this problem apparent is only for medium directories (to verify their index can be binary searched). While this doesn't cause an assert with small directories, it seems that overlapping directories should not be allowed for small directories either as it can lead to inconsistencies. For example, if the index tables need to be dematerialized we may index to a different set of directories then were indexed previously. So I've added a libpas test case that does trigger the medium director assert without this fix. * Source/bmalloc/libpas/src/libpas/pas_bitfit_heap.c: (pas_bitfit_heap_select_variant): * Source/bmalloc/libpas/src/libpas/pas_segregated_heap.c: (pas_segregated_heap_ensure_size_directory_for_size): * Source/bmalloc/libpas/src/test/BmallocTests.cpp: (std::testBmallocForceBitfitAfterAlloc): (addBmallocTests): Canonical link: https://commits.webkit.org/280317@main
https://bugs.webkit.org/show_bug.cgi?id=275814 rdar://129366857 Reviewed by Eric Carlson. Added a boolean -_hasActiveNowPlayingSession property to WKWebView that indicates when the web view has an active Now Playing session. The property is key-value observable. This is achieved by teching MediaSessionManagerCocoa to set a isActiveNowPlayingSession boolean on each PlatformMediaSession when updating Now Playing information. PlatformMediaSession notifies its client when this value changes, ultimately telling Page to set a 0-delay timer to check whether the Page has an active Now Playing session (the timer coalesces updates in the case where one PlatformMediaSession becomes inactive and another becomes active). When the timer fires, Page asks PlatformMediaSessionManager if any media session in the page's media session group identifier has an active Now Playing session. If this computed value changes then a message is sent to WebPageProxy that ultimately changes the value of -_hasActiveNowPlayingSession. Added API tests. * Source/WebCore/Modules/webaudio/AudioContext.cpp: (WebCore::AudioContext::isActiveNowPlayingSessionChanged): * Source/WebCore/Modules/webaudio/AudioContext.h: * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::isActiveNowPlayingSessionChanged): * Source/WebCore/html/HTMLMediaElement.h: * Source/WebCore/page/ChromeClient.h: (WebCore::ChromeClient::hasActiveNowPlayingSessionChanged): * Source/WebCore/page/Page.cpp: (WebCore::m_activeNowPlayingSessionUpdateTimer): (WebCore::Page::hasActiveNowPlayingSessionChanged): (WebCore::Page::activeNowPlayingSessionUpdateTimerFired): (WebCore::m_writingToolsController): Deleted. * Source/WebCore/page/Page.h: (WebCore::Page::hasActiveNowPlayingSession const): * Source/WebCore/platform/audio/PlatformMediaSession.cpp: (WebCore::PlatformMediaSession::setActiveNowPlayingSession): * Source/WebCore/platform/audio/PlatformMediaSession.h: (WebCore::PlatformMediaSession::isActiveNowPlayingSession const): * Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp: (WebCore::PlatformMediaSessionManager::hasActiveNowPlayingSessionInGroup): * Source/WebCore/platform/audio/PlatformMediaSessionManager.h: * Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.h: * Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm: (WebCore::MediaSessionManagerCocoa::updateActiveNowPlayingSession): (WebCore::MediaSessionManagerCocoa::updateNowPlayingInfo): * Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm: (WebCore::MediaSessionManageriOS::activeVideoRouteDidChange): * Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h: * Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h: * Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.h: * Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm: (WebKit::PageClientImplCocoa::hasActiveNowPlayingSessionChanged): * Source/WebKit/UIProcess/PageClient.h: (WebKit::PageClient::hasActiveNowPlayingSessionChanged): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didCommitLoadForFrame): (WebKit::WebPageProxy::resetState): (WebKit::WebPageProxy::hasActiveNowPlayingSessionChanged): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebPageProxy.messages.in: * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::hasActiveNowPlayingSessionChanged): * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h: * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::hasActiveNowPlayingSessionChanged): * Source/WebKit/WebProcess/WebPage/WebPage.h: * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * Tools/TestWebKitAPI/Tests/WebKitCocoa/NowPlayingSession.mm: Added. (-[NowPlayingSessionObserver observeValueForKeyPath:ofObject:change:context:]): (TEST(NowPlayingSession, NoSession)): (TEST(NowPlayingSession, HasSession)): (TEST(NowPlayingSession, NavigateAfterHasSession)): Canonical link: https://commits.webkit.org/280318@main
…ng initial animation. https://bugs.webkit.org/show_bug.cgi?id=275700 rdar://130217887 Reviewed by Richard Robinson. Perviously, I was using the sessionUUID for the first animation. This has made it difficult to write clean and compartmentalized code, and caused issues where the wrong UUID was used. This patch separated these into two separate concepts, and added mapping storage in the animation controller. I also clean up some of the naming for the clean up code, and generally make the code easier to understand. * Source/WebCore/page/ChromeClient.h: (WebCore::ChromeClient::removeTextAnimationForAnimationID): (WebCore::ChromeClient::removeTransparentMarkersForSessionID): (WebCore::ChromeClient::removeInitialTextAnimation): (WebCore::ChromeClient::addInitialTextAnimation): (WebCore::ChromeClient::removeTextAnimationForID): Deleted. (WebCore::ChromeClient::cleanUpTextAnimationsForSessionID): Deleted. * Source/WebCore/page/writing-tools/WritingToolsController.mm: (WebCore::WritingToolsController::didBeginWritingToolsSession): (WebCore::WritingToolsController::proofreadingSessionDidReceiveSuggestions): (WebCore::WritingToolsController::compositionSessionDidReceiveTextWithReplacementRange): (WebCore::WritingToolsController::didEndWritingToolsSession): * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _addTextAnimationForAnimationID:withData:]): (-[WKWebView _removeTextAnimationForAnimationID:]): (-[WKWebView didBeginWritingToolsSession:contexts:]): (-[WKWebView _enableSourceTextAnimationAfterElementWithID:]): (-[WKWebView _enableFinalTextAnimationForElementWithID:]): (-[WKWebView _disableTextAnimationWithUUID:]): (-[WKWebView _addTextAnimationTypeForID:withData:]): Deleted. (-[WKWebView _removeTextAnimationForID:]): Deleted. (-[WKWebView beginWritingToolsAnimationForSessionWithUUID:]): Deleted. (-[WKWebView endWritingToolsAnimationForSessionWithUUID:]): Deleted. * Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h: * Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.h: * Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm: (WebKit::PageClientImplCocoa::addTextAnimationForAnimationID): (WebKit::PageClientImplCocoa::removeTextAnimationForAnimationID): (WebKit::PageClientImplCocoa::addTextAnimationTypeForID): Deleted. (WebKit::PageClientImplCocoa::removeTextAnimationForID): Deleted. * Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::addTextAnimationForAnimationID): (WebKit::WebPageProxy::removeTextAnimationForAnimationID): (WebKit::WebPageProxy::addTextAnimationTypeForID): Deleted. (WebKit::WebPageProxy::removeTextAnimationForID): Deleted. * Source/WebKit/UIProcess/PageClient.h: * Source/WebKit/UIProcess/WKSTextAnimationManager.h: * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebPageProxy.messages.in: * Source/WebKit/UIProcess/ios/WKContentViewInteraction.h: * Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView addTextAnimationForAnimationID:withStyleType:]): (-[WKContentView removeTextAnimationForAnimationID:]): (-[WKContentView addTextAnimationTypeForID:withStyleType:]): Deleted. (-[WKContentView removeTextAnimationForID:]): Deleted. * Source/WebKit/UIProcess/mac/WKTextAnimationManager.h: * Source/WebKit/UIProcess/mac/WKTextAnimationManager.mm: (-[WKTextAnimationManager addTextAnimationForAnimationID:withData:]): (-[WKTextAnimationManager removeTextAnimationForAnimationID:]): (-[WKTextAnimationManager restoreTextAnimationType]): (-[WKTextAnimationManager addTextAnimationTypeForID:withData:]): Deleted. (-[WKTextAnimationManager removeTextAnimationForID:]): Deleted. * Source/WebKit/UIProcess/mac/WebViewImpl.h: * Source/WebKit/UIProcess/mac/WebViewImpl.mm: (WebKit::WebViewImpl::addTextAnimationForAnimationID): (WebKit::WebViewImpl::removeTextAnimationForAnimationID): (WebKit::WebViewImpl::addTextAnimationTypeForID): Deleted. (WebKit::WebViewImpl::removeTextAnimationForID): Deleted. * Source/WebKit/WebKit.xcodeproj/project.pbxproj: * Source/WebKit/WebKitSwift/TextAnimation/TextAnimationManager.swift: (beginEffect(for:style:)): (endEffect(for:)): * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::removeTextAnimationForAnimationID): (WebKit::WebChromeClient::removeTransparentMarkersForSessionID): (WebKit::WebChromeClient::removeInitialTextAnimation): (WebKit::WebChromeClient::addInitialTextAnimation): (WebKit::WebChromeClient::removeTextAnimationForID): Deleted. (WebKit::WebChromeClient::cleanUpTextAnimationsForSessionID): Deleted. * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h: * Source/WebKit/WebProcess/WebPage/Cocoa/TextAnimationController.h: Renamed from Source/WebKit/WebProcess/WebPage/TextAnimationController.h. * Source/WebKit/WebProcess/WebPage/Cocoa/TextAnimationController.mm: (WebKit::TextAnimationController::contextRangeForTextAnimationID const): (WebKit::TextAnimationController::removeTransparentMarkersForSessionID): (WebKit::TextAnimationController::removeInitialTextAnimation): (WebKit::TextAnimationController::addInitialTextAnimation): (WebKit::TextAnimationController::addSourceTextAnimation): (WebKit::TextAnimationController::addDestinationTextAnimation): (WebKit::TextAnimationController::updateUnderlyingTextVisibilityForTextAnimationID): (WebKit::TextAnimationController::createTextIndicatorForTextAnimationID): (WebKit::TextAnimationController::contextRangeForTextAnimationType const): Deleted. (WebKit::TextAnimationController::cleanUpTextAnimationsForSessionID): Deleted. * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::addTextAnimationForAnimationID): (WebKit::WebPage::removeTextAnimationForAnimationID): (WebKit::WebPage::removeTransparentMarkersForSessionID): (WebKit::WebPage::removeInitialTextAnimation): (WebKit::WebPage::addInitialTextAnimation): (WebKit::WebPage::addTextAnimationTypeForID): Deleted. (WebKit::WebPage::removeTextAnimationForID): Deleted. (WebKit::WebPage::cleanUpTextAnimationsForSessionID): Deleted. * Source/WebKit/WebProcess/WebPage/WebPage.h: Canonical link: https://commits.webkit.org/280319@main
https://bugs.webkit.org/show_bug.cgi?id=275837 rdar://130469910 Reviewed by Charlie Wolfe. In order to add optional parameters to sendToProcessContainingFrame I needed to rename one to sendWithAsyncReplyToProcessContainingFrame. * Source/WebKit/UIProcess/API/C/WKPage.cpp: (WKPageDrawPagesToPDF): * Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp: (WebKit::WebAutomationSession::resolveChildFrameHandle): (WebKit::WebAutomationSession::resolveParentFrameHandle): (WebKit::WebAutomationSession::computeElementLayout): (WebKit::WebAutomationSession::getComputedRole): (WebKit::WebAutomationSession::getComputedLabel): (WebKit::WebAutomationSession::selectOptionElement): (WebKit::WebAutomationSession::setFilesForInputFileUpload): (WebKit::WebAutomationSession::viewportInViewCenterPointOfElement): (WebKit::WebAutomationSession::takeScreenshot): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::executeEditCommand): (WebKit::WebPageProxy::performDragControllerAction): (WebKit::WebPageProxy::dragEnded): (WebKit::WebPageProxy::sendMouseEvent): (WebKit::WebPageProxy::sendWheelEvent): (WebKit::WebPageProxy::sendKeyEvent): (WebKit::WebPageProxy::sendGestureEvent): (WebKit::WebPageProxy::sendPreventableTouchEvent): (WebKit::WebPageProxy::sendUnpreventableTouchEvent): (WebKit::WebPageProxy::runJavaScriptInFrameInScriptWorld): (WebKit::WebPageProxy::setTextIndicatorFromFrame): (WebKit::WebPageProxy::showPopupMenuFromFrame): (WebKit::WebPageProxy::showContextMenuFromFrame): (WebKit::WebPageProxy::beginPrinting): (WebKit::WebPageProxy::computePagesForPrinting): (WebKit::WebPageProxy::drawRectToImage): (WebKit::WebPageProxy::drawPagesToPDF): (WebKit::WebPageProxy::didPerformImmediateActionHitTest): (WebKit::WebPageProxy::sendWithAsyncReplyToProcessContainingFrame): (WebKit::WebPageProxy::sendToProcessContainingFrame): (WebKit::WebPageProxy::sendScrollPositionChangedForNode): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/mac/WKPrintingView.mm: (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): (-[WKPrintingView _drawPreview:]): Canonical link: https://commits.webkit.org/280320@main
https://bugs.webkit.org/show_bug.cgi?id=275836 rdar://130038973 Reviewed by Yijia Huang. Non Int32 / Contiguous / Double can have CoW arrays. So DFG ArrayMode should not use CoW array related classes for non appropriate array types. * Source/JavaScriptCore/dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::withProfile const): Canonical link: https://commits.webkit.org/280321@main
https://bugs.webkit.org/show_bug.cgi?id=275808 rdar://problem/130404826 Reviewed by Dan Glastonbury Contains upstream commits: git log --oneline b150bcb873b8df30bfdb8000461dc8482ffaabc5..0c7331dfe71de0a3afc85106dce8b4948adbd5dd --pretty=%h %s 0c7331dfe7 Roll Chromium from 998b94d44e82 to dd0b2a0bee86 (601 revisions) 3c472b4502 Vulkan: Fail if texture bound to MSRTT w/o support 6f33eddc72 Vulkan: Bugfix in FindSupportedFormat 48969c95f8 GL: Implement QCOM_tiled_rendering 3be15cb046 GL: Limit uniform block size to 64KB 12028222f5 Metal: Clear visibility result buffer before use e3c8d57b1c GL: Fix glClearTexImage for LUMA textures 3f57290520 Add basic begin/end support for perf counters 29f9a8c638 Roll Chromium from e9b6b20cee41 to 998b94d44e82 (1373 revisions) 95d6e34766 Roll vulkan-deps from 83e9eca04a1b to 30f8ac1a3f18 (8 revisions) e53b3ad723 Vulkan: Extend coherent adv blend to emulated path a1dea207ed Implement KHR_blend_equation_advanced_coherent 05801537a0 Vulkan: Add feature for coherent blend advanced op 0b888d5082 Add KHR_blend_equation_advanced_coherent e30871281e Tighten FixedVector access asserts 54c4817769 GCC: Define MemoryAllocInfoMapKey's hash before using in unordered_map 0d6869c2d9 Roll vulkan-deps from 37a9cc2d9a06 to 83e9eca04a1b (5 revisions) 800ca8d38b Revert "GL: Avoid calling glBindFragDatalocationIndexed on Qualcomm" 92148c2cbb GL: Implement GL_EXT_clear_texture. 1160fda7b7 GL: Re-enable sRGB and BGRA8 extensions b99166882b Roll vulkan-deps from f2b13f01a465 to 37a9cc2d9a06 (5 revisions) 37b2487b46 Add LunarG api dump layer to ANGLE vulkan back-end 1917377f7b Capture/Replay: Write comments to the capture aeff80f1dd Android perf tests: add ATrace counters for trace loops a04239d8e9 ESSL -> WGSL: Emit most types and function params e768aed37e GL: Avoid calling glBindFragDatalocationIndexed on Qualcomm ba341ef86c Add Revision: fields to third parties 223027e8fe Roll chromium_revision 865aca6c93..e9b6b20cee (1315671:1316480) e1f0cb943b Replace issue ids post migration to new issue tracker - 2 d193d51bf8 Replace issue ids post migration to new issue tracker 10a98f4416 Add ClipControlTest.DepthFragCoord test 3da4093b1c Roll vulkan-deps from 9a192baf7bc7 to f2b13f01a465 (3 revisions) 6ac374467b Vulkan: Add feature for VK_KHR_maintenance5 d83f7beadc Vulkan: Roll volk e070705663 Manual roll vulkan-deps from 897d900fc1b1 to 9a192baf7bc7 (6 revisions) 5703bd6115 Vulkan: Further optimize ProgramExecutableVk::resetLayout 975e9414ff CL: Initial commit for ANCLE documentation d074491655 Vulkan: Smaller PackedDescriptorSetBinding cdc541de11 Roll SwiftShader from 085997ddb08b to cea33ab2d5ad (1 revision) 2683633984 Roll vulkan-deps from 42ee85cf2154 to 897d900fc1b1 (10 revisions) 7f70cd0da2 Roll Chromium from 972874fcbdf2 to 865aca6c93b1 (613 revisions) d521dd08be Metal: Set write dependency when calling fillBuffer c7f2f84e2a Skip CopyTextureTest.CopyOutsideMipmap/ES2_OpenGL on NV ed091d30fe Change siso path e799084076 Manual roll VK-GL-CTS from 1c5f78753fd9 to c201252e6fbe (8 revisions) 2d8e15f87b Add stubs for GL_QCOM_tiled_rendering 60e8ea7e49 GL: Don't sync redundant texture state. 8007cad451 Android tests: run perf tests on temp_band < 30C bots bcb567a7f8 Roll vulkan-deps from 7db4057407f4 to 42ee85cf2154 (8 revisions) b100fd57e5 Roll Chromium from d9c3e9b06f65 to 972874fcbdf2 (598 revisions) 165b85b692 Vulkan: Disable VK_EXT_shader_stencil_export on SwiftShader 8ae918599a Vulkan: Optimize ProgramExecutableVk::resetLayout 06f1b72f55 Vulkan: Bugfix in MSRTT emulation 479c950ea5 D3D11: Implement fragment shader image2D layout updates decaefc9a2 D3D11: Generalize shader image2D layout cache 973e5261a0 Roll third_party/dawn/ ff26bfbd4..6cdf3a1a1 (180 commits; 3 trivial rolls) 53fdd3b197 Vulkan: Remove suppression for fixed syncval error e34a6b317d Roll vulkan-deps from 9a693759186a to 7db4057407f4 (4 revisions) Canonical link: https://commits.webkit.org/280322@main
Hi @mnutt , is this still a work in progress? Seems like something is not compiling, at least for me. Thanks! |
When destroying the page, we iterate over the loaders and cancel them. Some of those loaders may have javascript event loaders attached, and since the page is being destroyed we don't want to fire those. This is controlled by LocalDOMWindow::isStopping, so we need to ensure we stop the domWindow before we move forward destroying the page.
@chaplin89 sorry about that, I had hoped to get it done before I went on vacation but didn't quite get there. You're totally right about GStreamer. It has unfortunately been broken for a while but was default-disabled in previous releases but now isn't. I looked at it for a few days and have a separate branch with it compiling with |
@mnutt thanks for the answer, no worries! I'm not much interested in gstreamer, I was wondering about that only because it was breaking the compilation and I was wondering if I was missing something. Sorry I have another question, do you have any instructions to build this on windows? I'm interested in the project and I can potentially help with something. I was wondering how to build it on windows without much trial and error (if you are still supporting windows in your fork). Thank you! |
@chaplin89 unfortunately I don't really use windows so haven't been testing it there. I'd definitely contributions to get windows support working, though! |
I've disabled GStreamer support on Linux for the time being, in order to move things forward. |
Upstream changes up to 2024-06-30.
Notable:
std::span
. Some of this has broken automatic conversion between qt and webkit string types, and there is likely some cleanup work needed to ensure this is safe/performanttexmap
to our vendored version