aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Watson <github@intuitionlibrary.com>2017-09-13 07:55:55 +1000
committerGlenn Watson <github@intuitionlibrary.com>2017-09-13 07:55:55 +1000
commit15d7697474f000d43154132391bea3724509397f (patch)
tree3859faa30f25a8d572fe28e29082f7946a4fd455
parentb856f11388b629759773a905379b1f238a9ca348 (diff)
downloadservo-15d7697474f000d43154132391bea3724509397f.tar.gz
servo-15d7697474f000d43154132391bea3724509397f.zip
Update WR (backface API changes).
This does the minimal work to update to the API changes related to backface support. It doesn't actually pass through any info about the backface visibility flags yet.
-rw-r--r--Cargo.lock66
-rw-r--r--components/layout/webrender_helpers.rs57
2 files changed, 63 insertions, 60 deletions
diff --git a/Cargo.lock b/Cargo.lock
index c6f4b06e23b..e7a9c101f07 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -116,7 +116,7 @@ dependencies = [
"core-foundation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-graphics 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"core-text 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"freetype 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)",
"servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -328,7 +328,7 @@ dependencies = [
"canvas_traits 0.0.1",
"compositing 0.0.1",
"cssparser 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"gleam 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"ipc-channel 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -344,7 +344,7 @@ name = "canvas_traits"
version = "0.0.1"
dependencies = [
"cssparser 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_derive 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"ipc-channel 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -488,7 +488,7 @@ dependencies = [
name = "compositing"
version = "0.0.1"
dependencies = [
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx_traits 0.0.1",
"gleam 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"image 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -519,7 +519,7 @@ dependencies = [
"compositing 0.0.1",
"debugger 0.0.1",
"devtools_traits 0.0.1",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gaol 0.0.1 (git+https://github.com/servo/gaol)",
"gfx 0.0.1",
"gfx_traits 0.0.1",
@@ -800,7 +800,7 @@ dependencies = [
"cocoa 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
"compositing 0.0.1",
"devtools 0.0.1",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gleam 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"glutin_app 0.0.1",
"libc 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -949,7 +949,7 @@ dependencies = [
[[package]]
name = "euclid"
-version = "0.15.1"
+version = "0.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"heapsize 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1107,7 +1107,7 @@ dependencies = [
"core-graphics 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"core-text 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"dwrote 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"fontsan 0.3.2 (git+https://github.com/servo/fontsan)",
"freetype 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1201,7 +1201,7 @@ version = "0.0.1"
dependencies = [
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"compositing 0.0.1",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gleam 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"libservo 0.0.1",
@@ -1517,7 +1517,7 @@ dependencies = [
"atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
"canvas_traits 0.0.1",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx 0.0.1",
"gfx_traits 0.0.1",
@@ -1565,7 +1565,7 @@ version = "0.0.1"
dependencies = [
"app_units 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
"atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx 0.0.1",
"gfx_traits 0.0.1",
@@ -1673,7 +1673,7 @@ dependencies = [
"devtools 0.0.1",
"devtools_traits 0.0.1",
"env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gaol 0.0.1 (git+https://github.com/servo/gaol)",
"gfx 0.0.1",
"gleam 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1809,7 +1809,7 @@ dependencies = [
name = "metrics_tests"
version = "0.0.1"
dependencies = [
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx 0.0.1",
"gfx_traits 0.0.1",
"ipc-channel 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2118,7 +2118,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cgl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gl_generator 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
"gleam 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2300,7 +2300,7 @@ version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"binary-space-partition 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
"num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -2572,7 +2572,7 @@ dependencies = [
"dom_struct 0.0.1",
"domobject_derive 0.0.1",
"encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"gleam 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"half 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2639,7 +2639,7 @@ dependencies = [
"atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"canvas_traits 0.0.1",
"cssparser 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx_traits 0.0.1",
"heapsize 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_derive 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2669,7 +2669,7 @@ version = "0.0.1"
name = "script_tests"
version = "0.0.1"
dependencies = [
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"msg 0.0.1",
"script 0.0.1",
"servo_url 0.0.1",
@@ -2683,7 +2683,7 @@ dependencies = [
"canvas_traits 0.0.1",
"cookie 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
"devtools_traits 0.0.1",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx_traits 0.0.1",
"heapsize 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_derive 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2869,7 +2869,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cgl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"cmake 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"expat-sys 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"gleam 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
"glx 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2922,7 +2922,7 @@ version = "0.0.1"
dependencies = [
"android_injected_glue 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
"env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2947,7 +2947,7 @@ name = "servo_geometry"
version = "0.0.1"
dependencies = [
"app_units 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -3117,7 +3117,7 @@ dependencies = [
"cfg-if 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)",
"encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"fallible 0.0.1",
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"hashglobe 0.1.0",
@@ -3177,7 +3177,7 @@ dependencies = [
"app_units 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"html5ever 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
"parking_lot 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
"rayon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3199,7 +3199,7 @@ dependencies = [
"app_units 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_derive 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"selectors 0.19.0",
@@ -3215,7 +3215,7 @@ dependencies = [
"atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.0 (registry+https://github.com/rust-lang/crates.io-index)",
"env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"geckoservo 0.0.1",
"libc 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3567,7 +3567,7 @@ version = "0.0.1"
dependencies = [
"base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
"cookie 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"hyper 0.10.10 (registry+https://github.com/rust-lang/crates.io-index)",
"image 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)",
"ipc-channel 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3587,7 +3587,7 @@ dependencies = [
[[package]]
name = "webrender"
version = "0.50.0"
-source = "git+https://github.com/servo/webrender#cd1855550857b910f752359b48c5cc053419c358"
+source = "git+https://github.com/servo/webrender#b1fea4fce1005c35ef5566d7ba1733d65d6dc840"
dependencies = [
"app_units 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3597,7 +3597,7 @@ dependencies = [
"core-graphics 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"core-text 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"dwrote 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"freetype 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"gamma-lut 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3615,7 +3615,7 @@ dependencies = [
[[package]]
name = "webrender_api"
version = "0.50.0"
-source = "git+https://github.com/servo/webrender#cd1855550857b910f752359b48c5cc053419c358"
+source = "git+https://github.com/servo/webrender#b1fea4fce1005c35ef5566d7ba1733d65d6dc840"
dependencies = [
"app_units 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3623,7 +3623,7 @@ dependencies = [
"core-foundation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-graphics 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"dwrote 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"ipc-channel 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3636,7 +3636,7 @@ name = "webvr"
version = "0.0.1"
dependencies = [
"canvas_traits 0.0.1",
- "euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"ipc-channel 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
"msg 0.0.1",
@@ -3834,7 +3834,7 @@ dependencies = [
"checksum env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b"
"checksum error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8"
"checksum error-chain 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "318cb3c71ee4cdea69fdc9e15c173b245ed6063e1709029e8fd32525a881120f"
-"checksum euclid 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7be9fcb1ce77782eb620253eb02bc1f000545f3c360841a26cda572f10fad4ff"
+"checksum euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)" = "50c9e4c3b53de731815135191f0b77969bea953211b8bbd3cc3083a7b10e190e"
"checksum expat-sys 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cef36cd1a8a02d28b91d97347c63247b9e4cb8a8e36df36f8201dc87a1c0859c"
"checksum extra-default 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca1434e1920ba21b45516c16b5edbd82e8f2e4349b12a7a53eb9903ed2928d56"
"checksum flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "36df0166e856739905cd3d7e0b210fe818592211a008862599845e012d8d304c"
diff --git a/components/layout/webrender_helpers.rs b/components/layout/webrender_helpers.rs
index 59aa20d9579..4bcd4f337d4 100644
--- a/components/layout/webrender_helpers.rs
+++ b/components/layout/webrender_helpers.rs
@@ -19,6 +19,16 @@ use style::values::generics::effects::Filter as GenericFilter;
use webrender_api::{self, ClipAndScrollInfo, ComplexClipRegion, DisplayListBuilder};
use webrender_api::{ExtendMode, LayoutTransform};
+fn prim_info(local_rect: Rect<Au>,
+ local_clip: Option<webrender_api::LocalClip>) -> webrender_api::LayoutPrimitiveInfo {
+ webrender_api::LayoutPrimitiveInfo {
+ rect: local_rect.to_rectf(),
+ local_clip,
+ // TODO(gw): Make use of the WR backface visibility functionality.
+ is_backface_visible: true,
+ }
+}
+
pub trait WebRenderDisplayListConverter {
fn convert_to_webrender(&self, pipeline_id: PipelineId) -> DisplayListBuilder;
}
@@ -251,8 +261,7 @@ impl WebRenderDisplayItemConverter for DisplayItem {
DisplayItem::SolidColor(ref item) => {
let color = item.color;
if color.a > 0.0 {
- builder.push_rect(item.base.bounds.to_rectf(),
- Some(item.base.local_clip),
+ builder.push_rect(&prim_info(item.base.bounds, Some(item.base.local_clip)),
color);
}
}
@@ -283,8 +292,7 @@ impl WebRenderDisplayItemConverter for DisplayItem {
}
if glyphs.len() > 0 {
- builder.push_text(item.base.bounds.to_rectf(),
- Some(item.base.local_clip),
+ builder.push_text(&prim_info(item.base.bounds, Some(item.base.local_clip)),
&glyphs,
item.text_run.font_key,
item.text_color,
@@ -295,8 +303,7 @@ impl WebRenderDisplayItemConverter for DisplayItem {
if let Some(id) = item.webrender_image.key {
if item.stretch_size.width > Au(0) &&
item.stretch_size.height > Au(0) {
- builder.push_image(item.base.bounds.to_rectf(),
- Some(item.base.local_clip),
+ builder.push_image(&prim_info(item.base.bounds, Some(item.base.local_clip)),
item.stretch_size.to_sizef(),
item.tile_spacing.to_sizef(),
item.image_rendering.to_image_rendering(),
@@ -305,7 +312,7 @@ impl WebRenderDisplayItemConverter for DisplayItem {
}
}
DisplayItem::Border(ref item) => {
- let rect = item.base.bounds.to_rectf();
+ let rect = item.base.bounds;
let widths = item.border_widths.to_border_widths();
let details = match item.details {
@@ -386,10 +393,10 @@ impl WebRenderDisplayItemConverter for DisplayItem {
}
};
- builder.push_border(rect, Some(item.base.local_clip), widths, details);
+ builder.push_border(&prim_info(rect, Some(item.base.local_clip)), widths, details);
}
DisplayItem::Gradient(ref item) => {
- let rect = item.base.bounds.to_rectf();
+ let rect = item.base.bounds;
let start_point = item.gradient.start_point.to_pointf();
let end_point = item.gradient.end_point.to_pointf();
let extend_mode = if item.gradient.repeating {
@@ -401,14 +408,13 @@ impl WebRenderDisplayItemConverter for DisplayItem {
end_point,
item.gradient.stops.clone(),
extend_mode);
- builder.push_gradient(rect,
- Some(item.base.local_clip),
+ builder.push_gradient(&prim_info(rect, Some(item.base.local_clip)),
gradient,
- rect.size,
+ rect.size.to_sizef(),
webrender_api::LayoutSize::zero());
}
DisplayItem::RadialGradient(ref item) => {
- let rect = item.base.bounds.to_rectf();
+ let rect = item.base.bounds;
let center = item.gradient.center.to_pointf();
let radius = item.gradient.radius.to_sizef();
let extend_mode = if item.gradient.repeating {
@@ -420,15 +426,14 @@ impl WebRenderDisplayItemConverter for DisplayItem {
radius,
item.gradient.stops.clone(),
extend_mode);
- builder.push_radial_gradient(rect,
- Some(item.base.local_clip),
+ builder.push_radial_gradient(&prim_info(rect, Some(item.base.local_clip)),
gradient,
- rect.size,
+ rect.size.to_sizef(),
webrender_api::LayoutSize::zero());
}
DisplayItem::Line(ref item) => {
let box_bounds = item.base.bounds.to_rectf();
- builder.push_line(Some(item.base.local_clip),
+ builder.push_line(&prim_info(item.base.bounds, Some(item.base.local_clip)),
box_bounds.origin.y + box_bounds.size.height,
box_bounds.origin.x,
box_bounds.origin.x + box_bounds.size.width,
@@ -438,10 +443,9 @@ impl WebRenderDisplayItemConverter for DisplayItem {
item.style);
}
DisplayItem::BoxShadow(ref item) => {
- let rect = item.base.bounds.to_rectf();
+ let rect = item.base.bounds;
let box_bounds = item.box_bounds.to_rectf();
- builder.push_box_shadow(rect,
- Some(item.base.local_clip),
+ builder.push_box_shadow(&prim_info(rect, Some(item.base.local_clip)),
box_bounds,
item.offset.to_vectorf(),
item.color,
@@ -451,9 +455,8 @@ impl WebRenderDisplayItemConverter for DisplayItem {
item.clip_mode.to_clip_mode());
}
DisplayItem::PushTextShadow(ref item) => {
- let rect = item.base.bounds.to_rectf();
- builder.push_text_shadow(rect,
- Some(item.base.local_clip),
+ let rect = item.base.bounds;
+ builder.push_text_shadow(&prim_info(rect, Some(item.base.local_clip)),
webrender_api::TextShadow {
blur_radius: item.blur_radius.to_f32_px(),
offset: item.offset.to_vectorf(),
@@ -464,9 +467,9 @@ impl WebRenderDisplayItemConverter for DisplayItem {
builder.pop_text_shadow();
}
DisplayItem::Iframe(ref item) => {
- let rect = item.base.bounds.to_rectf();
+ let rect = item.base.bounds;
let pipeline_id = item.iframe.to_webrender();
- builder.push_iframe(rect, Some(item.base.local_clip), pipeline_id);
+ builder.push_iframe(&prim_info(rect, Some(item.base.local_clip)), pipeline_id);
}
DisplayItem::PushStackingContext(ref item) => {
let stacking_context = &item.stacking_context;
@@ -479,8 +482,8 @@ impl WebRenderDisplayItemConverter for DisplayItem {
LayoutTransform::from_untyped(&perspective)
});
- builder.push_stacking_context(stacking_context.scroll_policy,
- stacking_context.bounds.to_rectf(),
+ builder.push_stacking_context(&prim_info(stacking_context.bounds, None),
+ stacking_context.scroll_policy,
transform,
stacking_context.transform_style,
perspective,