main
Commits on May 27, 2022
-
AX: Update the isolated tree in response to dynamic aria-haspopup and…
… aria-describedby changes https://bugs.webkit.org/show_bug.cgi?id=240968 Reviewed by Chris Fleizach. Testcases added to aria-describedby-on-input.html and element-haspopup.html to cover this change. * LayoutTests/accessibility/aria-describedby-on-input-expected.txt: * LayoutTests/accessibility/aria-describedby-on-input.html: * LayoutTests/accessibility/element-haspopup-expected.txt: * LayoutTests/accessibility/element-haspopup.html: * LayoutTests/platform/ios/accessibility/aria-describedby-on-input-expected.txt: Added. * LayoutTests/platform/ios/TestExpectations: * Source/WebCore/accessibility/AXLogger.cpp: (WebCore::operator<<): * Source/WebCore/accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::handleAttributeChange): (WebCore::AXObjectCache::updateIsolatedTree): * Source/WebCore/accessibility/AXObjectCache.h: Canonical link: https://commits.webkit.org/251049@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Simplify MediaPlayerPrivateRemote::RequestResource API
https://bugs.webkit.org/show_bug.cgi?id=240999 <rdar://94012261> Reviewed by Eric Carlson. When the GPU Process' MediaPlayerProxy needs to allocate a new MediaResource it sends a message to the content process via the MediaPlayerPrivateRemote::RequestResource IPC call with a RemoteMediaResourceIdentifier which will then respond to indicate that the MediaResource is now "ready". There's two scenarios possible here: Either the creation of the media resource in the content process is successful or it's not. If it's successful the content process will start sending data starting by a call to the GPU's RemoteMediaResourceManager responseReceived Or it will fail and call RemoteMediaResourceManager::LoadFailed. The RemoteMediaResourceManager will only accept incoming data once the MediaResource's ready status is true, and if you're only working on the main thread, it will always be, as the Content Process' RequestResource response will always be received before either a LoadFailed or ResponseReceived call. Under these conditions, the ready status is totally redundant. Testing that the RemoteMediaResource exists in the MediaResourceManager's map is sufficient. However, if we want to parallelise networking operations so that ResponseReceived and LoadFailed will be called on a secondary thread as introduced in bug 235353; the "ready" flag becomes problematic as the response from a RequestResource is handled on the main thread. The multi-threaded nature of the work means that the RequestResource response could be received only after LoadFailed or ResponseReceived message; and if that's the case those two messages will be dropped. This can be seen with the intermittent failures occurring with media/video-src-blob-replay.html test. So we remove this concept of RemoteMediaResource::ready as at best it serves no purpose. * Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp: (WebKit::RemoteMediaPlayerProxy::requestResource): * Source/WebKit/GPUProcess/media/RemoteMediaResource.h: (WebKit::RemoteMediaResource::ready const): Deleted. (WebKit::RemoteMediaResource::setReady): Deleted. * Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp: (WebKit::RemoteMediaResourceManager::responseReceived): (WebKit::RemoteMediaResourceManager::redirectReceived): (WebKit::RemoteMediaResourceManager::dataSent): (WebKit::RemoteMediaResourceManager::dataReceived): (WebKit::RemoteMediaResourceManager::accessControlCheckFailed): (WebKit::RemoteMediaResourceManager::loadFailed): (WebKit::RemoteMediaResourceManager::loadFinished): * Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp: (WebKit::MediaPlayerPrivateRemote::requestResource): * Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h: * Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in: Canonical link: https://commits.webkit.org/251048@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Unreviewed, reverting r294898.
https://bugs.webkit.org/show_bug.cgi?id=241008 Introduced crash Reverted changeset: "[macOS][GPUP] Block unused system calls" https://bugs.webkit.org/show_bug.cgi?id=240966 https://commits.webkit.org/r294898 Canonical link: https://commits.webkit.org/251047@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
[TextureMapper] Generalize YUV-to-RGB matrices
https://bugs.webkit.org/show_bug.cgi?id=240952 Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-05-27 Reviewed by Miguel Gomez. Right now, TextureMapper supports converting YUV data to RGB when using either the BT.601 or BT.709 colorspaces. The caller provides the basic 3x3 conversion matrix for the given colorspace, and the offsets agains the initial YUV values are hard-coded in the shader since they are the same for both colorspaces. To support additional colorspaces (which don't share the same offset values) the matrix handling has to be generalized. This means every conversion matrix is now 4x4 in size, with the adjusted offset values residing in the last column. * Source/WebCore/platform/graphics/gstreamer/GStreamerVideoFrameHolder.cpp: (WebCore::GstVideoFrameHolder::platformLayerBuffer): * Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp: (WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture): * Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp: (WebCore::TextureMapperGL::drawTexturePlanarYUV): (WebCore::TextureMapperGL::drawTextureSemiPlanarYUV): (WebCore::TextureMapperGL::drawTexturePackedYUV): * Source/WebCore/platform/graphics/texmap/TextureMapperGL.h: * Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h: * Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyDMABuf.cpp: (WebCore::TextureMapperPlatformLayerProxyDMABuf::DMABufLayer::paintToTextureMapper): * Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp: Canonical link: https://commits.webkit.org/251046@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
commit-queue@webkit.org committedMay 27, 2022 -
Patch by Geza Lore <glore@igalia.com> on 2022-05-27 https://bugs.webkit.org/show_bug.cgi?id=221260 Reviewed by Saam Barati. Patch by Geza Lore and Xan López. Implement the LLInt tier of WebAssembly for ARMv7. A lot of the work will be shared by any 32bit port, but the offlineassembler has only been updated for ARMv7 so far. Main highlights: We have split the WebAssembly.asm file into three chunks, following what LowLevelInterpreter.asm does. The common code remains in WebAssembly.asm, and 32 and 64bit specific code (mostly opcode implementations) goes into WebAssembly32_64.asm and WebAssembly64.asm. We have decided to use consecutive even/odd pairs of GPRs for every type of wasm values, even if they are 32bit (i32/f32), with the odd (higher) numbered GPR holding the more significant half. 32bit values are held in the even (lower) numbered register. This makes the code much simpler and allows us to share more code with the 64bit variant. This is mostly relevant for argument passing, and given that every value ends up in the stack anyway we do not think it is significant from a performance POV. We are reusing JSValueRegs to hold Wasm values too. Obviously they are not really JSValues, so it might make sense to create a base class that can be used for both JS and Wasm values. We do not have enough registers to keep things like the memory base pointer and size in pinned registers, so we are forced to load them on each use. We disable the 'Signaling' memory mode, since the current implementation relies on being able to mprotect a 2^32 + redzone region of memory. This can be changed in the future but it's not a priority at the moment. * stress/sampling-profiler-wasm-name-section.js: * stress/sampling-profiler-wasm.js: * wasm/regress/llint-callee-saves-with-fast-memory.js: * CMakeLists.txt: * assembler/ARMv7Assembler.h: (JSC::ARMv7Assembler::vcvt_signedToFloatingPoint): * assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::convertInt32ToFloat): (JSC::MacroAssemblerARMv7::threadSafePatchableNearCall): (JSC::MacroAssemblerARMv7::callOperation): * b3/B3ValueRep.h: (JSC::B3::ValueRep::ValueRep): * bytecode/BytecodeDumper.cpp: (JSC::Wasm::BytecodeDumper::formatConstant const): * interpreter/CallFrame.h: adapt to new callee tagging format. (JSC::CallFrame::callee const): (JSC::CallFrame::unsafeCallee const): * interpreter/CalleeBits.h: add wasm tagging of callee values for 32bit. (JSC::CalleeBits::CalleeBits): (JSC::CalleeBits::operator=): (JSC::CalleeBits::boxWasm): (JSC::CalleeBits::isWasm const): (JSC::CalleeBits::asWasmCallee const): * interpreter/Register.h: (JSC::Register::unboxedFloat const): (JSC::Register::asanUnsafeUnboxedFloat const): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::unboxDouble): * jit/RegisterAtOffsetList.cpp: (JSC::RegisterAtOffsetList::RegisterAtOffsetList): * jit/RegisterAtOffsetList.h: (JSC::RegisterAtOffsetList::sizeOfAreaInBytes const): * jit/RegisterSet.cpp: (JSC::RegisterSet::macroScratchRegisters): * llint/LLIntOfflineAsmConfig.h: * llint/LowLevelInterpreter32_64.asm: * llint/WebAssembly.asm: * llint/WebAssembly32_64.asm: Added. * llint/WebAssembly64.asm: Added. * offlineasm/arm.rb: * offlineasm/instructions.rb: * offlineasm/registers.rb: * offlineasm/risc.rb: * runtime/JSCJSValue.h: (JSC::wasmUnboxedFloat): * runtime/JSCJSValueInlines.h: (JSC::JSValue::JSValue): * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::useSignalingMemory const): (JSC::Wasm::AirIRGenerator::AirIRGenerator): (JSC::Wasm::AirIRGenerator::emitCheckAndPreparePointer): (JSC::Wasm::AirIRGenerator::addCall): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::useSignalingMemory const): (JSC::Wasm::B3IRGenerator::B3IRGenerator): (JSC::Wasm::B3IRGenerator::addArguments): (JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer): (JSC::Wasm::B3IRGenerator::memoryKind): (JSC::Wasm::B3IRGenerator::addCall): * wasm/WasmBinding.cpp: (JSC::Wasm::wasmToWasm): * wasm/WasmCallee.cpp: (JSC::Wasm::LLIntCallee::calleeSaveRegisters): * wasm/WasmCalleeGroup.cpp: (JSC::Wasm::CalleeGroup::isSafeToRun): * wasm/WasmCallingConvention.cpp: (JSC::Wasm::jsCallingConvention): (JSC::Wasm::wasmCallingConvention): * wasm/WasmCallingConvention.h: (JSC::Wasm::CallInformation::computeResultsOffsetList): (JSC::Wasm::WasmCallingConvention::WasmCallingConvention): (JSC::Wasm::WasmCallingConvention::marshallLocationImpl const): (JSC::Wasm::WasmCallingConvention::marshallLocation const): (JSC::Wasm::JSCallingConvention::JSCallingConvention): (JSC::Wasm::JSCallingConvention::marshallLocationImpl const): (JSC::Wasm::JSCallingConvention::marshallLocation const): (JSC::Wasm::JSCallingConvention::callInformationFor const): * wasm/WasmFormat.h: * wasm/WasmIndexOrName.cpp: (JSC::Wasm::IndexOrName::IndexOrName): (JSC::Wasm::makeString): * wasm/WasmIndexOrName.h: (JSC::Wasm::IndexOrName::IndexOrName): (JSC::Wasm::IndexOrName::isEmpty const): (JSC::Wasm::IndexOrName::isIndex const): (JSC::Wasm::IndexOrName::isName const): (JSC::Wasm::IndexOrName::index const): (JSC::Wasm::IndexOrName::name const): (JSC::Wasm::IndexOrName::nameSection const): * wasm/WasmInstance.h: (JSC::Wasm::Instance::updateCachedMemory): * wasm/WasmLLIntGenerator.cpp: (JSC::Wasm::LLIntGenerator::virtualRegisterForWasmLocal): (JSC::Wasm::LLIntGenerator::callInformationForCaller): (JSC::Wasm::LLIntGenerator::callInformationForCallee): (JSC::Wasm::LLIntGenerator::addArguments): (JSC::Wasm::LLIntGenerator::addLoop): * wasm/WasmLLIntPlan.cpp: (JSC::Wasm::LLIntPlan::didCompleteCompilation): * wasm/WasmMemory.cpp: (JSC::Wasm::MemoryHandle::~MemoryHandle): (JSC::Wasm::Memory::tryCreate): (JSC::Wasm::Memory::growShared): (JSC::Wasm::Memory::grow): (JSC::Wasm::Memory::copy): * wasm/WasmMemory.h: * wasm/WasmMemoryInformation.cpp: (JSC::Wasm::PinnedRegisterInfo::get): * wasm/WasmMemoryInformation.h: (JSC::Wasm::PinnedRegisterInfo::toSave const): * wasm/WasmMemoryMode.cpp: (JSC::Wasm::makeString): * wasm/WasmMemoryMode.h: * wasm/WasmOpcodeOrigin.cpp: * wasm/WasmOpcodeOrigin.h: * wasm/WasmOperations.cpp: (JSC::Wasm::JSC_DEFINE_JIT_OPERATION): * wasm/WasmOperations.h: * wasm/WasmPageCount.h: * wasm/WasmParser.h: (JSC::Wasm::Parser<SuccessType>::parseUInt32): (JSC::Wasm::Parser<SuccessType>::parseUInt64): * wasm/WasmSlowPaths.cpp: (JSC::LLInt::WASM_SLOW_PATH_DECL): (JSC::LLInt::slow_path_wasm_popcount): (JSC::LLInt::slow_path_wasm_popcountll): (JSC::LLInt::slow_path_wasm_i32_div_s): (JSC::LLInt::slow_path_wasm_i32_div_u): (JSC::LLInt::slow_path_wasm_i32_rem_s): (JSC::LLInt::slow_path_wasm_i32_rem_u): (JSC::LLInt::slow_path_wasm_i64_div_s): (JSC::LLInt::slow_path_wasm_i64_div_u): (JSC::LLInt::slow_path_wasm_i64_rem_s): (JSC::LLInt::slow_path_wasm_i64_rem_u): * wasm/WasmSlowPaths.h: * wasm/WasmValueLocation.cpp: (JSC::Wasm::ValueLocation::dump const): (WTF::printInternal): * wasm/WasmValueLocation.h: (JSC::Wasm::ValueLocation::ValueLocation): (JSC::Wasm::ValueLocation::isGPR const): (JSC::Wasm::ValueLocation::isFPR const): (JSC::Wasm::ValueLocation::isStack const): (JSC::Wasm::ValueLocation::isStackArgument const): (JSC::Wasm::ValueLocation::jsr const): (JSC::Wasm::ValueLocation::fpr const): (JSC::Wasm::ValueLocation::reg): Deleted. (JSC::Wasm::ValueLocation::isReg const): Deleted. (JSC::Wasm::ValueLocation::reg const): Deleted. (JSC::Wasm::ValueLocation::gpr const): Deleted. * wasm/js/JSToWasm.cpp: (JSC::Wasm::marshallJSResult): (JSC::Wasm::createJSToWasmWrapper): * wasm/js/WasmToJS.cpp: (JSC::Wasm::wasmToJS): * wasm/js/WebAssemblyFunction.cpp: (JSC::WebAssemblyFunction::previousInstanceOffset const): (JSC::WebAssemblyFunction::jsCallEntrypointSlow): * wasm/js/WebAssemblyGlobalConstructor.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::initializeExports): * wtf/PlatformEnable.h: enable WebAssembly on ARMv7. * Scripts/run-jsc-stress-tests: allow to run the wasm tests on armv7 even without jit support (for now). Canonical link: https://commits.webkit.org/251045@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Remove per-iteration detached buffer check in %TypedArray% set and so…
…rt methods https://bugs.webkit.org/show_bug.cgi?id=240995 Reviewed by Yusuke Suzuki. This patch implements the spec changes of tc39/ecma262#2646 and tc39/ecma262#2723: %TypedArray%.prototype.{set, sort} no longer repeatedly check for detachment as they iterate through a buffer. * JSTests/stress/typedarray-functions-with-neutered.js: * JSTests/test262/expectations.yaml: * LayoutTests/js/typed-array-mutated-during-set.html: * LayoutTests/js/typed-array-mutated-during-set-expected.txt: * Source/JavaScriptCore/builtins/TypedArrayPrototype.js: (globalPrivate.typedArrayMerge): (globalPrivate.typedArrayElementCompare): Deleted. * Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h: * Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::set): Canonical link: https://commits.webkit.org/251044@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
[Curl] Implement WebSocketTask
https://bugs.webkit.org/show_bug.cgi?id=237579 Reviewed by Alex Christensen. Implement WebSocketTask for curl platforms. Use the SocketProvider to create the WebSocketChannel. Update web socket expectations based on the WebSocketTask implementation. * LayoutTests/platform/wincairo/TestExpectations: * Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp: * Source/WebKit/NetworkProcess/WebSocketTask.h: * Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.cpp: * Source/WebKit/NetworkProcess/curl/NetworkSessionCurl.h: * Source/WebKit/NetworkProcess/curl/WebSocketTaskCurl.cpp: Added. * Source/WebKit/NetworkProcess/curl/WebSocketTaskCurl.h: Added. * Source/WebKit/PlatformPlayStation.cmake: * Source/WebKit/PlatformWin.cmake: Canonical link: https://commits.webkit.org/251043@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Avoid ElementIdentifier-related work under Element::removedFromAncest…
…or() https://bugs.webkit.org/show_bug.cgi?id=240932 Reviewed by Darin Adler. Avoid ElementIdentifier-related work under Element::removedFromAncestor() since it is a hot function and we want to do as little work as possible in there. * Source/WebCore/dom/Document.cpp: (WebCore::Document::dispatchSystemPreviewActionEvent): (WebCore::Document::identifierForElement): Deleted. (WebCore::Document::searchForElementByIdentifier): Deleted. (WebCore::Document::identifiedElementWasRemovedFromDocument): Deleted. * Source/WebCore/dom/Document.h: * Source/WebCore/dom/Element.cpp: (WebCore::Element::removedFromAncestor): (WebCore::elementIdentifiersMap): (WebCore::Element::identifier const): (WebCore::Element::fromIdentifier): (WebCore::Element::createElementIdentifier): Deleted. * Source/WebCore/dom/Element.h: * Source/WebCore/dom/Node.h: * Source/WebCore/html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::handleClick): * Source/WebCore/page/InteractionRegion.cpp: (WebCore::regionForElement): * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::elementIdentifier const): (WebCore::Internals::isElementAlive const): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::elementForContext const): (WebKit::WebPage::contextForElement const): * Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::textInputContextsInRect): Canonical link: https://commits.webkit.org/251042@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Move some of the work from Element::insertedIntoAncestor() / removedF…
…romAncestor() to subclasses https://bugs.webkit.org/show_bug.cgi?id=240914 Reviewed by Ryosuke Niwa and Darin Adler. Move some of the work from Element::insertedIntoAncestor() / removedFromAncestor() to subclasses. These functions are hot and should be kept as efficient as possible. There is no reason for every Element to pay run-time cost for checks that only apply to article or label elements. * Source/WebCore/Headers.cmake: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/dom/Element.cpp: (WebCore::Element::insertedIntoAncestor): (WebCore::Element::removedFromAncestor): * Source/WebCore/dom/Element.h: * Source/WebCore/html/HTMLArticleElement.cpp: Added. (WebCore::HTMLArticleElement::create): (WebCore::HTMLArticleElement::HTMLArticleElement): (WebCore::HTMLArticleElement::insertedIntoAncestor): (WebCore::HTMLArticleElement::removedFromAncestor): * Source/WebCore/html/HTMLArticleElement.h: Added. * Source/WebCore/html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::insertedIntoAncestor): (WebCore::HTMLLabelElement::removedFromAncestor): * Source/WebCore/html/HTMLLabelElement.h: * Source/WebCore/html/HTMLTagNames.in: Canonical link: https://commits.webkit.org/251041@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ArrayBuffer species should be ignored when cloning a Typed Array
https://bugs.webkit.org/show_bug.cgi?id=240996 Reviewed by Yusuke Suzuki. This patch implements the spec change of tc39/ecma262#2719: Constructing one Typed Array from another used to require that we check @@species on the source buffer and create a new ArrayBuffer using the species constructor's *prototype*...without actually calling the species constructor itself. Happily, this ridiculous behavior turned out to be web-compatible to remove. * JSTests/test262/expectations.yaml: * Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructCustomArrayBufferIfNeeded): Deleted. Canonical link: https://commits.webkit.org/251040@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
REGRESSION(r289580): Canvas: putImageData sometimes draws nothing
https://bugs.webkit.org/show_bug.cgi?id=240802 rdar://93801722 Reviewed by Simon Fraser. RemoteImageBufferProxy::putPixelBuffer() needs to setNeedsFlush(true) once the request to change the backend is sent to GPUProcess. If WebProcess has access to the ImageBufferBackend, flushDrawingContext() will be called from copyNativeImage(). This call has to wait all DisplayList items and PutPixelBuffer messages to be flushed to the backend before copyNativeImage() copies the pixels of the backend to a NativeImage. * Source/WebCore/platform/graphics/ImageBuffer.h: (WebCore::ImageBuffer::setNeedsFlush): * Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h: (WebKit::RemoteDisplayListRecorderProxy::send): (WebKit::RemoteDisplayListRecorderProxy::resetNeedsFlush): Deleted. (WebKit::RemoteDisplayListRecorderProxy::needsFlush const): Deleted. (): Deleted. * Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h: (WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy): Canonical link: https://commits.webkit.org/251039@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294928 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Use _adoptEffectiveConfiguration instead of a separate NSURLSession w…
…ithout credentials https://bugs.webkit.org/show_bug.cgi?id=240362 Reviewed by Chris Dumez. This is a PLT performance improvement because we spend less time initiating TCP connections. * Source/WTF/wtf/PlatformHave.h: * Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h: * Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa): * Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h: * Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::initializeNSURLSessionsInSet): (WebKit::SessionSet::initializeEphemeralStatelessSessionIfNeeded): (WebKit::NetworkSessionCocoa::sessionWrapperForTask): (WebKit::NetworkSessionCocoa::appBoundSession): (WebKit::SessionSet::isolatedSession): (WebKit::NetworkSessionCocoa::invalidateAndCancelSessionSet): * Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm: (TestWebKitAPI::TEST): * Tools/TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm: (TestWebKitAPI::TEST): * Tools/TestWebKitAPI/cocoa/HTTPServer.mm: (TestWebKitAPI::HTTPServer::respondWithChallengeThenOK): Canonical link: https://commits.webkit.org/251038@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294927 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Unreviewed test262 gardening, use useArrayGroupByMethod for feature t…
…ests https://bugs.webkit.org/show_bug.cgi?id=240997 * JSTests/test262/config.yaml: * JSTests/test262/expectations.yaml: Canonical link: https://commits.webkit.org/251037@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
[GTK] Deprecate WebKitSettings:enable-java
https://bugs.webkit.org/show_bug.cgi?id=239538 Reviewed by Adrian Perez de Castro and Michael Catanzaro. 250264@main removed the WKPreference entry regarding Java support, which in turn was dropped long time ago. * Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp: (webKitSettingsSetProperty): Do not call deprecated function. (webKitSettingsGetProperty): Ditto. (webkit_settings_class_init): Ditto. (webkit_settings_get_enable_java): Add deprecation warnings. (webkit_settings_set_enable_java): Add deprecation warnings. * Source/WebKit/UIProcess/API/gtk/WebKitSettings.h: Mark functions as deprecated. * Source/WebKit/UIProcess/API/wpe/WebKitSettings.h: Ditto. * Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettings): Update for new behavior and remove fatal warning flag for enable-java block as the warnings are expected. Canonical link: https://commits.webkit.org/251036@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294920 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Rename putDirect to putDirectOffset
https://bugs.webkit.org/show_bug.cgi?id=240992 <rdar://92298537> Reviewed by Mark Lam. * Source/JavaScriptCore/dfg/DFGOperations.cpp: (JSC::DFG::JSC_DEFINE_JIT_OPERATION): * Source/JavaScriptCore/ftl/FTLOperations.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION): * Source/JavaScriptCore/runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): * Source/JavaScriptCore/runtime/CommonSlowPaths.cpp: (JSC::JSC_DEFINE_COMMON_SLOW_PATH): * Source/JavaScriptCore/runtime/IteratorOperations.cpp: (JSC::createIteratorResultObject): * Source/JavaScriptCore/runtime/JSONObject.cpp: (JSC::Walker::walk): * Source/JavaScriptCore/runtime/JSObject.cpp: (JSC::JSObject::setPrototypeDirect): (JSC::JSObject::putDirectCustomGetterSetterWithoutTransition): (JSC::JSObject::putDirectNonIndexAccessorWithoutTransition): * Source/JavaScriptCore/runtime/JSObject.h: (JSC::JSObject::putDirectOffset): (JSC::JSObject::putDirectWithoutBarrier): (JSC::JSObject::putDirectUndefined): Deleted. * Source/JavaScriptCore/runtime/JSObjectInlines.h: (JSC::JSObject::putDirectWithoutTransition): (JSC::JSObject::putDirectInternal): * Source/JavaScriptCore/runtime/ObjectConstructor.h: (JSC::constructObjectFromPropertyDescriptor): * Source/JavaScriptCore/runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * Source/JavaScriptCore/runtime/Structure.cpp: (JSC::Structure::flattenDictionaryStructure): Canonical link: https://commits.webkit.org/251035@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294917 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Saam Barati committedMay 27, 2022 -
Make StringView(const char*) private
https://bugs.webkit.org/show_bug.cgi?id=240942 Reviewed by Darin Adler. Make StringView(const char*) private and update existing call sites to use either StringView(ASCIILiteral) or StringView::fromLatin1(const char*). * Source/WTF/wtf/text/StringView.h: * Source/WebCore/platform/sql/SQLiteStatement.cpp: (WebCore::SQLiteStatement::isColumnDeclaredAsBlob): * Source/WebGPU/WGSL/Parser.cpp: (WGSL::Parser<Lexer>::parseTypeDecl): * Tools/TestWebKitAPI/Tests/WTF/StringParsingBuffer.cpp: (TestWebKitAPI::TEST): * Tools/TestWebKitAPI/Tests/WTF/StringView.cpp: (TestWebKitAPI::stringViewFromLiteral): * Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp: (TestWebKitAPI::TEST): * Tools/TestWebKitAPI/Tests/WebCore/ISOBox.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/251034@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
REGRESSION (250994@main): inspector/css/css-property.html is consiste…
…ntly failing https://bugs.webkit.org/show_bug.cgi?id=240986 <rdar://problem/94001813> Reviewed by Patrick Angle. * Source/WebInspectorUI/UserInterface/Models/CSSProperty.js: (WI.CSSProperty.prototype._updateName.changeCount): Don't adjust `WI.CSSProperty._cachedNameCounts` when updating `WI.objectStores.cssPropertyNameCounts` as the latter will not work in LayoutTests (to avoid having to reset state between tests). Canonical link: https://commits.webkit.org/251033@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Commits on May 26, 2022
-
[ Gardening ]: New test: [macOS] http/tests/media/hls/hls-webvtt-flas…
…hing.html is frequently failing https://bugs.webkit.org/show_bug.cgi?id=240989 Unreviewed test gardening. * LayoutTests/platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/251032@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Disable heic tests temporarily
https://bugs.webkit.org/show_bug.cgi?id=240990 Unreviewed test expectation chnage. * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/251031@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Web Inspector: `inspector/debugger/breakpoints/resolved-dump-all-paus…
…e-locations.html` is a flakey failure https://bugs.webkit.org/show_bug.cgi?id=239134 rdar://91639437 Reviewed by Devin Rousso. This test was flaky because the only piece of code in the test keeping the SourceProvider alive for `dump-multiline.js` was the `function test()`, which is replaced by the `function test()` in the test page itself. This meant that the function from dump-multiline.js would be garbage collected at some point, and since it was the last possible way to reach source code in `dump-multiline.js`, the SourceProvider was also disposed of at the same time. Normally this would not be an issue for users because the source code itself is still viewable in Web Inspector, and breakpoints can still be set (and will be triggered after a reload). The issue here is that when we attach Web Inspector the source code is longer reachable, so the backend doesn't send information for it to the frontend for it (until a page reload), but this test is assuming the script will have been sent from the backend to associate with the resource. * LayoutTests/inspector/debugger/breakpoints/resolved-dump-all-pause-locations-expected.txt: * LayoutTests/inspector/debugger/breakpoints/resources/dump-multiline.js: Canonical link: https://commits.webkit.org/251030@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
[CMake][PlayStation] Base find_package checks on whether WebCore is b…
…eing built https://bugs.webkit.org/show_bug.cgi?id=240974 Reviewed by Ross Kirsling. Move any `find_package` for WebCore libraries under a check for `ENABLE_WEBCORE`. Shift the `find_package` checks to the top of the file. This will allow us to base `ENABLE` flags on whether or not a package is found. Fix a couple style issues while there. * Source/cmake/OptionsPlayStation.cmake: Canonical link: https://commits.webkit.org/251029@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Re-factoring clean up in allocateCell and tryAllocateCell.
https://bugs.webkit.org/show_bug.cgi?id=240973 Reviewed by Saam Barati. The AllocationFailureMode should be a template parameter to tryAllocateCellHelper because it's constant. Also, tryAllocateCellHelper should take a VM& instead of taking a Heap& and then converting it back to a VM&. * Source/JavaScriptCore/runtime/JSCellInlines.h: (JSC::tryAllocateCellHelper): (JSC::allocateCell): (JSC::tryAllocateCell): Canonical link: https://commits.webkit.org/251028@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294905 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mark Lam committedMay 26, 2022 -
https://bugs.webkit.org/show_bug.cgi?id=240957 Reviewed by Antti Koivisto. This patch implements a simple "let's shrink the flex items when available space is limited" logic. * Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp: (WebCore::Layout::FlexFormattingContext::computeLogicalWidthForShrinkingFlexItems): (WebCore::Layout::FlexFormattingContext::computeLogicalWidthForStretchingFlexItems): (WebCore::Layout::FlexFormattingContext::computeLogicalWidthForFlexItems): * Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h: Canonical link: https://commits.webkit.org/251027@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
[iOS][WP] Block access to file-ioctl commands
https://bugs.webkit.org/show_bug.cgi?id=240977 <rdar://88334007> Reviewed by Chris Dumez. This is based on collected telemetry. This patch also adds telemetry to file read/write of /dev/aes_0 to determine if that can be removed as well. * Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in: Canonical link: https://commits.webkit.org/251026@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294903 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Do not issue repaint when the ancestor layer has already been schedul…
…ed for one https://bugs.webkit.org/show_bug.cgi?id=240728 Reviewed by Simon Fraser. When a renderer needs repaint, we walk the layer tree to search for the repaint container (root for all the paints). If we find a layer between the renderer and the repaint container that has already been scheduled for a full repaint we know that this repaint is redundant and will be covered by the ancestor layer. Since layers paint their overflow content, this works even when the renderer "sticks out" of the ancestor layer's renderer's border box (i.e. produces ink/scrollable overflow). * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::enclosingCompositingLayerForRepaint const): (WebCore::RenderLayer::clipCrossesPaintingBoundary const): (WebCore::RenderLayer::calculateClipRects const): * Source/WebCore/rendering/RenderLayer.h: (WebCore::RenderLayer::needsFullRepaint const): * Source/WebCore/rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::repaintInCompositedAncestor): * Source/WebCore/rendering/RenderObject.cpp: (WebCore::RenderObject::containerForRepaint const): (WebCore::fullRepaintIsScheduled): This covers the cases when the content is embedded inside an iframe and the iframe's view is not composited. (WebCore::RenderObject::repaint const): (WebCore::RenderObject::repaintRectangle const): * Source/WebCore/rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations): Canonical link: https://commits.webkit.org/251025@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294902 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
AX: -Wswitch warnings in AXObjectCacheAtspi.cpp
https://bugs.webkit.org/show_bug.cgi?id=240956 Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-26 Reviewed by Adrian Perez de Castro. * Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp: (WebCore::AXObjectCache::postPlatformNotification): Canonical link: https://commits.webkit.org/251024@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
[git-webkit] Use --git-common-dir over hard-coded .git
https://bugs.webkit.org/show_bug.cgi?id=240732 <rdar://93676555> Reviewed by Dewei Zhu. * Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: (Git.Cache.path): Use common_directory instead of .git. (Git.is_svn): Ditto. (Git.common_directory): Attempt to determine path to .git directory with `git rev-parse --git-common-dir`. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py: (Scm.common_directory): Added. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py: (Svn.Cache.path): Use common_directory instead of .svn. (Svn.common_directory): Added. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: (Setup.git): Use common_directory instead of .git. Canonical link: https://commits.webkit.org/251023@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
[iOS][GPUP] Block unused system calls
https://bugs.webkit.org/show_bug.cgi?id=240960 <rdar://84826074> Reviewed by Chris Dumez. * Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in: Canonical link: https://commits.webkit.org/251022@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
[macOS][GPUP] Block unused system calls
https://bugs.webkit.org/show_bug.cgi?id=240966 <rdar://84826074> Reviewed by Chris Dumez. * Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in: Canonical link: https://commits.webkit.org/251021@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294898 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Define WK_NOT_NO in SDKVariant.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=240963 rdar://problem/93984643 Reviewed by Alexey Proskuryakov. Provide a definition of `WK_NOT_NO = YES`, so that the `$(WK_NOT_$(SOME_BUILD_SETTING))` construction can be relied upon to produce a result of YES if the original build setting has a value of NO, which shouldn't be handled substantially different from an empty string. * PerformanceTests/MediaTime/Configurations/SDKVariant.xcconfig: * Source/JavaScriptCore/Configurations/SDKVariant.xcconfig: * Source/ThirdParty/ANGLE/Configurations/SDKVariant.xcconfig: * Source/ThirdParty/gtest/xcode/Config/SDKVariant.xcconfig: * Source/ThirdParty/libwebrtc/Configurations/SDKVariant.xcconfig: * Source/WTF/Configurations/SDKVariant.xcconfig: * Source/WebCore/Configurations/SDKVariant.xcconfig: * Source/WebCore/PAL/Configurations/SDKVariant.xcconfig: * Source/WebGPU/Configurations/SDKVariant.xcconfig: * Source/WebInspectorUI/Configurations/SDKVariant.xcconfig: * Source/WebKit/Configurations/SDKVariant.xcconfig: * Source/WebKitLegacy/mac/Configurations/SDKVariant.xcconfig: * Source/bmalloc/Configurations/SDKVariant.xcconfig: * Tools/ContentExtensionTester/Configurations/SDKVariant.xcconfig: * Tools/DumpRenderTree/mac/Configurations/SDKVariant.xcconfig: * Tools/ImageDiff/cg/Configurations/SDKVariant.xcconfig: * Tools/MiniBrowser/Configurations/SDKVariant.xcconfig: * Tools/MobileMiniBrowser/Configurations/SDKVariant.xcconfig: * Tools/TestWebKitAPI/Configurations/SDKVariant.xcconfig: * Tools/WebEditingTester/Configurations/SDKVariant.xcconfig: * Tools/WebKitTestRunner/Configurations/SDKVariant.xcconfig: * Tools/lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig: Canonical link: https://commits.webkit.org/251020@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Fix !ENABLE(ACCESSIBILITY) after r294878
https://bugs.webkit.org/show_bug.cgi?id=240976 Reviewed by Chris Fleizach. Some methods with AXObjectCache were missing an !ENABLE(ACCESSIBILITY) build. * Source/WebCore/accessibility/AXObjectCache.h: Canonical link: https://commits.webkit.org/251019@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294896 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
Build with -Wno-stringop-overflow when using GCC
https://bugs.webkit.org/show_bug.cgi?id=240596 Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-26 Reviewed by Adrian Perez de Castro. Also, rearrange and simplify the warning flag code. And remove suppression of -Wno-attributes, since GCC 8 is everywhere nowadays. * Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): * Source/JavaScriptCore/ftl/FTLOSRExit.cpp: (JSC::FTL::OSRExitDescriptor::prepareOSRExitHandle): * Source/WebCore/loader/DocumentWriter.cpp: (WebCore::DocumentWriter::end): * Source/cmake/WebKitCompilerFlags.cmake: Canonical link: https://commits.webkit.org/251018@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294895 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
AX: Don't create isolated objects from ignored live objects
https://bugs.webkit.org/show_bug.cgi?id=240507 Reviewed by Chris Fleizach. Sometimes, we can get into a state where a live object has dynamically become ignored but not removed as a child from its parent (since unignored objects are the only thing that should be in any AccessibilityObject::m_children). This can cause us to create an isolated object for this ignored live object. With this change, we now return a std::nullopt NodeChange for an ignored live object. I split this change off from a different patch improving our handling of modals. It is required to make accessibility/aria-modal-multiple-dialogs.html pass in isolated tree mode. * Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp: (WebCore::AXIsolatedTree::nodeChangeForObject): (WebCore::AXIsolatedTree::queueRemovalsAndUnresolvedChanges): (WebCore::AXIsolatedTree::updateNode): * Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h: Canonical link: https://commits.webkit.org/251017@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294894 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
[git-webkit] Support radar when auto-filing bug
https://bugs.webkit.org/show_bug.cgi?id=240969 <rdar://problem/93989777> Reviewed by Dewei Zhu. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py: (Branch.main): Handle case where tracker does not have defined credentials. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py: (TestBranch.test_create_bug): Added. Canonical link: https://commits.webkit.org/251016@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
spurious
RELEASE_LOG
when creating aWKWebView
with an emptyframe
https://bugs.webkit.org/show_bug.cgi?id=240959 Reviewed by Tim Horton. * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _recalculateViewportSizesWithMinimumViewportInset:maximumViewportInset:throwOnInvalidInput:]): Don't `RELEASE_LOG` (or `throw`) unless a `minimumViewportInset`/`maximumViewportInset` has been specified. Canonical link: https://commits.webkit.org/251015@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294888 268f45cc-cd09-0410-ab3c-d52691b4dbfc