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

Reply via email to