In addition to updating webrender and the third-party deps, this includes:
- Marking some more reftests as passing with the new version of webrender.
- Updating webrender bindings code to go with changes to push_stacking_context.
- Passing the window dimensions to the Renderer::new function.
MozReview-Commit-ID: 6dRHvAmIQ40
This also updates webrender_bindings for a few API changes:
- new offset field in ImageDescriptor
- new tiling argument to add_image
- change in set_root_display_list
MozReview-Commit-ID: JUgPviRdekc
This also:
1) Updates the webrender_bindings Cargo.toml file to use the latest version
numbers of webrender and webrender_traits
2) Updates the webrender_bindings Cargo.toml file to use the same version of
other dependencies (euclid, etc.) as webrender itself does
3) Updates the webrender_bindings glue code for API changes in push_border,
add_image, and add_raw_font.
Doing this gets us all of the benefits that we want from Cargo
workspaces (only compiling artifacts from gkrust-shared one time for
both libraries) without all the hassles that using Cargo workspaces
would require. We don't have to worry about multiple Cargo processes
running simultaneously and racing to write files; Cargo is smart enough
to lock the build directory to serialize access to it.
This updates the following third-party dependencies of mozjs_sys:
gcc v0.3.40 -> v0.3.42
libc v0.2.18 -> v0.2.20
libz-sys v1.0.10 -> v1.0.12
pkg-config v0.3.8 -> v0.3.9
Since libc is updated, we also need to update the gkrust lockfiles to use the
new version, because leaving it at 0.2.18 will result in improper vendoring of
the crates (see bug 1336528). None of the other mozjs_sys crates are shared by
gkrust.
MozReview-Commit-ID: 5FHELF8YKD0
I want to get Servo vendored into servo/. The previous plan was to
replace the dummy geckolib with the real deal when the vendoring is
done. Unfortunately, this will require a significant `cargo vendor`
change, which we want to punt on for a bit.
So, this commit moves our dummy geckolib outside of servo/ so we
don't need to `cargo update` or `cargo vendor` when the real servo/
is installed.
The change to toolkit/library/rust/shared/Cargo.toml can be reverted
in the stylo repo to allow it to use the real geckolib.
We also update the taskgraph code for detecting Servo. Previously,
it looked for a file in the possibly-vendored servo/ directory. Once
the vendoring happens, this check will always pass. But without the
real geckolib, the Servo builds will fail. So, we change the check
to look for the real geckolib. This is implemented a bit hackily.
But it will be short-lived until we run `cargo vendor`.
MozReview-Commit-ID: CxGTwy6bK9j
268fa5f3bc25 grafted an old patch to define --features=servo in
rules.mk. That patch was written before RUST_LIBRARY_FEATURES
existed. This commit fixes it up.
MozReview-Commit-ID: L5atm5CsP8d
Update the vendored third-party dependencies for the mozjs-sys crate.
This picks up recent bug-fixes and reduces noise in unrelated runs
of 'mach vendor'.
The libc crate is also used by the rust url parser.
gcc 0.3.35 -> 0.3.40
libc 0.2.16 -> 0.2.18
libz-sys 1.0.6 -> 1.0.10
MozReview-Commit-ID: 5ri4nOtQQ1n
This patch also drops the pretense that rust-url-capi will be used from
outside of c++, or that it will be used outside of mozilla-central,
removing the ifdef __cplusplus code, and including the C++ header
"nsString.h".
MozReview-Commit-ID: BULhHf3DObe