Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9c3c522fd382fc22f100437332a05981fdbdff3d
https://github.com/WebKit/WebKit/commit/9c3c522fd382fc22f100437332a05981fdbdff3d
Author: Devin Rousso <[email protected]>
Date: 2026-07-29 (Wed, 29 Jul 2026)
Changed paths:
M Source/CMakeLists.txt
M Source/WebCore/CMakeLists.txt
M Source/WebCore/DerivedSources-output.xcfilelist
M Source/WebCore/DerivedSources.make
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/WebCoreMacros.cmake
M Source/WebCore/bindings/scripts/CodeGenerator.pm
A
Source/WebCore/bindings/scripts/combine-inspector-native-function-parameters.pl
A
Source/WebCore/bindings/scripts/test/JS/TestCallTracer.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestCallbackInterface.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestConditionalIncludes.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestDOMJIT.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestDomainSecurity.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestEnabledBySetting.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestEventTarget.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestGlobalObject.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestIndexedSetterWithIdentifier.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestInterface.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestLegacyOverrideBuiltIns.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestNamedAndIndexedSetterWithIdentifier.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestNamedDeleterWithIdentifier.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestNamedGetterWithIdentifier.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestNamedSetterWithIdentifier.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestNamedSetterWithIndexedGetter.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestNamedSetterWithIndexedGetterAndSetter.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestNamespaceObject.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestObj.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestScheduledAction.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestSerializedScriptValueInterface.inspector-native-function-parameters.json
A
Source/WebCore/bindings/scripts/test/JS/TestTypedefs.inspector-native-function-parameters.json
M Source/WebInspectorUI/CMakeLists.txt
M Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl
A Source/WebInspectorUI/Scripts/update-NativeFunctionParameters.py
A
Source/WebInspectorUI/UserInterface/Models/NativeFunctionParameters-overrides.json
R Source/WebInspectorUI/UserInterface/Models/NativeFunctionParameters.js
M Source/WebInspectorUI/UserInterface/Views/ObjectTreePropertyTreeElement.js
M Source/WebInspectorUI/WebInspectorUI.xcodeproj/project.pbxproj
Log Message:
-----------
Web Inspector: Show Parameter Lists for Native DOM
methods
https://bugs.webkit.org/show_bug.cgi?id=142657
<rdar://problem/20149674>
Reviewed by Yusuke Suzuki.
Rather than trying to keep a manual list, leverage the pretty format of IDL to
autogenerate `WI.NativeConstructorFunctionParameters` and
`WI.NativePrototypeFunctionParameters`.
* Source/WebCore/bindings/scripts/CodeGenerator.pm:
(ProcessInterfaces):
(WriteInspectorNativeFunctionParameters): Added.
Modify the IDL parser to output `*.inspector-native-function-parameters.json`
files containing a pretty string of the arguments for any class-level and
instance-level methods.
*
Source/WebCore/bindings/scripts/combine-inspector-native-function-parameters.pl:
Added.
Combine all `*.inspector-native-function-parameters.json` into a single
`InspectorNativeFunctionParameters.json`.
* Source/WebInspectorUI/UserInterface/Models/NativeFunctionParameters.js:
Removed.
*
Source/WebInspectorUI/UserInterface/Models/NativeFunctionParameters-overrides.json:
Added.
Pure JS APIs
do not have anything like pretty formatted IDL to draw from like other web APIs.
Instead, have these be handwritten in a JSON file until a solution can be found
for them.
This also allows for Web Inspector to override anything that is automatic if
needed.
* Source/WebInspectorUI/Scripts/update-NativeFunctionParameters.py: Added.
Merge the `InspectorNativeFunctionParameters.json` with the overrides file and
generate `NativeFunctionParameters.js`.
If WebCore's generated JSON cannot be read or parsed, warn and generate an
overrides-only file rather than failing the build, since these parameter names
are only a minor visual enhancement.
* Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl:
Read `InspectorNativeFunctionParameters.json` from WebCore's private headers
and copy `NativeFunctionParameters.js` alongside all other resources.
*
Source/WebInspectorUI/UserInterface/Views/ObjectTreePropertyTreeElement.js:
(WI.ObjectTreePropertyTreeElement.prototype._functionParameterString):
Drive-by: also handle `Atomics`, `Intl`, and `WebAssembly` namespace objects.
* Source/CMakeLists.txt:
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/WebCoreMacros.cmake:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebInspectorUI/CMakeLists.txt:
* Source/WebInspectorUI/WebInspectorUI.xcodeproj/project.pbxproj:
Generate and consume the parameter data in each build system.
Export `InspectorNativeFunctionParameters.json` as a WebCore private header and
consume it from `WEBCORE_PRIVATE_HEADERS_DIR`, matching the existing
`InspectorBackendCommands.js` pattern.
This avoids a cross-project target dependency, which cannot be satisfied when
WebInspectorUI is built standalone against installed WebKit.
Depend on
`WebCore_CopyPrivateHeaders` in CMake and add `WebCore.framework` to Xcode's
`Product Dependencies` build phase so combined builds still order WebCore
before WebInspectorUI.
*
Source/WebCore/bindings/scripts/test/JS/TestCallTracer.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestCallbackInterface.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestConditionalIncludes.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestDOMJIT.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestDomainSecurity.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestEnabledBySetting.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestEventTarget.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestGlobalObject.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestIndexedSetterWithIdentifier.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestInterface.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestLegacyOverrideBuiltIns.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestNamedAndIndexedSetterWithIdentifier.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestNamedDeleterWithIdentifier.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestNamedGetterWithIdentifier.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestNamedSetterWithIdentifier.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestNamedSetterWithIndexedGetter.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestNamedSetterWithIndexedGetterAndSetter.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestNamespaceObject.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestObj.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestScheduledAction.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestSerializedScriptValueInterface.inspector-native-function-parameters.json:
Added.
*
Source/WebCore/bindings/scripts/test/JS/TestTypedefs.inspector-native-function-parameters.json:
Added.
Canonical link:
https://flagged.apple.com:443/proxy?t2=dD9Y9c3Fn9&o=aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzE4MTY5QG1haW4=&emid=c2187edf-d9da-4c8f-b217-26eab7eb9651&c=11
To
unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications