Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 77ea37f47beef56db7979962d266e459efdf4d2f
      
https://github.com/WebKit/WebKit/commit/77ea37f47beef56db7979962d266e459efdf4d2f
  Author: Timothy Hatcher <[email protected]>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M 
Source/WebKit/WebProcess/Extensions/Bindings/Cocoa/JSWebExtensionWrapperCocoa.mm
    M 
Source/WebKit/WebProcess/Extensions/Bindings/Scripts/CodeGeneratorExtensions.pm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIExtension.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIRuntime.mm

  Log Message:
  -----------
  Simplify the CodeGeneratorExtensions.pm generated code for the most common 
optional argument case.
https://webkit.org/b/261163
rdar://problem/114986995

Reviewed by Brian Weinstein.

Refine the argument handling for the Web Extension code generator.

* Streamlined argument handling for the common 2 and 3 argument cases, 
specifically when the last argument is optional.
* Replaced the previous loop-based method for these cases with more direct 
conditional checks.
* Complex handling remains in place for scenarios with multiple optional 
arguments beyond 3 total arguments.
* Cuts down the functions using the complex method from roughly 50 to just 7.
* Helps both improved readability and potential generated code performance.

* 
Source/WebKit/WebProcess/Extensions/Bindings/Cocoa/JSWebExtensionWrapperCocoa.mm:
(WebKit::toNSString): Only try to convert strings.
(WebKit::toNSDictionary): Don't try to convert functions or promises.
* 
Source/WebKit/WebProcess/Extensions/Bindings/Scripts/CodeGeneratorExtensions.pm:
(_generateImplementationFile):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIExtension.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIRuntime.mm:
(TestWebKitAPI::TEST):

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to