Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a5fe38795e92dbd7662a7bae4870a23cde7b02ba
      
https://github.com/WebKit/WebKit/commit/a5fe38795e92dbd7662a7bae4870a23cde7b02ba
  Author: Carlos Alberto Lopez Perez <[email protected]>
  Date:   2026-04-03 (Fri, 03 Apr 2026)

  Changed paths:
    M Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py
    M Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py
    M 
Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py
    A 
Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_manual.py
    M 
Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py
    M 
Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py
    M Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py
    M Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py

  Log Message:
  -----------
  [run-benchmark] Add a "manual" browser to test with browsers not controlled 
by the tool.
https://bugs.webkit.org/show_bug.cgi?id=310685

Reviewed by Adrian Perez de Castro.

Having a "manual" browser mode that instead of launching the browser on
the URL it just prints the URL and waits for the user to connect it can
be useful for the following use cases:

- Testing with a browser running on another device (e.g. an embedded
  board): the developer machine hosts the benchmark server and the user
  manually loads the URL on the remote browser.
- Testing with a browser from an arbitrary path (or inside a container),
  or with a browser type that currently lacks a dedicated driver class.

When the browser is set to "manual", the HTTP server binds to 0.0.0.0
and the tool prints the full LAN-reachable URL (resolved via the default
route interface) instead of launching a browser process. A new
--http-server-port option allows pinning the port, which is convenient
when firewall rules or the remote device require a fixed port.

* Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.__init__):
* Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
(BrowserDriver.collect_pgo_profile):
(BrowserDriver):
(BrowserDriver._save_screenshot_to_path):
* 
Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
(BrowserDriverFactory.create):
* 
Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_manual.py:
 Added.
(get_ip_default_route):
(ManualBrowserDriver):
(ManualBrowserDriver.__init__):
(ManualBrowserDriver._print_action_msg):
(ManualBrowserDriver.close_browsers):
(ManualBrowserDriver.launch_url):
(ManualBrowserDriver.launch_driver):
* 
Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py:
(LinuxBrowserDriver._screen_size):
(LinuxBrowserDriver._save_screenshot_to_path): Deleted.
* 
Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver.__init__):
(SimpleHTTPServerDriver.serve):
(SimpleHTTPServerDriver._wait_for_http_server):
(SimpleHTTPServerDriver.base_url):
* Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(config_argument_parser):
(run_benchmark_plan):
* Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
(WebServerBenchmarkRunner.__init__):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to