[webkit-changes] [WebKit/WebKit] e4492a: Complete the list of ARIA roles used for Interacti...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e4492ac14176ce45aab4280d85c1bf9628f49b00 https://github.com/WebKit/WebKit/commit/e4492ac14176ce45aab4280d85c1bf9628f49b00 Author: Etienne Segonzac Date: 2023-03-07 (Tue, 07 Mar 2023) Changed paths: M LayoutTests/interaction-region/aria-roles-expected.txt M LayoutTests/interaction-region/aria-roles.html M Source/WebCore/page/InteractionRegion.cpp Log Message: --- Complete the list of ARIA roles used for Interaction Regions https://bugs.webkit.org/show_bug.cgi?id=253460 Reviewed by Tim Horton. Expand the list of ARIA roles that enable the creation of an Interaction Region. * Source/WebCore/page/InteractionRegion.cpp: (WebCore::shouldAllowAccessibilityRoleAsPointerCursorReplacement): Extract the ARIA check in a function. (WebCore::shouldAllowNonPointerCursorForElement): Use the new function when evaluating an element missing `cursor:pointer`. * LayoutTests/interaction-region/aria-roles-expected.txt: * LayoutTests/interaction-region/aria-roles.html: Fix an issue with the existing `role="button"` test case. Add new cases covering this change. Canonical link: https://commits.webkit.org/261337@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] dd4b91: Fold CallFrameClosure into CachedCall.
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: dd4b91af70c52e54e959a591d7ab08735950423d https://github.com/WebKit/WebKit/commit/dd4b91af70c52e54e959a591d7ab08735950423d Author: Mark Lam Date: 2023-03-06 (Mon, 06 Mar 2023) Changed paths: M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj M Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp M Source/JavaScriptCore/interpreter/CachedCall.h R Source/JavaScriptCore/interpreter/CallFrameClosure.h M Source/JavaScriptCore/interpreter/Interpreter.cpp M Source/JavaScriptCore/interpreter/Interpreter.h M Source/JavaScriptCore/interpreter/InterpreterInlines.h M Source/JavaScriptCore/runtime/CallData.cpp M Source/JavaScriptCore/runtime/ConstructData.cpp M Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp M Source/JavaScriptCore/runtime/ShadowRealmPrototype.cpp Log Message: --- Fold CallFrameClosure into CachedCall. https://bugs.webkit.org/show_bug.cgi?id=253481 rdar://106341933 Reviewed by Yusuke Suzuki. CallFrameClosure is always embedded into and used with a CachedCall. This patch makes the following changes: 1. By folding it into CachedCall, we can remove many redundancies e.g. a protoCallFrame pointer, a JSFunction pointer, a VM pointer, and argumentCountIncludingThis. 2. CallFrameClosure::parameterCountIncludingThis was also never used. So, remove it. 3. Remove CachedCall::m_interpreter because it is always as an offset from CachedCall::m_vm. 4. Make use of Interpreter::vm() to compute VM&. This eliminates the need to pass globalObject to a few Interpreter::executeXXX functions where the sole purpose of the globalObject is for computing VM&. 5. Add an optimization in Interpreter::executeCachedCall where we can skip the call to ScriptExecutable::prepareForExecution if the addressForCall is unchanged. 6. Remove the now unneeded CallFrameClosure. 7. Rename Interpreter::prepareForRepeatCall to prepareForCachedCall to match what it's actually preparing for. This patch produces the following gains on microbenchmarks: basenew cpp-to-js-call-as-first-entry 77.6193+-5.2323 74.1395+-0.7745 might be 1.0469x faster cpp-to-js-call 70.7867+-0.4565 70.5623+-0.3648 cpp-to-js-cached-call 80.8428+-0.2077 ^ 58.5465+-0.1468 ^ definitely 1.3808x faster * Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj: * Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluateWithScopeExtension): * Source/JavaScriptCore/interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): (JSC::CachedCall::call): (JSC::CachedCall::function): (JSC::CachedCall::functionExecutable): (JSC::CachedCall::scope): * Source/JavaScriptCore/interpreter/CallFrameClosure.h: Removed. * Source/JavaScriptCore/interpreter/Interpreter.cpp: (JSC::eval): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::prepareForCachedCall): (JSC::Interpreter::executeEval): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::prepareForRepeatCall): Deleted. * Source/JavaScriptCore/interpreter/Interpreter.h: * Source/JavaScriptCore/interpreter/InterpreterInlines.h: (JSC::Interpreter::executeCachedCall): * Source/JavaScriptCore/runtime/CallData.cpp: (JSC::call): * Source/JavaScriptCore/runtime/ConstructData.cpp: (JSC::construct): * Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/ShadowRealmPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/VM.h: Canonical link: https://commits.webkit.org/261311@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 95d4c8: Correctly discard stack values when adding else to...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 95d4c84bd6e95250495fbaa40ac88a01eab3cb7f https://github.com/WebKit/WebKit/commit/95d4c84bd6e95250495fbaa40ac88a01eab3cb7f Author: David Degazio Date: 2023-03-06 (Mon, 06 Mar 2023) Changed paths: A JSTests/wasm/stress/block-results-into-unreachable-else.js M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp Log Message: --- Correctly discard stack values when adding else to unreachable in BBQ JIT https://bugs.webkit.org/show_bug.cgi?id=253457 rdar://106292162 Reviewed by Yusuke Suzuki. Adds a flush at the end of the preceding block when we end an unreachable block with an else. Since it's unreachable, we don't consider setting up block arguments for any successors, and instead just want to make sure all the values on the stack are consumed properly. This deallocates their registers, if any, so we enter the else block with the BBQ allocator in the expected state. * JSTests/wasm/stress/block-results-into-unreachable-else.js: Added. * Source/JavaScriptCore/wasm/WasmBBQJIT.cpp: (JSC::Wasm::BBQJIT::addElseToUnreachable): Canonical link: https://commits.webkit.org/261304@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c6d7e1: Fix SIMD global get and set in BBQ JIT
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c6d7e1b115e0f3ca2fa5509102eaf21b8369c108 https://github.com/WebKit/WebKit/commit/c6d7e1b115e0f3ca2fa5509102eaf21b8369c108 Author: David Degazio Date: 2023-03-06 (Mon, 06 Mar 2023) Changed paths: A JSTests/wasm/stress/simd-global-get.js A JSTests/wasm/stress/simd-global-set.js M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp Log Message: --- Fix SIMD global get and set in BBQ JIT https://bugs.webkit.org/show_bug.cgi?id=253455 rdar://106293111 Reviewed by Yusuke Suzuki and Justin Michaud. The current implementation for global.get and global.set in BBQ JIT uses the same helper to emit type-correct load and store instructions as the rest of the WASM load and store ops. SIMD load ops aren't included in these instructions though, so whenever we try to get or set a v128 global with portable binding mode, we hit an ASSERT_NOT_REACHED. This patch adds a simple check for v128 globals to both of these instruction implementations, and emits a loadVector/storeVector instruction directly instead of calling out to the helper. * JSTests/wasm/stress/simd-global-get.js: Added. * JSTests/wasm/stress/simd-global-set.js: Added. * Source/JavaScriptCore/wasm/WasmBBQJIT.cpp: (JSC::Wasm::BBQJIT::getGlobal): (JSC::Wasm::BBQJIT::setGlobal): (JSC::Wasm::BBQJIT::emitLoad): Canonical link: https://commits.webkit.org/261299@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3b7862: Reduce unnecessary work in VMEntryScope to speed u...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3b78627af7fadf9e392d0eb8a7bcdfa96e01a20d https://github.com/WebKit/WebKit/commit/3b78627af7fadf9e392d0eb8a7bcdfa96e01a20d Author: Mark Lam Date: 2023-03-06 (Mon, 06 Mar 2023) Changed paths: A JSTests/microbenchmarks/cpp-to-js-cached-call.js A JSTests/microbenchmarks/cpp-to-js-call-as-first-entry.js M Source/JavaScriptCore/dfg/DFGOSREntry.cpp M Source/JavaScriptCore/jit/JITOperations.cpp M Source/JavaScriptCore/runtime/JSDateMath.h M Source/JavaScriptCore/runtime/VM.cpp M Source/JavaScriptCore/runtime/VM.h M Source/JavaScriptCore/runtime/VMEntryScope.cpp M Source/JavaScriptCore/runtime/VMTraps.cpp M Source/JavaScriptCore/runtime/VMTrapsInlines.h M Source/JavaScriptCore/tools/JSDollarVM.cpp Log Message: --- Reduce unnecessary work in VMEntryScope to speed up first VM entry. https://bugs.webkit.org/show_bug.cgi?id=253412 rdar://106258354 Reviewed by Yusuke Suzuki. 1. VMEntryScope entry and exit current check for the need to do a lot of work that are usually not needed. Instead of doing all these checks, we introduce a new VM::EntryScopeService concept where if one of these checks are needed, their sources will request an EntryScopeService. With this, the VMEntryScope will only check if any such services have been requested (with a single bitfield), and can will only incur the cost of the check if at least one such services have been requested. The only exception to using these service requests is the resetting of the VM DateCache. That is dependent on a global lastTimeZoneID because there is one DateCache per VM, and there can be multiple VMs. Hence, lastTimeZoneID needs to be updated in an atomic way. We also don't want the EntryScope service request to require a lock of any sort, nor have to deal with iterating all VMs to request a DateCache reset. So, we'll just do a hasTimeZoneChange() check instead in addition to the service request check on entry. 2. Moved the servicing of the "EntryScopeService"s out to VM::executeEntryScopeServicesOnEntry() and VM::executeEntryScopeServicesOnExit() instead of keeping them inlined in VMEntryScope. This appears to have improved the microbenchmark result by ~2-4%. Might be due to improved cache locality from moving the rare case out. 3. Rename VM::m_terminationInProgress to VM::m_hasTerminationRequest to better describe what it represents. I wrote this code, and I found even myself confused by it. So, I'm renaming it for clarity, and updating the comment about its treatment on VM exit for added clarity as well. 4. Added cpp-to-js-cached-call.js and cpp-to-js-call-as-first-entry.js microbenchmarks which tests repeated calls using CachedCall, and repeated calls at the first entry boundary. The microbenchmark results are all follows, As expected, only first entry is improved by this change. base new cpp-to-js-call-as-first-entry 96.8583+-0.1895 ^ 75.9927+-0.6285^ definitely 1.2746x faster cpp-to-js-call 69.6459+-0.1565 69.5432+-0.0586 cpp-to-js-cached-call 79.8228+-0.5376 ? 80.4139+-0.6115? * JSTests/microbenchmarks/cpp-to-js-cached-call.js: Added. (test): * JSTests/microbenchmarks/cpp-to-js-call-as-first-entry.js: Added. (test): * Source/JavaScriptCore/jit/JITOperations.cpp: (JSC::JSC_DEFINE_JIT_OPERATION): * Source/JavaScriptCore/runtime/JSDateMath.h: (JSC::DateCache::hasTimeZoneChange): (JSC::DateCache::resetIfNecessary): * Source/JavaScriptCore/runtime/VM.cpp: (JSC::VM::VM): (JSC::VM::primitiveGigacageDisabled): (JSC::VM::ensureWatchdog): (JSC::VM::ensureSamplingProfiler): (JSC::VM::whenIdle): (JSC::VM::setException): (JSC::VM::throwTerminationException): (JSC::VM::assertScratchBuffersAreEmpty): (JSC::VM::executeEntryScopeServicesOnEntry): (JSC::VM::executeEntryScopeServicesOnExit): (JSC::VM::clearScratchBuffers): Deleted. * Source/JavaScriptCore/runtime/VM.h: (JSC::VM::hasTerminationRequest const): (JSC::VM::clearHasTerminationRequest): (JSC::VM::setHasTerminationRequest): (JSC::VM::hasAnyEntryScopeServiceRequest): (JSC::VM::isValidEntryScopeService): (JSC::VM::hasEntryScopeServiceRequest): (JSC::VM::clearEntryScopeService): (JSC::VM::requestEntryScopeService): (JSC::VM::hasTimeZoneChange): (JSC::VM::notifyNeedTermination): (JSC::VM::terminationInProgress const): Deleted. (JSC::VM::setTerminationInProgress): Deleted. (JSC::VM::firePrimitiveGigacageEnabledIfNecessary): Deleted. (JSC::VM::invokeDidPopListeners): Deleted. (JSC::VM::resetDateCacheIfNecessary): Deleted. * Source/JavaScriptCore/runtime/VMEntryScope.cpp: (JSC::VMEntryScope::setUpSlow): (JSC::VMEntryScope::tearDownSlow): * Source/JavaScriptCore/runtime/VMTraps.cpp: (JSC::VMTraps::handleTraps): (JSC::VMTraps::deferTe
[webkit-changes] [WebKit/WebKit] 6d41b0: Switch from WTF::Span to std::span
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6d41b0f74b61f318f8f50a191f4bb5808a507e43 https://github.com/WebKit/WebKit/commit/6d41b0f74b61f318f8f50a191f4bb5808a507e43 Author: David Kilzer Date: 2023-03-04 (Sat, 04 Mar 2023) Changed paths: M Source/JavaScriptCore/jsc.cpp M Source/WTF/wtf/PlatformHave.h M Source/WTF/wtf/SHA1.cpp M Source/WTF/wtf/SHA1.h M Source/WTF/wtf/Span.h M Source/WTF/wtf/persistence/PersistentDecoder.cpp M Source/WTF/wtf/persistence/PersistentDecoder.h M Source/WTF/wtf/text/Base64.cpp M Source/WTF/wtf/text/Base64.h M Source/WTF/wtf/text/StringBuilder.h M Source/WTF/wtf/text/StringImpl.h M Source/WTF/wtf/text/StringSearch.h M Source/WTF/wtf/text/WTFString.h M Source/WebCore/Modules/fetch/FetchResponse.cpp M Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp M Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.cpp M Source/WebCore/Modules/push-api/PushDatabase.cpp M Source/WebCore/Modules/push-api/PushMessageCrypto.cpp M Source/WebCore/Modules/push-api/cocoa/PushCryptoCocoa.cpp M Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h M Source/WebCore/Modules/webauthn/cbor/CBORReader.cpp M Source/WebCore/Modules/webauthn/cbor/CBORReader.h M Source/WebCore/bindings/js/SerializedScriptValue.h M Source/WebCore/css/CSSValueList.h M Source/WebCore/dom/make_names.pl M Source/WebCore/fileapi/NetworkSendQueue.cpp M Source/WebCore/html/canvas/CanvasPath.cpp M Source/WebCore/html/parser/HTMLDocumentParserFastPath.cpp M Source/WebCore/html/shadow/TextControlInnerElements.cpp M Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp M Source/WebCore/loader/icon/IconLoader.cpp M Source/WebCore/page/PageColorSampler.cpp M Source/WebCore/platform/SharedBuffer.h M Source/WebCore/platform/graphics/ByteArrayPixelBuffer.h M Source/WebCore/platform/gstreamer/GStreamerElementHarness.cpp M Source/WebCore/platform/sql/SQLiteStatement.cpp M Source/WebCore/platform/text/TextFlags.cpp M Source/WebCore/workers/service/server/RegistrationDatabase.cpp M Source/WebCore/xml/XMLErrors.cpp M Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp M Source/WebKit/NetworkProcess/storage/CacheStorageDiskStore.cpp M Source/WebKit/NetworkProcess/storage/CacheStorageManager.cpp M Source/WebKit/Platform/IPC/ArgumentCoders.cpp M Source/WebKit/Platform/IPC/ArgumentCoders.h M Source/WebKit/Platform/IPC/Encoder.h M Source/WebKit/Platform/IPC/StreamConnectionEncoder.h M Source/WebKit/Shared/Cocoa/SandboxExtensionCocoa.mm M Source/WebKit/Shared/WebCoreArgumentCoders.cpp M Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp M Source/WebKitLegacy/mac/History/BinaryPropertyList.cpp M Source/cmake/OptionsCommon.cmake M Source/cmake/WebKitCompilerFlags.cmake M Tools/Scripts/webkitpy/style/checkers/cpp.py M Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py M Tools/TestWebKitAPI/Tests/IPC/ArgumentCoderTests.cpp M Tools/TestWebKitAPI/Tests/WTF/EmbeddedFixedVector.cpp M Tools/TestWebKitAPI/Tests/WTF/RefCountedFixedVector.cpp Log Message: --- Switch from WTF::Span to std::span https://bugs.webkit.org/show_bug.cgi?id=253377 Reviewed by Darin Adler. On Apple ports of WebKit, switch to use std::span instead of WTF::Span by creating a template type alias, creating WTF::makeSpan() to use for both types (since the type alias can't perform deduction), and implementing wrappers for WTF::asBytes() and WTF::asWritableBytes(). * Source/JavaScriptCore/jsc.cpp: (JSC_DEFINE_HOST_FUNCTION): * Source/WTF/wtf/PlatformHave.h: * Source/WTF/wtf/SHA1.cpp: - Include for std::to_integer(). * Source/WTF/wtf/SHA1.h: (WTF::SHA1::addBytes): * Source/WTF/wtf/Span.h: (WTF::makeSpan): (WTF::asBytes): (WTF::asWritableBytes): (makeSpan): * Source/WTF/wtf/persistence/PersistentDecoder.cpp: (WTF::Persistence::Decoder::bufferIsLargeEnoughToContain const): (WTF::Persistence::Decoder::bufferPointerForDirectRead): (WTF::Persistence::Decoder::rewind): (WTF::Persistence::Decoder::decodeNumber): * Source/WTF/wtf/persistence/PersistentDecoder.h: (WTF::Persistence::Decoder::currentOffset const): - Switch to use a span iterator instead of a raw pointer for bounds checks. (): Deleted. * Source/WTF/wtf/text/Base64.cpp: (WTF::base64EncodeInternal): (WTF::base64Decode): * Source/WTF/wtf/text/Base64.h: (WTF::StringTypeAdapter::writeTo const): * Source/WTF/wtf/text/StringBuilder.h: (WTF::StringBuilder::span const): * Source/WTF/wtf/text/StringImpl.h: (WTF::StringImpl::tryGetUTF8ForCharacters): * Source/WTF/wtf/text/StringSearch.h: (WTF::BoyerMooreHorspoolTable::BoyerMooreHorspoolTable): * Source/WTF/wtf/text/WTFString.h: (WTF::String::tryGetUTF8 const): * Source/WebCore/Modules/fetch/FetchResponse.cpp: (WebCore::FetchResponse::BodyLoader::didReceiveData): (WebCore:
[webkit-changes] [WebKit/WebKit] f71852: Revise check for Lockdown Mode enablement
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f71852e43526a118eb5a225b637862ba114dd82a https://github.com/WebKit/WebKit/commit/f71852e43526a118eb5a225b637862ba114dd82a Author: Brent Fulgham Date: 2023-03-04 (Sat, 04 Mar 2023) Changed paths: M Source/WTF/wtf/PlatformHave.h M Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm Log Message: --- Revise check for Lockdown Mode enablement https://bugs.webkit.org/show_bug.cgi?id=253268 Reviewed by Darin Adler. Checking an NSUserDefault directly for Lockdown Mode is clunky. Instead, we should use a less clunky method to check the status. * Source/WTF/wtf/PlatformHave.h: * Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.mm: (+[_WKSystemPreferences isCaptivePortalModeEnabled]): Canonical link: https://commits.webkit.org/261233@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e3f0b0: Enable single-pass BBQ baseline JIT by default
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e3f0b033dcf4ed2f7b03c7c359acf4ab11a4c08c https://github.com/WebKit/WebKit/commit/e3f0b033dcf4ed2f7b03c7c359acf4ab11a4c08c Author: David Degazio Date: 2023-03-03 (Fri, 03 Mar 2023) Changed paths: M Source/JavaScriptCore/runtime/Options.cpp M Source/JavaScriptCore/runtime/OptionsList.h M Tools/Scripts/run-jsc-stress-tests Log Message: --- Enable single-pass BBQ baseline JIT by default https://bugs.webkit.org/show_bug.cgi?id=252209 rdar://100332177 Reviewed by Mark Lam and Yusuke Suzuki. The new BBQ baseline JIT is largely complete, passes all of our stress tests, and doesn't introduce a performance regression. This patch moves to enable it as our default implementation for the BBQ tier, supplanting the Air backend. One notable hole in the new JIT's support is in some of the recent WASM extensions: typed function references, tail calls, and GC. Since these are still incomplete currently, and disabled by default, single-pass BBQ doesn't yet support them. When these features are manually enabled, single-pass BBQ JIT will be disabled currently, and defer back to Air. Air and B3 can also be selected by passing `--useSinglePassBBQJIT=0` in the command line options. * Source/JavaScriptCore/runtime/Options.cpp: (JSC::Options::notifyOptionsChanged): * Source/JavaScriptCore/runtime/OptionsList.h: * Tools/Scripts/run-jsc-stress-tests: Canonical link: https://commits.webkit.org/261153@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d4f4ae: AX: input[type=date] individual fields are announc...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d4f4aedd06563422f36fff424b3592646262e0f3 https://github.com/WebKit/WebKit/commit/d4f4aedd06563422f36fff424b3592646262e0f3 Author: Chris Gilardi Date: 2023-03-03 (Fri, 03 Mar 2023) Changed paths: A LayoutTests/accessibility/date-input-aria-label-and-value-expected.txt A LayoutTests/accessibility/date-input-aria-label-and-value.html M LayoutTests/platform/glib/TestExpectations M LayoutTests/platform/mac-wk1/TestExpectations M Source/WebCore/en.lproj/Localizable.strings M Source/WebCore/html/shadow/DateTimeFieldElements.cpp M Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp M Source/WebCore/html/shadow/DateTimeNumericFieldElement.h M Source/WebCore/platform/LocalizedStrings.cpp M Source/WebCore/platform/LocalizedStrings.h Log Message: --- AX: input[type=date] individual fields are announced as "group" https://bugs.webkit.org/show_bug.cgi?id=251544 rdar://problem/104928713 Reviewed by Aditya Keerthi. This fixes the bug by adding labels representing the "day", "month", and "year" inputs so that a screen reader has something to read, instead of just "group" - it also switches the "role" attribute of the same divs to "spinbutton" to more accurately reflect how they are used. * LayoutTests/accessibility/date-input-aria-label-and-value-expected.txt: Added. * LayoutTests/accessibility/date-input-aria-label-and-value.html: Added. * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/mac-wk1/TestExpectations: * Source/WebCore/en.lproj/Localizable.strings: * Source/WebCore/html/shadow/DateTimeFieldElements.cpp: (WebCore::DateTimeDayFieldElement::create): (WebCore::DateTimeMonthFieldElement::create): (WebCore::DateTimeSymbolicMonthFieldElement::create): (WebCore::DateTimeYearFieldElement::create): * Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp: (WebCore::DateTimeNumericFieldElement::setEmptyValue): (WebCore::DateTimeNumericFieldElement::setValueAsInteger): (WebCore::DateTimeNumericFieldElement::setARIAValueAttributesWithInteger): * Source/WebCore/html/shadow/DateTimeNumericFieldElement.h: * Source/WebCore/platform/LocalizedStrings.cpp: (WebCore::AXDateFieldMonthText): (WebCore::AXDateFieldDayText): (WebCore::AXDateFieldYearText): * Source/WebCore/platform/LocalizedStrings.h: Canonical link: https://commits.webkit.org/261123@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0cb9c0: Fix F32/F64Copysign on Intel in single-pass BBQ JIT
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0cb9c0e04c8f1f84e65209d7e3ff757dc46631de https://github.com/WebKit/WebKit/commit/0cb9c0e04c8f1f84e65209d7e3ff757dc46631de Author: David Degazio Date: 2023-03-02 (Thu, 02 Mar 2023) Changed paths: M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp Log Message: --- Fix F32/F64Copysign on Intel in single-pass BBQ JIT https://bugs.webkit.org/show_bug.cgi?id=253286 rdar://106173548 Reviewed by Yusuke Suzuki. Our previous implementation of F32/F64Copysign on Intel didn't consider that the left operand and result registers might alias, and clobbered its input. This patch changes our implementation to no longer do this. * Source/JavaScriptCore/wasm/WasmBBQJIT.cpp: (JSC::Wasm::BBQJIT::addF32Copysign): (JSC::Wasm::BBQJIT::addF64Copysign): Canonical link: https://commits.webkit.org/261116@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 53cde6: Regions too big to be interactions should still be...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 53cde672f341f27622950ce540b8bf3be392cda0 https://github.com/WebKit/WebKit/commit/53cde672f341f27622950ce540b8bf3be392cda0 Author: Etienne Segonzac Date: 2023-03-02 (Thu, 02 Mar 2023) Changed paths: M LayoutTests/interaction-region/full-page-overlay-expected.txt M LayoutTests/interaction-region/full-page-overlay.html M Source/WebCore/page/InteractionRegion.cpp Log Message: --- Regions too big to be interactions should still be checked for occlusions https://bugs.webkit.org/show_bug.cgi?id=253241 Reviewed by Tim Horton. Before we discard an interaction region based on its area, check to see if we should generate a corresponding occlusion region. (Occlusions use a higher area limit.) * Source/WebCore/page/InteractionRegion.cpp: (WebCore::interactionRegionForRenderedRegion): Extract the interaction area check to a variable. Use it as part of the occlusion branch's condition. * LayoutTests/interaction-region/full-page-overlay-expected.txt: * LayoutTests/interaction-region/full-page-overlay.html: Update the overlay test to cover this case. Canonical link: https://commits.webkit.org/261108@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8704aa: Update some CTAP IDL types
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8704aa4593bacce3c5ca2b4bbb094890cb553ff1 https://github.com/WebKit/WebKit/commit/8704aa4593bacce3c5ca2b4bbb094890cb553ff1 Author: Garrett Davidson Date: 2023-03-02 (Thu, 02 Mar 2023) Changed paths: M Source/WebCore/Modules/webauthn/AttestationConveyancePreference.h M Source/WebCore/Modules/webauthn/AttestationConveyancePreference.idl M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialCreationOptions.h M Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm M Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm Log Message: --- Update some CTAP IDL types rdar://105614057 Reviewed by J Pascoe. Add definitions for some missing IDL values. * Source/WebCore/Modules/webauthn/AttestationConveyancePreference.h: * Source/WebCore/Modules/webauthn/AttestationConveyancePreference.idl: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialCreationOptions.h: * Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm: (attestationConveyancePreference): * Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm: (WebKit::toNSString): Canonical link: https://commits.webkit.org/261088@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 61a675: Structure::hasCustomGetterSetterProperties() is in...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 61a675e0601868b296937ac6c7dd92293f495ccf https://github.com/WebKit/WebKit/commit/61a675e0601868b296937ac6c7dd92293f495ccf Author: Alexey Shvayka Date: 2023-03-02 (Thu, 02 Mar 2023) Changed paths: M Source/JavaScriptCore/runtime/ClassInfo.h M Source/JavaScriptCore/runtime/Lookup.h M Source/JavaScriptCore/runtime/Structure.cpp M Source/JavaScriptCore/tools/JSDollarVM.cpp M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm M Source/WebCore/bindings/scripts/test/JS/JSDOMWindow.cpp M Source/WebCore/bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp M Source/WebCore/bindings/scripts/test/JS/JSExposedStar.cpp M Source/WebCore/bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp M Source/WebCore/bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp M Source/WebCore/bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp M Source/WebCore/bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp M Source/WebCore/bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestAsyncIterable.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestAsyncKeyValueIterable.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCEReactions.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallTracer.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestCallbackInterface.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestConditionalIncludes.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestDOMJIT.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSON.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestDomainSecurity.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestEnabledBySetting.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestEnabledForContext.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestMapLike.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp M Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp M Source/WebCore
[webkit-changes] [WebKit/WebKit] 629fc5: Add Interaction Regions for aria roles button & me...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 629fc5bf5089d0f3abe8237401ecdd940a250a32 https://github.com/WebKit/WebKit/commit/629fc5bf5089d0f3abe8237401ecdd940a250a32 Author: Etienne Segonzac Date: 2023-03-02 (Thu, 02 Mar 2023) Changed paths: A LayoutTests/interaction-region/aria-roles-expected.txt A LayoutTests/interaction-region/aria-roles.html M Source/WebCore/page/InteractionRegion.cpp Log Message: --- Add Interaction Regions for aria roles button & menuitem https://bugs.webkit.org/show_bug.cgi?id=253189 Reviewed by Tim Horton. Allow non `pointer:cursor` elements with the aria roles `button` and `menuitem` to get Interaction Regions. * Source/WebCore/page/InteractionRegion.cpp: (WebCore::shouldAllowNonPointerCursorForElement): Get the role attribute value from the element to see if it should get an Interaction Region even without `pointer: cursor`. * LayoutTests/interaction-region/aria-roles-expected.txt: Added. * LayoutTests/interaction-region/aria-roles.html: Added. Add a test covering these rules. Canonical link: https://commits.webkit.org/261059@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1801b1: Build failures in CGDisplayListImageBufferBackend ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1801b1aa4eaa04e7c0e647b833206127552614cf https://github.com/WebKit/WebKit/commit/1801b1aa4eaa04e7c0e647b833206127552614cf Author: Etienne Segonzac Date: 2023-03-01 (Wed, 01 Mar 2023) Changed paths: M Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.h M Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.mm Log Message: --- Build failures in CGDisplayListImageBufferBackend after rdar://106020570 https://bugs.webkit.org/show_bug.cgi?id=253193 Reviewed by Tim Horton. Finish Removing const qualifier from ImageBufferBackend methods that are not const in practice. This time for the `CGDisplayListImageBufferBackend`. * Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.h: * Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.mm: (WebKit::CGDisplayListImageBufferBackend::context): (WebKit::CGDisplayListImageBufferBackend::copyNativeImage): (WebKit::CGDisplayListImageBufferBackend::getPixelBuffer): (WebKit::CGDisplayListImageBufferBackend::context const): Deleted. (WebKit::CGDisplayListImageBufferBackend::copyNativeImage const): Deleted. (WebKit::CGDisplayListImageBufferBackend::getPixelBuffer const): Deleted. Canonical link: https://commits.webkit.org/261025@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b5764e: Apply opacity to the Interaction Regions layer tree
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b5764e2c9a87965d0b412e4c83096020ee8bf0dc https://github.com/WebKit/WebKit/commit/b5764e2c9a87965d0b412e4c83096020ee8bf0dc Author: Etienne Segonzac Date: 2023-03-01 (Wed, 01 Mar 2023) Changed paths: M LayoutTests/interaction-region/layer-tree-expected.txt M LayoutTests/interaction-region/layer-tree.html M Source/WebCore/rendering/EventRegion.cpp M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm Log Message: --- Apply opacity to the Interaction Regions layer tree https://bugs.webkit.org/show_bug.cgi?id=253109 Reviewed by Tim Horton. We want Interaction Regions containers to match the opacity of the content. * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm: (WebKit::applyCommonPropertiesToLayer): (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): Move `opacity` to the common properties applier. * LayoutTests/interaction-region/layer-tree-expected.txt: * LayoutTests/interaction-region/layer-tree.html: Tweak the test to cover this change. * Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm: (dumpCALayer): Add opacity to the test dump format. * Source/WebCore/rendering/EventRegion.cpp: (WebCore::EventRegion::dump const): Sort interaction regions in the dump to make tests more reliable. Canonical link: https://commits.webkit.org/261013@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a38ad3: Add support for largeBlob extension for local auth...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a38ad3411dcf6207dd198956e375a5d7302323f9 https://github.com/WebKit/WebKit/commit/a38ad3411dcf6207dd198956e375a5d7302323f9 Author: Garrett Davidson Date: 2023-02-28 (Tue, 28 Feb 2023) Changed paths: M LayoutTests/http/wpt/webauthn/public-key-credential-get-success-local.https-expected.txt M LayoutTests/http/wpt/webauthn/public-key-credential-get-success-local.https.html M Source/JavaScriptCore/runtime/ArrayBuffer.cpp M Source/JavaScriptCore/runtime/ArrayBuffer.h M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.cpp M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.h M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.cpp M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.h M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.idl M Source/WebCore/Modules/webauthn/AuthenticatorAssertionResponse.h M Source/WebCore/Modules/webauthn/AuthenticatorAttestationResponse.cpp M Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp M Source/WebCore/Modules/webauthn/WebAuthenticationUtils.cpp M Source/WebCore/Modules/webauthn/WebAuthenticationUtils.h M Source/WebCore/Modules/webauthn/fido/DeviceRequestConverter.cpp M Source/WebCore/Modules/webauthn/fido/DeviceRequestConverter.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h M Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm M Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp M Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.h M Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm M Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp M Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp M Tools/TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp M Tools/TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp M Tools/TestWebKitAPI/Tests/WebCore/FidoTestData.h Log Message: --- Add support for largeBlob extension for local authenticator https://bugs.webkit.org/show_bug.cgi?id=252789 rdar://105237759 Reviewed by J Pascoe. This patch adds support for the largeBlob extension to the local authenticator. This extension allows storing an arbitrary blob of data alongside a passkey, which can be read or written during assertions. * Source/JavaScriptCore/runtime/ArrayBuffer.cpp: (JSC::ArrayBuffer::create): * Source/JavaScriptCore/runtime/ArrayBuffer.h: Moved Vector helpers from WebAuthnUtils to be first class methods. * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.cpp: (WebCore::AuthenticationExtensionsClientInputs::fromCBOR): (WebCore::AuthenticationExtensionsClientInputs::toCBOR const): * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.h: * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl: * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.cpp: (WebCore::AuthenticationExtensionsClientOutputs::fromCBOR): (WebCore::AuthenticationExtensionsClientOutputs::toCBOR const): * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.h: * Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.idl: Basic IDL and encoding support. * Source/WebCore/Modules/webauthn/AuthenticatorAssertionResponse.h: (WebCore::AuthenticatorAssertionResponse::largeBlob const): (WebCore::AuthenticatorAssertionResponse::setLargeBlob): Hold on to the blob when we load credentials. * Source/WebCore/Modules/webauthn/AuthenticatorAttestationResponse.cpp: (WebCore::coseKeyForAttestationObject): (WebCore::AuthenticatorAttestationResponse::getAuthenticatorData const): Switch away from the old helpers. * Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp: (WebCore::AuthenticatorCoordinator::create): Remove an outdated comment and pass along the new extension. * Source/WebCore/Modules/webauthn/WebAuthenticationUtils.cpp: (WebCore::convertArrayBufferToVector): Deleted. * Source/WebCore/Modules/webauthn/WebAuthenticationUtils.h: * Source/WebCore/Modules/webauthn/fido/DeviceRequestConverter.cpp: (fido::encodeMakeCredentialRequestAsCBOR): (fido::encodeGetAssertionRequestAsCBOR): (fido::encodeMakeCredenitalRequestAsCBOR): Deleted. * Source/WebCore/Modules/webauthn/fido/DeviceRequestConverter.h: Add support for serializing the extension during get and create. This also checks to make sure that the authenticator supports the extension before attempting to serialize it. Comes with tests! * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: Support for serializing the new extension between the web process and the UI p
[webkit-changes] [WebKit/WebKit] 235640: [JSC] Hoist configurability checks in ProxyObject'...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 235640089671f7559a4f42c8d08391b388719eda https://github.com/WebKit/WebKit/commit/235640089671f7559a4f42c8d08391b388719eda Author: Alexey Shvayka Date: 2023-02-28 (Tue, 28 Feb 2023) Changed paths: M Source/JavaScriptCore/runtime/ProxyObject.cpp Log Message: --- [JSC] Hoist configurability checks in ProxyObject's "get" and "set" traps https://bugs.webkit.org/show_bug.cgi?id=253083 Reviewed by Yusuke Suzuki. This patch implements editorial spec change [1], making the code a bit easier to read and sets the stage for a follow-up patch that will make the trap result validation conditional. No behavior change. [1]: https://github.com/tc39/ecma262/pull/895 * Source/JavaScriptCore/runtime/ProxyObject.cpp: (JSC::ProxyObject::validateGetTrapResult): (JSC::ProxyObject::validateSetTrapResult): Canonical link: https://commits.webkit.org/260957@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c428fc: Support loop OSR entry to and from BBQ baseline JIT
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c428fc6916fa86f12d0fa545d3577ce3e0438143 https://github.com/WebKit/WebKit/commit/c428fc6916fa86f12d0fa545d3577ce3e0438143 Author: David Degazio Date: 2023-02-28 (Tue, 28 Feb 2023) Changed paths: M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp M Source/JavaScriptCore/wasm/WasmBBQJIT.h M Source/JavaScriptCore/wasm/WasmBBQPlan.cpp M Source/JavaScriptCore/wasm/WasmCallee.h M Source/JavaScriptCore/wasm/WasmFormat.h M Source/JavaScriptCore/wasm/WasmIRGeneratorHelpers.h M Source/JavaScriptCore/wasm/WasmOperations.cpp M Source/JavaScriptCore/wasm/WasmOperations.h M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp M Source/JavaScriptCore/wasm/WasmTierUpCount.cpp M Source/JavaScriptCore/wasm/WasmTierUpCount.h Log Message: --- Support loop OSR entry to and from BBQ baseline JIT https://bugs.webkit.org/show_bug.cgi?id=252939 rdar://105909610 Reviewed by Yusuke Suzuki and Justin Michaud. Adds support for loop OSR entry tier-up to the new BBQ baseline JIT. This lets us tier up from single-pass BBQ compiled code into OMG, or tier up from LLInt into the new BBQ compiler. To facilitate tiering up into OMG, we now generate a stackmap for every WASM loop, and perform a tier-up check at the loop start. When this exceeds a certain threshold, we trigger an OMG tier up, largely reusing the existing machinery. For tiering up from LLInt, it's a bit more involved. The existing Air backend generates unique entrypoints for every loop index, and the B3 backend generates unique compilations for every loop index. To avoid using a lot of executable memory, BBQ now generates a single shared loop entrypoint, which sets up the call frame and then calls into an operation. This operation looks up the stack map and label for the target loop index in the BBQ callee, sets up the BBQ locals and temps using a probe, then returns the label address back to our function, where we can indirectly jump to it. * Source/JavaScriptCore/wasm/WasmBBQJIT.cpp: * Source/JavaScriptCore/wasm/WasmBBQJIT.h: * Source/JavaScriptCore/wasm/WasmBBQPlan.cpp: (JSC::Wasm::BBQPlan::work): (JSC::Wasm::BBQPlan::compileFunction): (JSC::Wasm::BBQPlan::initializeCallees): * Source/JavaScriptCore/wasm/WasmCallee.h: * Source/JavaScriptCore/wasm/WasmFormat.h: * Source/JavaScriptCore/wasm/WasmIRGeneratorHelpers.h: (JSC::Wasm::computeExceptionHandlerAndLoopEntrypointLocations): * Source/JavaScriptCore/wasm/WasmOperations.cpp: (JSC::Wasm::JSC_DEFINE_JIT_OPERATION): * Source/JavaScriptCore/wasm/WasmOperations.h: * Source/JavaScriptCore/wasm/WasmSlowPaths.cpp: (JSC::LLInt::WASM_SLOW_PATH_DECL): * Source/JavaScriptCore/wasm/WasmTierUpCount.cpp: (JSC::Wasm::TierUpCount::osrEntryData): * Source/JavaScriptCore/wasm/WasmTierUpCount.h: Canonical link: https://commits.webkit.org/260955@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5fe923: [GLib] New API to get the request body of WebKitUR...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5fe923aa166a3084c973020d99f34c9476dddece https://github.com/WebKit/WebKit/commit/5fe923aa166a3084c973020d99f34c9476dddece Author: Wu Yu Wei Date: 2023-02-28 (Tue, 28 Feb 2023) Changed paths: M Source/WebCore/platform/network/soup/ResourceRequest.h M Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp M Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp M Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.h.in M Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp Log Message: --- [GLib] New API to get the request body of WebKitURISchemeRequest https://bugs.webkit.org/show_bug.cgi?id=252564 Reviewed by Carlos Garcia Campos, Michael Catanzaro and Adrian Perez de Castro. * Source/WebCore/platform/network/soup/ResourceRequest.h: * Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp: (WebCore::ResourceRequest::createInputStream const): Added new function API * Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.h.in: * Source/WebKit/UIProcess/API/glib/WebKitURISchemeRequest.cpp: (webkit_uri_scheme_request_get_http_body): Added new function API * Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp: (testWebContextURIScheme): Expanded 'post' URI scheme to test webkit_uri_scheme_request_get_http_body Canonical link: https://commits.webkit.org/260949@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3dafcd: WARNING_CFLAGS should use $(inherited) instead of ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3dafcdaa89c03f7d6d58cee71bbb6d13130a3e34 https://github.com/WebKit/WebKit/commit/3dafcdaa89c03f7d6d58cee71bbb6d13130a3e34 Author: David Kilzer Date: 2023-02-27 (Mon, 27 Feb 2023) Changed paths: M Configurations/CommonBase.xcconfig M Source/JavaScriptCore/Configurations/Base.xcconfig M Source/ThirdParty/ANGLE/Configurations/Base.xcconfig M Source/ThirdParty/gtest/xcode/Config/General.xcconfig M Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig M Source/WTF/Configurations/Base.xcconfig M Source/WebCore/Configurations/Base.xcconfig M Source/WebCore/PAL/Configurations/Base.xcconfig M Source/WebCore/PAL/ThirdParty/libavif/Configurations/Base.xcconfig M Source/WebCore/PAL/ThirdParty/libavif/ThirdParty/dav1d/Configurations/Base.xcconfig M Source/WebGPU/Configurations/Base.xcconfig M Source/WebInspectorUI/Configurations/Base.xcconfig M Source/WebKit/Configurations/Base.xcconfig M Source/WebKitLegacy/mac/Configurations/Base.xcconfig M Source/bmalloc/Configurations/Base.xcconfig M Tools/DumpRenderTree/mac/Configurations/Base.xcconfig M Tools/ImageDiff/cg/Configurations/Base.xcconfig M Tools/MiniBrowser/Configurations/Base.xcconfig M Tools/MobileMiniBrowser/Configurations/Base.xcconfig M Tools/TestWebKitAPI/Configurations/Base.xcconfig M Tools/WebEditingTester/Configurations/Base.xcconfig M Tools/WebGPUPlayground/Configurations/Base.xcconfig M Tools/WebKitTestRunner/Configurations/Base.xcconfig M Tools/lldb/lldbWebKitTester/Configurations/Base.xcconfig Log Message: --- WARNING_CFLAGS should use $(inherited) instead of $(WK_COMMON_WARNING_CFLAGS) https://bugs.webkit.org/show_bug.cgi?id=252992 Reviewed by Elliott Williams. Switch from using $(WK_COMMON_WARNING_CFLAGS) to $(inherited) in all Base.xcconfig files. * Configurations/CommonBase.xcconfig: * Source/JavaScriptCore/Configurations/Base.xcconfig: * Source/ThirdParty/ANGLE/Configurations/Base.xcconfig: * Source/ThirdParty/gtest/xcode/Config/General.xcconfig: * Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig: * Source/WTF/Configurations/Base.xcconfig: * Source/WebCore/Configurations/Base.xcconfig: * Source/WebCore/PAL/Configurations/Base.xcconfig: * Source/WebCore/PAL/ThirdParty/libavif/Configurations/Base.xcconfig: * Source/WebCore/PAL/ThirdParty/libavif/ThirdParty/dav1d/Configurations/Base.xcconfig: * Source/WebGPU/Configurations/Base.xcconfig: * Source/WebInspectorUI/Configurations/Base.xcconfig: * Source/WebKit/Configurations/Base.xcconfig: * Source/WebKitLegacy/mac/Configurations/Base.xcconfig: * Source/bmalloc/Configurations/Base.xcconfig: * Tools/DumpRenderTree/mac/Configurations/Base.xcconfig: * Tools/ImageDiff/cg/Configurations/Base.xcconfig: * Tools/MiniBrowser/Configurations/Base.xcconfig: * Tools/MobileMiniBrowser/Configurations/Base.xcconfig: * Tools/TestWebKitAPI/Configurations/Base.xcconfig: * Tools/WebEditingTester/Configurations/Base.xcconfig: * Tools/WebGPUPlayground/Configurations/Base.xcconfig: * Tools/WebKitTestRunner/Configurations/Base.xcconfig: * Tools/lldb/lldbWebKitTester/Configurations/Base.xcconfig: Canonical link: https://commits.webkit.org/260902@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b3bded: Adopt new subclass for InteractionRegion layers
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b3bdeda02fd5995a5ac0f90d8dfb3d52904ae337 https://github.com/WebKit/WebKit/commit/b3bdeda02fd5995a5ac0f90d8dfb3d52904ae337 Author: Etienne Segonzac Date: 2023-02-27 (Mon, 27 Feb 2023) Changed paths: M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm Log Message: --- Adopt new subclass for InteractionRegion layers https://bugs.webkit.org/show_bug.cgi?id=252743 Reviewed by Darin Adler. Use the new extension point to get the InteractionRegion layer subclass. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm: (interactionRegionLayerClass): (WebKit::updateLayersForInteractionRegions): Remove the explicit string conversion for the element identifier. Canonical link: https://commits.webkit.org/260892@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3464e0: REGRESSION (260654@main): BaseXcconfigCheckerTest ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3464e0af6f31f9b080796edb0576a2ce285a3411 https://github.com/WebKit/WebKit/commit/3464e0af6f31f9b080796edb0576a2ce285a3411 Author: David Kilzer Date: 2023-02-25 (Sat, 25 Feb 2023) Changed paths: M Tools/Scripts/webkitpy/style/checkers/basexcconfig.py Log Message: --- REGRESSION (260654@main): BaseXcconfigCheckerTest fails when not run from top-level folder https://bugs.webkit.org/show_bug.cgi?id=252946 Reviewed by Alexey Proskuryakov. Construct a relative path to fix the bug. * Tools/Scripts/webkitpy/style/checkers/basexcconfig.py: (BaseXcconfigChecker.read_common_base_xcconfig_variables): - Construct a relative path using __file__ to Configurations/CommonBase.xcconfig so that this test works no matter where test-webkitpy (or check-webkit-style) is invoked. Canonical link: https://commits.webkit.org/260840@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] bfd300: Extract ProxyObject::validateGetTrapResult()
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bfd300fb86cf2b9e1ee5df937072e242fec2e577 https://github.com/WebKit/WebKit/commit/bfd300fb86cf2b9e1ee5df937072e242fec2e577 Author: Alexey Shvayka Date: 2023-02-25 (Sat, 25 Feb 2023) Changed paths: M Source/JavaScriptCore/runtime/JSGlobalObject.cpp M Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp M Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.h M Source/JavaScriptCore/runtime/ProxyObject.cpp M Source/JavaScriptCore/runtime/ProxyObject.h Log Message: --- Extract ProxyObject::validateGetTrapResult() https://bugs.webkit.org/show_bug.cgi?id=252934 Reviewed by Yusuke Suzuki. This patch is a small refactor prior to a follow-up change that will make performing these checks conditional to remove of the fast path. Also co-locates globalFuncHandleProxyGetTrapResult() with other globalFunc* helpers and makes validateGetTrapResult() consistent with validateSetTrapResult* method. * Source/JavaScriptCore/runtime/JSGlobalObject.cpp: * Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.h: * Source/JavaScriptCore/runtime/ProxyObject.cpp: (JSC::performProxyGet): (JSC::ProxyObject::validateGetTrapResult): * Source/JavaScriptCore/runtime/ProxyObject.h: Canonical link: https://commits.webkit.org/260829@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2d9635: [REBASLINE] ([ Mac WK1 ] 2x imported/w3c/web-platf...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2d9635d62de96e2a93bb7e319a7917b04ff8cfd3 https://github.com/WebKit/WebKit/commit/2d9635d62de96e2a93bb7e319a7917b04ff8cfd3 Author: Dawn Flores Date: 2023-02-24 (Fri, 24 Feb 2023) Changed paths: A LayoutTests/platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/html/canvas/offscreen/path-objects/2d.path.stroke.scale2-expected.txt A LayoutTests/platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/html/canvas/offscreen/path-objects/2d.path.stroke.scale2.worker-expected.txt Log Message: --- [REBASLINE] ([ Mac WK1 ] 2x imported/w3c/web-platform-tests/html/canvas/offscreen/path-objects/2d.path.stroke.scale2*(layout-tests) are constant failures) rdar://105749926 Unreviewed test gardening. *LayoutTests/platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/html/canvas/offscreen/path-objects/2d.path.stroke.scale2.worker-expected.txt: Added *LayoutTests/platform/mac-bigsur-wk1/imported/w3c/web-platform-tests/html/canvas/offscreen/path-objects/2d.path.stroke.scale2-expected.txt: Added Canonical link: https://commits.webkit.org/260807@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b45d2e: [JSC] Add ProxyObjectStore IC to optimize "set" trap
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b45d2e9c3d34a09f74191f07275eef8cf57f6f4d https://github.com/WebKit/WebKit/commit/b45d2e9c3d34a09f74191f07275eef8cf57f6f4d Author: Alexey Shvayka Date: 2023-02-24 (Fri, 24 Feb 2023) Changed paths: A JSTests/microbenchmarks/proxy-set-miss-handler.js A JSTests/microbenchmarks/proxy-set.js A JSTests/stress/proxy-set-failure-inline-cache.js M Source/JavaScriptCore/builtins/BuiltinNames.h M Source/JavaScriptCore/builtins/ProxyHelpers.js M Source/JavaScriptCore/bytecode/AccessCase.cpp M Source/JavaScriptCore/bytecode/AccessCase.h M Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.h M Source/JavaScriptCore/bytecode/LinkTimeConstant.h M Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp M Source/JavaScriptCore/bytecode/ProxyObjectAccessCase.cpp M Source/JavaScriptCore/bytecode/Repatch.cpp M Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp M Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h M Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp M Source/JavaScriptCore/runtime/CacheableIdentifier.h M Source/JavaScriptCore/runtime/CacheableIdentifierInlines.h M Source/JavaScriptCore/runtime/JSGlobalObject.cpp M Source/JavaScriptCore/runtime/JSGlobalObject.h M Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp M Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.h M Source/JavaScriptCore/runtime/JSGlobalObjectInlines.h M Source/JavaScriptCore/runtime/ProxyObject.cpp M Source/JavaScriptCore/runtime/ProxyObject.h Log Message: --- [JSC] Add ProxyObjectStore IC to optimize "set" trap https://bugs.webkit.org/show_bug.cgi?id=252602 Reviewed by Yusuke Suzuki. This change adds ProxyObjectLoad IC for Proxy "set" trap, which detects ProxyObject and calls a variant of @performProxyObjectSet JS function, ensuring that errors for both reflection in case of missing trap and falsy trap result are thrown only in strict mode. Results in 1.7-6.6x speed-up on provided microbenchmarks, while JetStream3 Proxy tests are neutral due to very modest usage of Proxy "set" trap (MobX doesn't call it at all, only setters). Also, factors out a few helpers as CacheableIdentifier instance methods and extracts ProxyObject::validateSetTrapResult() method to allow for maximum code reuse. ToT patch proxy-set-miss-handler 129.6017+-0.8690 ^ 19.7623+-0.1588^ definitely 6.5580x faster proxy-set57.8925+-0.4492 ^ 33.9117+-0.2406^ definitely 1.7072x faster * JSTests/microbenchmarks/proxy-set-miss-handler.js: Added. * JSTests/microbenchmarks/proxy-set.js: Added. * JSTests/stress/proxy-set-failure-inline-cache.js: Added. * Source/JavaScriptCore/builtins/BuiltinNames.h: * Source/JavaScriptCore/builtins/ProxyHelpers.js: (linkTimeConstant.performProxyObjectSetSloppy): (linkTimeConstant.performProxyObjectSetStrict): * Source/JavaScriptCore/bytecode/AccessCase.cpp: (JSC::AccessCase::create): (JSC::AccessCase::guardedByStructureCheckSkippingConstantIdentifierCheck const): (JSC::AccessCase::requiresIdentifierNameMatch const): (JSC::AccessCase::requiresInt32PropertyCheck const): (JSC::AccessCase::needsScratchFPR const): (JSC::AccessCase::forEachDependentCell const): (JSC::AccessCase::doesCalls const): (JSC::AccessCase::canReplace const): (JSC::AccessCase::generateWithGuard): (JSC::AccessCase::generateImpl): (JSC::AccessCase::runWithDowncast): (JSC::AccessCase::canBeShared): * Source/JavaScriptCore/bytecode/AccessCase.h: * Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.h: * Source/JavaScriptCore/bytecode/LinkTimeConstant.h: * Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp: (JSC::PolymorphicAccess::regenerate): * Source/JavaScriptCore/bytecode/ProxyObjectAccessCase.cpp: (JSC::ProxyObjectAccessCase::emit): * Source/JavaScriptCore/bytecode/Repatch.cpp: (JSC::tryCacheGetBy): (JSC::tryCachePutBy): * Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitPutByVal): * Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h: * Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp: (JSC::emitIntrinsicPutByValWithThis): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putByValWithThisSloppy): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putByValWithThisStrict): * Source/JavaScriptCore/runtime/CacheableIdentifier.h: (JSC::CacheableIdentifier::isPrivateName const): * Source/JavaScriptCore/runtime/CacheableIdentifierInlines.h: (JSC::CacheableIdentifier::ensureIsCell): * Source/JavaScriptCore/runtime/JSGlobalObject.cpp: (JSC::globalFuncHandleProxySetTrapResult): (JSC::JSC_DEFINE_HOST_FUNCTION): (JSC::JSGlobalObject::init): * Source/JavaScriptCore/runtime/JSGlobalObject.h: * Source/JavaScriptCore/runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::performProxyObjectSetSloppyFunction c
[webkit-changes] [WebKit/WebKit] d5d4ad: Fix some bounds issues in API tests
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d5d4adedf8268ecf3e454dad02981a9cbcd9b07e https://github.com/WebKit/WebKit/commit/d5d4adedf8268ecf3e454dad02981a9cbcd9b07e Author: Alex Christensen Date: 2023-02-23 (Thu, 23 Feb 2023) Changed paths: M Tools/TestWebKitAPI/Tests/WTF/CompactRefPtr.cpp M Tools/TestWebKitAPI/Tests/WTF/FixedBitVector.cpp M Tools/TestWebKitAPI/Tests/WTF/PackedRefPtr.cpp M Tools/TestWebKitAPI/Tests/WTF/RefPtr.cpp Log Message: --- Fix some bounds issues in API tests https://bugs.webkit.org/show_bug.cgi?id=252779 rdar://105784168 Reviewed by Darin Adler. Asan found some out of bounds operations because of how we wrote our tests. * Tools/TestWebKitAPI/Tests/WTF/CompactRefPtr.cpp: (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): * Tools/TestWebKitAPI/Tests/WTF/FixedBitVector.cpp: (TestWebKitAPI::testFixedBitVectorFindBit): * Tools/TestWebKitAPI/Tests/WTF/PackedRefPtr.cpp: (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): * Tools/TestWebKitAPI/Tests/WTF/RefPtr.cpp: (TestWebKitAPI::returnConstRefCountedRef): (TestWebKitAPI::returnRefCountedRef): Canonical link: https://commits.webkit.org/260746@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5cbde2: Null terminate long strings before passing them to...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5cbde2b7b66b038c088c048d4ce4bdb5d4f0d2a6 https://github.com/WebKit/WebKit/commit/5cbde2b7b66b038c088c048d4ce4bdb5d4f0d2a6 Author: Alex Christensen Date: 2023-02-22 (Wed, 22 Feb 2023) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm Log Message: --- Null terminate long strings before passing them to NSString.stringWithFormat in HTTPReferer test https://bugs.webkit.org/show_bug.cgi?id=252773 rdar://105785119 Reviewed by Geoffrey Garen. * Tools/TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm: (TEST): Canonical link: https://commits.webkit.org/260714@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] edebcc: Allow use-after-move to verify nullness in TestWTF...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: edebcc5417a6ea19448825879a08b8925c3431e6 https://github.com/WebKit/WebKit/commit/edebcc5417a6ea19448825879a08b8925c3431e6 Author: Alex Christensen Date: 2023-02-22 (Wed, 22 Feb 2023) Changed paths: M Tools/TestWebKitAPI/Tests/WTF/CheckedPtr.cpp Log Message: --- Allow use-after-move to verify nullness in TestWTF.WTF_CheckedPtr.CheckedRef API test https://bugs.webkit.org/show_bug.cgi?id=252771 Reviewed by Ryosuke Niwa. When you move from a CheckedRef, we call __asan_poison_memory_region to indicate you shouldn't use it, and you shouldn't. This test verifies that if you do call CheckedRef::ptr() you get null, which is fine for the test to do. We don't want to unpoison the memory in the production code, so I just call __asan_unpoison_memory_region to allow the test to verify the use-after-move value. * Tools/TestWebKitAPI/Tests/WTF/CheckedPtr.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/260711@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 96d8c1: Callers of ContainerNode::removeChild need to keep...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 96d8c10caa724a3e35011a782d94e4bb882692d6 https://github.com/WebKit/WebKit/commit/96d8c10caa724a3e35011a782d94e4bb882692d6 Author: Alex Christensen Date: 2023-02-22 (Wed, 22 Feb 2023) Changed paths: M Source/WebCore/dom/ContainerNode.cpp Log Message: --- Callers of ContainerNode::removeChild need to keep a strong reference to the child https://bugs.webkit.org/show_bug.cgi?id=252769 rdar://105784240 Reviewed by Geoff Garen and Chris Dumez. 260535@main introduced some operations that use the Node after calling removeNodeWithScriptAssertion which may destroy it. * Source/WebCore/dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChild): * Source/WebCore/dom/ContainerNode.h: Canonical link: https://commits.webkit.org/260708@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 32bda1: yasm: fix remaining deprecation warnings for sprin...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 32bda1530bcac51d5c91b0787d538f53ce65a0a7 https://github.com/WebKit/WebKit/commit/32bda1530bcac51d5c91b0787d538f53ce65a0a7 Author: David Kilzer Date: 2023-02-22 (Wed, 22 Feb 2023) Changed paths: M Source/ThirdParty/libwebrtc/Configurations/yasm.xcconfig M Source/ThirdParty/libwebrtc/Source/third_party/yasm/gas-token.c M Source/ThirdParty/libwebrtc/Source/third_party/yasm/libyasm/errwarn.c M Source/ThirdParty/libwebrtc/Source/third_party/yasm/libyasm/intnum.c M Source/ThirdParty/libwebrtc/Source/third_party/yasm/modules/dbgfmts/codeview/cv-symline.c M Source/ThirdParty/libwebrtc/Source/third_party/yasm/modules/objfmts/macho/macho-objfmt.c M Source/ThirdParty/libwebrtc/Source/third_party/yasm/modules/parsers/gas/gas-token.re M Source/ThirdParty/libwebrtc/Source/third_party/yasm/modules/preprocs/gas/gas-preproc.c M Source/ThirdParty/libwebrtc/Source/third_party/yasm/modules/preprocs/nasm/nasm-pp.c M Source/ThirdParty/libwebrtc/Source/third_party/yasm/modules/preprocs/nasm/nasm-preproc.c Log Message: --- yasm: fix remaining deprecation warnings for sprintf() https://bugs.webkit.org/show_bug.cgi?id=252752 Reviewed by Alex Christensen. Fix the remaining uses of sprintf() in compiled sources. There are a few more uses in test files that are not compiled that are not fixed. Note that assert() statements are added where snprintf() is used in a loop and the pointer and line length are repeatedly adjusted in order to catch bugs at build time. * Source/ThirdParty/libwebrtc/Configurations/yasm.xcconfig: - Define HAVE_VSNPRINTF=1 when building to use vsnprintf() instead of vsprintf(). * Source/ThirdParty/libwebrtc/Source/third_party/yasm/gas-token.c: (gas_parser_lex): * Source/ThirdParty/libwebrtc/Source/third_party/yasm/libyasm/errwarn.c: (yasm_error_set_va): (yasm_error_set_xref_va): (yasm_warn_set_va): * Source/ThirdParty/libwebrtc/Source/third_party/yasm/libyasm/intnum.c: (yasm_intnum_get_str): * Source/ThirdParty/libwebrtc/Source/third_party/yasm/modules/dbgfmts/codeview/cv-symline.c: (cv_generate_line_bc): * Source/ThirdParty/libwebrtc/Source/third_party/yasm/modules/objfmts/macho/macho-objfmt.c: (macho_objfmt_section_switch): * Source/ThirdParty/libwebrtc/Source/third_party/yasm/modules/parsers/gas/gas-token.re: * Source/ThirdParty/libwebrtc/Source/third_party/yasm/modules/preprocs/gas/gas-preproc.c: (substitute_values): * Source/ThirdParty/libwebrtc/Source/third_party/yasm/modules/preprocs/nasm/nasm-pp.c: (check_tasm_directive): (prepreproc): (detoken): (do_directive): (expand_mmac_params): * Source/ThirdParty/libwebrtc/Source/third_party/yasm/modules/preprocs/nasm/nasm-preproc.c: (nasm_preproc_get_line): Canonical link: https://commits.webkit.org/260697@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6d88e2: Reduce size of code emitted for stack loads/stores...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6d88e2681672a4fac3e20dca5f30a253ea51f2af https://github.com/WebKit/WebKit/commit/6d88e2681672a4fac3e20dca5f30a253ea51f2af Author: Max Rottenkolber Date: 2023-02-22 (Wed, 22 Feb 2023) Changed paths: M Source/JavaScriptCore/b3/B3LowerToAir.cpp M Source/JavaScriptCore/b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp M Source/JavaScriptCore/b3/air/AirArg.h M Source/JavaScriptCore/b3/air/opcode_generator.rb Log Message: --- Reduce size of code emitted for stack loads/stores from Air on ARM https://bugs.webkit.org/show_bug.cgi?id=252469 Reviewed by Yusuke Suzuki. This changes callFrameAddr (AirAllocateRegistersAndStackAndGenerateCode.cpp) and its users to (which ever succeeds first) 1. generate an address offset from GPRInfo::callFrameRegister (unchanged) 2. generate an address offset from MacroAssembler::stackPointerRegister 3. load the offset into extendedOffsetAddrRegister and generate a BaseIndex [GPRInfo::callFrameRegister, extendedOffsetAddrRegister] 4. resort to computing the absolute address in extendedOffsetAddrRegister (this was the previous fallback after 1.) For 3. to work reliably we need to change Air::Arg::isValidForm to reject BaseIndex addressing when it is not supported on ARM. The result of these changes is a significant reduction in code size due to avoiding the fallback behavior in many cases (4). Code generated for the JetStream2 WASM benchmarks is ~30% smaller on ARMv7 and ~40% smaller on ARM64. * Source/JavaScriptCore/b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp: (JSC::B3::Air::callFrameAddr): (JSC::B3::Air::GenerateAndAllocateRegisters::flush): (JSC::B3::Air::GenerateAndAllocateRegisters::alloc): * Source/JavaScriptCore/b3/air/AirArg.h: (JSC::B3::Air::Arg::isValidAddrForm): (JSC::B3::Air::Arg::isValidForm const): Canonical link: https://commits.webkit.org/260680@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 647fb3: REBASLINE: ([ Mac WK1 ] 2x imported/w3c/web-platfo...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 647fb3025d2988491825f9d3eaaddb77fab510af https://github.com/WebKit/WebKit/commit/647fb3025d2988491825f9d3eaaddb77fab510af Author: Dawn Flores Date: 2023-02-22 (Wed, 22 Feb 2023) Changed paths: M LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/canvas/offscreen/path-objects/2d.path.stroke.scale2-expected.txt M LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/canvas/offscreen/path-objects/2d.path.stroke.scale2.worker-expected.txt Log Message: --- REBASLINE: ([ Mac WK1 ] 2x imported/w3c/web-platform-tests/html/canvas/offscreen/path-objects/2d.path.stroke.scale2*(layout-tests) are constant failures) https://bugs.webkit.org/show_bug.cgi?id=252750 Unreviewed test gardening. *LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/canvas/offscreen/path-objects/2d.path.stroke.scale2.worker-expected.txt: *LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/canvas/offscreen/path-objects/2d.path.stroke.scale2-expected.txt: Canonical link: https://commits.webkit.org/260677@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 64e9b8: Fix build due to availability macros in WKWebpageP...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 64e9b86994e77ede934e24ad09810d284c94817d https://github.com/WebKit/WebKit/commit/64e9b86994e77ede934e24ad09810d284c94817d Author: David Kilzer Date: 2023-02-21 (Tue, 21 Feb 2023) Changed paths: M Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h Log Message: --- Fix build due to availability macros in WKWebpagePreferencesPrivate.h https://bugs.webkit.org/show_bug.cgi?id=252727 Unreviewed build fix that was reviewed by Wenson Hsieh anyway. * Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h: - Move availability macros to the proper location. Canonical link: https://commits.webkit.org/260660@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5ee7a2: [Xcode] Simplify sanitizer builds
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5ee7a204c4e90b89cb781ade596d36a816043c29 https://github.com/WebKit/WebKit/commit/5ee7a204c4e90b89cb781ade596d36a816043c29 Author: David Kilzer Date: 2023-02-21 (Tue, 21 Feb 2023) Changed paths: M Configurations/CommonBase.xcconfig M Configurations/SDKVariant.xcconfig A Configurations/Sanitizers.xcconfig M Source/JavaScriptCore/Configurations/Base.xcconfig M Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig M Source/ThirdParty/ANGLE/Configurations/Base.xcconfig M Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig M Source/ThirdParty/libwebrtc/Configurations/yasm.xcconfig M Source/WTF/Configurations/Base.xcconfig M Source/WebCore/Configurations/Base.xcconfig M Source/WebCore/Configurations/WebCore.xcconfig M Source/WebCore/Configurations/WebCoreTestSupport.xcconfig M Source/WebCore/PAL/Configurations/Base.xcconfig M Source/WebCore/PAL/Configurations/PAL.xcconfig M Source/WebCore/PAL/ThirdParty/libavif/Configurations/Base.xcconfig M Source/WebCore/PAL/ThirdParty/libavif/Configurations/libavif.xcconfig M Source/WebCore/PAL/ThirdParty/libavif/ThirdParty/dav1d/Configurations/Base.xcconfig M Source/WebCore/PAL/ThirdParty/libavif/ThirdParty/dav1d/Configurations/dav1d.xcconfig M Source/WebGPU/Configurations/Base.xcconfig M Source/WebGPU/Configurations/WebGPU.xcconfig M Source/WebInspectorUI/Configurations/Base.xcconfig M Source/WebKit/Configurations/Base.xcconfig M Source/WebKit/Configurations/BaseTarget.xcconfig M Source/WebKit/Configurations/BaseXPCService.xcconfig M Source/WebKit/Configurations/WebKit.xcconfig M Source/WebKit/Configurations/adattributiond.xcconfig M Source/WebKit/Configurations/webpushd.xcconfig M Source/WebKit/Configurations/webpushtool.xcconfig M Source/WebKitLegacy/mac/Configurations/Base.xcconfig M Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig M Source/bmalloc/Configurations/Base.xcconfig M Tools/DumpRenderTree/mac/Configurations/Base.xcconfig M Tools/DumpRenderTree/mac/Configurations/BaseTarget.xcconfig M Tools/DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig M Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig M Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig M Tools/ImageDiff/cg/Configurations/ImageDiff.xcconfig M Tools/Scripts/webkitdirs.pm M Tools/Scripts/webkitpy/style/checker.py M Tools/Scripts/webkitpy/style/checker_unittest.py A Tools/Scripts/webkitpy/style/checkers/basexcconfig.py A Tools/Scripts/webkitpy/style/checkers/basexcconfig_unittest.py M Tools/TestWebKitAPI/Configurations/Base.xcconfig M Tools/WebGPUPlayground/Configurations/Base.xcconfig M Tools/WebKitTestRunner/Configurations/Base.xcconfig M Tools/lldb/lldbWebKitTester/Configurations/Base.xcconfig R Tools/sanitizer/asan+ubsan.xcconfig R Tools/sanitizer/asan.xcconfig R Tools/sanitizer/sanitizer.xcconfig R Tools/sanitizer/tsan.xcconfig R Tools/sanitizer/ubsan.xcconfig Log Message: --- [Xcode] Simplify sanitizer builds https://bugs.webkit.org/show_bug.cgi?id=244540 Reviewed by Elliott Williams. This change simplifies sanitizer builds of WebKit using Xcode. Instead of specifying `-xcconfig path/to/*san.xcconfig` on the command-line, the ENABLE_*_SANITIZER=YES Xcode variables now activate WebKit-specific settings. All sanitizer settings are now in a single file named Configurations/Sanitizers.xcconfig, which is included in every project via Configurations/CommonBase.xcconfig. Changes to Base.xcconfig files: - Rename GCC_OPTIMIZATION_LEVEL variables to add WK_DEFAULT_ prefix to support overriding in CommonBase.xcconfig. - OTHER_CFLAGS, OTHER_CPLUSPLUS_FLAGS and OTHER_LDFAGS variables are defined in CommonBase.xcconfig, and per-project Base.xccconfig files now pick up those values through use of $(inherited). When $(inherited) is not used, the corresponding WK_COMMON_ variable is used to include these values in various targets. Other changes too numerous to list individually below: - Rename all sanitizer variables to add WK_ prefixes. - Rename ENABLE_ANY_SANITIZER to WK_ANY_SANITIZER_ENABLED in WK_NO_STATIC_INITIALIZERS variables. - Rename WK_ASAN_DISALLOWED to WK_SANITIZER_DISALLOWED in yasm.xcconfig and ImageDiff.xcconfig since it disables all sanitizers. - Remove ASAN_OTHER_LDFLAGS variable when the value of WK_SANITIZER_OTHER_LDFLAGS is inherited. - Replace ASAN_OTHER_LDFLAGS with WK_COMMON_OTHER_LDFAGS when OTHER_LDFLAGS does not use $(inherited). - Move WK_LIBCPP_ASSERTIONS_CFLAGS to be added to OTHER_CPLUSPLUSFLAGS in CommonBase.xcconfig. This enables the macro in more projects, and removes it from OTHER_CFLAGS in some projects (since it only affects C++ code). * Configurations/CommonBase.xcconf
[webkit-changes] [WebKit/WebKit] a01918: Extend scope of counter in WTF_RunLoop API tests
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a0191862c8d6b2b1a9b543c615a1dabe978c4ba9 https://github.com/WebKit/WebKit/commit/a0191862c8d6b2b1a9b543c615a1dabe978c4ba9 Author: Alex Christensen Date: 2023-02-21 (Tue, 21 Feb 2023) Changed paths: M Tools/TestWebKitAPI/Tests/WTF/RunLoop.cpp Log Message: --- Extend scope of counter in WTF_RunLoop API tests https://bugs.webkit.org/show_bug.cgi?id=252706 Reviewed by Chris Dumez. i is referenced by a lambda that is used outside of the scope of the for loop. * Tools/TestWebKitAPI/Tests/WTF/RunLoop.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/260650@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ce8d9c: Use strnstr instead of strstr in RelaxThirdPartyCo...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ce8d9c65b8ddebb0eaa5b12512ae584df451b1ad https://github.com/WebKit/WebKit/commit/ce8d9c65b8ddebb0eaa5b12512ae584df451b1ad Author: Alex Christensen Date: 2023-02-21 (Tue, 21 Feb 2023) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm Log Message: --- Use strnstr instead of strstr in RelaxThirdPartyCookieBlocking API test https://bugs.webkit.org/show_bug.cgi?id=252704 Reviewed by Wenson Hsieh. Make sure we don't read out of bounds. * Tools/TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/260649@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 623410: Use strnstr instead of strstr in WKWebsiteDataStor...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 623410d6e0d7c4a37912270eda306c4179c88e52 https://github.com/WebKit/WebKit/commit/623410d6e0d7c4a37912270eda306c4179c88e52 Author: Alex Christensen Date: 2023-02-21 (Tue, 21 Feb 2023) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm Log Message: --- Use strnstr instead of strstr in WKWebsiteDataStore.ClearCustomDataStoreNoWebViews API test https://bugs.webkit.org/show_bug.cgi?id=252710 rdar://105685416 Reviewed by Chris Dumez. * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/260648@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] fb9f9e: Pass length as parameter with non-literal expected...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: fb9f9ec928c1647d057c02995aaf194df601d512 https://github.com/WebKit/WebKit/commit/fb9f9ec928c1647d057c02995aaf194df601d512 Author: Alex Christensen Date: 2023-02-21 (Tue, 21 Feb 2023) Changed paths: M Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp Log Message: --- Pass length as parameter with non-literal expected buffers in FragmentedSharedBufferTest https://bugs.webkit.org/show_bug.cgi?id=252707 Reviewed by Chris Dumez. Using strlen on a non-null-terminated buffer isn't great. * Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: (TestWebKitAPI::checkBufferWithLength): (TestWebKitAPI::checkBuffer): (TestWebKitAPI::TEST_F): Canonical link: https://commits.webkit.org/260647@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 44c8e8: Keep CString around until after it's used in Desti...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 44c8e8efbec8d12cc766309fb1368049aa4021d9 https://github.com/WebKit/WebKit/commit/44c8e8efbec8d12cc766309fb1368049aa4021d9 Author: Alex Christensen Date: 2023-02-21 (Tue, 21 Feb 2023) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm Log Message: --- Keep CString around until after it's used in DestinationClickFraudPrevention API test https://bugs.webkit.org/show_bug.cgi?id=252705 rdar://105728219 Reviewed by Chris Dumez and Wenson Hsieh. * Tools/TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm: (TestWebKitAPI::triggerAttributionWithSubresourceRedirect): Canonical link: https://commits.webkit.org/260646@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 39d7b6: Null terminate string passed into strchr in PDFLin...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 39d7b6a418511cecf9e045ca5cc474e0f68c3459 https://github.com/WebKit/WebKit/commit/39d7b6a418511cecf9e045ca5cc474e0f68c3459 Author: Alex Christensen Date: 2023-02-21 (Tue, 21 Feb 2023) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm Log Message: --- Null terminate string passed into strchr in PDFLinkReferrer test https://bugs.webkit.org/show_bug.cgi?id=252709 Reviewed by Chris Dumez. strnchr would be nice, but it's not available on Cocoa platforms. * Tools/TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm: (TEST): Canonical link: https://commits.webkit.org/260645@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b58e2f: WinCairo build fix after https://commits.webkit.or...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b58e2ff4af6cae8e7030cacde916f475478d1b24 https://github.com/WebKit/WebKit/commit/b58e2ff4af6cae8e7030cacde916f475478d1b24 Author: Mark Lam Date: 2023-02-21 (Tue, 21 Feb 2023) Changed paths: M Source/WTF/wtf/threads/Signals.h Log Message: --- WinCairo build fix after https://commits.webkit.org/260623@main. https://bugs.webkit.org/show_bug.cgi?id=252688 rdar://105743205 Reviewed by Fujii Hironori. Just need to declare some stub functions. * Source/WTF/wtf/threads/Signals.h: (WTF::initializeSignalHandling): (WTF::disableSignalHandling): Canonical link: https://commits.webkit.org/260630@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 005184: Don't initialize signal handing machinery if we're...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0051847d2a3954b88fc4669e9238f730df68cfd4 https://github.com/WebKit/WebKit/commit/0051847d2a3954b88fc4669e9238f730df68cfd4 Author: Mark Lam Date: 2023-02-21 (Tue, 21 Feb 2023) Changed paths: M Source/JavaScriptCore/jsc.cpp M Source/JavaScriptCore/runtime/InitializeThreading.cpp M Source/JavaScriptCore/runtime/VMEntryScope.cpp M Source/JavaScriptCore/tools/JSDollarVM.cpp M Source/JavaScriptCore/wasm/WasmCapabilities.h M Source/JavaScriptCore/wasm/WasmFaultSignalHandler.h M Source/JavaScriptCore/wasm/WasmMachineThreads.h M Source/WTF/wtf/threads/Signals.cpp M Source/WTF/wtf/threads/Signals.h M Tools/TestWebKitAPI/Tests/WTF/Signals.cpp Log Message: --- Don't initialize signal handing machinery if we're not going to use it. https://bugs.webkit.org/show_bug.cgi?id=252651 rdar://105712893 Reviewed by Yusuke Suzuki. This saves some memory when the signal handling machinery is not needed. 1. Move the handling of JS_SHELL_WAIT_FOR_SIGUSR2_TO_EXIT in jsc.cpp into jscmain. This is because addSignalHandler() depends on JSC Options, and the Options have not be initialized yet at its previous location. 2. Make signal handling stages explicit with an InitState in WTF::Config. The InitState can go from Uninitialized to InitializedHandlerThread, and then to AddedHandlers. The InitState cannot go in reverse. The client must call initializeSignalHandling() to advance the InitState from Uninitialized to InitializedHandlerThread. The client must have called addSignalHandler() in order to advance the InitState from InitializedHandlerThread to AddedHandlers. If addSignalHandler() is called without first calling initializeSignalHandling(), a RELEASE_ASSERT will fail. The client can only call registerThreadForMachExceptionHandling() after one or more addSignalHandler() has been called. registerThreadForMachExceptionHandling() will not RELEASE_ASSERT that the InitState is AddedHandlers. 3. Added stub functions for Wasm::isSupported(), Wasm::activateSignalingMemory(), Wasm::prepareSignalingMemory(), Wasm::startTrackingCurrentThread(), and Wasm::resetInstructionCacheOnAllThreads() so that they can be called without first checking #if on some WASM #define variable. * Source/JavaScriptCore/jsc.cpp: (main): (CommandLine::parseArguments): (jscmain): * Source/JavaScriptCore/runtime/InitializeThreading.cpp: (JSC::initialize): * Source/JavaScriptCore/runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * Source/JavaScriptCore/tools/JSDollarVM.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/wasm/WasmCapabilities.h: (JSC::Wasm::isSupported): * Source/JavaScriptCore/wasm/WasmFaultSignalHandler.h: (JSC::Wasm::activateSignalingMemory): (JSC::Wasm::prepareSignalingMemory): * Source/JavaScriptCore/wasm/WasmMachineThreads.h: (JSC::Wasm::startTrackingCurrentThread): (JSC::Wasm::resetInstructionCacheOnAllThreads): * Source/WTF/wtf/threads/Signals.cpp: (WTF::SignalHandlers::add): (WTF::initMachExceptionHandlerThread): (WTF::registerThreadForMachExceptionHandling): (WTF::addSignalHandler): (WTF::activateSignalHandlersFor): (WTF::startMachExceptionHandlerThread): Deleted. * Source/WTF/wtf/threads/Signals.h: (WTF::initializeSignalHandling): (WTF::disableSignalHandling): (WTF::registerThreadForMachExceptionHandling): * Tools/TestWebKitAPI/Tests/WTF/Signals.cpp: (TEST): Canonical link: https://commits.webkit.org/260623@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8f2972: Update the Interaction Regions layer tree after UI...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8f2972ef9f74c7f00d74077697c4028a1121773e https://github.com/WebKit/WebKit/commit/8f2972ef9f74c7f00d74077697c4028a1121773e Author: Etienne Segonzac Date: 2023-02-21 (Tue, 21 Feb 2023) Changed paths: M Source/WebCore/page/scrolling/ScrollingStateNode.cpp M Source/WebCore/page/scrolling/ScrollingStateNode.h M Source/WebCore/page/scrolling/cocoa/ScrollingTreeFixedNodeCocoa.h M Source/WebCore/page/scrolling/cocoa/ScrollingTreeFixedNodeCocoa.mm M Source/WebCore/page/scrolling/cocoa/ScrollingTreeOverflowScrollProxyNodeCocoa.h M Source/WebCore/page/scrolling/cocoa/ScrollingTreeOverflowScrollProxyNodeCocoa.mm M Source/WebCore/page/scrolling/cocoa/ScrollingTreePositionedNodeCocoa.h M Source/WebCore/page/scrolling/cocoa/ScrollingTreePositionedNodeCocoa.mm M Source/WebCore/page/scrolling/cocoa/ScrollingTreeStickyNodeCocoa.h M Source/WebCore/page/scrolling/cocoa/ScrollingTreeStickyNodeCocoa.mm M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm M Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm M Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h M Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm Log Message: --- Update the Interaction Regions layer tree after UI-side scrolling https://bugs.webkit.org/show_bug.cgi?id=251696 Reviewed by Simon Fraser. UI-side scrolling changes need to be reflected on the Interaction Regions layer side. Otherwise the in-layer coordinates of the regions will be offset. We connect ScrollingStateNodes to their respective Interaction Regions layers and relay all bounds/position changes. The root interaction regions layer is not impacted as it is parented to the root node's main layer. * Source/WebCore/page/scrolling/ScrollingStateNode.cpp: (WebCore::ScrollingStateNode::setInteractionRegionsLayer): * Source/WebCore/page/scrolling/ScrollingStateNode.h: (WebCore::ScrollingStateNode::interactionRegionsLayer const): Add an `interactionRegionsLayer` property. * Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm: (WebKit::RemoteScrollingCoordinatorProxyIOS::connectStateNodeLayers): Set Interaction Regions layers on ScrollingStateNodes. * Source/WebCore/page/scrolling/cocoa/ScrollingTreeFixedNodeCocoa.h: * Source/WebCore/page/scrolling/cocoa/ScrollingTreeFixedNodeCocoa.mm: (WebCore::ScrollingTreeFixedNodeCocoa::commitStateBeforeChildren): (WebCore::ScrollingTreeFixedNodeCocoa::applyLayerPositions): * Source/WebCore/page/scrolling/cocoa/ScrollingTreeOverflowScrollProxyNodeCocoa.h: * Source/WebCore/page/scrolling/cocoa/ScrollingTreeOverflowScrollProxyNodeCocoa.mm: (WebCore::ScrollingTreeOverflowScrollProxyNodeCocoa::commitStateBeforeChildren): (WebCore::ScrollingTreeOverflowScrollProxyNodeCocoa::applyLayerPositions): * Source/WebCore/page/scrolling/cocoa/ScrollingTreePositionedNodeCocoa.h: * Source/WebCore/page/scrolling/cocoa/ScrollingTreePositionedNodeCocoa.mm: (WebCore::ScrollingTreePositionedNodeCocoa::commitStateBeforeChildren): (WebCore::ScrollingTreePositionedNodeCocoa::applyLayerPositions): * Source/WebCore/page/scrolling/cocoa/ScrollingTreeStickyNodeCocoa.h: * Source/WebCore/page/scrolling/cocoa/ScrollingTreeStickyNodeCocoa.mm: (WebCore::ScrollingTreeStickyNodeCocoa::commitStateBeforeChildren): (WebCore::ScrollingTreeStickyNodeCocoa::applyLayerPositions): Apply all layer positions changes to the ScrollNode's corresponding Interaction Regions Layer. * Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h: * Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: (WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateBeforeChildren): (WebKit::ScrollingTreeScrollingNodeDelegateIOS::repositionScrollingLayers): Apply the ScrollView's contentOffset to the corresponding Interaction Regions layer. * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm: (WebKit::applyCommonPropertiesToLayer): (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): (WebKit::RemoteLayerTreePropertyApplier::applyProperties): (WebKit::applyGeometryPropertiesToLayer): Deleted. Apply the masksToBounds property to Interaction Regions layers. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm: (WebKit::RemoteLayerTreeNode::detachFromParent): Remove the Interaction Regions layer from superlayer on detach even for UIView based nodes. (WebKit::RemoteLayerTreeNode::initializeLayer): Disable implicit position animations for Interaction Regions layers. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm:
[webkit-changes] [WebKit/WebKit] 80ea8d: [bmalloc] Use an autoreleasepool in gigacageEnable...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 80ea8d22d12403cd536dafa256f4d32c0a23e313 https://github.com/WebKit/WebKit/commit/80ea8d22d12403cd536dafa256f4d32c0a23e313 Author: David Kilzer Date: 2023-02-20 (Mon, 20 Feb 2023) Changed paths: M Source/bmalloc/bmalloc/ProcessCheck.mm Log Message: --- [bmalloc] Use an autoreleasepool in gigacageEnabledForProcess() and shouldProcessUnconditionallyUseBmalloc() https://bugs.webkit.org/show_bug.cgi?id=252595 Reviewed by Yusuke Suzuki. Add @autoreleasepool { } blocks to capture autoreleased objects and clear them before the method returns. This prevents them from sitting in the main thread's autoreleasePool until it is drained. * Source/bmalloc/bmalloc/ProcessCheck.mm: (bmalloc::gigacageEnabledForProcess): (bmalloc::shouldProcessUnconditionallyUseBmalloc): Canonical link: https://commits.webkit.org/260573@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ab29cf: Extraneous interaction regions for pseudo elements...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ab29cfa512af8fac599ae1f0e7bb19b99980cc52 https://github.com/WebKit/WebKit/commit/ab29cfa512af8fac599ae1f0e7bb19b99980cc52 Author: Etienne Segonzac Date: 2023-02-20 (Mon, 20 Feb 2023) Changed paths: A LayoutTests/interaction-region/nested-composited-text-painter-expected.txt A LayoutTests/interaction-region/nested-composited-text-painter.html A LayoutTests/interaction-region/pseudo-element-expected.txt A LayoutTests/interaction-region/pseudo-element.html M Source/WebCore/page/InteractionRegion.cpp Log Message: --- Extraneous interaction regions for pseudo elements and some composited childrens https://bugs.webkit.org/show_bug.cgi?id=251995 Reviewed by Tim Horton. Tweak the interaction regions generation heuristics to avoid extra regions for: - pseudo-elements - children of block elements getting their own InteractionRegion * Source/WebCore/page/InteractionRegion.cpp: (WebCore::interactionRegionForRenderedRegion): Keep track of the original RegionRenderer node separately of the one we end up matching in order to tweak the heuristics. * LayoutTests/interaction-region/nested-composited-text-painter-expected.txt: Added. * LayoutTests/interaction-region/nested-composited-text-painter.html: Added. * LayoutTests/interaction-region/pseudo-element-expected.txt: Added. * LayoutTests/interaction-region/pseudo-element.html: Added. Add tests for these cases. Canonical link: https://commits.webkit.org/260567@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f6adb7: Fix entry tier-up SIMD check in BBQ baseline JIT
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f6adb76413178eb10820c04b14cffd501a981e88 https://github.com/WebKit/WebKit/commit/f6adb76413178eb10820c04b14cffd501a981e88 Author: David Degazio Date: 2023-02-20 (Mon, 20 Feb 2023) Changed paths: M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp Log Message: --- Fix entry tier-up SIMD check in BBQ baseline JIT https://bugs.webkit.org/show_bug.cgi?id=252590 rdar://105689397 Currently, the new WebAssembly BBQ baseline JIT always passes false for the isSIMD parameter when calling into the OMG tier-up trigger thunk. This patch makes it so we track whether the function is a SIMD function using notifyFunctionUsesSIMD(), and pass that into the thunk generator, ensuring we preserve any SIMD registers used to pass arguments to the function. Reviewed by Yusuke Suzuki. * Source/JavaScriptCore/wasm/WasmBBQJIT.cpp: (JSC::Wasm::BBQJIT::emitEntryTierUpCheck): (JSC::Wasm::BBQJIT::notifyFunctionUsesSIMD): Canonical link: https://commits.webkit.org/260562@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ae2abe: REGRESSION(260457@main): WKView is still needed
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ae2abefb80e64a4d6e531f08d7657564a0631890 https://github.com/WebKit/WebKit/commit/ae2abefb80e64a4d6e531f08d7657564a0631890 Author: Alex Christensen Date: 2023-02-20 (Mon, 20 Feb 2023) Changed paths: M Source/WebKit/SourcesCocoa.txt M Source/WebKit/UIProcess/API/C/mac/WKPagePrivateMac.mm M Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm M Source/WebKit/UIProcess/API/Cocoa/WKView.h A Source/WebKit/UIProcess/API/Cocoa/WKViewPrivate.h M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm M Source/WebKit/UIProcess/API/Cocoa/_WKThumbnailView.h M Source/WebKit/UIProcess/API/Cocoa/_WKThumbnailView.mm A Source/WebKit/UIProcess/API/mac/WKView.mm A Source/WebKit/UIProcess/API/mac/WKViewInternal.h M Source/WebKit/UIProcess/Gamepad/mac/UIGamepadProviderMac.mm M Source/WebKit/UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm M Source/WebKit/UIProcess/PageClient.h M Source/WebKit/UIProcess/mac/PageClientImplMac.h M Source/WebKit/UIProcess/mac/PageClientImplMac.mm M Source/WebKit/UIProcess/mac/WKFullScreenWindowController.h M Source/WebKit/UIProcess/mac/WKFullScreenWindowController.mm M Source/WebKit/UIProcess/mac/WebPopupMenuProxyMac.h M Source/WebKit/WebKit.xcodeproj/project.pbxproj Log Message: --- REGRESSION(260457@main): WKView is still needed https://bugs.webkit.org/show_bug.cgi?id=252572 Unreviewed. It's still used for perf testing. This reverts the source changes. * Source/WebKit/SourcesCocoa.txt: * Source/WebKit/UIProcess/API/C/mac/WKPagePrivateMac.mm: * Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm: * Source/WebKit/UIProcess/API/Cocoa/WKView.h: (WK_CLASS_DEPRECATED_WITH_REPLACEMENT): * Source/WebKit/UIProcess/API/Cocoa/WKViewPrivate.h: Added. * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm: * Source/WebKit/UIProcess/API/Cocoa/_WKThumbnailView.h: * Source/WebKit/UIProcess/API/Cocoa/_WKThumbnailView.mm: (-[_WKThumbnailView initWithFrame:fromWKView:]): (-[_WKThumbnailView _viewWasUnparented]): (-[_WKThumbnailView _viewWasParented]): * Source/WebKit/UIProcess/API/mac/WKView.mm: Added. (-[WKView initWithFrame:processGroup:browsingContextGroup:]): (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]): (-[WKView dealloc]): (-[WKView browsingContextController]): (-[WKView setDrawsBackground:]): (-[WKView drawsBackground]): (-[WKView _backgroundColor]): (-[WKView _setBackgroundColor:]): (-[WKView setDrawsTransparentBackground:]): (-[WKView drawsTransparentBackground]): (-[WKView acceptsFirstResponder]): (-[WKView becomeFirstResponder]): (-[WKView resignFirstResponder]): (-[WKView viewWillStartLiveResize]): (-[WKView viewDidEndLiveResize]): (-[WKView isFlipped]): (-[WKView intrinsicContentSize]): (-[WKView prepareContentInRect:]): (-[WKView setFrameSize:]): (-[WKView _setSemanticContext:]): (-[WKView ALLOW_DEPRECATED_IMPLEMENTATIONS_END]): (-[WKView writeSelectionToPasteboard:types:]): (-[WKView centerSelectionInVisibleArea:]): (-[WKView validRequestorForSendType:returnType:]): (-[WKView readSelectionFromPasteboard:]): (-[WKView changeFont:]): (-[WKView validateUserInterfaceItem:]): (-[WKView startSpeaking:]): (-[WKView stopSpeaking:]): (-[WKView showGuessPanel:]): (-[WKView checkSpelling:]): (-[WKView changeSpelling:]): (-[WKView toggleContinuousSpellChecking:]): (-[WKView isGrammarCheckingEnabled]): (-[WKView setGrammarCheckingEnabled:]): (-[WKView toggleGrammarChecking:]): (-[WKView toggleAutomaticSpellingCorrection:]): (-[WKView orderFrontSubstitutionsPanel:]): (-[WKView toggleSmartInsertDelete:]): (-[WKView isAutomaticQuoteSubstitutionEnabled]): (-[WKView setAutomaticQuoteSubstitutionEnabled:]): (-[WKView toggleAutomaticQuoteSubstitution:]): (-[WKView isAutomaticDashSubstitutionEnabled]): (-[WKView setAutomaticDashSubstitutionEnabled:]): (-[WKView toggleAutomaticDashSubstitution:]): (-[WKView isAutomaticLinkDetectionEnabled]): (-[WKView setAutomaticLinkDetectionEnabled:]): (-[WKView toggleAutomaticLinkDetection:]): (-[WKView isAutomaticTextReplacementEnabled]): (-[WKView setAutomaticTextReplacementEnabled:]): (-[WKView toggleAutomaticTextReplacement:]): (-[WKView uppercaseWord:]): (-[WKView lowercaseWord:]): (-[WKView capitalizeWord:]): (-[WKView _wantsKeyDownForEvent:]): (-[WKView scrollWheel:]): (-[WKView swipeWithEvent:]): (-[WKView mouseDown:]): (-[WKView mouseUp:]): (-[WKView mouseDragged:]): (-[WKView otherMouseDown:]): (-[WKView otherMouseDragged:]): (-[WKView otherMouseUp:]): (-[WKView rightMouseDown:]): (-[WKView rightMouseDragged:]): (-[WKView rightMouseUp:]): (-[WKView pressureChangeWithEvent:]): (-[WKView acceptsFirstMouse:]): (-[WKView shouldDelayWindowOrderingForEvent:]): (-[WKView doCommandBySelector:]): (-[WKView insertText:]): (-[WKView insertText:replacementRange:]): (-[WKView inputContext]): (-[WKView performKeyEquivalent:]): (-[WKView keyUp:]): (-[WKView keyD
[webkit-changes] [WebKit/WebKit] 5b6040: Missing Interactions Regions occlusions in some cases
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5b60400f474f318e45cd713638e365366b98dd87 https://github.com/WebKit/WebKit/commit/5b60400f474f318e45cd713638e365366b98dd87 Author: Etienne Segonzac Date: 2023-02-20 (Mon, 20 Feb 2023) Changed paths: A LayoutTests/interaction-region/full-page-overlay-expected.txt A LayoutTests/interaction-region/full-page-overlay.html M Source/WebCore/page/InteractionRegion.cpp Log Message: --- Missing Interactions Regions occlusions in some cases https://bugs.webkit.org/show_bug.cgi?id=252396 Reviewed by Tim Horton. Take the content scale into account when checking interaction regions' area and use fixed position as a hint for occlusions. * Source/WebCore/page/InteractionRegion.cpp: (WebCore::interactionRegionForRenderedRegion): * LayoutTests/interaction-region/full-page-overlay-expected.txt: Added. * LayoutTests/interaction-region/full-page-overlay.html: Added. Add test case. Canonical link: https://commits.webkit.org/260527@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 093c15: Remove unused multi-version iOS variables from Web...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 093c15d17e01a7636f1bca0e7e1fefa4baba2fd9 https://github.com/WebKit/WebKit/commit/093c15d17e01a7636f1bca0e7e1fefa4baba2fd9 Author: David Kilzer Date: 2023-02-18 (Sat, 18 Feb 2023) Changed paths: M Configurations/WebKitTargetConditionals.xcconfig Log Message: --- Remove unused multi-version iOS variables from WebKitTargetConditionals.xcconfig https://bugs.webkit.org/show_bug.cgi?id=252076 Reviewed by Elliott Williams. Remove unused variables. * Configurations/WebKitTargetConditionals.xcconfig: Canonical link: https://commits.webkit.org/260514@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f5e090: Add WasmBBQJIT.cpp/h and wasm.json to the Xcode pr...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f5e0904aab0cde89bcced8c91e71813a2a7d34b0 https://github.com/WebKit/WebKit/commit/f5e0904aab0cde89bcced8c91e71813a2a7d34b0 Author: Mark Lam Date: 2023-02-17 (Fri, 17 Feb 2023) Changed paths: M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj Log Message: --- Add WasmBBQJIT.cpp/h and wasm.json to the Xcode project. https://bugs.webkit.org/show_bug.cgi?id=252521 rdar://105623102 Reviewed by Yusuke Suzuki. This makes them searchable from inside Xcode. * Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj: Canonical link: https://commits.webkit.org/260495@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b61cc9: Support WebAssembly SIMD instructions in BBQ basel...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b61cc9d405cba435a3f44269fe50fa07af4e0fbe https://github.com/WebKit/WebKit/commit/b61cc9d405cba435a3f44269fe50fa07af4e0fbe Author: David Degazio Date: 2023-02-17 (Fri, 17 Feb 2023) Changed paths: M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp Log Message: --- Support WebAssembly SIMD instructions in BBQ baseline JIT https://bugs.webkit.org/show_bug.cgi?id=252433 rdar://105465507 Reviewed by Justin Michaud. Adds support for WebAssembly SIMD instructions to the new single-pass BBQ baseline JIT. Mostly mimics the Air implementation, but does the Air lowering macros inline since we directly call out to the macro assembler. The new baseline JIT is still disabled by default, since it fails quite a few of our stress tests. It's not yet ready for typical usage. But with this patch, we at least expect that the SIMD (and core) spec tests will pass on ARM64 and x86_64. * Source/JavaScriptCore/wasm/WasmBBQJIT.cpp: (JSC::Wasm::BBQJIT::Value::isFloat const): (JSC::Wasm::BBQJIT::ControlData::endBlock): (JSC::Wasm::BBQJIT::logInstruction): (JSC::Wasm::BBQJIT::loadOpForTypeKind): (JSC::Wasm::BBQJIT::storeOpForTypeKind): (JSC::Wasm::BBQJIT::materializePointer): (JSC::Wasm::BBQJIT::emitLoadOp): (JSC::Wasm::BBQJIT::emitStoreOp): (JSC::Wasm::BBQJIT::addSelect): (JSC::Wasm::BBQJIT::binary): (JSC::Wasm::BBQJIT::unary): (JSC::Wasm::BBQJIT::addTopLevel): (JSC::Wasm::BBQJIT::returnValuesFromCall): (JSC::Wasm::BBQJIT::addCrash): (JSC::Wasm::BBQJIT::addSIMDLoad): (JSC::Wasm::BBQJIT::addSIMDStore): (JSC::Wasm::BBQJIT::addSIMDSplat): (JSC::Wasm::BBQJIT::addSIMDShuffle): (JSC::Wasm::BBQJIT::addSIMDShift): (JSC::Wasm::BBQJIT::addSIMDExtmul): (JSC::Wasm::BBQJIT::addSIMDLoadSplat): (JSC::Wasm::BBQJIT::addSIMDLoadLane): (JSC::Wasm::BBQJIT::addSIMDStoreLane): (JSC::Wasm::BBQJIT::addSIMDLoadExtend): (JSC::Wasm::BBQJIT::addSIMDLoadPad): (JSC::Wasm::BBQJIT::materializeVectorConstant): (JSC::Wasm::BBQJIT::addConstant): (JSC::Wasm::BBQJIT::addExtractLane): (JSC::Wasm::BBQJIT::addReplaceLane): (JSC::Wasm::BBQJIT::addSIMDI_V): (JSC::Wasm::BBQJIT::addSIMDV_V): (JSC::Wasm::BBQJIT::addSIMDBitwiseSelect): (JSC::Wasm::BBQJIT::addSIMDRelOp): (JSC::Wasm::BBQJIT::emitVectorMul): (JSC::Wasm::BBQJIT::fixupOutOfBoundsIndicesForSwizzle): (JSC::Wasm::BBQJIT::addSIMDV_VV): (JSC::Wasm::BBQJIT::dump): (JSC::Wasm::BBQJIT::emitStore): (JSC::Wasm::BBQJIT::emitMoveMemory): (JSC::Wasm::BBQJIT::emitMoveRegister): (JSC::Wasm::BBQJIT::emitLoad): (JSC::Wasm::BBQJIT::allocateWithHint): (JSC::Wasm::BBQJIT::allocateRegister): (JSC::Wasm::BBQJIT::bind): (JSC::Wasm::BBQJIT::unbind): (JSC::Wasm::BBQJIT::evictFPR): (JSC::Wasm::BBQJIT::clobber): (JSC::Wasm::BBQJIT::ScratchScope::bindFPRToScratch): (JSC::Wasm::BBQJIT::ScratchScope::unbindFPRFromScratch): (JSC::Wasm::BBQJIT::ScratchScope::initializedPreservedSet): Canonical link: https://commits.webkit.org/260481@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d88146: Build WebKit for iOS failed, b(l) ARM64 branch out...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d881460ef50feeb998e358448a78fb988067272b https://github.com/WebKit/WebKit/commit/d881460ef50feeb998e358448a78fb988067272b Author: Alex Christensen Date: 2023-02-17 (Fri, 17 Feb 2023) Changed paths: M Source/WebCore/Configurations/WebCore.xcconfig Log Message: --- Build WebKit for iOS failed, b(l) ARM64 branch out of range https://bugs.webkit.org/show_bug.cgi?id=250440 Reviewed by Alexey Proskuryakov. Add "-Wl," to tell clang to pass "-debug_variant" to the linker" * Source/WebCore/Configurations/WebCore.xcconfig: Canonical link: https://commits.webkit.org/260479@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 58784c: WebKit_iosmac builds fail with ASan enabled
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 58784ce9f87d5c3e93834da2fa49b9aa3dd0b94b https://github.com/WebKit/WebKit/commit/58784ce9f87d5c3e93834da2fa49b9aa3dd0b94b Author: David Kilzer Date: 2023-02-17 (Fri, 17 Feb 2023) Changed paths: M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp Log Message: --- WebKit_iosmac builds fail with ASan enabled https://bugs.webkit.org/show_bug.cgi?id=252494 Reviewed by Alexey Proskuryakov. This adds #if/#endif macros to guard code that uses identifiers that are not available on the iosmac platform. * Source/WebKit/Scripts/webkit/messages.py: (conditions_for_header): - Add conditions for identifier headers. Because these identifiers have a one-to-one relationship with the headers where they are defined, this was the simplest way to add support for conditionalizing the identifiers (in addition to their headers). (generate_message_argument_description_implementation): - Check for conditions when emitting code that references an identifier, and output #if/#endif macros to guard it when needed. * Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp: (IPC::serializedIdentifiers): - Regenerate test file which now includes additional #if/#endif guards for these identifiers and their headers. Canonical link: https://commits.webkit.org/260461@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0f0092: Optimize Reflect.get() leveraging the recently int...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0f0092e17fdbdd3127963eeb9eb45e8db4506726 https://github.com/WebKit/WebKit/commit/0f0092e17fdbdd3127963eeb9eb45e8db4506726 Author: Alexey Shvayka Date: 2023-02-15 (Wed, 15 Feb 2023) Changed paths: A JSTests/microbenchmarks/reflect-get-with-receiver.js A JSTests/microbenchmarks/reflect-get.js M Source/JavaScriptCore/builtins/BuiltinNames.h M Source/JavaScriptCore/builtins/ReflectObject.js M Source/JavaScriptCore/runtime/ReflectObject.cpp Log Message: --- Optimize Reflect.get() leveraging the recently introduced GetByValWithThis IC https://bugs.webkit.org/show_bug.cgi?id=252328 Reviewed by Yusuke Suzuki. This change re-implements Reflect.get() as JSBuiltin to leverage GetByValWithThis IC, speeding up microbenchmarks 8.5X times and JetStream3/proxy-vue by 1.5-2%. ToT patch reflect-get-with-receiver 331.8347+-1.6323 ^ 38.7435+-0.2977 ^ definitely 8.5649x faster reflect-get 91.5221+-0.3572 ^ 10.7350+-0.0942 ^ definitely 8.5256x faster * JSTests/microbenchmarks/reflect-get-with-receiver.js: Added. * JSTests/microbenchmarks/reflect-get.js: Added. * Source/JavaScriptCore/builtins/BuiltinNames.h: * Source/JavaScriptCore/builtins/ReflectObject.js: * Source/JavaScriptCore/runtime/ReflectObject.cpp: Canonical link: https://commits.webkit.org/260327@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9c0ec4: [AppleWin] Remove Windows code from PixelDumpSuppo...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9c0ec4ce794727ac17dac792da8086fa1a438643 https://github.com/WebKit/WebKit/commit/9c0ec4ce794727ac17dac792da8086fa1a438643 Author: Brent Fulgham Date: 2023-02-14 (Tue, 14 Feb 2023) Changed paths: M Tools/DumpRenderTree/cg/PixelDumpSupportCG.cpp M Tools/DumpRenderTree/cg/PixelDumpSupportCG.h M Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm M Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm Log Message: --- [AppleWin] Remove Windows code from PixelDumpSupportCG https://bugs.webkit.org/show_bug.cgi?id=252197 Reviewed by Don Olmstead and Darin Adler. The testing code in PixelDumpSupportCG.h/PixelDumpSupportCG.cpp used to build on Windows. We don't need this support anymore, and should remove it. This change also switches from a raw buffer to a unique_ptr to clean up the code a bit. * Tools/DumpRenderTree/cg/PixelDumpSupportCG.cpp: (computeSHA1HashStringForBitmapContext): (createBitmapContext): * Tools/DumpRenderTree/cg/PixelDumpSupportCG.h: (BitmapContext::createByAdoptingBitmapAndContext): (BitmapContext::BitmapContext): (BitmapContext::~BitmapContext): Deleted. * Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm: (createBitmapContextFromWebView): Remove unneeded buffer argument. * Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm: (createBitmapContextFromWebView): Ditto. (createPagedBitmapContext): Ditto. Canonical link: https://commits.webkit.org/260265@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 46375f: Pass core WebAssembly spec tests on ARM64 with sin...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 46375fbc5a6710ec3e2fd10848009e31b307b741 https://github.com/WebKit/WebKit/commit/46375fbc5a6710ec3e2fd10848009e31b307b741 Author: David Degazio Date: 2023-02-14 (Tue, 14 Feb 2023) Changed paths: M Source/JavaScriptCore/Sources.txt M Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h M Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h M Source/JavaScriptCore/runtime/OptionsList.h M Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp A Source/JavaScriptCore/wasm/WasmBBQJIT.cpp A Source/JavaScriptCore/wasm/WasmBBQJIT.h M Source/JavaScriptCore/wasm/WasmBBQPlan.cpp M Source/JavaScriptCore/wasm/WasmFunctionParser.h M Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp M Source/WTF/wtf/PlatformEnable.h M Source/WTF/wtf/SmallSet.h Log Message: --- Pass core WebAssembly spec tests on ARM64 with single-pass WebAssembly baseline JIT https://bugs.webkit.org/show_bug.cgi?id=250052 rdar://105421077 Reviewed by Yusuke Suzuki. Adds a new single-pass baseline JIT implementation for WebAssembly, the single-pass BBQ JIT. The main goal of this new compiler is to compile substantially faster than the existing Air tier, while offering comparable levels of generated code performance. This should help us start up considerably faster on large WASM programs. This is the initial commit of this feature, and the new baseline is only partially complete. Currently, it should pass all the core spec tests on ARM64, but there are some remaining issues on other platforms, some failures on the full stress tests, and missing support for some key features like SIMD. As such, it's being landed disabled by default, behind the new '--useSinglePassBBQJIT' flag. * Source/JavaScriptCore/Sources.txt: * Source/JavaScriptCore/runtime/OptionsList.h: * Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h: (JSC::Wasm::ExpressionType>::getGlobal): (JSC::Wasm::parseAndCompileAirImpl): * Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::parseAndCompileB3): * Source/JavaScriptCore/wasm/WasmBBQJIT.cpp: Added. * Source/JavaScriptCore/wasm/WasmBBQJIT.h: Added. * Source/JavaScriptCore/wasm/WasmBBQPlan.cpp: (JSC::Wasm::BBQPlan::dumpDisassembly): (JSC::Wasm::BBQPlan::work): (JSC::Wasm::BBQPlan::compileFunction): (JSC::Wasm::BBQPlan::didCompleteCompilation): * Source/JavaScriptCore/wasm/WasmFunctionParser.h: (JSC::Wasm::FunctionParser::typeOfLocal const): Canonical link: https://commits.webkit.org/260260@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] be80c0: Fix TestWebKitAPI build when including WKFeature.h
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: be80c071ab735e9bfd74ab80504590303e235b01 https://github.com/WebKit/WebKit/commit/be80c071ab735e9bfd74ab80504590303e235b01 Author: David Kilzer Date: 2023-02-12 (Sun, 12 Feb 2023) Changed paths: M Source/WebKit/UIProcess/API/C/WKFeature.h Log Message: --- Fix TestWebKitAPI build when including WKFeature.h https://bugs.webkit.org/show_bug.cgi?id=252143 Unreviewed build fix. Fixes this warning as error: WebKitBuild/Release/WebKit.framework/PrivateHeaders/WKFeature.h:34:38: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes] WK_EXPORT WKTypeID WKFeatureGetTypeID(); ^ void * Source/WebKit/UIProcess/API/C/WKFeature.h: (WKFeatureGetTypeID): Fix function declaration. Canonical link: https://commits.webkit.org/260176@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0c0364: Fix warning about duplicate file in Copy Headers b...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0c0364ca280348eaf78da86902a826e40ba21346 https://github.com/WebKit/WebKit/commit/0c0364ca280348eaf78da86902a826e40ba21346 Author: David Kilzer Date: 2023-02-11 (Sat, 11 Feb 2023) Changed paths: M Source/WebKit/WebKit.xcodeproj/project.pbxproj Log Message: --- Fix warning about duplicate file in Copy Headers build phase for WebKit project https://bugs.webkit.org/show_bug.cgi?id=252103 Unreviewed Xcode project gardening. Fixes the following build warning: warning: Skipping duplicate build file in Copy Headers build phase: Source/WebKit/UIProcess/API/Cocoa/_WKExperimentalFeature.h Regressed in commit 258746@main. * Source/WebKit/WebKit.xcodeproj/project.pbxproj: - Remove duplicate entry for _WKExperimentalFeature.h in the Copy Headers build phase. Canonical link: https://commits.webkit.org/260152@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 146475: ClonedArguments::isIteratorProtocolFastAndNonObser...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 146475121307d0b5b693cea140a2974e542b88b3 https://github.com/WebKit/WebKit/commit/146475121307d0b5b693cea140a2974e542b88b3 Author: Alexey Shvayka Date: 2023-02-10 (Fri, 10 Feb 2023) Changed paths: A JSTests/stress/spread-arguments-null-proto-no-crash.js M Source/JavaScriptCore/runtime/ClonedArguments.cpp Log Message: --- ClonedArguments::isIteratorProtocolFastAndNonObservable() should check didTransition() earlier https://bugs.webkit.org/show_bug.cgi?id=252083 Reviewed by Yusuke Suzuki. This change hoists didTransition() check to prevent nullptr deref crash when calling needsSlowPutIndexing(). * JSTests/stress/spread-arguments-null-proto-no-crash.js: Added. * Source/JavaScriptCore/runtime/ClonedArguments.cpp: (JSC::ClonedArguments::isIteratorProtocolFastAndNonObservable): Canonical link: https://commits.webkit.org/260145@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] adf544: Fix mistakes in WebKitTargetConditionals.xcconfig
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: adf544afeb9f0a4373fc8e5c2d43b6b5b3c8312e https://github.com/WebKit/WebKit/commit/adf544afeb9f0a4373fc8e5c2d43b6b5b3c8312e Author: David Kilzer Date: 2023-02-10 (Fri, 10 Feb 2023) Changed paths: M Configurations/WebKitTargetConditionals.xcconfig Log Message: --- Fix mistakes in WebKitTargetConditionals.xcconfig https://bugs.webkit.org/show_bug.cgi?id=252064 Reviewed by Elliott Williams. This change correctly defines these macros to "_SINCE_" strings as the prior, buggy definitions were circular and resulted in no value being set. * Configurations/WebKitTargetConditionals.xcconfig: (WK_IOS_17_): (WK_TVOS_16_): (WK_TVOS_17_): Canonical link: https://commits.webkit.org/260134@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 49c625: Fix IPC tests in debug asan builds
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 49c62543693ff07b48240a36c4a8cadc23cd41db https://github.com/WebKit/WebKit/commit/49c62543693ff07b48240a36c4a8cadc23cd41db Author: Alex Christensen Date: 2023-02-09 (Thu, 09 Feb 2023) Changed paths: M Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp M Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp Log Message: --- Fix IPC tests in debug asan builds https://bugs.webkit.org/show_bug.cgi?id=251813 Reviewed by Kimmo Kinnunen. There were two issues: 1. workQueueWait was referenced after its stack scope during test tear-down. Make it static to extend its scope past the '}' 2. ReceiveAlreadyInvalidatedClientNoAssert hit a stack overflow because asan uses a little more stack space. Just reduce 1000 iterations to 800 to make that test also run successfully. * Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp: (TestWebKitAPI::TEST_P): * Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp: (TestWebKitAPI::TEST_P): Canonical link: https://commits.webkit.org/260099@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0676ba: ProxyObject's "get" IC should throw an error in ca...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0676bad565abafd4b685f61d647ee5cfdf2975a4 https://github.com/WebKit/WebKit/commit/0676bad565abafd4b685f61d647ee5cfdf2975a4 Author: Alexey Shvayka Date: 2023-02-09 (Thu, 09 Feb 2023) Changed paths: A JSTests/stress/proxy-get-missing-handler-inline-cache.js M Source/JavaScriptCore/builtins/ProxyHelpers.js Log Message: --- ProxyObject's "get" IC should throw an error in case of non-callable non-nullish trap https://bugs.webkit.org/show_bug.cgi?id=251945 Reviewed by Yusuke Suzuki. This change fixes IC helper for ProxyObject's "get" trap to implement GetMethod per spec [1], throwing a TypeError for non-callable non-nullish traps instead of forwarding [[Get]] to receiver. [1]: https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver (steps 5-6) * JSTests/stress/proxy-get-missing-handler-inline-cache.js: Added. * Source/JavaScriptCore/builtins/ProxyHelpers.js: (linkTimeConstant.performProxyObjectGet): Canonical link: https://commits.webkit.org/260077@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b9e63f: Fix statement depth for parsing static block
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b9e63fd65e3227bf91161cd6ab87ca59dd23f679 https://github.com/WebKit/WebKit/commit/b9e63fd65e3227bf91161cd6ab87ca59dd23f679 Author: Yijia Huang Date: 2023-02-07 (Tue, 07 Feb 2023) Changed paths: A JSTests/stress/class-static-block-function-variable-declaration.js M Source/JavaScriptCore/parser/Parser.cpp Log Message: --- Fix statement depth for parsing static block https://bugs.webkit.org/show_bug.cgi?id=251760 rdar://105104494 Reviewed by Mark Lam. Static block is treated as a function in spec, that is it should be parsed as a function and executed as a function invocation. However, the implementation of parsing class static block is based on parseBlockStatement. To be consistent with the function environment during parsing, we should initialize the statement depth to 0. * JSTests/stress/function-lexical-declaration.js: Added. (A.C): (A): * Source/JavaScriptCore/parser/Parser.h: (JSC::Scope::declareFunction): Canonical link: https://commits.webkit.org/259981@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9f1c97: Reduce 'Internal' flag list by moving mature thing...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9f1c971a3f52ede6915847ec0d781e4b929e9175 https://github.com/WebKit/WebKit/commit/9f1c971a3f52ede6915847ec0d781e4b929e9175 Author: Brent Fulgham Date: 2023-02-06 (Mon, 06 Feb 2023) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml Log Message: --- Reduce 'Internal' flag list by moving mature things out of the category (251801) https://bugs.webkit.org/show_bug.cgi?id=251801 Reviewed by Elliott Williams. The WebKit 'Internal' debug flag set is very large. We can simplify this by recategorizing several mature technologies that no longer need a quick toggle to adjust: The following `internal` flags will move to `embedder`: * UseGPUProcessForMediaEnabled * WebRTCPlatformCodecsInGPUProcessEnabled * DataListElementEnabled * SelectionFlippingEnabled The following `internal` flag will move to `mature`: * WheelEventGesturesBecomeNonBlocking * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: Canonical link: https://commits.webkit.org/259921@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 23f254: Limit untrusted allocations when decoding Vectors ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 23f2542385a7ff667cd8d8b17b77a733203ac51f https://github.com/WebKit/WebKit/commit/23f2542385a7ff667cd8d8b17b77a733203ac51f Author: Alex Christensen Date: 2023-02-06 (Mon, 06 Feb 2023) Changed paths: M Source/WebKit/Platform/IPC/ArgumentCoders.h M Tools/TestWebKitAPI/Tests/IPC/ArgumentCoderTests.cpp Log Message: --- Limit untrusted allocations when decoding Vectors to 1MB https://bugs.webkit.org/show_bug.cgi?id=251804 Reviewed by Kimmo Kinnunen. 257725@main introduced a performance improvement where we only allocate exactly as much memory as we need once when decoding a Vector. This is wonderful, but it introduced allocation based on size from an untrusted source, making it so any message that sends a Vector can be used to send a very large size_t and crash the other process. In this PR I get the best of both worlds: if the total allocation size is less that 1MB then we do the fast and efficient thing, but if it is more than 1MB we do the safe thing. * Source/WebKit/Platform/IPC/ArgumentCoders.h: Canonical link: https://commits.webkit.org/259917@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c90bc5: Fix linking of large debug WebCore frameworks
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c90bc554d86b824491c5453ad5ea7d99c043385e https://github.com/WebKit/WebKit/commit/c90bc554d86b824491c5453ad5ea7d99c043385e Author: Alex Christensen Date: 2023-02-06 (Mon, 06 Feb 2023) Changed paths: M Source/WebCore/Configurations/WebCore.xcconfig Log Message: --- Fix linking of large debug WebCore frameworks https://bugs.webkit.org/show_bug.cgi?id=251748 Unreviewed. In 8ef2f17 we tried to manually reorder some sections in the debug binary, but the arm64 debug asan build is hitting the bug again. Fix it the right way. * Source/WebCore/Configurations/WebCore.xcconfig: Canonical link: https://commits.webkit.org/259898@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c5b1aa: Work around ASAN linker issue with currentStackPoi...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c5b1aaff095f20adff76d53864500f1e42871768 https://github.com/WebKit/WebKit/commit/c5b1aaff095f20adff76d53864500f1e42871768 Author: Mark Lam Date: 2023-02-04 (Sat, 04 Feb 2023) Changed paths: M Source/WTF/wtf/StackPointer.h Log Message: --- Work around ASAN linker issue with currentStackPointer(). https://bugs.webkit.org/show_bug.cgi?id=251746 rdar://105047685 Reviewed by Alex Christensen. For unknown reasons, the linker is not able to see exported inline asm functions for ASAN builds. As a work around, we'll use the generic currentStackPointer() when ASAN_ENABLED. * Source/WTF/wtf/StackPointer.h: Canonical link: https://commits.webkit.org/259864@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 985abe: Reduce sizeof(FetchOptions)
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 985abe67305884a8622841393893f66751149e7f https://github.com/WebKit/WebKit/commit/985abe67305884a8622841393893f66751149e7f Author: Alex Christensen Date: 2023-02-04 (Sat, 04 Feb 2023) Changed paths: M Source/WebCore/loader/DocumentLoader.cpp M Source/WebCore/loader/FetchOptions.h M Source/WebCore/loader/WorkerThreadableLoader.cpp M Source/WebCore/loader/cache/CachedResourceRequest.cpp M Source/WebCore/workers/WorkerScriptLoader.cpp M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: --- Reduce sizeof(FetchOptions) https://bugs.webkit.org/show_bug.cgi?id=251734 Reviewed by Youenn Fablet. Remove std::optional padding and the ProcessIdentifier part of the ScriptExecutionContextIdentifiers stored in FetchOptions. The ProcessIdentifiers were only used in WebSWServerConnection::controlClient and we can pass in the ProcessIdentifier of the process that caused the load to happen. * Source/WebCore/loader/DocumentLoader.cpp: (WebCore::DocumentLoader::loadMainResource): * Source/WebCore/loader/FetchOptions.h: (WebCore::FetchOptions::FetchOptions): * Source/WebCore/loader/WorkerThreadableLoader.cpp: (WebCore::m_contextIdentifier): * Source/WebCore/loader/cache/CachedResourceRequest.cpp: (WebCore::CachedResourceRequest::setClientIdentifierIfNeeded): * Source/WebCore/workers/WorkerScriptLoader.cpp: (WebCore::WorkerScriptLoader::loadAsynchronously): * Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::transferToNewWebProcess): * Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp: (WebKit::WebSWServerConnection::controlClient): (WebKit::WebSWServerConnection::createFetchTask): (WebKit::WebSWServerConnection::transferServiceWorkerLoadToNewWebProcess): * Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.h: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp: (WebKit::WebSWClientConnection::setServiceWorkerClientIsControlled): Canonical link: https://commits.webkit.org/259858@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 378eda: Disable use of __uint128_t on arm64_32 builds
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 378edab5d78e62f31e7611f5871554e8efd8d5a6 https://github.com/WebKit/WebKit/commit/378edab5d78e62f31e7611f5871554e8efd8d5a6 Author: Alex Christensen Date: 2023-02-03 (Fri, 03 Feb 2023) Changed paths: M Source/WTF/wtf/PlatformHave.h Log Message: --- Disable use of __uint128_t on arm64_32 builds https://bugs.webkit.org/show_bug.cgi?id=251546 Reviewed by Yusuke Suzuki. This works around rdar://104929594 to prevent future issues like rdar://104223231. * Source/WTF/wtf/PlatformHave.h: Canonical link: https://commits.webkit.org/259851@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5e1033: Fix variable liveness for try catch in DFG
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5e1033a7cd0361a94d7af3ca78c81873f33aa6a8 https://github.com/WebKit/WebKit/commit/5e1033a7cd0361a94d7af3ca78c81873f33aa6a8 Author: Yijia Huang Date: 2023-02-03 (Fri, 03 Feb 2023) Changed paths: A JSTests/stress/try-catch-backwards-propagation.js M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp M Source/JavaScriptCore/dfg/DFGGraph.cpp M Source/JavaScriptCore/dfg/DFGGraph.h M Source/JavaScriptCore/dfg/DFGLiveCatchVariablePreservationPhase.cpp M Source/JavaScriptCore/dfg/DFGPlan.cpp Log Message: --- Fix variable liveness for try catch in DFG https://bugs.webkit.org/show_bug.cgi?id=239758 rdar://92654142 Reviewed by Yusuke Suzuki. There is no successor and predecessor relationship between try and catch block in DFG, in other words node flags cannot be passed from catch block to its `predecessors`. If a variable defined outside the try catch block but only be used in the catch block, then our compiler would mis-analyze the liveness of the varible w.r.t the catch block. Therefore, `LiveCatchVariablePreservationPhase` should be to performed before backwards propagation. * JSTests/stress/try-catch-backwards-propagation.js: Added. (throwFunction): (foo1): (foo2): (foo3): (foo4): (foo5): (foo6): (foo7): (foo8): (foo9): (foo10): (foo11): (foo12): (opt): * Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parse): * Source/JavaScriptCore/dfg/DFGLiveCatchVariablePreservationPhase.cpp: (JSC::DFG::LiveCatchVariablePreservationPhase::LiveCatchVariablePreservationPhase): (JSC::DFG::LiveCatchVariablePreservationPhase::handleBlockForTryCatch): (JSC::DFG::performLiveCatchVariablePreservationPhase): * Source/JavaScriptCore/dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): Canonical link: https://commits.webkit.org/259839@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] eb73fc: Exclude Parser.cpp from being built as part of a u...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: eb73fc333d55154922b9440cbb7e93836d32a413 https://github.com/WebKit/WebKit/commit/eb73fc333d55154922b9440cbb7e93836d32a413 Author: Mark Lam Date: 2023-02-02 (Thu, 02 Feb 2023) Changed paths: M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj M Source/JavaScriptCore/Sources.txt Log Message: --- Exclude Parser.cpp from being built as part of a unified file. https://bugs.webkit.org/show_bug.cgi?id=251663 rdar://104992506 Reviewed by Yusuke Suzuki and Justin Michaud. Parser.cpp is quite large, and under some circumstances, I've seen it cause the compiler to appear to hang when compiling the unified file it got included in. Excluding it from being in a unified file resolved the hang. This patch will apply this change. * Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj: * Source/JavaScriptCore/Sources.txt: Canonical link: https://commits.webkit.org/259803@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 21283e: Add Etienne Segonzac as contributor
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 21283e484df49c5b40e2ac7e80bae4dc02be823a https://github.com/WebKit/WebKit/commit/21283e484df49c5b40e2ac7e80bae4dc02be823a Author: Etienne Segonzac Date: 2023-02-01 (Wed, 01 Feb 2023) Changed paths: M metadata/contributors.json Log Message: --- Add Etienne Segonzac as contributor Reviewed by Jonathan Bedard. * metadata/contributors.json: Canonical link: https://commits.webkit.org/259719@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e3bf17: Merge WebGL2 enablement flag with WebGL flag
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e3bf17995e0543582de0d43c9b8429ba2716eb2e https://github.com/WebKit/WebKit/commit/e3bf17995e0543582de0d43c9b8429ba2716eb2e Author: Brent Fulgham Date: 2023-02-01 (Wed, 01 Feb 2023) Changed paths: M LayoutTests/fast/canvas/webgl/buffer-data-subdata-dynamic-buffer.html M LayoutTests/fast/canvas/webgl/bufferData-offset-length.html M LayoutTests/fast/canvas/webgl/copyBufferSubData.html M LayoutTests/fast/canvas/webgl/getBufferSubData-webgl1.html M LayoutTests/fast/canvas/webgl/webgl2-buffer-targets.html M LayoutTests/fast/canvas/webgl/webgl2-buffers.html M LayoutTests/fast/canvas/webgl/webgl2-context-creation.html M LayoutTests/fast/canvas/webgl/webgl2-getActiveUniforms.html M LayoutTests/fast/canvas/webgl/webgl2-getbuffersubdata.html M LayoutTests/fast/canvas/webgl/webgl2-glsl3-compile.html M LayoutTests/fast/canvas/webgl/webgl2-runtime-flag.html M LayoutTests/fast/canvas/webgl/webgl2-texStorage.html M LayoutTests/fast/canvas/webgl/webgl2-texture-upload-enums.html M LayoutTests/fast/canvas/webgl/webgl2/bindings.html M LayoutTests/fast/canvas/webgl/webgl2/constants.html M LayoutTests/fast/canvas/webgl/webgl2/sequences.html M LayoutTests/inspector/canvas/create-context-webgl2.html M LayoutTests/inspector/canvas/recording-webgl2-snapshots.html M LayoutTests/inspector/canvas/requestContent-webgl2.html M LayoutTests/inspector/canvas/resolveContext-webgl2.html M LayoutTests/inspector/canvas/resources/recording-webgl2.js M LayoutTests/inspector/canvas/shaderProgram-add-remove-webgl2.html M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WTF/wtf/PlatformEnable.h M Source/WTF/wtf/PlatformEnableCocoa.h M Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp M Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp M Source/WebCore/Modules/webxr/WebXRWebGLLayer.h M Source/WebCore/Modules/webxr/WebXRWebGLLayer.idl M Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp M Source/WebCore/bindings/js/JSWebGL2RenderingContextCustom.cpp M Source/WebCore/dom/Document.cpp M Source/WebCore/dom/Document.h M Source/WebCore/dom/Document.idl M Source/WebCore/html/HTMLCanvasElement.cpp M Source/WebCore/html/HTMLCanvasElement.idl M Source/WebCore/html/OffscreenCanvas.cpp M Source/WebCore/html/OffscreenCanvas.h M Source/WebCore/html/OffscreenCanvas.idl M Source/WebCore/html/canvas/WebGL2RenderingContext.cpp M Source/WebCore/html/canvas/WebGL2RenderingContext.h M Source/WebCore/html/canvas/WebGL2RenderingContext.idl M Source/WebCore/html/canvas/WebGLAny.h M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp M Source/WebCore/html/canvas/WebGLRenderingContextBase.h M Source/WebCore/html/canvas/WebGLTransformFeedback.cpp M Source/WebCore/html/canvas/WebGLTransformFeedback.h M Source/WebCore/html/canvas/WebGLTransformFeedback.idl M Source/WebCore/html/canvas/WebGLVertexArrayObject.cpp M Source/WebCore/html/canvas/WebGLVertexArrayObject.h M Source/WebCore/html/canvas/WebGLVertexArrayObject.idl M Source/WebCore/inspector/InspectorCanvas.cpp M Source/WebCore/inspector/InspectorCanvasCallTracer.h M Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp M Source/WebCore/page/PageConsoleClient.cpp M Source/WebCore/platform/graphics/GraphicsContextGLAttributes.h M Source/WebCore/platform/graphics/gbm/GraphicsContextGLFallback.cpp M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp M Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp M Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h M Source/WebKitLegacy/mac/WebView/WebPreferences.mm M Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h M Source/cmake/OptionsGTK.cmake M Source/cmake/OptionsMac.cmake M Source/cmake/OptionsWPE.cmake M Source/cmake/OptionsWin.cmake M Source/cmake/WebKitFeatures.cmake M Tools/DumpRenderTree/win/DumpRenderTree.cpp M Tools/Scripts/webkitperl/FeatureList.pm Log Message: --- Merge WebGL2 enablement flag with WebGL flag https://bugs.webkit.org/show_bug.cgi?id=248667 Reviewed by Kimmo Kinnunen. We've been shipping WebGL2 for many years, and no longer need a separate WebGL2 flag. Instead, we should merge the WebGL2 enablement flag (and compile guards) with the higher-level WebGL feature. * LayoutTests/fast/canvas/webgl/buffer-data-subdata-dynamic-buffer.html: No need to enable WebGL2 explicitly. * LayoutTests/fast/canvas/webgl/bufferData-offset-length.html: Ditto. * La
[webkit-changes] [WebKit/WebKit] 95dcff: Remove unnecessary add when loading a JSCConfig fi...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 95dcffb800f801ab71e757f034cc5ccbde53f61e https://github.com/WebKit/WebKit/commit/95dcffb800f801ab71e757f034cc5ccbde53f61e Author: Mark Lam Date: 2023-01-31 (Tue, 31 Jan 2023) Changed paths: M Source/JavaScriptCore/llint/LowLevelInterpreter.asm M Source/JavaScriptCore/llint/LowLevelInterpreter64.asm M Source/JavaScriptCore/llint/WebAssembly.asm Log Message: --- Remove unnecessary add when loading a JSCConfig field. https://bugs.webkit.org/show_bug.cgi?id=251421 rdar://104854843 Reviewed by Tadeu Zagallo. Currently, to load a JSCConfig field, our LLInt asm does something like this: ``` leap JSCConfig + constexpr JSC::offsetOfJSCConfigGateMap + (constexpr Gate::%opcodeName%) * PtrSize, ws1 jmp [ws1], NativeToJITGatePtrTag # JSEntrySlowPathPtrTag ``` ... and generates this: ``` #if OS(DARWIN) ".loc 1 1\n" "Ljsc_llint_loh_adrp_1508: \n" // LowLevelInterpreter.asm:1 "adrp x10, " LOCAL_REFERENCE(g_config) "@GOTPAGE \n" "Ljsc_llint_loh_ldr_1508: \n" "ldr x10, [x10, " LOCAL_REFERENCE(g_config) "@GOTPAGEOFF] \n" #elif OS(LINUX) ... #endif ".loc 1 1\n" "add x10, x10, #3592 \n" // < this add can be applied as an offset to the ldr below. ".loc 6 1034\n" "movz x13, #57366 \n"// WebAssembly.asm:1034 "ldr x17, [x10] \n" "brab x17, x13 \n" ``` This patch re-arranges the LLInt assembly to look like this instead: ``` leap _g_config, ws1 jmp JSCConfigGateMapOffset + (constexpr Gate::%opcodeName%) * PtrSize[ws1], NativeToJITGatePtrTag # JSEntrySlowPathPtrTag ``` ... resulting in the removal of the unnecessary add instruction: ``` #if OS(DARWIN) ".loc 1 1\n" "Ljsc_llint_loh_adrp_1508: \n" // LowLevelInterpreter.asm:1 "adrp x10, " LOCAL_REFERENCE(g_config) "@GOTPAGE \n" "Ljsc_llint_loh_ldr_1508: \n" "ldr x10, [x10, " LOCAL_REFERENCE(g_config) "@GOTPAGEOFF] \n" #elif OS(LINUX) ... #endif ".loc 6 1034\n" "movz x13, #57366 \n"// WebAssembly.asm:1034 "ldr x17, [x10, #3592] \n" "brab x17, x13 \n" ``` * Source/JavaScriptCore/llint/LowLevelInterpreter.asm: * Source/JavaScriptCore/llint/LowLevelInterpreter64.asm: * Source/JavaScriptCore/llint/WebAssembly.asm: Canonical link: https://commits.webkit.org/259629@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f4d8ca: REGRESSION(259372@main): ASSERTION FAILED: !m_disa...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f4d8caebb352f8a89b5ab7732b0bc7b50b49d82a https://github.com/WebKit/WebKit/commit/f4d8caebb352f8a89b5ab7732b0bc7b50b49d82a Author: Alexey Shvayka Date: 2023-01-30 (Mon, 30 Jan 2023) Changed paths: M Source/WebCore/html/HTMLFieldSetElement.cpp Log Message: --- REGRESSION(259372@main): ASSERTION FAILED: !m_disabledFieldsetElementsCount on fast/forms/fieldset/fieldset-elements.html https://bugs.webkit.org/show_bug.cgi?id=251296 Reviewed by Ryosuke Niwa. With this change, addDisabledFieldsetElement() / removeDisabledFieldsetElement() are called only when "disabled" attribute is added or removed, ignoring cases when its value is changed, fixing Document::m_disabledFieldsetElementsCount to be always correct. * Source/WebCore/html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::parseAttribute): Canonical link: https://commits.webkit.org/259580@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d814f4: vmEntryToJavaScript does not need to use the arity...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d814f4a60054948f2b0b580fae1159850f6eb97d https://github.com/WebKit/WebKit/commit/d814f4a60054948f2b0b580fae1159850f6eb97d Author: Mark Lam Date: 2023-01-27 (Fri, 27 Jan 2023) Changed paths: M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj M Source/JavaScriptCore/dfg/DFGOperations.cpp M Source/JavaScriptCore/ftl/FTLJITCode.h M Source/JavaScriptCore/interpreter/Interpreter.cpp M Source/JavaScriptCore/interpreter/Interpreter.h M Source/JavaScriptCore/interpreter/InterpreterInlines.h M Source/JavaScriptCore/interpreter/ProtoCallFrame.h M Source/JavaScriptCore/interpreter/ProtoCallFrameInlines.h M Source/JavaScriptCore/jit/JITCode.cpp M Source/JavaScriptCore/jit/JITCode.h R Source/JavaScriptCore/jit/JITCodeInlines.h M Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm M Source/JavaScriptCore/llint/LowLevelInterpreter64.asm M Source/JavaScriptCore/runtime/Completion.cpp M Source/JavaScriptCore/runtime/StringPrototype.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyFunction.h Log Message: --- vmEntryToJavaScript does not need to use the arity check entry. https://bugs.webkit.org/show_bug.cgi?id=251289 Reviewed by Geoffrey Garen and Yusuke Suzuki. This is because we can tell the ProtoCallFrame to ensure that there is enough argument space to meet arity requirements instead. With this, we can also make the following changes: 1. We no longer need to look up the arity check entry in JITCode. Instead, we'll add a m_addressForCall CodePtr in the base JITCode which is common across all JITCode subclasses, and therefore can be accessed without a virtual call. To enable this, we also change JITCodeWithCodeRef to not use a CodeRef. Instead, we use the m_addressForCall CodePtr along with a m_executableMemory RefPtr in JITCodeWithCodeRef itself to track the equivalent information. 2. Remove JITCode::execute(). Clients will not call vmEntryToJavaScript directly instead. Other than calling vmEntryToJavaScript, the other things that JITCode::execute() does are: a. Set vm.didEnterVM on exit. The only client that doesn't already do this is Interpreter::executeCachedCall. So, we'll just add it there. b. Change the return value of vmEntryToJavaScript to jsNull if an exception is present on exit. I believe this was in to ensure that checkedReturn() does not complain. The purpose of checkeReturn() is for a legacy reason: back then, we didn't have exception check validation to ensure that exceptions are checked in all the right places. checkedReturn() adds an ASSERT to help ensure that we don't return a nullptr. However, a null check doesn't really provide much of a guarantee that the return value is valid. So, we'll just remove checkedReturn() especially since we now have exception check validation. 3. We also change the return paths in vmEntrytoJavaScript for errors and unhandled exceptions to always return jsUndefined. This is not strictly needed but it is extremely low cost, and helps make debugging an unchecked exception easier (as opposed to returning whatever random value was in the register). * Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj: * Source/JavaScriptCore/dfg/DFGOperations.cpp: * Source/JavaScriptCore/ftl/FTLJITCode.h: * Source/JavaScriptCore/interpreter/Interpreter.cpp: (JSC::eval): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::executeEval): (JSC::Interpreter::executeModuleProgram): * Source/JavaScriptCore/interpreter/Interpreter.h: (JSC::Interpreter::checkedReturn): Deleted. * Source/JavaScriptCore/interpreter/InterpreterInlines.h: (JSC::Interpreter::executeCachedCall): * Source/JavaScriptCore/interpreter/ProtoCallFrame.h: * Source/JavaScriptCore/interpreter/ProtoCallFrameInlines.h: (JSC::ProtoCallFrame::init): * Source/JavaScriptCore/jit/JITCode.cpp: (JSC::JITCode::JITCode): (JSC::JITCodeWithCodeRef::JITCodeWithCodeRef): (JSC::JITCodeWithCodeRef::~JITCodeWithCodeRef): (JSC::JITCodeWithCodeRef::executableAddressAtOffset): (JSC::JITCodeWithCodeRef::dataAddressAtOffset): (JSC::JITCodeWithCodeRef::offsetOf): (JSC::JITCodeWithCodeRef::size): (JSC::JITCodeWithCodeRef::contains): (JSC::JITCodeWithCodeRef::swapCodeRefForDebugger): (JSC::DirectJITCode::DirectJITCode): (JSC::DirectJITCode::initializeCodeRefForDFG): (JSC::DirectJITCode::addressForCall): (JSC::NativeJITCode::addressForCall): * Source/JavaScriptCore/jit/JITCode.h: (JSC::JITCode::addressForCall const): * Source/JavaScriptCore/jit/JITCodeInlines.h: Removed. * Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm: * Source/JavaScriptCore/llint/LowLevelInterpreter64.asm: * Source/JavaScriptCore/runtime/Completion.cpp: (JSC::evaluate): * Source/JavaScriptCore/runti
[webkit-changes] [WebKit/WebKit] ffec5c: Update API test after 259112@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ffec5c97e63245684eca2043bf8656fbb9f5005c https://github.com/WebKit/WebKit/commit/ffec5c97e63245684eca2043bf8656fbb9f5005c Author: Alex Christensen Date: 2023-01-27 (Fri, 27 Jan 2023) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm Log Message: --- Update API test after 259112@main https://bugs.webkit.org/show_bug.cgi?id=251292 Unreviewed. * Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: Canonical link: https://commits.webkit.org/259517@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2f0fef: Remove unused PaginateDuringLayoutEnabled flag
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2f0fefe9779d913a6603ff843af7b8ce65fc5b23 https://github.com/WebKit/WebKit/commit/2f0fefe9779d913a6603ff843af7b8ce65fc5b23 Author: Brent Fulgham Date: 2023-01-27 (Fri, 27 Jan 2023) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebKit/UIProcess/API/C/WKPreferences.cpp M Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h M Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h M Source/WebKitLegacy/mac/WebView/WebPreferences.mm M Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h Log Message: --- Remove unused PaginateDuringLayoutEnabled flag https://bugs.webkit.org/show_bug.cgi?id=251283 Reviewed by Alan Baradlay. During review of the WebKit feature flags, we discovered that PaginateDuringLayoutEnabled is not read or written to anywhere in the WebKit engine, and should be removed. The C API stubs are marked as Deprecated, but left in place to avoid breaking any existing code still calling the functions. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebKit/UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetPaginateDuringLayoutEnabled): (WKPreferencesGetPaginateDuringLayoutEnabled): * Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h: * Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h: * Source/WebKitLegacy/mac/WebView/WebPreferences.mm: (-[WebPreferences paginateDuringLayoutEnabled]): Deleted. (-[WebPreferences setPaginateDuringLayoutEnabled:]): Deleted. * Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h: Canonical link: https://commits.webkit.org/259509@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0c8fb4: Interaction regions should support occlusions
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0c8fb49c7a40115abe543963829eb8268b96d048 https://github.com/WebKit/WebKit/commit/0c8fb49c7a40115abe543963829eb8268b96d048 Author: Etienne Segonzac Date: 2023-01-27 (Fri, 27 Jan 2023) Changed paths: M LayoutTests/interaction-region/click-handler-dynamically-added-expected.txt M LayoutTests/interaction-region/click-handler-expected.txt M LayoutTests/interaction-region/click-handler-in-shadowed-layer-expected.txt M LayoutTests/interaction-region/event-region-overflow-expected.txt M LayoutTests/interaction-region/icon-inside-button-single-region-expected.txt M LayoutTests/interaction-region/inline-link-dark-background-expected.txt M LayoutTests/interaction-region/inline-link-expected.txt R LayoutTests/interaction-region/inline-link-in-aria-hidden-subtree-expected.txt R LayoutTests/interaction-region/inline-link-in-aria-hidden-subtree.html M LayoutTests/interaction-region/inline-link-in-composited-iframe-expected.txt M LayoutTests/interaction-region/inline-link-in-layer-expected.txt M LayoutTests/interaction-region/inline-link-in-non-composited-iframe-expected.txt M LayoutTests/interaction-region/inline-link-with-pointer-events-none-content-expected.txt M LayoutTests/interaction-region/input-type-file-region-expected.txt M LayoutTests/interaction-region/input-type-range-region-expected.txt A LayoutTests/interaction-region/layer-tree-expected.txt A LayoutTests/interaction-region/layer-tree.html A LayoutTests/interaction-region/overlay-expected.txt A LayoutTests/interaction-region/overlay.html M LayoutTests/interaction-region/paused-video-regions-expected.txt M LayoutTests/interaction-region/region-area-overflow-does-not-crash-expected.txt M LayoutTests/interaction-region/region-area-overflow-does-not-crash.html M LayoutTests/interaction-region/split-inline-link-expected.txt M LayoutTests/interaction-region/wrapped-inline-link-expected.txt M LayoutTests/resources/ui-helper.js M Source/WebCore/page/InteractionRegion.cpp M Source/WebCore/page/InteractionRegion.h M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm M Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl M Tools/TestRunnerShared/UIScriptContext/UIScriptController.h M Tools/WebKitTestRunner/cocoa/UIScriptControllerCocoa.h M Tools/WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm Log Message: --- Interaction regions should support occlusions https://bugs.webkit.org/show_bug.cgi?id=250860 Reviewed by Tim Horton. Maintain a separate layer tree for Interaction Regions on top of the content. This "mirror layer tree" includes layers for occlusions and now comes with clear ordering rules. * LayoutTests/interaction-region/click-handler-dynamically-added-expected.txt: * LayoutTests/interaction-region/click-handler-expected.txt: * LayoutTests/interaction-region/click-handler-in-shadowed-layer-expected.txt: * LayoutTests/interaction-region/event-region-overflow-expected.txt: * LayoutTests/interaction-region/icon-inside-button-single-region-expected.txt: * LayoutTests/interaction-region/inline-link-dark-background-expected.txt: * LayoutTests/interaction-region/inline-link-expected.txt: * LayoutTests/interaction-region/inline-link-in-composited-iframe-expected.txt: * LayoutTests/interaction-region/inline-link-in-layer-expected.txt: * LayoutTests/interaction-region/inline-link-in-non-composited-iframe-expected.txt: * LayoutTests/interaction-region/inline-link-with-pointer-events-none-content-expected.txt: * LayoutTests/interaction-region/input-type-file-region-expected.txt: * LayoutTests/interaction-region/input-type-range-region-expected.txt: * LayoutTests/interaction-region/paused-video-regions-expected.txt: * LayoutTests/interaction-region/split-inline-link-expected.txt: * LayoutTests/interaction-region/wrapped-inline-link-expected.txt: Update expectations with the new dump format. * LayoutTests/interaction-region/layer-tree-expected.txt: Added. * LayoutTests/interaction-region/layer-tree.html: Added. Add test covering the final RemoteLayerTree structure. * LayoutTests/interaction-region/overlay-expected.txt: Renamed from LayoutTests/interaction-region/inline-link-in-aria-hidden-subtree-expected.txt. * LayoutTests/interaction-region/overlay.html: Renamed from LayoutTests/
[webkit-changes] [WebKit/WebKit] 2bb6d0: Elide manual auth validation check when FPAC is su...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2bb6d041654cd8ae1999ca31b372dd9e1d5330f3 https://github.com/WebKit/WebKit/commit/2bb6d041654cd8ae1999ca31b372dd9e1d5330f3 Author: Mark Lam Date: 2023-01-27 (Fri, 27 Jan 2023) Changed paths: M Source/JavaScriptCore/assembler/CPU.cpp M Source/JavaScriptCore/assembler/CPU.h M Source/JavaScriptCore/assembler/MacroAssemblerARM64E.h M Source/JavaScriptCore/runtime/InitializeThreading.cpp M Source/JavaScriptCore/runtime/JSCConfig.h Log Message: --- Elide manual auth validation check when FPAC is supported. https://bugs.webkit.org/show_bug.cgi?id=251244 Reviewed by Yusuke Suzuki. With FPAC, the aut instruction will validate its own result. Hence, the manual validation that we used to do after the aut is now redundant. * Source/JavaScriptCore/assembler/CPU.cpp: (JSC::isARM64E_FPAC): * Source/JavaScriptCore/assembler/CPU.h: (JSC::isARM64E_FPAC): (JSC::isARM64_LSE): * Source/JavaScriptCore/assembler/MacroAssemblerARM64E.h: (JSC::MacroAssemblerARM64E::validateUntaggedPtr): (JSC::MacroAssemblerARM64E::untagArrayPtr): (JSC::MacroAssemblerARM64E::untagArrayPtrLength64): * Source/JavaScriptCore/runtime/InitializeThreading.cpp: (JSC::initialize): * Source/JavaScriptCore/runtime/JSCConfig.h: Canonical link: https://commits.webkit.org/259491@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c2393f: Ensure FixedBitVector's WordType matches the type ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c2393f9a46afe8d6e655c81ebf9f7f6ad37026ce https://github.com/WebKit/WebKit/commit/c2393f9a46afe8d6e655c81ebf9f7f6ad37026ce Author: Mark Lam Date: 2023-01-27 (Fri, 27 Jan 2023) Changed paths: M Source/WTF/wtf/FixedBitVector.h M Tools/TestWebKitAPI/Tests/WTF/Bitmap.cpp Log Message: --- Ensure FixedBitVector's WordType matches the type of BitVector::m_bitsOrPointer. https://bugs.webkit.org/show_bug.cgi?id=251251 Reviewed by Yusuke Suzuki. The rest of FixedBitVector's code relies on this relationship. So, let's make it explicit. Also, fixed a bug in BitMap's API tests: testBitmapConcurrentTestAndSet() and testBitmapConcurrentTestAndClear() were exercising testAndSet() and testAndClear() respectively instead of their concurrent versions. This is now fixed. This issue was originally found by Yijia Huang in https://bugs.webkit.org/show_bug.cgi?id=250847. * Source/WTF/wtf/FixedBitVector.h: * Tools/TestWebKitAPI/Tests/WTF/Bitmap.cpp: (TestWebKitAPI::testBitmapConcurrentTestAndSet): (TestWebKitAPI::testBitmapConcurrentTestAndClear): Canonical link: https://commits.webkit.org/259490@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b63e2e: Disambiguate Interpreter::execute() methods.
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b63e2e2d251cc59a738bd4e68b742cba5e043ac2 https://github.com/WebKit/WebKit/commit/b63e2e2d251cc59a738bd4e68b742cba5e043ac2 Author: Mark Lam Date: 2023-01-27 (Fri, 27 Jan 2023) Changed paths: M Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp M Source/JavaScriptCore/interpreter/CachedCall.h M Source/JavaScriptCore/interpreter/Interpreter.cpp M Source/JavaScriptCore/interpreter/Interpreter.h M Source/JavaScriptCore/interpreter/InterpreterInlines.h M Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp M Source/JavaScriptCore/runtime/ShadowRealmPrototype.cpp Log Message: --- Disambiguate Interpreter::execute() methods. https://bugs.webkit.org/show_bug.cgi?id=251249 Reviewed by Yusuke Suzuki. Most Interpreter execute methods already have unique names e.g. executeProgram, executeCall, etc. The only 2 that are still not disambiguated this way are for eval and cached calls. Rename these to executeEval and executeCachedCall so that they are more easily grep'able. * Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluateWithScopeExtension): * Source/JavaScriptCore/interpreter/CachedCall.h: (JSC::CachedCall::call): * Source/JavaScriptCore/interpreter/Interpreter.cpp: (JSC::eval): (JSC::Interpreter::executeEval): (JSC::Interpreter::execute): Deleted. * Source/JavaScriptCore/interpreter/Interpreter.h: * Source/JavaScriptCore/interpreter/InterpreterInlines.h: (JSC::Interpreter::executeCachedCall): (JSC::Interpreter::execute): Deleted. * Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/ShadowRealmPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): Canonical link: https://commits.webkit.org/259470@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a2abb6: Expose "hybrid" transport enum value
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a2abb66f9942cd26df0c2cb40d7f683e7298dd6b https://github.com/WebKit/WebKit/commit/a2abb66f9942cd26df0c2cb40d7f683e7298dd6b Author: Jason Lee Date: 2023-01-26 (Thu, 26 Jan 2023) Changed paths: M Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h M Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm Log Message: --- Expose "hybrid" transport enum value https://bugs.webkit.org/show_bug.cgi?id=251109 rdar://104611530 Reviewed by J Pascoe. Expose "hybrid" and other transport enums value via existing SPI. The values of the WebCore version enums and _WK version must remain in sync. * Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h: * Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm: (wkWebAuthenticationTransport): (authenticatorTransport): Canonical link: https://commits.webkit.org/259440@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 87f97d: Cherry-pick 252432.943@safari-7614-branch (c624901...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 87f97d83b3c9f1c5dffc192a0611240110cb6175 https://github.com/WebKit/WebKit/commit/87f97d83b3c9f1c5dffc192a0611240110cb6175 Author: Angela Izquierdo Garcia Date: 2023-01-26 (Thu, 26 Jan 2023) Changed paths: M Source/WebCore/platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.cpp M Source/WebCore/platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.h Log Message: --- Cherry-pick 252432.943@safari-7614-branch (c6249012752b). rdar://104655527 Floating Point Exception in FEConvolveMatrixSoftwareApplier:: applyPatform https://bugs.webkit.org/show_bug.cgi?id=248288 rdar://102137760 There is a division by zero due to the fact that sometimes there is one variable much bigger than other that are implied in a division (clipBottom and iterations) and as c++ rounds down it is consequently zero, which leads to the subsequent exception. Reviewed by Geoffrey Garen and David Kilzer. * Source/WebCore/platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.cpp: (WebCore::FEConvolveMatrixSoftwareApplier::setInteriorPixels): (WebCore::FEConvolveMatrixSoftwareApplier::applyPlatform const): * Source/WebCore/platform/graphics/filters/software/FEConvolveMatrixSoftwareApplier.h: Canonical link: https://commits.webkit.org/252432.943@safari-7614-branch Canonical link: https://commits.webkit.org/259424@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7c77ae: Disconnected elements sometimes incorre...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7c77ae89409598c580a9d814b12d21a6cf71a31c https://github.com/WebKit/WebKit/commit/7c77ae89409598c580a9d814b12d21a6cf71a31c Author: Alexey Shvayka Date: 2023-01-26 (Thu, 26 Jan 2023) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid-fieldset-disconnected-expected.txt A LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid-fieldset-disconnected.html M Source/WebCore/html/ValidatedFormListedElement.cpp Log Message: --- Disconnected elements sometimes incorrectly match :valid / :invalid selectors https://bugs.webkit.org/show_bug.cgi?id=250936 Reviewed by Ryosuke Niwa. This change removes isConnected() checks from updateValidity() so that form controls in disconnected subtrees update validity status of their ancestors, like they do for form owners, aligning WebKit with the spec [1], Blink, and Gecko. [1] https://html.spec.whatwg.org/multipage/semantics-other.html#selector-valid (no connected-ness check) * LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid-fieldset-disconnected-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid-fieldset-disconnected.html: Added. * Source/WebCore/html/ValidatedFormListedElement.cpp: (WebCore::ValidatedFormListedElement::updateValidity): Canonical link: https://commits.webkit.org/259422@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b39199: formDisabledCallback() sometimes fires even when d...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b391993e41c59f2bd93750700eee8e8d9b157d15 https://github.com/WebKit/WebKit/commit/b391993e41c59f2bd93750700eee8e8d9b157d15 Author: Alexey Shvayka Date: 2023-01-25 (Wed, 25 Jan 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/custom-elements/form-associated/form-disabled-callback-expected.txt M LayoutTests/imported/w3c/web-platform-tests/custom-elements/form-associated/form-disabled-callback.html M Source/WebCore/html/HTMLFieldSetElement.cpp M Source/WebCore/html/HTMLFieldSetElement.h M Source/WebCore/html/ValidatedFormListedElement.cpp M Source/WebCore/html/ValidatedFormListedElement.h Log Message: --- formDisabledCallback() sometimes fires even when disabled-ness hasn't changed https://bugs.webkit.org/show_bug.cgi?id=251097 Reviewed by Ryosuke Niwa. This change: 1. Replaces disabledAttributeChanged() hook, which was only used by , with hasDisabledAttribute() protected method, removing a virtual call and reducing sizeof(HTMLFieldSetElement) by 8. 2. Extracts setDisabledInternal() so that disabledStateChanged() hook is called only when disabled-ness is actually changed, always taking into account m_disabledByAncestorFieldset. The latter wasn't a huge issue before form-associated custom elements were introduced, whose disabledAttributeChanged() calls into userland JS code, yet even apart from that, this change eliminates redundant work for native controls and even makes psedo-class invalidation more precise, reducing matches{Valid,Invalid}PseudoClass() calls. Also, moving the pseudo-class invalidation into a single function paves the way for a follow-up patch that will invalidate a few more selectors to match the spec. Aligns WebKit with Blink and Gecko. * LayoutTests/imported/w3c/web-platform-tests/custom-elements/form-associated/form-disabled-callback-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/custom-elements/form-associated/form-disabled-callback.html: * Source/WebCore/html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::~HTMLFieldSetElement): (WebCore::HTMLFieldSetElement::parseAttribute): (WebCore::HTMLFieldSetElement::didMoveToNewDocument): (WebCore::HTMLFieldSetElement::disabledAttributeChanged): Deleted. * Source/WebCore/html/HTMLFieldSetElement.h: * Source/WebCore/html/ValidatedFormListedElement.cpp: (WebCore::ValidatedFormListedElement::setDisabledByAncestorFieldset): (WebCore::ValidatedFormListedElement::setDisabledInternal): (WebCore::ValidatedFormListedElement::parseDisabledAttribute): (WebCore::ValidatedFormListedElement::syncWithFieldsetAncestors): (WebCore::ValidatedFormListedElement::removedFromAncestor): (WebCore::ValidatedFormListedElement::disabledAttributeChanged): Deleted. * Source/WebCore/html/ValidatedFormListedElement.h: (WebCore::ValidatedFormListedElement::hasDisabledAttribute const): Canonical link: https://commits.webkit.org/259372@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 800a9b: DFG should not speculate Int32 for NaN constants
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 800a9bf27aa78b710149be8309103d96fb172051 https://github.com/WebKit/WebKit/commit/800a9bf27aa78b710149be8309103d96fb172051 Author: David Degazio Date: 2023-01-24 (Tue, 24 Jan 2023) Changed paths: A JSTests/stress/bitwise-and-with-NaN-constant.js M Source/JavaScriptCore/dfg/DFGGraph.h Log Message: --- DFG should not speculate Int32 for NaN constants https://bugs.webkit.org/show_bug.cgi?id=251117 rdar://104608391 Reviewed by Mark Lam. Adds a check for NaN immediates to DFG::Graph::addImmediateShouldSpeculateInt32. This prevents NaNs from being speculated as Int32s and truncated during the DFG fixup phase despite being non-finite values. * JSTests/stress/bitwise-AND-with-NaN-constant.js: Added. (foo): * Source/JavaScriptCore/dfg/DFGGraph.h: Canonical link: https://commits.webkit.org/259340@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 527e2a: Fix race condition for wasm referenced functions
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 527e2a01d73c94cc018b1fa060fdffc15bab69d6 https://github.com/WebKit/WebKit/commit/527e2a01d73c94cc018b1fa060fdffc15bab69d6 Author: Yijia Huang Date: 2023-01-24 (Tue, 24 Jan 2023) Changed paths: A JSTests/wasm/stress/referenced-function.js A JSTests/wasm/stress/resources/funcref-race.wasm M Source/JavaScriptCore/wasm/WasmBBQPlan.cpp M Source/JavaScriptCore/wasm/WasmLLIntPlan.cpp M Source/JavaScriptCore/wasm/WasmModuleInformation.h M Source/JavaScriptCore/wasm/WasmSectionParser.cpp M Source/WTF/WTF.xcodeproj/project.pbxproj M Source/WTF/wtf/BitVector.h M Source/WTF/wtf/CMakeLists.txt A Source/WTF/wtf/FixedBitVector.h M Tools/TestWebKitAPI/CMakeLists.txt M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj A Tools/TestWebKitAPI/Tests/WTF/FixedBitVector.cpp Log Message: --- Fix race condition for wasm referenced functions https://bugs.webkit.org/show_bug.cgi?id=250847 rdar://104332636 Reviewed by Mark Lam. Fix race condition for updating referenced functions while compiling wasm functions concurrently. * JSTests/wasm/stress/referenced-function.js: Added. (async let): (j.catch): * JSTests/wasm/stress/resources/funcref-race.wasm: Added. * Source/JavaScriptCore/wasm/WasmBBQPlan.cpp: (JSC::Wasm::BBQPlan::compileFunction): * Source/JavaScriptCore/wasm/WasmLLIntPlan.cpp: (JSC::Wasm::LLIntPlan::didCompleteCompilation): * Source/JavaScriptCore/wasm/WasmModuleInformation.h: (JSC::Wasm::ModuleInformation::referencedFunctions const): (JSC::Wasm::ModuleInformation::hasReferencedFunction const): (JSC::Wasm::ModuleInformation::addReferencedFunction const): * Source/WTF/WTF.xcodeproj/project.pbxproj: * Source/WTF/wtf/CMakeLists.txt: * Source/WTF/wtf/FixedBitVector.h: Added. (WTF::FixedBitVector::concurrentAllocateOnce): (WTF::FixedBitVector::concurrentTest): (WTF::FixedBitVector::concurrentTestAndSet): (WTF::FixedBitVector::testAndSet): (WTF::FixedBitVector::test): (WTF::FixedBitVector::findBit const): (WTF::FixedBitVector::operator== const): (WTF::FixedBitVector::hash const): (WTF::FixedBitVector::get const): (WTF::FixedBitVector::dump const): (WTF::FixedBitVectorHash::hash): (WTF::FixedBitVectorHash::equal): * Tools/TestWebKitAPI/CMakeLists.txt: * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * Tools/TestWebKitAPI/Tests/WTF/FixedBitVector.cpp: Added. (TestWebKitAPI::testFixedBitVectorSize): (TestWebKitAPI::testFixedBitVectorTest): (TestWebKitAPI::testFixedBitVectorTestAndSet): (TestWebKitAPI::testFixedBitVectorConcurrentTest): (TestWebKitAPI::testFixedBitVectorConcurrentTestAndSet): (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/259323@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3589dd: Fix IsoCellSet::remove()'s return value.
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3589dd6fe56969756161494cf76b92588a1e841b https://github.com/WebKit/WebKit/commit/3589dd6fe56969756161494cf76b92588a1e841b Author: Mark Lam Date: 2023-01-24 (Tue, 24 Jan 2023) Changed paths: M Source/JavaScriptCore/heap/IsoCellSetInlines.h M Source/WTF/wtf/Atomics.h M Source/WTF/wtf/Bitmap.h Log Message: --- Fix IsoCellSet::remove()'s return value. https://bugs.webkit.org/show_bug.cgi?id=251071 Reviewed by Yusuke Suzuki. In https://bugs.webkit.org/show_bug.cgi?id=250847, Yijia Huang found a bug in Bitmap::concurrentTestAndClear() where it's returning the inverse of its expected result. Checking for all uses of concurrentTestAndClear(), we find that one result of IsoCellSet::remove() is also similarly incorrect. This patch fixes these errors, and also adds comments to document the intended return values of some relevant functions, as well as the reasoning behind how some of the return values are computed. Note: currently, the result of Bitmap::concurrentTestAndClear() only impacts the return value of IsoCellSet::remove(), and, in turn, the return value of IsoCellSet::remove() is not used anywhere. Hence, these bugs do not currently cause any harm. However, it is good to fix them just for correctness and to avoid potential future issues should we start using their return values in a meaningful way. * Source/JavaScriptCore/heap/IsoCellSetInlines.h: (JSC::IsoCellSet::add): (JSC::IsoCellSet::remove): * Source/WTF/wtf/Atomics.h: * Source/WTF/wtf/Bitmap.h: (WTF::WordType>::testAndSet): (WTF::WordType>::testAndClear): (WTF::WordType>::concurrentTestAndSet): (WTF::WordType>::concurrentTestAndClear): Canonical link: https://commits.webkit.org/259287@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 637ee2: Fix crash due to overflow when calculating area
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 637ee2cbc292f7e56a688f0fac932cab9a61dba1 https://github.com/WebKit/WebKit/commit/637ee2cbc292f7e56a688f0fac932cab9a61dba1 Author: Chirag M Shah Date: 2023-01-23 (Mon, 23 Jan 2023) Changed paths: A LayoutTests/fast/text/text-selection-direction-overflow-crash-expected.txt A LayoutTests/fast/text/text-selection-direction-overflow-crash.html M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm Log Message: --- Fix crash due to overflow when calculating area https://bugs.webkit.org/show_bug.cgi?id=250918 rdar://104479890 Reviewed by David Kilzer. The code in getEvasionRectsAroundSelection already has the logic to deal with overflows, so we shoudn't crash in that case, and let the code proceed to do the right thing. * LayoutTests/fast/text/text-selection-direction-overflow-crash-expected.txt: Added. * LayoutTests/fast/text/text-selection-direction-overflow-crash.html: Added. * Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm: (WebKit::WebPage::getEvasionRectsAroundSelection const): Canonical link: https://commits.webkit.org/259254@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3a9519: Updating expectations for fast/text/khmer-lao-font...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3a95196448a44d0b61cdd5e4825c22328cf90b26 https://github.com/WebKit/WebKit/commit/3a95196448a44d0b61cdd5e4825c22328cf90b26 Author: Dawn Flores Date: 2023-01-20 (Fri, 20 Jan 2023) Changed paths: M LayoutTests/platform/mac/TestExpectations Log Message: --- Updating expectations for fast/text/khmer-lao-font.html https://bugs.webkit.org/show_bug.cgi?id=250921 rdar://104497095 Unreviewed test gardening.. * LayoutTests/platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/259156@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8ad055: Small improvement to VMInspector::dumpRegisters().
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8ad0557c285f30037acb8bd45cd7397ccd10988e https://github.com/WebKit/WebKit/commit/8ad0557c285f30037acb8bd45cd7397ccd10988e Author: Mark Lam Date: 2023-01-19 (Thu, 19 Jan 2023) Changed paths: M Source/JavaScriptCore/bytecode/CodeBlock.cpp M Source/JavaScriptCore/tools/VMInspector.cpp Log Message: --- Small improvement to VMInspector::dumpRegisters(). https://bugs.webkit.org/show_bug.cgi?id=250857 Reviewed by Yusuke Suzuki. When dumping the topCallFrame, we should use numCalleeLocals instead of numVars when we don't know where the next frame is. Using numVars does not give us visibility into all locals that may be in use. Also fix CodeBlock::nameForRegister() to just use VirtualRegister's dumper instead of doing custom and duplicate work. * Source/JavaScriptCore/bytecode/CodeBlock.cpp: (JSC::CodeBlock::nameForRegister): * Source/JavaScriptCore/tools/VMInspector.cpp: (JSC::VMInspector::dumpRegisters): Canonical link: https://commits.webkit.org/259109@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 47b456: Require Int32 when constant-folding ParseInt in DFG
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 47b456d4d7f328a0d75f974f351ed4cef9dd53b5 https://github.com/WebKit/WebKit/commit/47b456d4d7f328a0d75f974f351ed4cef9dd53b5 Author: David Degazio Date: 2023-01-19 (Thu, 19 Jan 2023) Changed paths: A JSTests/stress/parse-int-negative-zero-key.js A JSTests/stress/parse-int-negative-zero.js M Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp Log Message: --- Require Int32 when constant-folding ParseInt in DFG https://bugs.webkit.org/show_bug.cgi?id=250806 rdar://104071090 Reviewed by Saam Barati and Yusuke Suzuki. Currently, we fold any ParseInt node with a Number radix equal to zero in DFG. This patch adds the requirement that the radix be an Int32 specifically, since that's the speculation check we add to all ParseInt nodes in the DFG fixup phase. * JSTests/stress/parse-int-negative-zero-key.js: Added. * JSTests/stress/parse-int-negative-zero.js: Added. * Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): Canonical link: https://commits.webkit.org/259102@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 99afca: Don't crash WebContent process when passing invali...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 99afca995277e6c9ac1e2e68ccfc133b4d99fc3d https://github.com/WebKit/WebKit/commit/99afca995277e6c9ac1e2e68ccfc133b4d99fc3d Author: Chirag M Shah Date: 2023-01-19 (Thu, 19 Jan 2023) Changed paths: A LayoutTests/http/tests/cache-storage/cache-match-invalid-url-expected.txt A LayoutTests/http/tests/cache-storage/cache-match-invalid-url.html M Source/WebCore/Modules/cache/DOMCache.cpp M Source/WebCore/Modules/cache/DOMCache.h Log Message: --- Don't crash WebContent process when passing invalid URL for cache https://bugs.webkit.org/show_bug.cgi?id=250727 rdar://104294986 Reviewed by Chris Dumez and Sihui Liu. Before this change, if FetchRequest::create() returned an exception, we never used to check for that and call releaseReturnValue() on that which would cause a crash. This change fixes that, so that we can correctly return the "URL is not valid or contains user credentials." exception. This change also fixes a bug where correct exception wasn't returned. * LayoutTests/http/tests/cache-storage/cache-match-invalid-url-expected.txt: Added. * LayoutTests/http/tests/cache-storage/cache-match-invalid-url.html: Added. * Source/WebCore/Modules/cache/DOMCache.cpp: (WebCore::DOMCache::doMatch): (WebCore::DOMCache::matchAll): (WebCore::DOMCache::requestFromInfo): * Source/WebCore/Modules/cache/DOMCache.h: Canonical link: https://commits.webkit.org/259091@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 90eb20: Improve VMInspector::dumpRegisters().
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 90eb20a4e7fa6453033196cd5bb0f36ce2fab5d2 https://github.com/WebKit/WebKit/commit/90eb20a4e7fa6453033196cd5bb0f36ce2fab5d2 Author: Mark Lam Date: 2023-01-19 (Thu, 19 Jan 2023) Changed paths: M Source/JavaScriptCore/bytecode/CodeBlock.cpp M Source/JavaScriptCore/interpreter/CallFrame.h M Source/JavaScriptCore/interpreter/StackVisitor.h M Source/JavaScriptCore/tools/VMInspector.cpp M Source/JavaScriptCore/tools/VMInspector.h Log Message: --- Improve VMInspector::dumpRegisters(). https://bugs.webkit.org/show_bug.cgi?id=250823 Reviewed by Yusuke Suzuki. 1. Change the order of the dump to go from low memory to high memory. This makes the dump more intuitive to read because: a. C++ structures are dumped that way in debuggers, and b. Dumping this way allows us to dump the caller frame next, and the memory dumps just stitches together naturally. 2. Add VMInspector::vmForCallFrame() to find the VM for a CallFrame instead of relying on a CodeBlock being present. This allows us to ... 3. Add rudimentary support for dumping EntryFrame, as well as Wasm and native frames. 4. Also changed the layout of the dumped CallFrame registers to have more useful info while being easier to read. For example, an old dump looks like this: ``` - use| address |value - [r 10 arguments[ 5]] | 0x16fdfbfb0 | 0xaUndefined [r 9 arguments[ 4]] | 0x16fdfbfa8 | 0xfffe Int32: 0 [r 8 arguments[ 3]] | 0x16fdfbfa0 | 0x10409c240Object: 0x10409c240 with butterfly 0x0(base=0xfff8) (Structure 0x3afd0:[0xafd0/45008, Object, (2/6, 0/0){module:0, instance:1}, NonArray, Proto:0x103011968, Leaf]), StructureID: 45008 [r 7 arguments[ 2]] | 0x16fdfbf98 | 0xfffe0001 Int32: 1 [r 6 arguments[ 1]] | 0x16fdfbf90 | 0x103038de8Object: 0x103038de8 with butterfly 0x0(base=0xfff8) (Structure 0x377b0:[0x77b0/30640, Generator, (0/0, 0/0){}, NonArray, Proto:0x103012ae8, Leaf]), StructureID: 30640 [r 5 this] | 0x16fdfbf88 | 0x10300e268Object: 0x10300e268 with butterfly 0x0(base=0xfff8) (Structure 0x38720:[0x8720/34592, JSProxy, (0/0, 0/0){}, NonArray, Proto:0x103011968, Leaf]), StructureID: 34592 - [ArgumentCount]| 0x16fdfbf80 | 5 [ReturnVPC]| 0x16fdfbf80 | 399 (line 20) [Callee] | 0x16fdfbf78 | 0x10408e100Object: 0x10408e100 with butterfly 0x0(base=0xfff8) (Structure 0x357c0:[0x57c0/22464, Function, (0/0, 0/0){}, NonArray, Proto:0x1030305a8, Leaf]), StructureID: 22464 [CodeBlock]| 0x16fdfbf70 | 0x1040d8580 #Bhpb2b:[0x1040d8580->0x104099980, LLIntFunctionCall, 412] [ReturnPC] | 0x16fdfbf68 | 0x11a470248 [CallerFrame] | 0x16fdfbf60 | 0x16fdfc020 - [r -1 CalleeSaveReg] | 0x16fdfbf58 | 0xfffe0002 Int32: 2 [r -2 CalleeSaveReg] | 0x16fdfbf50 | 0xfffe Int32: 0 [r -3 CalleeSaveReg] | 0x16fdfbf48 | 0x103030f40 [r -4 CalleeSaveReg] | 0x16fdfbf40 | 0x103059770 [r -5 ] | 0x16fdfbf38 | 0xaUndefined [r -6 ] | 0x16fdfbf30 | 0xaUndefined - - ``` The new dump now looks like this: ``` Registers for JS frame 0x16fdfbfe0 (entryFrame 0x16fdfc2d0): - VirtualRegister : address value Outgoing Args + Misc --- -- Locals --- -6 : 0x16fdfbfb0 0x102038428 Object: 0x102038428 with butterfly 0x0(base=0xfff8) (Structure 0x35520:[0x5520/21792, JSGlobalLexicalEnvironment, (0/0, 0/0){}, NonArray, Leaf]), StructureID: 21792 -5 : 0x16fdfbfb8 0x102038428 Object: 0x102038428 with butterfly 0x0(base=0xfff8) (Structure 0x35520:[0x5520/21792, JSGlobalLexicalEnvironment, (0/0, 0/0){}, NonArray, Leaf]), StructureID: 21792 Callee Saves --- -4 CalleeSaveReg: 0x16fdfbfc0 0x102059130 -3 CalleeSaveReg: 0x16fdfbfc8 0x102030f40 -2 CalleeSaveReg: 0x16fdfbfd0 0xfffe Int32: 0 -1 CalleeSaveReg: 0x16fdfbfd8 0
[webkit-changes] [WebKit/WebKit] e00720: Baseline JIT execution tracing code should get op_...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e00720c9b6f9eade3780887ae617458c70d20689 https://github.com/WebKit/WebKit/commit/e00720c9b6f9eade3780887ae617458c70d20689 Author: Mark Lam Date: 2023-01-18 (Wed, 18 Jan 2023) Changed paths: A JSTests/wasm/stress/throw-from-wasm-catch-in-baseline-JIT-payload.bin A JSTests/wasm/stress/throw-from-wasm-catch-in-baseline-JIT.js M Source/JavaScriptCore/jit/JIT.cpp Log Message: --- Baseline JIT execution tracing code should get op_catch callFrame from VM::callFrameForCatch. https://bugs.webkit.org/show_bug.cgi?id=250755 Reviewed by Yusuke Suzuki. The initial callFrame on entry to the baseline JIT generated code for the op_catch opcode is that of the exception thrower, not the exception catcher frame which corresponds to the baseline JIT codeBlock being executed. Hence, for op_catch, the execution trace dumper should get the callFrame from VM::callFrameForCatch instead. * JSTests/wasm/stress/throw-from-wasm-catch-in-baseline-JIT-payload.bin: Added. * JSTests/wasm/stress/throw-from-wasm-catch-in-baseline-JIT.js: Added. (foo): * Source/JavaScriptCore/jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): Canonical link: https://commits.webkit.org/259029@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 59c35e: Replace uses of CallFrame::iterate() with StackVis...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 59c35e2316675987a5d58a42addebc1f69bfff95 https://github.com/WebKit/WebKit/commit/59c35e2316675987a5d58a42addebc1f69bfff95 Author: Mark Lam Date: 2023-01-18 (Wed, 18 Jan 2023) Changed paths: M Source/JavaScriptCore/API/JSContextRef.cpp M Source/JavaScriptCore/bytecode/CodeBlock.cpp M Source/JavaScriptCore/inspector/ScriptCallStackFactory.cpp M Source/JavaScriptCore/interpreter/CallFrame.h M Source/JavaScriptCore/jsc.cpp M Source/JavaScriptCore/runtime/FunctionPrototype.cpp M Source/JavaScriptCore/runtime/JSGlobalObject.cpp M Source/JavaScriptCore/runtime/NullSetterFunction.cpp M Source/JavaScriptCore/tools/JSDollarVM.cpp M Source/JavaScriptCore/tools/VMInspector.cpp M Source/WebCore/bindings/js/JSDOMGlobalObject.cpp M Source/WebCore/testing/Internals.cpp Log Message: --- Replace uses of CallFrame::iterate() with StackVisitor::visit(). https://bugs.webkit.org/show_bug.cgi?id=250751 Reviewed by Yusuke Suzuki. An assertion in CallFrame::iterate() is blocking StackVisitor from dumping the JS stack when we encounter Wasm frames. The assertion was from back when Wasm frames didn't exist. This patch removes CallFrame::iterate() completely, and changes all callsites to call StackVisitor::visit() instead. * Source/JavaScriptCore/API/JSContextRef.cpp: (JSContextCreateBacktrace): * Source/JavaScriptCore/bytecode/CodeBlock.cpp: (JSC::CodeBlock::noticeIncomingCall): * Source/JavaScriptCore/inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): * Source/JavaScriptCore/interpreter/CallFrame.h: (JSC::CallFrame::iterate): Deleted. * Source/JavaScriptCore/jsc.cpp: (JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/runtime/FunctionPrototype.cpp: (JSC::retrieveArguments): (JSC::retrieveCallerFunction): * Source/JavaScriptCore/runtime/JSGlobalObject.cpp: * Source/JavaScriptCore/runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): * Source/JavaScriptCore/tools/JSDollarVM.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * Source/JavaScriptCore/tools/VMInspector.cpp: (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpRegisters): (JSC::VMInspector::dumpStack): * Source/WebCore/bindings/js/JSDOMGlobalObject.cpp: (WebCore::callerGlobalObject): * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::parserMetaData): Canonical link: https://commits.webkit.org/259027@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d9cd0e: [WebRTC] Fix -Wunused-but-set-variable warnings in...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d9cd0e72ca7c30784f069afbc0c5617c5ff8b91d https://github.com/WebKit/WebKit/commit/d9cd0e72ca7c30784f069afbc0c5617c5ff8b91d Author: David Kilzer Date: 2023-01-16 (Mon, 16 Jan 2023) Changed paths: M Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig M Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.cc M Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.cc A Source/ThirdParty/libwebrtc/WebKit/libwebrtc-fix-Wunused-but-set-variable.diff Log Message: --- [WebRTC] Fix -Wunused-but-set-variable warnings in the libwebrtc project https://bugs.webkit.org/show_bug.cgi?id=250622 Reviewed by Youenn Fablet. * Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig: (WK_FIXME_WARNING_CFLAGS): - Remove -Wno-unused-but-set-variable. * Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_pps_parser.cc: - Add empty statements for bits_tmp and golomb_ignored variables. * Source/ThirdParty/libwebrtc/Source/webrtc/common_video/h265/h265_sps_parser.cc: - Add empty statement for golomb_ignored variable. * Source/ThirdParty/libwebrtc/WebKit/libwebrtc-fix-Wunused-but-set-variable.diff: Add. Canonical link: https://commits.webkit.org/258956@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 189024: element shouldn't override FormListedElem...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 189024a1815a58b3ee79bb3fe3d27dc4c6ccf82b https://github.com/WebKit/WebKit/commit/189024a1815a58b3ee79bb3fe3d27dc4c6ccf82b Author: Alexey Shvayka Date: 2023-01-16 (Mon, 16 Jan 2023) Changed paths: M LayoutTests/fast/forms/setCustomValidity-null-parameter.html M LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-object-element/object-setcustomvalidity-expected.txt M Source/WebCore/html/HTMLObjectElement.h Log Message: --- element shouldn't override FormListedElement::setCustomValidity() https://bugs.webkit.org/show_bug.cgi?id=250627 Reviewed by Darin Adler. Per spec [1], element's constraint validation methods are the same as for other objects. This change removes setCustomValidity() override, allowing element's customError() to be triggered, which aligns with all the other elements: their validity states are independent of willValidate(). Removal of validationMessage() override is non-observable: the message can't be retrieved for an element that is not a candidate for constraint validation [2]. Aligns WebKit with the spec and Gecko. [1] https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element:the-constraint-validation-api [2] https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-cva-validationmessage * LayoutTests/fast/forms/setCustomValidity-null-parameter.html: * LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-object-element/object-setcustomvalidity-expected.txt: * Source/WebCore/html/HTMLObjectElement.h: Canonical link: https://commits.webkit.org/258945@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes