aboutsummaryrefslogtreecommitdiffstats
path: root/support/android/apk
Commit message (Collapse)AuthorAgeFilesLines
* libservo: Move size handling to `RenderContext` from `WindowMethods` (#35621)Martin Robinson2025-02-252-7/+0
| | | | | | | | | | | | | | | | | | | | | This is the first step toward removing `WindowMethods`, which will gradually be integrated into the `WebView` and `WebViewDelegate`. Sizing of the `WebView` is now handled by the a size associated with a `RenderingContext`. `WebView`s will eventually just paint the entire size of their `RenderingContext`. Notes: - This is transitionary step so now there is a `WebView::resize` and a `WebView::move_resize`. The first is the future which will resize the `WebView` and its associated `RenderingContext`. The second is a function that the virtual `WebView`s that will soon be replaced by a the one-`WebView` per `WebView` model. - We do not need to call `WebView::move_resize` at as much any longer because the default size of the `WebView` is to take up the whole `RenderingContext`. - `SurfmanRenderingContext` is no longer exposed in the API, as a surfman context doesn't naturally have a size unless a surface is bound to it. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* libservo: Don't bounce ready-to-present frame notifications to the ↵Martin Robinson2025-02-122-6/+0
| | | | | | | | | | | | | | | Constellation (#35369) Instead of telling the Constellation to tell the embedder that new frames are ready, have the compositor tell the embedder directly. This should reduce frame latency. Now, after processing compositor updates, run any pending `WebView::new_frame_ready` delegate methods. This change also removes the `refresh` call from the Java interface as that was the only other place that the compositor was rendering the WebRender scene outside of event looping spinning. This `refresh` call was completely unused. Signed-off-by: Martin Robinson <mrobinson@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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* android: add support for x86_64 images (#31725)Mukilan Thiyagarajan2024-03-184-4/+33
| | | Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Preliminary Android build support (#31086)Mukilan Thiyagarajan2024-01-2222-775/+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>
* Update servo.png to new logo assetMustafa Al-Qinneh2020-02-241-0/+0
|
* Delete servo-1024.pngMustafa Al-Qinneh2020-02-241-0/+0
|
* Delete servo-1000.pngMustafa Al-Qinneh2020-02-131-0/+0
|
* Add files via uploadMustafa Al-Qinneh2020-02-131-0/+0
| | | * Added servo-1024.png (replacing servo.png @ 1024px)
* Add Servo logoMustafa Al-Qinneh2020-02-131-0/+0
| | | * Added servo-1000.png (replacing servo.png @ 1024px)
* extended android jni with onMediaSessionSetPositionStateShinichi Morimoto2019-12-034-1/+24
|
* Remove stop button for now and show play/pause in compact modeFernando Jiménez Moreno2019-11-201-12/+4
|
* Update media session metadata and show content text with artist and albumFernando Jiménez Moreno2019-11-202-8/+49
|
* Do not play notification sound when creating media session on AndroidFernando Jiménez Moreno2019-11-201-1/+1
|
* Fix play actionFernando Jiménez Moreno2019-11-202-18/+27
|
* Switch play and pause buttons according to playback stateFernando Jiménez Moreno2019-11-203-14/+32
|
* Remove prev and next track action buttons for nowFernando Jiménez Moreno2019-11-201-22/+2
|
* Send MediaSessionAction from AndroidFernando Jiménez Moreno2019-11-205-3/+33
|
* Move media session related code out of MainActivityFernando Jiménez Moreno2019-11-202-117/+151
|
* MediaSession show media controls on AndroidFernando Jiménez Moreno2019-11-207-8/+132
|
* MediaSession Android bitsFernando Jiménez Moreno2019-11-203-0/+33
|
* Make https the default protocol for address bar on Android, too.Jan Andre Ikenmeyer2019-11-101-0/+4
|
* UWP: better mouse interaction supportPaul Rouget2019-10-293-3/+3
|
* Allow setting GST_DEBUG on Android through machFernando Jiménez Moreno2019-10-143-2/+7
|
* Implement window.alert on AndroidPaul Rouget2019-08-271-0/+5
|
* Expose javascript:window.alert() to libsimpleservoPaul Rouget2019-07-193-0/+12
|
* Add support for market:// urlsakshitkrnagpal2019-06-282-0/+20
|
* Upgrade NDK to v15c.Josh Matthews2019-05-012-4/+2
|
* Add transparent padding around ServoSurfacePaul Rouget2019-03-254-12/+55
|
* Auto merge of #22773 - paulrouget:immersive, r=jdmbors-servo2019-02-072-0/+7
|\ | | | | | | | | | | | | | | | | | | | | | | Support for ExternalVR implementation This PR adds the hook necessary for the ExternalVR rust-webvr driver. Waiting on rust-webvr 0.9.3 to be published before landing. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22773) <!-- Reviewable:end -->
| * Support for ExternalVR implementationPaul Rouget2019-02-072-0/+7
| |
* | Remove readfile callbackPaul Rouget2019-02-063-22/+0
|/
* Implement ServoSurface::onSurfaceChangedPaul Rouget2019-01-302-3/+24
|
* Stop catching Android click eventsManish Goregaokar2019-01-161-1/+0
| | | | | | Servo already can simulate clicks from multiple tap events fixes https://github.com/servo/servo/issues/22702
* Remove titlebarManish Goregaokar2018-11-291-0/+1
| | | | fixes https://github.com/servo/servo/issues/22318
* Add daydream and cardboard intent filtersManish Goregaokar2018-11-291-0/+19
|
* Automatically enable webvr for Android VR buildsManish Goregaokar2018-11-281-1/+1
|
* Move Android and ML build artefacts to their own subdirectoryAnthony Ramine2018-11-283-4/+4
| | | | Works around #20380.
* Auto merge of #22239 - paulrouget:shutdown2, r=jdmbors-servo2018-11-233-21/+41
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | shutdown synchronously --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22239) <!-- Reviewable:end -->
| * shutdown synchronouslyPaul Rouget2018-11-223-21/+41
| |