Update WR (inset box shadow fix, border-image support).

I have a follow up PR for Servo that uses the new border-image
APIs, but I'll land that separately, so that we don't delay
landing the WR update itself.
This commit is contained in:
Glenn Watson 2017-02-22 15:41:57 +10:00
parent 03893e25cc
commit c4a972aa7b
2 changed files with 40 additions and 34 deletions

50
Cargo.lock generated
View file

@ -283,7 +283,7 @@ dependencies = [
"num-traits 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
"offscreen_gl_context 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"servo_config 0.0.1",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
]
[[package]]
@ -297,7 +297,7 @@ dependencies = [
"ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
]
[[package]]
@ -418,8 +418,8 @@ dependencies = [
"servo_url 0.0.1",
"style_traits 0.0.1",
"time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
"webrender 0.17.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender 0.18.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
]
[[package]]
@ -452,7 +452,7 @@ dependencies = [
"servo_remutex 0.0.1",
"servo_url 0.0.1",
"style_traits 0.0.1",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
"webvr_traits 0.0.1",
]
@ -672,7 +672,7 @@ dependencies = [
"servo_geometry 0.0.1",
"servo_url 0.0.1",
"style_traits 0.0.1",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
"x11 2.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -958,7 +958,7 @@ dependencies = [
"time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
"truetype 0.26.0 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-script 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
"xi-unicode 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -1037,7 +1037,7 @@ dependencies = [
"servo_url 0.0.1",
"style_traits 0.0.1",
"user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
"x11 2.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -1338,7 +1338,7 @@ dependencies = [
"style_traits 0.0.1",
"unicode-bidi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
"unicode-script 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
]
[[package]]
@ -1378,7 +1378,7 @@ dependencies = [
"servo_geometry 0.0.1",
"servo_url 0.0.1",
"style 0.0.1",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
]
[[package]]
@ -1392,7 +1392,7 @@ dependencies = [
"profile_traits 0.0.1",
"script_traits 0.0.1",
"servo_url 0.0.1",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
]
[[package]]
@ -1477,8 +1477,8 @@ dependencies = [
"style 0.0.1",
"style_traits 0.0.1",
"webdriver_server 0.0.1",
"webrender 0.17.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender 0.18.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
"webvr 0.0.1",
"webvr_traits 0.0.1",
]
@ -1625,7 +1625,7 @@ dependencies = [
"heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
]
[[package]]
@ -1660,7 +1660,7 @@ dependencies = [
"unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"uuid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
"websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -1719,7 +1719,7 @@ dependencies = [
"servo_url 0.0.1",
"url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"uuid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
"websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
@ -2251,7 +2251,7 @@ dependencies = [
"tinyfiledialogs 2.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
"url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"uuid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
"websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)",
"webvr 0.0.1",
"webvr_traits 0.0.1",
@ -3160,8 +3160,8 @@ dependencies = [
[[package]]
name = "webrender"
version = "0.17.0"
source = "git+https://github.com/servo/webrender#4221987984718bfc6312f92df9501d8fd7a88ea8"
version = "0.18.0"
source = "git+https://github.com/servo/webrender#e41f1413222d0b9f594649ac993a3e9e0ba35cbe"
dependencies = [
"app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 1.0.0-alpha2 (registry+https://github.com/rust-lang/crates.io-index)",
@ -3183,13 +3183,13 @@ dependencies = [
"thread_profiler 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"threadpool 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
]
[[package]]
name = "webrender_traits"
version = "0.16.0"
source = "git+https://github.com/servo/webrender#4221987984718bfc6312f92df9501d8fd7a88ea8"
version = "0.18.0"
source = "git+https://github.com/servo/webrender#e41f1413222d0b9f594649ac993a3e9e0ba35cbe"
dependencies = [
"app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -3229,7 +3229,7 @@ dependencies = [
"msg 0.0.1",
"script_traits 0.0.1",
"servo_config 0.0.1",
"webrender_traits 0.16.0 (git+https://github.com/servo/webrender)",
"webrender_traits 0.18.0 (git+https://github.com/servo/webrender)",
"webvr_traits 0.0.1",
]
@ -3569,8 +3569,8 @@ dependencies = [
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
"checksum walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff"
"checksum webdriver 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cdc28802daddee94267a657ffeac2593a33881fb7a3a44fedd320b1319efcaf6"
"checksum webrender 0.17.0 (git+https://github.com/servo/webrender)" = "<none>"
"checksum webrender_traits 0.16.0 (git+https://github.com/servo/webrender)" = "<none>"
"checksum webrender 0.18.0 (git+https://github.com/servo/webrender)" = "<none>"
"checksum webrender_traits 0.18.0 (git+https://github.com/servo/webrender)" = "<none>"
"checksum websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4a1a6ea5ed0367f32eb3d94dcc58859ef4294b5f75ba983dbf56ac314af45d"
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"

View file

@ -270,35 +270,41 @@ impl WebRenderDisplayItemConverter for DisplayItem {
}
DisplayItem::Border(ref item) => {
let rect = item.base.bounds.to_rectf();
let widths = webrender_traits::BorderWidths {
left: item.border_widths.left.to_f32_px(),
top: item.border_widths.top.to_f32_px(),
right: item.border_widths.right.to_f32_px(),
bottom: item.border_widths.bottom.to_f32_px(),
};
let left = webrender_traits::BorderSide {
width: item.border_widths.left.to_f32_px(),
color: item.color.left,
style: item.style.left.to_border_style(),
};
let top = webrender_traits::BorderSide {
width: item.border_widths.top.to_f32_px(),
color: item.color.top,
style: item.style.top.to_border_style(),
};
let right = webrender_traits::BorderSide {
width: item.border_widths.right.to_f32_px(),
color: item.color.right,
style: item.style.right.to_border_style(),
};
let bottom = webrender_traits::BorderSide {
width: item.border_widths.bottom.to_f32_px(),
color: item.color.bottom,
style: item.style.bottom.to_border_style(),
};
let radius = item.radius.to_border_radius();
let clip = item.base.clip.to_clip_region(builder);
let details = webrender_traits::NormalBorder {
left: left,
top: top,
right: right,
bottom: bottom,
radius: radius,
};
builder.push_border(rect,
clip,
left,
top,
right,
bottom,
radius);
widths,
webrender_traits::BorderDetails::Normal(details));
}
DisplayItem::Gradient(ref item) => {
let rect = item.base.bounds.to_rectf();