diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 5cd5d46c52f..d2fe87a3dd4 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -224,7 +224,7 @@ jobs: profile: ${{ inputs.profile }} wpt-sync-from-upstream: ${{ inputs.wpt-sync-from-upstream }} number-of-wpt-chunks: ${{ inputs. number-of-wpt-chunks }} - binary-path: servo/servo + binary-path: servo/servoshell secrets: inherit bencher: @@ -235,7 +235,7 @@ jobs: target: "linux" profile: ${{ inputs.profile }} compressed-file-path: ${{ inputs.profile }}-binary-linux/servo-tech-demo.tar.gz - binary-path: servo/servo + binary-path: servo/servoshell file-size: true # We only evaluate speedometer and dromaeo score in release speedometer: ${{ inputs.profile == 'release' }} diff --git a/.github/workflows/mac-arm64.yml b/.github/workflows/mac-arm64.yml index d18efe56ce1..ec043f62313 100644 --- a/.github/workflows/mac-arm64.yml +++ b/.github/workflows/mac-arm64.yml @@ -187,7 +187,7 @@ jobs: run: | echo "artifact_ids=${{ steps.upload-dmg.outputs.artifact-id }}" >> $GITHUB_OUTPUT - name: Build package for target - run: gtar -czf target.tar.gz target/${{ inputs.profile }}/servo target/${{ inputs.profile }}/lib/*.dylib resources + run: gtar -czf target.tar.gz target/${{ inputs.profile }}/servoshell target/${{ inputs.profile }}/lib/*.dylib resources - name: Upload package for target uses: actions/upload-artifact@v6 with: @@ -213,7 +213,7 @@ jobs: target: 'macos-arm64' profile: ${{ inputs.profile }} compressed-file-path: ${{ inputs.profile }}-binary-macos-arm64/target.tar.gz - binary-path: target/${{ inputs.profile }}/servo + binary-path: target/${{ inputs.profile }}/servoshell file-size: true speedometer: false dromaeo: false diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml index d45dc8dd938..df3a5c5a710 100644 --- a/.github/workflows/mac.yml +++ b/.github/workflows/mac.yml @@ -195,7 +195,7 @@ jobs: run: | echo "artifact_ids=${{ steps.upload-dmg.outputs.artifact-id }}" >> $GITHUB_OUTPUT - name: Build package for target - run: gtar -czf target.tar.gz target/${{ inputs.profile }}/servo target/${{ inputs.profile }}/lib/*.dylib resources + run: gtar -czf target.tar.gz target/${{ inputs.profile }}/servoshell target/${{ inputs.profile }}/lib/*.dylib resources - name: Upload package for target uses: actions/upload-artifact@v6 with: @@ -221,7 +221,7 @@ jobs: target: 'macos' profile: ${{ inputs.profile }} compressed-file-path: ${{ inputs.profile }}-binary-macos/target.tar.gz - binary-path: target/${{ inputs.profile }}/servo + binary-path: target/${{ inputs.profile }}/servoshell file-size: true speedometer: false dromaeo: false diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 8da9877827b..d51390b5bbe 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -197,14 +197,14 @@ jobs: run: .\mach package --profile ${{ inputs.profile }} # These files are available # MSI Installer: C:\a\servo\servo\target\${{ inputs.profile }}\msi\Installer.msi - # Bundle: C:\a\servo\servo\target\${{ inputs.profile }}\msi\Servo.exe + # Bundle: C:\a\servo\servo\target\${{ inputs.profile }}\msi\servoshell.exe # Zip: C:\a\servo\servo\target\${{ inputs.profile }}\msi\Servo.zip - name: Upload artifact for mach package uses: actions/upload-artifact@v6 id: upload-exe with: name: ${{ inputs.profile }}-binary-windows - path: C:\\a\\servo\\servo\\target\\${{ inputs.profile }}\\msi\\Servo.exe + path: C:\\a\\servo\\servo\\target\\${{ inputs.profile }}\\msi\\servoshell.exe - name: Upload artifact for mach package (zip) uses: actions/upload-artifact@v6 id: upload-zip @@ -230,7 +230,7 @@ jobs: target: 'windows' profile: ${{ inputs.profile }} compressed-file-path: '' - binary-path: ${{ inputs.profile }}-binary-windows/Servo.exe + binary-path: ${{ inputs.profile }}-binary-windows/servoshell.exe file-size: true speedometer: false dromaeo: false diff --git a/etc/blink-perf-test-runner/main.py b/etc/blink-perf-test-runner/main.py index f61ddd8a38d..341725351f6 100755 --- a/etc/blink-perf-test-runner/main.py +++ b/etc/blink-perf-test-runner/main.py @@ -82,7 +82,7 @@ def start_servo(webdriver_port: int, servo_path: str) -> webdriver.Remote | None def kill_servo(): - subprocess.Popen(["killall", "servo"]) + subprocess.Popen(["killall", "servoshell"]) REGEX_RESULTS_LOG_ELEMENT = re.compile( diff --git a/etc/ci/macos_package_smoketest.sh b/etc/ci/macos_package_smoketest.sh index 8369030a4e3..f1d44cc8d50 100755 --- a/etc/ci/macos_package_smoketest.sh +++ b/etc/ci/macos_package_smoketest.sh @@ -19,7 +19,7 @@ ls -l # Load a page that closes immediately after loading. c='data:text/html,' -./servo --headless ${c} | tee /tmp/out +./servoshell --headless ${c} | tee /tmp/out grep 'success' /tmp/out # Clean up. diff --git a/etc/ci/performance/runner.py b/etc/ci/performance/runner.py index 36dc96b1094..ac8f324a327 100644 --- a/etc/ci/performance/runner.py +++ b/etc/ci/performance/runner.py @@ -70,7 +70,7 @@ def run_servo_test(testcase, url, date, timeout, is_async): ua_script_path = "{}/user-agent-js".format(os.getcwd()) command = [ - "../../../target/release/servo", + "../../../target/release/servoshell", url, "--userscripts=" + ua_script_path, "--headless", diff --git a/etc/servo.sb b/etc/servo.sb deleted file mode 100644 index a77706c7edf..00000000000 --- a/etc/servo.sb +++ /dev/null @@ -1,32 +0,0 @@ -(version 1) - -(deny default) - -(allow file* - (literal "/dev/dtracehelper") - (literal "/dev/urandom") - (literal "/dev/null")) - -(allow file-read* - (subpath "")) - -(allow file-write* - (regex #"^/Users/[^/]+/Library/Autosave Information") - (subpath "/private/var")) - -; This is unfortunate... -(allow process-exec - (regex #"/servo$")) - -(deny file-write* - (regex #"/servo$")) - -(allow sysctl-read) -(allow sysctl-write) -(allow ipc-posix-shm) -(allow process-fork) -(allow mach-lookup) -(allow network-outbound) - -(debug deny) - diff --git a/ports/servoshell/Cargo.toml b/ports/servoshell/Cargo.toml index 89c46a02827..fd913c2e4d1 100644 --- a/ports/servoshell/Cargo.toml +++ b/ports/servoshell/Cargo.toml @@ -14,7 +14,7 @@ path = "lib.rs" bench = false [[bin]] -name = "servo" +name = "servoshell" path = "main.rs" bench = false @@ -33,10 +33,10 @@ cc = "1.2" winresource = "0.1" [package.metadata.winresource] -FileDescription = "Servo" +FileDescription = "ServoShell" LegalCopyright = "© The Servo Project Developers" -OriginalFilename = "servo.exe" -ProductName = "Servo" +OriginalFilename = "servoshell.exe" +ProductName = "ServoShell" [features] default = ["gamepad", "libservo/clipboard", "js_jit", "max_log_level", "webgpu", "webxr"] diff --git a/ports/servoshell/build.rs b/ports/servoshell/build.rs index e59c002d30d..cdde077655e 100644 --- a/ports/servoshell/build.rs +++ b/ports/servoshell/build.rs @@ -52,7 +52,7 @@ fn main() -> Result<(), Box> { { let mut res = winresource::WindowsResource::new(); res.set_icon("../../resources/servo.ico"); - res.set_manifest_file("platform/windows/servo.exe.manifest"); + res.set_manifest_file("platform/windows/servoshell.exe.manifest"); res.compile().unwrap(); } #[cfg(not(windows))] diff --git a/ports/servoshell/platform/macos/Info.plist b/ports/servoshell/platform/macos/Info.plist index 05645322c6b..1236d0581c3 100644 --- a/ports/servoshell/platform/macos/Info.plist +++ b/ports/servoshell/platform/macos/Info.plist @@ -3,17 +3,17 @@ CFBundleExecutable - servo + servoshell CFBundleGetInfoString - Servo + ServoShell CFBundleIconFile servo.icns CFBundleIdentifier - org.servo.Servo + org.servo.ServoShell CFBundleInfoDictionaryVersion 6.0 CFBundleName - Servo + ServoShell CFBundlePackageType APPL CFBundleShortVersionString diff --git a/ports/servoshell/platform/macos/mod.rs b/ports/servoshell/platform/macos/mod.rs index fc1d9d1b2c0..34418c2ca35 100644 --- a/ports/servoshell/platform/macos/mod.rs +++ b/ports/servoshell/platform/macos/mod.rs @@ -37,7 +37,7 @@ pub fn deinit(clean_shutdown: bool) { #[unsafe(link_section = "__TEXT,__info_plist")] #[unsafe(no_mangle)] -pub static INFO_PLIST: [u8; 904] = *include_bytes!("Info.plist"); +pub static INFO_PLIST: [u8; 924] = *include_bytes!("Info.plist"); #[link(name = "count_threads")] unsafe extern "C" { diff --git a/ports/servoshell/platform/windows/servo.exe.manifest b/ports/servoshell/platform/windows/servoshell.exe.manifest similarity index 96% rename from ports/servoshell/platform/windows/servo.exe.manifest rename to ports/servoshell/platform/windows/servoshell.exe.manifest index 7cc2a4fa0ac..2763fba7345 100644 --- a/ports/servoshell/platform/windows/servo.exe.manifest +++ b/ports/servoshell/platform/windows/servoshell.exe.manifest @@ -3,7 +3,7 @@ manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> diff --git a/ports/servoshell/prefs.rs b/ports/servoshell/prefs.rs index c2f40dc9b9f..f63e5ae01b5 100644 --- a/ports/servoshell/prefs.rs +++ b/ports/servoshell/prefs.rs @@ -366,7 +366,7 @@ fn map_debug_options(arg: String) -> Vec { } #[derive(Bpaf, Clone, Debug)] -#[bpaf(options, version(VERSION), usage("servo [OPTIONS] URL"))] +#[bpaf(options, version(VERSION), usage("servoshell [OPTIONS] URL"))] // Newlines in comments are intentional to have the right formatting for the help message. struct CmdArgs { /// Background Hang Monitor enabled. diff --git a/python/servo/package_commands.py b/python/servo/package_commands.py index 81791675cab..8ebd9709b07 100644 --- a/python/servo/package_commands.py +++ b/python/servo/package_commands.py @@ -230,7 +230,7 @@ class PackageCommands(CommandBase): shutil.copy2(binary_path, content_dir) print("Packaging GStreamer...") - dmg_binary = path.join(content_dir, "servo") + dmg_binary = path.join(content_dir, "servoshell") servo.gstreamer.package_gstreamer_dylibs(dmg_binary, lib_dir, self.target) print("Adding version to Credits.rtf") @@ -343,7 +343,7 @@ class PackageCommands(CommandBase): except subprocess.CalledProcessError as e: print("WiX light exited with return value %d" % e.returncode) return e.returncode - print("Packaged Servo into " + path.join(dir_to_msi, "Servo.exe")) + print("Packaged Servo into " + path.join(dir_to_msi, "servoshell.exe")) print("Creating ZIP") zip_path = path.join(dir_to_msi, "Servo.zip") @@ -463,7 +463,7 @@ class PackageCommands(CommandBase): print("\r ➤ Bumping version number...") replacements = { "ports/servoshell/Cargo.toml": r'^version ?= ?"(?P.*?)"', - "ports/servoshell/platform/windows/servo.exe.manifest": r'assemblyIdentity[^\/>]+version="(?P.*?).0\"[^\/>]*\/>', + "ports/servoshell/platform/windows/servoshell.exe.manifest": r'assemblyIdentity[^\/>]+version="(?P.*?).0\"[^\/>]*\/>', "support/windows/Servo.wxs.mako": r'.*?)".*>', "ports/servoshell/platform/macos/Info.plist": r"CFBundleShortVersionString\n\s*(?P.*?)", "support/android/apk/servoapp/build.gradle.kts": r'versionName\s*=\s*"(?P.*?)"', diff --git a/python/servo/platform/build_target.py b/python/servo/platform/build_target.py index 49420152161..0a71d36df7e 100644 --- a/python/servo/platform/build_target.py +++ b/python/servo/platform/build_target.py @@ -68,7 +68,7 @@ class BuildTarget(object): return self.target_triple def binary_name(self) -> str: - return f"servo{servo.platform.get().executable_suffix()}" + return f"servoshell{servo.platform.get().executable_suffix()}" def configure_build_environment(self, env: dict[str, str], config: dict[str, Any], topdir: pathlib.Path) -> None: pass diff --git a/resources/android_params b/resources/android_params index 17775237c00..a14177f6f8a 100644 --- a/resources/android_params +++ b/resources/android_params @@ -1,9 +1,9 @@ -# The first line here should be the "servo" argument (without quotes) and the +# The first line here should be the "servoshell" argument (without quotes) and the # last should be the URL to load. # Blank lines and those beginning with a '#' are ignored. # Each line should be a separate parameter as would be parsed by the shell. # For example, "servo -p 10 http://en.wikipedia.org/wiki/Rust" would take 4 # lines (the "-p" and "10" are separate even though they are related). -servo +servoshell http://en.wikipedia.org/wiki/Rust diff --git a/resources/org.servo.Servo.desktop b/resources/org.servo.Servo.desktop index 3cc963343bb..332b23dd812 100644 --- a/resources/org.servo.Servo.desktop +++ b/resources/org.servo.Servo.desktop @@ -17,7 +17,7 @@ Name=Servo GenericName=Web Browser Comment=Browse the Web # TODO: Replace SERVO_SRC_PATH with the path to the Servo sources -Exec=SERVO_SRC_PATH/target/release/servo %u +Exec=SERVO_SRC_PATH/target/release/servoshell %u Icon=servo Terminal=false Type=Application @@ -27,7 +27,7 @@ Categories=Network;WebBrowser; Keywords=web;browser;internet; Actions=new-window; +# Todo: Tell existing servoshell process to open a new window [Desktop Action new-window] Name=Open a New Window -# TODO: Replace SERVO_SRC_PATH with the path to the Servo sources -Exec=SERVO_SRC_PATH/target/release/servo %u +Exec=SERVO_SRC_PATH/target/release/servoshell %u diff --git a/support/windows/Servo.wxs.mako b/support/windows/Servo.wxs.mako index a5b7099a08d..e78264537ac 100644 --- a/support/windows/Servo.wxs.mako +++ b/support/windows/Servo.wxs.mako @@ -28,15 +28,15 @@ Guid="95bcea71-78bb-4ec8-9766-44bc01443840" Win64="yes"> ${include_dependencies()} @@ -69,7 +69,7 @@ - + <%! @@ -92,7 +92,7 @@ def listdirs(directory): if path.isdir(path.join(directory, f))] def listdeps(temp_dir): - return [path.join(temp_dir, f) for f in os.listdir(temp_dir) if os.path.isfile(path.join(temp_dir, f)) and f != "servo.exe"] + return [path.join(temp_dir, f) for f in os.listdir(temp_dir) if os.path.isfile(path.join(temp_dir, f)) and f != "servoshell.exe"] def windowize(p): if not p.startswith("/"): diff --git a/tests/power/PowerMeasure.py b/tests/power/PowerMeasure.py index 5dc4ff9e886..e5cf27c0a1c 100755 --- a/tests/power/PowerMeasure.py +++ b/tests/power/PowerMeasure.py @@ -42,7 +42,7 @@ def PowerCollector(OutputDir, Benchmarks, LayoutThreads, Renderer): power_dir, "power-Layout%d-set%d.csv" % (layoutT, ExpNum)) TimeFiles = path.join( time_dir, "time-Layout%d-set%d.csv" % (layoutT, ExpNum)) - ServoCmd = "(time ../../target/release/servo -x -y %d %s %s) 2> %s" % \ + ServoCmd = "(time ../../target/release/servoshell -x -y %d %s %s) 2> %s" % \ (layoutT, Renderer, Benchmarks, TimeFiles) Metrics = path.join( etc_dir, "metrics-Layout%d-set%d-css.csv" % (layoutT, ExpNum)) diff --git a/tests/wpt/meta/MANIFEST.json b/tests/wpt/meta/MANIFEST.json index a463e01d1fd..3c0f67fc469 100644 --- a/tests/wpt/meta/MANIFEST.json +++ b/tests/wpt/meta/MANIFEST.json @@ -548736,7 +548736,7 @@ [] ], "browser.py": [ - "4265ad06f9b02022da199a79e4879c3c079f648d", + "582697e3b23477f691a61b441b154630e78d3d2e", [] ], "commands.json": [ @@ -548780,7 +548780,7 @@ [] ], "run.py": [ - "7bc9572ad73c9f46a2768b2e49d5ae9c9fe47a1a", + "4f4ba56738b24d4472f7cd217eee3567607b13f6", [] ], "testfiles.py": [ @@ -549056,7 +549056,7 @@ [] ], "servo_legacy.py": [ - "47b3b504f58750d681ce7a5e04598e30e093d06d", + "801f29e088c6f8ff596023c1c7d0678e45f16321", [] ], "webkit.py": [ diff --git a/tests/wpt/tests/tools/wpt/browser.py b/tests/wpt/tests/tools/wpt/browser.py index 4265ad06f9b..582697e3b23 100644 --- a/tests/wpt/tests/tools/wpt/browser.py +++ b/tests/wpt/tests/tools/wpt/browser.py @@ -2315,7 +2315,7 @@ class Servo(Browser): resp = self._get(channel) decompress(resp.raw, dest=dest) - path = which("servo", path=os.path.join(dest, "servo")) + path = which("servoshell", path=os.path.join(dest, "servo")) st = os.stat(path) os.chmod(path, st.st_mode | stat.S_IEXEC) return path diff --git a/tests/wpt/tests/tools/wpt/run.py b/tests/wpt/tests/tools/wpt/run.py index 7bc9572ad73..4f4ba56738b 100644 --- a/tests/wpt/tests/tools/wpt/run.py +++ b/tests/wpt/tests/tools/wpt/run.py @@ -721,7 +721,7 @@ class Servo(BrowserSetup): binary = self.browser.find_binary(self.venv.path, None) if binary is None: - raise WptrunError("Unable to find servo binary in PATH") + raise WptrunError("Unable to find servoshell binary in PATH") kwargs["binary"] = binary @@ -738,7 +738,7 @@ class ServoLegacy(Servo): binary = self.browser.find_binary(self.venv.path, None) if binary is None: - raise WptrunError("Unable to find servo binary in PATH") + raise WptrunError("Unable to find servoshell binary in PATH") kwargs["binary"] = binary diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/servo_legacy.py b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/servo_legacy.py index 47b3b504f58..801f29e088c 100644 --- a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/servo_legacy.py +++ b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/servo_legacy.py @@ -95,7 +95,7 @@ class ServoLegacyBrowser(NullBrowser): class ServoLegacyWdspecBrowser(WebDriverBrowser): # TODO: could share an implemenation with servodriver.py, perhaps - def __init__(self, logger, binary="servo", webdriver_binary="servo", + def __init__(self, logger, binary="servoshell", webdriver_binary="servoshell", binary_args=None, webdriver_args=None, env=None, port=None, headless=None, **kwargs):