[webkit-changes] [WebKit/WebKit] e4492a: Complete the list of ARIA roles used for Interacti...

2023-03-07 Thread EWS
  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.

2023-03-06 Thread EWS
  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...

2023-03-06 Thread EWS
  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

2023-03-06 Thread EWS
  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...

2023-03-06 Thread EWS
  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):

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

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

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

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


Reviewed by Darin Adler.

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

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

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

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

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

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

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


Reviewed by Darin Adler.

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

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

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


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


[webkit-changes] [WebKit/WebKit] e3f0b0: Enable single-pass BBQ baseline JIT by default

2023-03-03 Thread EWS
  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...

2023-03-03 Thread EWS
  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

2023-03-02 Thread EWS
  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...

2023-03-02 Thread EWS
  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

2023-03-02 Thread EWS
  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...

2023-03-02 Thread EWS
  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 

[webkit-changes] [WebKit/WebKit] 629fc5: Add Interaction Regions for aria roles button & me...

2023-03-02 Thread EWS
  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 ...

2023-03-01 Thread EWS
  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

2023-03-01 Thread EWS
  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...

2023-02-28 Thread EWS
  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 

[webkit-changes] [WebKit/WebKit] 235640: [JSC] Hoist configurability checks in ProxyObject'...

2023-02-28 Thread EWS
  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

2023-02-28 Thread EWS
  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...

2023-02-28 Thread EWS
  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 ...

2023-02-27 Thread EWS
  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

2023-02-27 Thread EWS
  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 ...

2023-02-25 Thread EWS
  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()

2023-02-25 Thread EWS
  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...

2023-02-24 Thread EWS
  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

2023-02-24 Thread EWS
  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 

[webkit-changes] [WebKit/WebKit] d5d4ad: Fix some bounds issues in API tests

2023-02-23 Thread EWS
  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...

2023-02-22 Thread EWS
  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...

2023-02-22 Thread EWS
  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...

2023-02-22 Thread EWS
  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...

2023-02-22 Thread EWS
  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...

2023-02-22 Thread EWS
  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...

2023-02-22 Thread EWS
  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...

2023-02-21 Thread EWS
  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

2023-02-21 Thread EWS
  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).

* 

[webkit-changes] [WebKit/WebKit] a01918: Extend scope of counter in WTF_RunLoop API tests

2023-02-21 Thread EWS
  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...

2023-02-21 Thread EWS
  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...

2023-02-21 Thread EWS
  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...

2023-02-21 Thread EWS
  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...

2023-02-21 Thread EWS
  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...

2023-02-21 Thread EWS
  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...

2023-02-21 Thread EWS
  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...

2023-02-21 Thread EWS
  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...

2023-02-21 Thread EWS
  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...

2023-02-20 Thread EWS
  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...

2023-02-20 Thread EWS
  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

2023-02-20 Thread EWS
  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

2023-02-20 Thread EWS
  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 

[webkit-changes] [WebKit/WebKit] 5b6040: Missing Interactions Regions occlusions in some cases

2023-02-20 Thread EWS
  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...

2023-02-18 Thread EWS
  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...

2023-02-17 Thread EWS
  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...

2023-02-17 Thread EWS
  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...

2023-02-17 Thread EWS
  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

2023-02-17 Thread EWS
  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...

2023-02-15 Thread EWS
  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...

2023-02-14 Thread EWS
  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...

2023-02-14 Thread EWS
  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

2023-02-12 Thread EWS
  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...

2023-02-11 Thread EWS
  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...

2023-02-10 Thread EWS
  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

2023-02-10 Thread EWS
  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

2023-02-09 Thread EWS
  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...

2023-02-09 Thread EWS
  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

2023-02-07 Thread EWS
  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...

2023-02-06 Thread EWS
  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 ...

2023-02-06 Thread EWS
  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

2023-02-06 Thread EWS
  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...

2023-02-04 Thread EWS
  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)

2023-02-04 Thread EWS
  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

2023-02-03 Thread EWS
  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

2023-02-03 Thread EWS
  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...

2023-02-02 Thread EWS
  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

2023-02-01 Thread EWS
  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

2023-02-01 Thread EWS
  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.
* 

[webkit-changes] [WebKit/WebKit] 95dcff: Remove unnecessary add when loading a JSCConfig fi...

2023-01-31 Thread EWS
  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...

2023-01-30 Thread EWS
  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...

2023-01-27 Thread EWS
  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):
* 

[webkit-changes] [WebKit/WebKit] ffec5c: Update API test after 259112@main

2023-01-27 Thread EWS
  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

2023-01-27 Thread EWS
  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

2023-01-27 Thread EWS
  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 

[webkit-changes] [WebKit/WebKit] 2bb6d0: Elide manual auth validation check when FPAC is su...

2023-01-27 Thread EWS
  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 ...

2023-01-27 Thread EWS
  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.

2023-01-27 Thread EWS
  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

2023-01-26 Thread EWS
  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...

2023-01-26 Thread EWS
  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...

2023-01-26 Thread EWS
  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...

2023-01-25 Thread EWS
  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

2023-01-24 Thread EWS
  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

2023-01-24 Thread EWS
  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.

2023-01-24 Thread EWS
  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

2023-01-23 Thread EWS
  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...

2023-01-20 Thread EWS
  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().

2023-01-19 Thread EWS
  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

2023-01-19 Thread EWS
  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...

2023-01-19 Thread EWS
  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().

2023-01-19 Thread EWS
  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  

[webkit-changes] [WebKit/WebKit] e00720: Baseline JIT execution tracing code should get op_...

2023-01-18 Thread EWS
  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...

2023-01-18 Thread EWS
  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...

2023-01-16 Thread EWS
  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...

2023-01-16 Thread EWS
  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


  1   2   3   >