зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1319199 - Update webrender_bindings to opt-out of freetype. r=gfx?
Since webrender now re-exports the servo-freetype-sys option as a feature, we can opt out of having that in webrender_bindings and use the webrender as unmodified. This patch also updates the README as the in-tree webrender is now exactly the same as upstream webrender, which simplifies future updates to webrender. MozReview-Commit-ID: 6JBtgjWIcn2
This commit is contained in:
Родитель
e59d0bfeec
Коммит
59eaa36242
|
@ -35,31 +35,21 @@ What if you have to make changes to webrender itself?
|
|||
|
||||
1) Update your graphics branch checkout to the latest code on the
|
||||
graphics branch
|
||||
2) Separately, check out the webrender repo to the last version we
|
||||
used in-tree (right now it's
|
||||
git:b2a15e8b948a7c5db7f5fe7fbfa6fe4c8dda4a0b)
|
||||
3) Do a diff between the webrender repo and the stuff we have in-tree
|
||||
to see what the differences are and make a note. The only differences (if any)
|
||||
should be in the Cargo.toml file.
|
||||
4) Update the webrender repo to the version you want
|
||||
5) Copy over the webrender files into gfx/webrender (and
|
||||
gfx/webrender_traits) but make sure you keep the changes from step 3.
|
||||
6) Commit your changes to the graphics branch locally
|
||||
7) Run |mach vendor rust| to update the rust dependencies in third_party/rust
|
||||
8) Commit the vendored changes locally
|
||||
9) Build and test. You may need to make changes in bindings.rs or on
|
||||
the C++ side depending on what changed in webrender. This can
|
||||
potentially be quite tricky if you don't fully understand the API
|
||||
changes on the webrender side. In this step, try to not use your new
|
||||
features yet, just get the build working with the minimal changes.
|
||||
10) Update the git revision in this README.webrender file, step (2) above
|
||||
11) Commit the changes locally from step 9, and push everything to the
|
||||
graphics branch.
|
||||
12) Now you have an update webrender with the new features you wanted,
|
||||
so you can write gecko code against them.
|
||||
2) Check out and update the webrender repo to the version you want
|
||||
3) Copy over the webrender and webrender_traits folders into gfx/.
|
||||
4) If you need to modify webrender_bindings/Cargo.toml to include or remove
|
||||
features, do so now.
|
||||
4) Commit your changes to the graphics branch locally
|
||||
5) Run |mach vendor rust| to update the rust dependencies in third_party/rust
|
||||
6) Commit the vendored changes locally
|
||||
7) Build and test. You may need to make changes in bindings.rs or on
|
||||
the C++ side depending on what changed in webrender. This can
|
||||
potentially be quite tricky if you don't fully understand the API
|
||||
changes on the webrender side. In this step, try to not use your new
|
||||
features yet, just get the build working with the minimal changes.
|
||||
8) Commit the changes locally from step 7, and push everything to the
|
||||
graphics branch.
|
||||
9) Now you have an update webrender with the new features you wanted,
|
||||
so you can write gecko code against them.
|
||||
|
||||
Yes, this is very painful. Once we upstream all the webrender changes
|
||||
we have in our local tree, this will become simpler because it will remove
|
||||
step 2-3, and simplify step 5 to a copy. Step 9 is likely going to
|
||||
remain tricky if there are incompatible API changes on the WR side,
|
||||
hopefully those will be kept to a minimum.
|
||||
Yes, this is somewhat painful. It used to be worse. :)
|
||||
|
|
|
@ -5,12 +5,16 @@ authors = ["The Mozilla Project Developers"]
|
|||
license = "MPL-2.0"
|
||||
|
||||
[dependencies]
|
||||
webrender = {path = "../webrender"}
|
||||
webrender_traits = {path = "../webrender_traits"}
|
||||
euclid = "0.10"
|
||||
app_units = "0.3"
|
||||
gleam = "0.2"
|
||||
|
||||
[dependencies.webrender]
|
||||
path = "../webrender"
|
||||
default-features = false
|
||||
features = ["codegen"]
|
||||
|
||||
[target.'cfg(target_os = "macos")'.dependencies]
|
||||
core-foundation = "0.2.2"
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче