aboutsummaryrefslogtreecommitdiffstats
path: root/support
Commit message (Collapse)AuthorAgeFilesLines
* Upgrade Rust to 1.82.0 (#34592)Jonathan Schwender2024-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | * Fix deprecated PanicInfo alias Fixes: ```rust use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead ``` Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com> * build: upgrade rustc to 1.82.0 Tracking issue for the silenced lints: https://github.com/servo/servo/issues/34591 Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com> --------- Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* build: upgrade rustc to 1.81.0 (#34270)Mukilan Thiyagarajan2024-12-123-3/+5
| | | Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* android: Fix flinging downwards (#34584)Jonathan Schwender2024-12-121-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * android: Fix onScroll source Scrolling should be based on `e2`, the second event, since dX and dY are relative to e2 and not e1. Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com> * android: Fix flinging down on android. We need to ensure x and y are inside the window, otherwise servo will not scroll! Our fling implementation will set `mCurX` and `mCurY` to a very high initial value when flinging with a negative velocity, since we don't know the size of our content page and the android `OverScroller` needs to know the size of the page. Setting the page size to a ridiculously high value ensures that flinging will not be cut of short, even if we fling farther then the edge of the screen, starting from the touch up point. Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com> --------- Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* ohos: Improve argument filtering (#34422)Jonathan Schwender2024-12-021-11/+20
| | | | | | | | | This avoids future crashes if new unknown parameters are passed by the runtime to the app. It does make it slightly more inconvenient for the user, since they must use `=` and space at the right place now. This will also be updated in the book accordingly Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* ohos: Support swiping to go back (#34433)Jonathan Schwender2024-12-011-1/+8
| | | | | | | | | | | Override the `onBackPress` callback, which by default brings the application to the background and instead tell servo to go back one page. Users can invoke this by swiping from the left edge to the middle. There is no equivalent callback / gesture to go forward. In the default browser swiping from the right side to the middle also invokes the goBack callback. Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* Support custom derives for generated types (#34356)Josh Matthews2024-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * script: Derive more Default implementations for dictionaries. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * script: Support arbitrary derives on generated enums. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * script: Support arbitrary derives for generated dictionaries. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * script: Support arbitrary derives for generated unions. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * script: Derive more impls for generated dicts and unions. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * script: Implement FromStr for generated enums. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * Fix clippy. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * crown: Allow returning unrooted values from Default::default. Signed-off-by: Josh Matthews <josh@joshmatthews.net> --------- Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Remove etc/shell.nix in favour of shell.nix (#34336)Delan Azabani2024-11-221-2/+1
| | | Signed-off-by: Delan Azabani <dazabani@igalia.com>
* crown: fix build for rust 1.82 on musl (#34307)LN Liberda2024-11-201-1/+1
| | | Signed-off-by: LN Liberda <lauren@selfisekai.rocks>
* ohos: Add basic IME and keyboard support (#34188)Jonathan Schwender2024-11-151-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ohos: Add basic IME and keyboard support - Add extremely basic support for keyboard events - Add basic IME support - Showing and hiding the IME - inserting text - deleting characters - very basic configuration of the IME Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> * Apply suggestions from code review Improve the log message Co-authored-by: Josh Matthews <josh@joshmatthews.net> Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com> * Update ports/servoshell/egl/ohos.rs Co-authored-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com> Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com> * ohos: Bump the minimum required SDK version to 5.0 Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> * ohos: Remove pub from callbacks The callbacks don't need to be public, as we will be registering them. Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> * Rename composition event Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> * ohos: clippy in log Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> * ohos: address some clippy warnings Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> * ohos: Raise Error in mach if unsupported SDK version is used. Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> * Add keyboard-types dependency for android Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> --------- Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com> Co-authored-by: Josh Matthews <josh@joshmatthews.net> Co-authored-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
* ohos: avoid passing some cli arguments to servo (#34237)Mukilan Thiyagarajan2024-11-131-0/+2
| | | | | | | | | | | | | | | | | | | These following four OHOS specific arguments are being passed by the OHOS runtime to the EntryAbility, which then passess them on to Servo's argument parsing logic: * `--debugApp=false` * `--send_to_erms_targetAppDistType=os_integration` * `--send_to_erms_targetAppProvisionType=release` * `--send_to_erms_targetBundleType=0` When Servo's argument parsing logic encounters an unrecognized argument, it terminates the process after logging an error to stderr (which is not visible in hilog). This patch simply filters out these arguments so the parsing logic doesn't fail. Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Exclude `crown` from the root Cargo workspace (#34173)Samson2024-11-0812-247/+670
| | | | | | | | | | | | | | | * Exclude crown from workspace Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Update shell.nix and remove filterlock Signed-off-by: Delan Azabani <dazabani@igalia.com> --------- Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> Signed-off-by: Delan Azabani <dazabani@igalia.com> Co-authored-by: Delan Azabani <dazabani@igalia.com>
* Support associated types in must_root lint (#34163)Samson2024-11-064-21/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Support associated types in must_root lint Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * fix Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * fixups Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * fixup Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Fix crown violations Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * fix eng Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * make new test use RUSTC_BOOTSTRAP=1 Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> --------- Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Conversion to Gradle KTS (#33772)Clocks2024-11-0118-569/+602
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Convert settings.gradle to Kotlin Script Stage 1 of #33742 Signed-off-by: clocks <doomsdayrs@gmail.com> * servoview-local: Convert build.gradle to Kotlin Script Stage 1 of #33742 Signed-off-by: clocks <doomsdayrs@gmail.com> * Convert build.gradle to Kotlin Script This was a trickier one, as I wanted to maintain compatibility with the rest of the files while facilitating this migration. Closures are annoying, another annoyance of loosely typed languages in an OOP project. Migration of child build scripts will require the reverse code and or migration of this scripts functions to kotlin lambdas / functions (which are just jvm functions). Code based off of the following guide. https://docs.gradle.org/current/userguide/kotlin_dsl.html#groovy_closures_from_kotlin Stage 1 of #33742 Signed-off-by: clocks <doomsdayrs@gmail.com> * servoapp: Convert build.gradle to Kotlin Script Migrated deprecated API usages. There are two more, but ignored for now. ("splits.density", "capitalize") Stage 1 of #33742 Signed-off-by: clocks <doomsdayrs@gmail.com> * servoview: Convert build.gradle to Kotlin Script Migrated deprecated API usages. There are two more, but ignored for now. ("splits.density", "capitalize") Stage 1 of #33742 Signed-off-by: clocks <doomsdayrs@gmail.com> * servoview: Replace ResourceGroovyMethods with Kotlin File.walk Signed-off-by: clocks <doomsdayrs@gmail.com> * Replace Groovy Closures with Kotlin Lambda types Stage 1 of #33742 Signed-off-by: clocks <doomsdayrs@gmail.com> * Move Utility fields to buildSrc Using extra fields is quite annoying and makes it hard to maintain API stability. "buildSrc" is designed for this task, and thus is being used for said task. This means that when editing build.gradle files in an Android Studio, there is a direct reference to the source of a function. (Easier time referring to documentation, source of function, etc). More information here: https://docs.gradle.org/current/userguide/sharing_build_logic_between_subprojects.html Stage 1 of #33742 Signed-off-by: clocks <doomsdayrs@gmail.com> * Sync target SDK to 33 Signed-off-by: clocks <doomsdayrs@gmail.com> * Make Notification actions immutable. Otherwise android lint will be upset. Signed-off-by: clocks <doomsdayrs@gmail.com> * Move dependencies from servoview to servoapp ServoView does not use them. Signed-off-by: clocks <doomsdayrs@gmail.com> * Add POST_NOTIFICATIONS to manifest Signed-off-by: clocks <doomsdayrs@gmail.com> * Add host to intent-filter Use "*" for any host, lets hope this works. Signed-off-by: clocks <doomsdayrs@gmail.com> * Solve ndkBuild tasks not being linked The problem stems from something something groovy wishy washy unclear execution order something Kotlin explicit execution order. Merge tasks exist after the project is evaluated. The problem is that simply running afterEvaluate causes an ConcurrentModificationException. This is because of creating a new task while looping over existing tasks. To remedy this we simply filter the tasks first, than create and link the new task. Signed-off-by: clocks <doomsdayrs@gmail.com> * Add documentation to why some functions are extensions to Project Signed-off-by: clocks <doomsdayrs@gmail.com> * android: drop the host directives from AndroidManifest.xml Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> --------- Signed-off-by: clocks <doomsdayrs@gmail.com> Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Upgrade Android Gradle (#33681)Clocks2024-10-094-5/+6
| | | | | | | | | | | | | | | | | | | * Upgrade to Gradle 8.9 Gradle 8.0 is no longer supported by Android Studio. Signed-off-by: clocks <doomsdayrs@gmail.com> * Upgrade to AGP to 8.7 Signed-off-by: clocks <doomsdayrs@gmail.com> * Update to Android Build Tools 34.0.0 Signed-off-by: clocks <doomsdayrs@gmail.com> --------- Signed-off-by: clocks <doomsdayrs@gmail.com>
* Attempt to link to MPL-2.0 license page in Windows installer (#33711)Alex Touchet2024-10-081-2/+6
| | | Signed-off-by: Alex Touchet <26315797+atouchet@users.noreply.github.com>
* ohos: Add toast prompt (#33621)Jonathan Schwender2024-10-031-0/+10
| | | | | | | | | | | | | | | | | | * ohos: Add toast prompt Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> * ohos: Add toast on `load_ended` Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> * Apply review feedback Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com> --------- Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* ohos: Allow passing arguments to servoshell (#33588)Jonathan Schwender2024-10-023-6/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ohos: Bump minimum CMake version By bumping the minimum CMake version, we avoid a deprecation warning. The OH 4.0 SDK ships with CMake 3.16, so we can be sure that we have CMake 3.16 or newer available. Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> * ohos: Allow passing arguments to servoshell Allows passing options passed via `wants` to the Ability through to servoshell. This allows easier debugging, either by calling servoshell from a test app, or from the commandline, e.g. ``` hdc shell aa start -a EntryAbility -b org.servo.servoshell -U "https://www.wikipedia.org" \ --pb dom.webgpu.enabled true \ --ps dom.webgpu.wgpu_backend "gl" \ --pi layout.threads 4 ``` Note: While the OH `wants` API differentiates between boolean, string and integer values, we convert everything back to strings, so we can reuse the same parsing code as the desktop servoshell. Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com> --------- Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* ohos: Support product flavors (#33512)Jonathan Schwender2024-09-261-1/+1
| | | | | | | | | | | | | | | | | | | * ohos: Support product flavors Support different product flavors (e.g. with different signing configurations) by supporting --flavor on ohos. The flavor influences the package path for OH packages, so allow the flavor parameter on build + package + install Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com> * Fix smoketest Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> --------- Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com> Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
* ohos: Bundle resource files in hap (#33513)Jonathan Schwender2024-09-241-0/+6
| | | | | | | | | | Bundle resource files into the .hap, so they are available as files in the application sandbox, instead of included into the shared library. This should slightly reduce the binary size in debug and release mode. Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com> Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
* ohos: Add back and fwd button to vendored app (#33511)Jonathan Schwender2024-09-231-10/+31
| | | | | | | | | 25372340 added back and forward apis to the ohos servoshell. 157e28c5 vendored the ohos demo ArkTS app into the servo repo, but did not include the back and forward buttons, which were added in the meantime. This commit adds the missing back and forward buttons to the ArkTS code. Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* openharmony: add servoshell for ohos (#33295)Mukilan Thiyagarajan2024-09-2025-0/+476
| | | | | | | | | | | | | * openharmony: add servoshell for ohos Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * ohos: handle missing signing config on forks Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> --------- Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Add `rust-version` to all `Cargo.toml` files (#33483)Martin Robinson2024-09-171-0/+1
| | | | | | | This is another step preparing for building Servo without `mach`. Fixes #33430. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* android: publish nightly builds for aarch64 (#33435)Mukilan Thiyagarajan2024-09-163-4/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * android: publish nightly builds for aarch64 Publish the aarch64 apk and aar packages to both Github Releases and S3 so that it can be linked from servo.org. The focus is on getting a working version of the APK on the homepage, so few issues are resolved with temporary solutions: 1) We publish the "release" profile instead of "production" since the latter will need changes in the gradle configuration (the changes required was previously blocked on #32720 which is now closed). 2) The scheme for the version code is simple and doesn't consider other factors such as API level and product variants discussed in the Android docs (https://developer.android.com/google/play/publishing/multiple-apks#VersionCodes) This should be fine for now as we don't publish to any store yet. The change also makes it so that the 'Release nightly' workflow will endup building all 4 variants for the Android target, but only aarch64 is uploaded. This is because GH Actions doesn't have a good way to skip a specific job in a matrix and the additionally code complexity needed to acheive it (either generating a JSON dynamically in a new job and using `fromJSON` in the matrix definition or skipping each individual step based on matrix.target and `inputs.upload`) didn't seem worth the cost saved (this is executed only once a day). Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * android: add attestation for nightly build artifacts Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> --------- Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Update layout of servoshell android app (#33294)Daniel Adams2024-09-048-77/+108
| | | | | | | | | | | | | * Update layout of servoshell android app Signed-off-by: Daniel Adams <msub2official@gmail.com> * Remove gap after loop/idle text Signed-off-by: Daniel Adams <msub2official@gmail.com> --------- Signed-off-by: Daniel Adams <msub2official@gmail.com>
* Fix a memory leak in `components/script/script_runtime.rs` and add more leak ↵Erik Hennig2024-08-261-1/+7
| | | | | | | | | | | | | | | | | | | | | | suppressions (#33175) * asan: Add suppression for known false positive Signed-off-by: ede1998 <online@erik-hennig.me> * fix: re-suppress lazy_static leaks lazy_static is still used by dependencies and still leaks from static variables. Signed-off-by: ede1998 <online@erik-hennig.me> * fix: Memory leak of Box<NetworkingTaskSource> Signed-off-by: ede1998 <online@erik-hennig.me> --------- Signed-off-by: ede1998 <online@erik-hennig.me>
* replace once_cell (#33080)Hayashi Mikihiro2024-08-162-3/+2
| | | Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
* Remove lazy static (#33078)Hayashi Mikihiro2024-08-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * remove from rand Mutex<OsRng> can be initialized in compile time. Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> * remove from layout_2020 Mutex<()> can be initialize in compile time Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> * remove from media `IS_MULTIPROCESS` doesn't be used. Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> * remove lazy_static from dependencies Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> * rewrite suppressed_leaks_for_asan.txt For all of lazy_static was replaced with LazyLock. Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> --------- Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
* Update to rust 1.80.0 (#32896)Hayashi Mikihiro2024-08-073-56/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update for nix Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> * Update to Rust 1.80.0 Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> * Rename to BindingMode from BindingAnnotation https://github.com/rust-lang/rust/pull/124047 Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> * Remove TypeVariableOriginKind https://github.com/rust-lang/rust/pull/123016 Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> * Remove TypeVariableOrigin https://github.com/rust-lang/rust/pull/124955 Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> * Remove LintDiagnostic::msg rust-lang/rust#125410 Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> * common.rs fmt mistake indents Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> * trace_in_no_trace.rs remove mistake space Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> * trace_in_no_trace.rs remove mistake head space Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> * Workaround for https://github.com/servo/servo/issues/32912 It's dirty but it worked on 2000 runs Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> --------- Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com> Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
* Update mozjs (SpiderMonkey) to 128.0 (#32769)Samson2024-07-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update mozjs Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Fix changed readTransfer callback https://bugzilla.mozilla.org/show_bug.cgi?id=1842713 Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Use NewExternalArrayBuffer from glue https://github.com/servo/mozjs/pull/474/commits/d33454be74ec5b8d8faf51fab3ed477b8913898b Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Fix columnorigin and filename being in latin1 Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * fixup newexternalarray Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Float16 (this might require more work for codegen support) https://bugzilla.mozilla.org/show_bug.cgi?id=1833647 Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * js.strict is removed https://bugzilla.mozilla.org/show_bug.cgi?id=1621603 Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * asm options are now somewhere else https://hg.mozilla.org/mozilla-central/rev/26045c88e3972957087d535e7f259e08857bd2a2 Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Comment out offthread compilation Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Set NDK to 26 Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Fix 1-origin handling Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Expect `FinalizationRegistry` interface Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Good expectations Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * more expectations Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Add `WeakRef` to interfaces expectation Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * mozjs upgrade: fixes for Android Android NDK's layout has changed in r26 and 'lib64' no longer exists under `toolchain/llvm/prebuilt/linux-x86_64`. The libraries that used to be it are now present in `lib` folder itself. This patch updates the build configuration to use the `lib` folder instead when configuring the LIBCLANG_PATH environment variable. This patch also updates to a newer mozjs version that includes fixes for linker errors faced on Android (see #32769). Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * Patch libz-sys & update mozjs Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * update NDK version in README Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * Use servo/mozjs Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> * Update mozjs again Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> --------- Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* android: sign release APK with a custom key. (#32721)Mukilan Thiyagarajan2024-07-082-1/+28
| | | | | | | | | | | This PR adds support for signing all APKs we produce on the CI with a custom signing key. Currently the logic falls back to the debug key (which is generated by AGP and not persistent) if the environment variable for the keystore is not set. This allows local developer builds to work without requiring a key store. Once #32720 is resolved, we could sign just the production builds and remove the conditional logic. Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Make task_info as `macos` specific (#32693)Jonathan Schwender2024-07-042-6/+9
| | | | | | | | rust-analyzer breaks on Linux (when invoked without mach), because it tries to compile the c files, and doesn't find `mach_init.h` Since we don't need task_info on non-mac platforms, just make the crate empty on other platforms. Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
* android: Rename the Android app to reflect servo.org ownership and ↵Martin Robinson2024-06-248-27/+27
| | | | | `servoshell` (#32554) Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Add suppression comments + Suppress lazy_static (#32584)Erik Hennig2024-06-231-1/+5
| | | Co-authored-by: Jonas Zeunert <jonas@zeunert.org>
* crown: remove references to workspace manifest (#32567)Mukilan Thiyagarajan2024-06-201-5/+5
| | | | | | | | | The way our shell.nix works requires crown's Cargo.toml to be self-contained so that it can be built as a nix derivation in isolation. Fixes #32552. Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Move android port code to servoshell (#32533)Jonathan Schwender2024-06-192-3/+3
| | | | Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com> Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* Use workspace definitions for all crates and update to the 2021 edition (#32544)Martin Robinson2024-06-182-10/+10
|
* Restore accidentally deleted suppression file and suppress intentional leak ↵Erik Hennig2024-06-171-0/+1
| | | | | in stylo #32223 (#32527) Co-authored-by: Jonas Zeunert <jonas@zeunert.org>
* Android: fix url resolution (#32422)Gae242024-06-102-23/+15
| | | | | | | | | | | | | | | | * fix localhost Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com> * android: parse search bar field in rust Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com> * Update comment to reflect new function behavior --------- Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com> Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Update to Rust 1.78 (#32217)Samson2024-06-015-32/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update to rust 1.78 * Update crown for rust 1.78 * rust 1.78 is now stable * Update for nix * Update comment Co-authored-by: Martin Robinson <mrobinson@igalia.com> * Update support/crown/src/common.rs * Update support/crown/Cargo.toml * Update support/crown/src/common.rs * Fix ipc problem * Update ipc-channel to 0.18.1 * fixed fixme --------- Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* build(deps): bump compiletest_rs from 0.10.2 to 0.11.0 (#32408)dependabot[bot]2024-05-311-1/+1
| | | | | | | | | | | | | | | Bumps [compiletest_rs](https://github.com/Manishearth/compiletest-rs) from 0.10.2 to 0.11.0. - [Release notes](https://github.com/Manishearth/compiletest-rs/releases) - [Commits](https://github.com/Manishearth/compiletest-rs/compare/v0.10.2...v0.11.0) --- updated-dependencies: - dependency-name: compiletest_rs dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Android: load url from Intent, plus fixed some warnings (#32160)Gae242024-04-299-58/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * update gitignore folder with android build files * address some warnings Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com> * fix servo not loading url from Intent Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com> * format Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com> * InitOptions, added url field to avoid override homepage url Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com> * actually there is a gitignore file in the android folder Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com> * Restore buildToolsVersion property Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com> --------- Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
* nix build: replace `fetchCargoTarball` with `importCargoLock` (#31825)Mukilan Thiyagarajan2024-03-251-16/+16
| | | | | | | | | | | | [`importCargoLock`][1] allows us to use the existing Cargo.lock file. This means we no longer need to update the sha256 hash whenever the dependencies are upgraded. It also integrates with nix's rustToolchain support via `cargoSetupHooks` and automatically vendors the dependencies, allowing us to simplify the logic for `filterlock` derivation. [1]: https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/rust.section.md#vendoring-of-dependencies-vendoring-of-dependencies Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* android: add support for x86_64 images (#31725)Mukilan Thiyagarajan2024-03-184-4/+33
| | | Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* clippy: fix warnings on modules outside components (#31567)eri2024-03-072-17/+13
|
* shell.nix: update filterlock hash (#31515)Smitty2024-03-062-0/+5
| | | Signed-off-by: syvb <me@iter.ca>
* Update gstreamer crates to 0.22 (#31465)Samson2024-03-011-1/+1
|
* build: Add support for Visual Studio 2022 and VC143 DLLs (#31148)Martin Robinson2024-01-231-2/+0
| | | | | | | | | | | | | | | | | | | | | | | * build: Add support for Visual Studio 2022 and VC143 DLLs This change adds supports fot Visual Studio 2022 and the VC143 (current) version of the Visual Studio CRT. In addition, it reworks the way that Visual Studio is found, returning all installations in a generator, separately finding it via vswhere.exe, searching paths, and via environment variables. All of these installations are searched for the DLLs with highest priority given to the highest version of MS Visual Studio installed. The hope is that this makes the process more robust and properly handles having multiple versions installed, but only one with the correct runtime DLLs. * Update based on review comments Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com> --------- Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Preliminary Android build support (#31086)Mukilan Thiyagarajan2024-01-2228-872/+401
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Android build * Fixes * More fixes - Still failing in the linking step * More work on getting linking working Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * android: use mozjs with ndk r25c. loads servo.org more android build fixes. * fix ./mach run for android and make it follow logs Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * add experimental logic for compositor pause/resume Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * pass DPI from android to simpleservo Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * ci: add android workflow Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * switch to ANDROID_SDK_ROOT and ANDROID_NDK_ROOT vars Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * upgrade gradle to 4.10.1 Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * upgrade to gradle 5.1.1 Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * upgrade to gradle 8 and agp 8 Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * make compositing work again with external present Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * android: improve mach support for non-NixOS and CI Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * fix sampler compilation bug introduced in #30490 Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * ci: add android build to main workflow Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * gradle: set MinSdk = targetSdk = 30 NDK requires we compile against the minSdk API level which is 30 in our case. Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * add instructions for android in README.md Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * apk: move servosurface to servoview Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * apk: uncomment the mediasession callbacks on MainActivity Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * apk: fix crash on MainAtivity.onDestroy Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * apk: drop VR, arm 5 and unused code This commit drops: * support for google, oculusvr * support for arm5 architecture and also removes * fakeld scripts * unused java code Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * cleanup shell.nix Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * android: add FIXMEs for gstreamer code Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * apk: remove commented code and debug logs Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * cleanup ServoView.java Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * mach: comment call to download gstreamer deps for android Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * disable bluetooth for jniapi as blurdroid is broken Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * fixup! README.md * fixup! remove change in Cargo.toml * fixup! move shell variables together * fixup! cleanup jniapi/Cargo.toml comments * delete commented gstreamer related android code Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * remove unused config variable in servbuild Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * android: more cleanup Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * force no_static_freetype only for android * use actions to manage sdk, ndk and java Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * rename embedder event names to be more clear. Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * link to startup crash issue Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * fix lint issues Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * upgrade env_logger to 0.10 with duplicate exception libservo and android_logger can use env_logger 0.10 but quickcheck is still stuck on 0.8 and has not seen any activity in the last 2 years. This commit adds a duplicate exception until the quickcheck dependency can be upgraded (or replaced) Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * android: fix comments Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * disable jemalloc on android Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> * fixup! replace linux with android in cfg --------- Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* crown: Add a cargo config.toml file (#31090)Martin Robinson2024-01-151-0/+2
| | | | | This makes it more foolproof to install crown from inside the Servo directory, because the root Servo config.toml overrides the rustc to use crown (an obvious circular dependency).
* Fix crown on NixOS (#30987)Delan Azabani2024-01-054-0/+242
| | | | | | | | | | | | | | | | | | | | | * Fix crown on NixOS * no need to install libs, because there are none * fix program name in usage message * use the cargo provided by each buildPhase * cargo update --offline can be used to reformat lockfiles * document how to keep rust-toolchain.toml and etc/shell.nix in sync * clarify comment about allowBuiltinFetchGit * fix license * clarify purpose of filterlock * explain why crown must not use workspace dependencies