From eed29c0064ee2bbebac77bb9e9c010e5d8da039d Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Tue, 20 Nov 2018 17:02:17 -0800 Subject: [PATCH] Update webrender --- Cargo.lock | 91 +++++++++---------- components/canvas/canvas_data.rs | 5 +- components/canvas/webgl_thread.rs | 6 +- components/compositing/compositor.rs | 8 +- components/compositing/compositor_thread.rs | 8 +- components/compositing/windowing.rs | 12 +-- components/embedder_traits/lib.rs | 4 +- components/layout/display_list/border.rs | 12 +-- components/layout/display_list/builder.rs | 6 +- .../layout/display_list/webrender_helpers.rs | 22 +++-- components/net/image_cache.rs | 2 +- components/script/dom/htmlmediaelement.rs | 11 ++- components/script/dom/screen.rs | 6 +- components/script/dom/window.rs | 8 +- components/script_traits/lib.rs | 4 +- components/script_traits/script_msg.rs | 8 +- components/webdriver_server/lib.rs | 7 +- ports/libsimpleservo/src/api.rs | 4 +- ports/servo/glutin_app/window.rs | 26 +++--- 19 files changed, 133 insertions(+), 117 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a6852b50b5f32..5d0dee2170d30 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -137,7 +137,7 @@ version = "0.35.0" source = "git+https://github.com/servo/rust-azure#a85619e40463ed6139ccc8186ef306e8c62a496d" dependencies = [ "cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "servo-freetype-sys 4.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "servo-skia 0.30000020.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -378,9 +378,9 @@ dependencies = [ "canvas_traits 0.0.1", "compositing 0.0.1", "cssparser 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "gleam 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", + "gleam 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "half 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -398,8 +398,8 @@ name = "canvas_traits" version = "0.0.1" dependencies = [ "cssparser 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gleam 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", + "gleam 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "malloc_size_of 0.0.1", @@ -449,7 +449,7 @@ name = "cgl" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gleam 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", + "gleam 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -560,9 +560,9 @@ version = "0.0.1" dependencies = [ "crossbeam-channel 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "embedder_traits 0.0.1", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", - "gleam 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", + "gleam 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "image 0.20.1 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", "keyboard-types 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -598,7 +598,7 @@ dependencies = [ "debugger 0.0.1", "devtools_traits 0.0.1", "embedder_traits 0.0.1", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (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", @@ -1087,7 +1087,7 @@ dependencies = [ [[package]] name = "euclid" -version = "0.19.0" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1256,7 +1256,7 @@ dependencies = [ "core-graphics 0.17.3 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 13.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "dwrote 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "fontsan 0.4.0 (git+https://github.com/servo/fontsan)", "freetype 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1320,7 +1320,7 @@ dependencies = [ [[package]] name = "gleam" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gl_generator 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1842,7 +1842,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "gleam 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", + "gleam 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "leaky-cow 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1964,7 +1964,7 @@ dependencies = [ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "crossbeam-channel 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "gfx 0.0.1", @@ -2010,7 +2010,7 @@ dependencies = [ "atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "embedder_traits 0.0.1", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "gfx 0.0.1", @@ -2136,10 +2136,10 @@ dependencies = [ "devtools_traits 0.0.1", "embedder_traits 0.0.1", "env_logger 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (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.6.7 (registry+https://github.com/rust-lang/crates.io-index)", + "gleam 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", "layout_thread 0.0.1", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2269,7 +2269,7 @@ dependencies = [ "app_units 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "hashglobe 0.1.0", "hyper 0.12.14 (registry+https://github.com/rust-lang/crates.io-index)", "hyper_serde 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2751,9 +2751,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "gl_generator 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gleam 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", + "gleam 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2914,7 +2914,7 @@ dependencies = [ name = "pixels" version = "0.0.1" dependencies = [ - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "malloc_size_of 0.0.1", "malloc_size_of_derive 0.0.1", "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2931,7 +2931,7 @@ version = "0.13.3" 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.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3258,9 +3258,9 @@ dependencies = [ "embedder_traits 0.0.1", "encoding_rs 0.8.12 (registry+https://github.com/rust-lang/crates.io-index)", "enum-iterator 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "gleam 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", + "gleam 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "headers-core 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "headers-ext 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "html5ever 0.22.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3335,7 +3335,7 @@ dependencies = [ "canvas_traits 0.0.1", "crossbeam-channel 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "html5ever 0.22.3 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3373,7 +3373,7 @@ dependencies = [ name = "script_tests" version = "0.0.1" dependencies = [ - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "keyboard-types 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "script 0.0.1", "servo_url 0.0.1", @@ -3389,7 +3389,7 @@ dependencies = [ "crossbeam-channel 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "devtools_traits 0.0.1", "embedder_traits 0.0.1", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.12.14 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3475,9 +3475,9 @@ dependencies = [ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (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.6.7 (registry+https://github.com/rust-lang/crates.io-index)", + "gleam 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "glutin 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", "keyboard-types 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3547,7 +3547,7 @@ source = "git+https://github.com/servo/media#3b347d7b0431c58611e2bd7b22d34062b64 dependencies = [ "boxfnonce 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "byte-slice-cast 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3592,9 +3592,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "expat-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "gleam 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", + "gleam 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "glutin 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", "glx 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "io-surface 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3637,7 +3637,7 @@ dependencies = [ "dirs 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "embedder_traits 0.0.1", "env_logger 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3655,7 +3655,7 @@ name = "servo_geometry" version = "0.0.1" dependencies = [ "app_units 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "malloc_size_of 0.0.1", "malloc_size_of_derive 0.0.1", "style_traits 0.0.1", @@ -3856,7 +3856,7 @@ dependencies = [ "crossbeam-channel 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)", "encoding_rs 0.8.12 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "fallible 0.0.1", "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "hashglobe 0.1.0", @@ -3917,7 +3917,7 @@ dependencies = [ "app_units 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "html5ever 0.22.3 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3940,7 +3940,7 @@ dependencies = [ "app_units 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "malloc_size_of 0.0.1", "malloc_size_of_derive 0.0.1", "selectors 0.20.0", @@ -4538,7 +4538,7 @@ dependencies = [ "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", "cookie 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.12.14 (registry+https://github.com/rust-lang/crates.io-index)", "image 0.20.1 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4561,7 +4561,7 @@ dependencies = [ [[package]] name = "webrender" version = "0.57.2" -source = "git+https://github.com/servo/webrender#9ec08a4cf0ce6762a98ddd4df34611dbf0694703" +source = "git+https://github.com/servo/webrender#323b7ea140ba956af342e4f2660e67e04913e9fb" dependencies = [ "app_units 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4573,10 +4573,9 @@ dependencies = [ "core-graphics 0.17.3 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 13.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "dwrote 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "gleam 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", + "gleam 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", "image 0.20.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4596,7 +4595,7 @@ dependencies = [ [[package]] name = "webrender_api" version = "0.57.2" -source = "git+https://github.com/servo/webrender#9ec08a4cf0ce6762a98ddd4df34611dbf0694703" +source = "git+https://github.com/servo/webrender#323b7ea140ba956af342e4f2660e67e04913e9fb" dependencies = [ "app_units 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4605,7 +4604,7 @@ dependencies = [ "core-foundation 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.17.3 (registry+https://github.com/rust-lang/crates.io-index)", "dwrote 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", "serde_bytes 0.10.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4619,7 +4618,7 @@ version = "0.0.1" dependencies = [ "canvas_traits 0.0.1", "crossbeam-channel 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", @@ -4923,7 +4922,7 @@ dependencies = [ "checksum enum-iterator-derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "719423964c7a03e4ce4c67115d6e44a5b2dd9b51789a575dfbad68b490b0f0a0" "checksum env_logger 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0e6e40ebb0e66918a37b38c7acab4e10d299e0463fe2af5d29b9cc86710cfd2a" "checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02" -"checksum euclid 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)" = "70a2ebdf55fb9d6329046e026329a55ef8fbaae5ea833f56e170beb3125a8a5f" +"checksum euclid 0.19.3 (registry+https://github.com/rust-lang/crates.io-index)" = "600657e7e5c03bfbccdc68721bc3b5abcb761553973387124eae9c9e4f02c210" "checksum expat-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "658f19728920138342f68408b7cf7644d90d4784353d8ebc32e7e8663dbe45fa" "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33" @@ -4945,7 +4944,7 @@ dependencies = [ "checksum getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "b900c08c1939860ce8b54dc6a89e26e00c04c380fd0e09796799bd7f12861e05" "checksum gif 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff3414b424657317e708489d2857d9575f4403698428b040b609b9d1c1a84a2c" "checksum gl_generator 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a0ffaf173cf76c73a73e080366bf556b4776ece104b06961766ff11449f38604" -"checksum gleam 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "bef810e31d619f5b77a7daea76a26ee50e63036637048a9f2128a33d5474141a" +"checksum gleam 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "4b47f5b15742aee359c7895ab98cf2cceecc89bb4feb6f4e42f802d7899877da" "checksum glib 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "740f7fda8dde5f5e3944dabdb4a73ac6094a8a7fdf0af377468e98ca93733e61" "checksum glib-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3573351e846caed9f11207b275cd67bc07f0c2c94fb628e5d7c92ca056c7882d" "checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" diff --git a/components/canvas/canvas_data.rs b/components/canvas/canvas_data.rs index 2c8418d38af55..04540c8a495be 100644 --- a/components/canvas/canvas_data.rs +++ b/components/canvas/canvas_data.rs @@ -17,6 +17,7 @@ use ipc_channel::ipc::{IpcSender, IpcSharedMemory}; use num_traits::ToPrimitive; use std::mem; use std::sync::Arc; +use webrender::api::DirtyRect; pub struct CanvasData<'a> { drawtarget: DrawTarget, @@ -462,7 +463,7 @@ impl<'a> CanvasData<'a> { let size = self.drawtarget.get_size(); let descriptor = webrender_api::ImageDescriptor { - size: webrender_api::DeviceUintSize::new(size.width as u32, size.height as u32), + size: webrender_api::DeviceIntSize::new(size.width, size.height), stride: None, format: webrender_api::ImageFormat::BGRA8, offset: 0, @@ -478,7 +479,7 @@ impl<'a> CanvasData<'a> { match self.image_key { Some(image_key) => { debug!("Updating image {:?}.", image_key); - txn.update_image(image_key, descriptor, data, None); + txn.update_image(image_key, descriptor, data, &DirtyRect::All); }, None => { self.image_key = Some(self.webrender_api.generate_image_key()); diff --git a/components/canvas/webgl_thread.rs b/components/canvas/webgl_thread.rs index dd279caabf04c..a6835844bdade 100644 --- a/components/canvas/webgl_thread.rs +++ b/components/canvas/webgl_thread.rs @@ -566,7 +566,7 @@ impl WebGLThread { let data = Self::external_image_data(context_id); let mut txn = webrender_api::Transaction::new(); - txn.update_image(image_key, descriptor, data, None); + txn.update_image(image_key, descriptor, data, &webrender_api::DirtyRect::All); webrender_api.update_resources(txn.resource_updates); } @@ -600,14 +600,14 @@ impl WebGLThread { let data = webrender_api::ImageData::new(data); let mut txn = webrender_api::Transaction::new(); - txn.update_image(image_key, descriptor, data, None); + txn.update_image(image_key, descriptor, data, &webrender_api::DirtyRect::All); webrender_api.update_resources(txn.resource_updates); } /// Helper function to create a `webrender_api::ImageDescriptor`. fn image_descriptor(size: Size2D, alpha: bool) -> webrender_api::ImageDescriptor { webrender_api::ImageDescriptor { - size: webrender_api::DeviceUintSize::new(size.width as u32, size.height as u32), + size: webrender_api::DeviceIntSize::new(size.width, size.height), stride: None, format: webrender_api::ImageFormat::BGRA8, offset: 0, diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index 0eb0e695e801e..365cb8219ed6a 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -1182,8 +1182,12 @@ impl IOCompositor { &mut self, target: CompositeTarget, ) -> Result, UnableToComposite> { - let width = self.embedder_coordinates.framebuffer.width_typed(); - let height = self.embedder_coordinates.framebuffer.height_typed(); + let width = self.embedder_coordinates.framebuffer.to_u32().width_typed(); + let height = self + .embedder_coordinates + .framebuffer + .to_u32() + .height_typed(); if !self.window.prepare_for_composite() { return Err(UnableToComposite::WindowUnprepared); } diff --git a/components/compositing/compositor_thread.rs b/components/compositing/compositor_thread.rs index cb9cefdcdea4e..e4dee4f595adf 100644 --- a/components/compositing/compositor_thread.rs +++ b/components/compositing/compositor_thread.rs @@ -17,7 +17,7 @@ use profile_traits::time; use script_traits::{AnimationState, ConstellationMsg, EventResult}; use std::fmt::{Debug, Error, Formatter}; use style_traits::viewport::ViewportConstraints; -use webrender_api::{self, DeviceIntPoint, DeviceUintSize}; +use webrender_api::{self, DeviceIntPoint, DeviceIntSize}; /// Sends messages to the compositor. pub struct CompositorProxy { @@ -106,11 +106,11 @@ pub enum Msg { LoadComplete(TopLevelBrowsingContextId), /// Get Window Informations size and position. - GetClientWindow(IpcSender<(DeviceUintSize, DeviceIntPoint)>), + GetClientWindow(IpcSender<(DeviceIntSize, DeviceIntPoint)>), /// Get screen size. - GetScreenSize(IpcSender), + GetScreenSize(IpcSender), /// Get screen available size. - GetScreenAvailSize(IpcSender), + GetScreenAvailSize(IpcSender), } impl Debug for Msg { diff --git a/components/compositing/windowing.rs b/components/compositing/windowing.rs index 1356902b8fcfd..7e95ca0216161 100644 --- a/components/compositing/windowing.rs +++ b/components/compositing/windowing.rs @@ -17,7 +17,7 @@ use std::fmt::{Debug, Error, Formatter}; #[cfg(feature = "gl")] use std::rc::Rc; use style_traits::DevicePixel; -use webrender_api::{DeviceIntPoint, DevicePoint, DeviceUintRect, DeviceUintSize, ScrollLocation}; +use webrender_api::{DeviceIntPoint, DeviceIntRect, DeviceIntSize, DevicePoint, ScrollLocation}; #[derive(Clone)] pub enum MouseWindowEvent { @@ -149,13 +149,13 @@ pub struct EmbedderCoordinates { /// The pixel density of the display. pub hidpi_factor: TypedScale, /// Size of the screen. - pub screen: DeviceUintSize, + pub screen: DeviceIntSize, /// Size of the available screen space (screen without toolbars and docks). - pub screen_avail: DeviceUintSize, + pub screen_avail: DeviceIntSize, /// Size of the native window. - pub window: (DeviceUintSize, DeviceIntPoint), + pub window: (DeviceIntSize, DeviceIntPoint), /// Size of the GL buffer in the window. - pub framebuffer: DeviceUintSize, + pub framebuffer: DeviceIntSize, /// Coordinates of the document within the framebuffer. - pub viewport: DeviceUintRect, + pub viewport: DeviceIntRect, } diff --git a/components/embedder_traits/lib.rs b/components/embedder_traits/lib.rs index bd6249876c3db..93c3275522d47 100644 --- a/components/embedder_traits/lib.rs +++ b/components/embedder_traits/lib.rs @@ -18,7 +18,7 @@ use msg::constellation_msg::{InputMethodType, TopLevelBrowsingContextId}; use servo_url::ServoUrl; use std::fmt::{Debug, Error, Formatter}; use style_traits::cursor::CursorKind; -use webrender_api::{DeviceIntPoint, DeviceUintSize}; +use webrender_api::{DeviceIntPoint, DeviceIntSize}; /// Used to wake up the event loop, provided by the servo port/embedder. pub trait EventLoopWaker: 'static + Send { @@ -76,7 +76,7 @@ pub enum EmbedderMsg { /// Move the window to a point MoveTo(DeviceIntPoint), /// Resize the window to size - ResizeTo(DeviceUintSize), + ResizeTo(DeviceIntSize), // Show an alert message. Alert(String, IpcSender<()>), /// Wether or not to follow a link diff --git a/components/layout/display_list/border.rs b/components/layout/display_list/border.rs index 0b4f543a92ab2..bf1df990096b1 100644 --- a/components/layout/display_list/border.rs +++ b/components/layout/display_list/border.rs @@ -181,18 +181,18 @@ pub fn image_width( ) } -fn resolve_percentage(value: NumberOrPercentage, length: u32) -> u32 { +fn resolve_percentage(value: NumberOrPercentage, length: i32) -> i32 { match value { - NumberOrPercentage::Percentage(p) => (p.0 * length as f32).round() as u32, - NumberOrPercentage::Number(n) => n.round() as u32, + NumberOrPercentage::Percentage(p) => (p.0 * length as f32).round() as i32, + NumberOrPercentage::Number(n) => n.round() as i32, } } pub fn image_slice( border_image_slice: &StyleRect, - width: u32, - height: u32, -) -> SideOffsets2D { + width: i32, + height: i32, +) -> SideOffsets2D { SideOffsets2D::new( resolve_percentage(border_image_slice.0, height), resolve_percentage(border_image_slice.1, width), diff --git a/components/layout/display_list/builder.rs b/components/layout/display_list/builder.rs index 755f7e9573061..c68853b9149e4 100644 --- a/components/layout/display_list/builder.rs +++ b/components/layout/display_list/builder.rs @@ -1459,9 +1459,9 @@ impl FragmentDisplayListBuilding for Fragment { let details = BorderDetails::NinePatch(NinePatchBorder { source, - width, - height, - slice: border::image_slice(border_image_slice, width, height), + width: width as i32, + height: height as i32, + slice: border::image_slice(border_image_slice, width as i32, height as i32), fill: border_image_fill, repeat_horizontal: border_image_repeat.0.to_layout(), repeat_vertical: border_image_repeat.1.to_layout(), diff --git a/components/layout/display_list/webrender_helpers.rs b/components/layout/display_list/webrender_helpers.rs index 41f773e08f934..6e79d48b64066 100644 --- a/components/layout/display_list/webrender_helpers.rs +++ b/components/layout/display_list/webrender_helpers.rs @@ -104,37 +104,43 @@ impl WebRenderDisplayItemConverter for DisplayItem { match *self { DisplayItem::Rectangle(ref item) => { - builder.push_item(SpecificDisplayItem::Rectangle(item.item), &self.prim_info()); + builder.push_item( + &SpecificDisplayItem::Rectangle(item.item), + &self.prim_info(), + ); }, DisplayItem::Text(ref item) => { - builder.push_item(SpecificDisplayItem::Text(item.item), &self.prim_info()); + builder.push_item(&SpecificDisplayItem::Text(item.item), &self.prim_info()); builder.push_iter(item.data.iter()); }, DisplayItem::Image(ref item) => { - builder.push_item(SpecificDisplayItem::Image(item.item), &self.prim_info()); + builder.push_item(&SpecificDisplayItem::Image(item.item), &self.prim_info()); }, DisplayItem::Border(ref item) => { if !item.data.is_empty() { builder.push_stops(item.data.as_ref()); } - builder.push_item(SpecificDisplayItem::Border(item.item), &self.prim_info()); + builder.push_item(&SpecificDisplayItem::Border(item.item), &self.prim_info()); }, DisplayItem::Gradient(ref item) => { builder.push_stops(item.data.as_ref()); - builder.push_item(SpecificDisplayItem::Gradient(item.item), &self.prim_info()); + builder.push_item(&SpecificDisplayItem::Gradient(item.item), &self.prim_info()); }, DisplayItem::RadialGradient(ref item) => { builder.push_stops(item.data.as_ref()); builder.push_item( - SpecificDisplayItem::RadialGradient(item.item), + &SpecificDisplayItem::RadialGradient(item.item), &self.prim_info(), ); }, DisplayItem::Line(ref item) => { - builder.push_item(SpecificDisplayItem::Line(item.item), &self.prim_info()); + builder.push_item(&SpecificDisplayItem::Line(item.item), &self.prim_info()); }, DisplayItem::BoxShadow(ref item) => { - builder.push_item(SpecificDisplayItem::BoxShadow(item.item), &self.prim_info()); + builder.push_item( + &SpecificDisplayItem::BoxShadow(item.item), + &self.prim_info(), + ); }, DisplayItem::PushTextShadow(ref item) => { builder.push_shadow(&self.prim_info(), item.shadow); diff --git a/components/net/image_cache.rs b/components/net/image_cache.rs index 9681a9d244266..8b3a4f56c7daf 100644 --- a/components/net/image_cache.rs +++ b/components/net/image_cache.rs @@ -72,7 +72,7 @@ fn set_webrender_image_key(webrender_api: &webrender_api::RenderApi, image: &mut }, }; let descriptor = webrender_api::ImageDescriptor { - size: webrender_api::DeviceUintSize::new(image.width, image.height), + size: webrender_api::DeviceIntSize::new(image.width as i32, image.height as i32), stride: None, format: webrender_api::ImageFormat::BGRA8, offset: 0, diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index bfc51227dc59f..d78cf8cb8f97c 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -88,8 +88,8 @@ impl MediaFrameRenderer { impl FrameRenderer for MediaFrameRenderer { fn render(&mut self, frame: Frame) { let descriptor = ImageDescriptor::new( - frame.get_width() as u32, - frame.get_height() as u32, + frame.get_width(), + frame.get_height(), ImageFormat::BGRA8, false, false, @@ -107,7 +107,12 @@ impl FrameRenderer for MediaFrameRenderer { Some((ref image_key, ref mut width, ref mut height)) if *width == frame.get_width() && *height == frame.get_height() => { - txn.update_image(*image_key, descriptor, image_data, None); + txn.update_image( + *image_key, + descriptor, + image_data, + &webrender_api::DirtyRect::All, + ); if let Some(old_image_key) = self.old_frame.take() { txn.delete_image(old_image_key); diff --git a/components/script/dom/screen.rs b/components/script/dom/screen.rs index 517dcad4ad05e..a7cf816011463 100644 --- a/components/script/dom/screen.rs +++ b/components/script/dom/screen.rs @@ -16,7 +16,7 @@ use euclid::TypedSize2D; use profile_traits::ipc; use script_traits::ScriptMsg; use style_traits::CSSPixel; -use webrender_api::DeviceUintSize; +use webrender_api::DeviceIntSize; #[dom_struct] pub struct Screen { @@ -42,7 +42,7 @@ impl Screen { fn screen_size(&self) -> TypedSize2D { let (send, recv) = - ipc::channel::(self.global().time_profiler_chan().clone()).unwrap(); + ipc::channel::(self.global().time_profiler_chan().clone()).unwrap(); self.window .upcast::() .script_to_constellation_chan() @@ -55,7 +55,7 @@ impl Screen { fn screen_avail_size(&self) -> TypedSize2D { let (send, recv) = - ipc::channel::(self.global().time_profiler_chan().clone()).unwrap(); + ipc::channel::(self.global().time_profiler_chan().clone()).unwrap(); self.window .upcast::() .script_to_constellation_chan() diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index b07998de6d487..6245f62814078 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -129,9 +129,7 @@ use style::str::HTML_SPACE_CHARACTERS; use style::stylesheets::CssRuleType; use style_traits::{CSSPixel, DevicePixel, ParsingMode}; use url::Position; -use webrender_api::{ - DeviceIntPoint, DeviceUintSize, DocumentId, ExternalScrollId, RenderApiSender, -}; +use webrender_api::{DeviceIntPoint, DeviceIntSize, DocumentId, ExternalScrollId, RenderApiSender}; use webvr_traits::WebVRMsg; /// Current state of the window object @@ -1042,7 +1040,7 @@ impl WindowMethods for Window { //TODO determine if this operation is allowed let dpr = self.device_pixel_ratio(); let size = TypedSize2D::new(width, height).to_f32() * dpr; - self.send_to_embedder(EmbedderMsg::ResizeTo(size.to_u32())); + self.send_to_embedder(EmbedderMsg::ResizeTo(size.to_i32())); } // https://drafts.csswg.org/cssom-view/#dom-window-resizeby @@ -1326,7 +1324,7 @@ impl Window { fn client_window(&self) -> (TypedSize2D, TypedPoint2D) { let timer_profile_chan = self.global().time_profiler_chan().clone(); let (send, recv) = - ProfiledIpc::channel::<(DeviceUintSize, DeviceIntPoint)>(timer_profile_chan).unwrap(); + ProfiledIpc::channel::<(DeviceIntSize, DeviceIntPoint)>(timer_profile_chan).unwrap(); self.send_to_constellation(ScriptMsg::GetClientWindow(send)); let (size, point) = recv .recv() diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs index 57ed4e77b1c26..51e3417e274c6 100644 --- a/components/script_traits/lib.rs +++ b/components/script_traits/lib.rs @@ -54,7 +54,7 @@ use style_traits::cursor::CursorKind; use style_traits::CSSPixel; use style_traits::SpeculativePainter; use webrender_api::{ - DevicePixel, DeviceUintSize, DocumentId, ExternalScrollId, ImageKey, RenderApiSender, + DeviceIntSize, DevicePixel, DocumentId, ExternalScrollId, ImageKey, RenderApiSender, }; use webvr_traits::{WebVREvent, WebVRMsg}; @@ -701,7 +701,7 @@ pub enum WebDriverCommandMsg { /// Set the window size. SetWindowSize( TopLevelBrowsingContextId, - DeviceUintSize, + DeviceIntSize, IpcSender, ), /// Take a screenshot of the window. diff --git a/components/script_traits/script_msg.rs b/components/script_traits/script_msg.rs index 50eddc30a0a2c..4cb64c162f4a1 100644 --- a/components/script_traits/script_msg.rs +++ b/components/script_traits/script_msg.rs @@ -28,7 +28,7 @@ use std::fmt; use style_traits::cursor::CursorKind; use style_traits::viewport::ViewportConstraints; use style_traits::CSSPixel; -use webrender_api::{DeviceIntPoint, DeviceUintSize}; +use webrender_api::{DeviceIntPoint, DeviceIntSize}; /// Messages from the layout to the constellation. #[derive(Deserialize, Serialize)] @@ -185,11 +185,11 @@ pub enum ScriptMsg { /// Store the data required to activate a service worker for the given scope RegisterServiceWorker(ScopeThings, ServoUrl), /// Get Window Informations size and position - GetClientWindow(IpcSender<(DeviceUintSize, DeviceIntPoint)>), + GetClientWindow(IpcSender<(DeviceIntSize, DeviceIntPoint)>), /// Get the screen size (pixel) - GetScreenSize(IpcSender<(DeviceUintSize)>), + GetScreenSize(IpcSender<(DeviceIntSize)>), /// Get the available screen size (pixel) - GetScreenAvailSize(IpcSender<(DeviceUintSize)>), + GetScreenAvailSize(IpcSender<(DeviceIntSize)>), } impl fmt::Debug for ScriptMsg { diff --git a/components/webdriver_server/lib.rs b/components/webdriver_server/lib.rs index 9c5bc67877ef2..93df193283ead 100644 --- a/components/webdriver_server/lib.rs +++ b/components/webdriver_server/lib.rs @@ -527,8 +527,11 @@ impl Handler { }; let size = TypedSize2D::new(width as u32, height as u32); let top_level_browsing_context_id = self.session()?.top_level_browsing_context_id; - let cmd_msg = - WebDriverCommandMsg::SetWindowSize(top_level_browsing_context_id, size, sender.clone()); + let cmd_msg = WebDriverCommandMsg::SetWindowSize( + top_level_browsing_context_id, + size.to_i32(), + sender.clone(), + ); self.constellation_chan .send(ConstellationMsg::WebDriverCommand(cmd_msg)) diff --git a/ports/libsimpleservo/src/api.rs b/ports/libsimpleservo/src/api.rs index be84847ad4eac..90c6abdb702e5 100644 --- a/ports/libsimpleservo/src/api.rs +++ b/ports/libsimpleservo/src/api.rs @@ -520,9 +520,9 @@ impl WindowMethods for ServoCallbacks { } fn get_coordinates(&self) -> EmbedderCoordinates { - let size = TypedSize2D::new(self.width.get(), self.height.get()); + let size = TypedSize2D::new(self.width.get() as i32, self.height.get() as i32); EmbedderCoordinates { - viewport: webrender_api::DeviceUintRect::new(TypedPoint2D::zero(), size), + viewport: webrender_api::DeviceIntRect::new(TypedPoint2D::zero(), size), framebuffer: size, window: (size, TypedPoint2D::new(0, 0)), screen: size, diff --git a/ports/servo/glutin_app/window.rs b/ports/servo/glutin_app/window.rs index ef6aafbffb1ae..f2ab3bbd9b37f 100644 --- a/ports/servo/glutin_app/window.rs +++ b/ports/servo/glutin_app/window.rs @@ -18,7 +18,7 @@ use servo::servo_config::opts; use servo::servo_geometry::DeviceIndependentPixel; use servo::style_traits::DevicePixel; use servo::style_traits::cursor::CursorKind; -use servo::webrender_api::{DeviceIntPoint, DeviceUintRect, DeviceUintSize, ScrollLocation}; +use servo::webrender_api::{DeviceIntPoint, DeviceIntRect, DeviceIntSize, ScrollLocation}; use std::cell::{Cell, RefCell}; #[cfg(any(target_os = "linux", target_os = "macos"))] use std::ffi::CString; @@ -169,8 +169,8 @@ impl Window { is_foreground: bool, window_size: TypedSize2D, ) -> Rc { - let win_size: DeviceUintSize = - (window_size.to_f32() * window_creation_scale_factor()).to_u32(); + let win_size: DeviceIntSize = + (window_size.to_f32() * window_creation_scale_factor()).to_i32(); let width = win_size.to_untyped().width; let height = win_size.to_untyped().height; @@ -183,9 +183,9 @@ impl Window { let screen_size; let inner_size; let window_kind = if opts::get().headless { - screen_size = TypedSize2D::new(width, height); - inner_size = TypedSize2D::new(width, height); - WindowKind::Headless(HeadlessContext::new(width, height)) + screen_size = TypedSize2D::new(width as u32, height as u32); + inner_size = TypedSize2D::new(width as u32, height as u32); + WindowKind::Headless(HeadlessContext::new(width as u32, height as u32)) } else { let events_loop = winit::EventsLoop::new(); let mut window_builder = winit::WindowBuilder::new() @@ -308,7 +308,7 @@ impl Window { } } - pub fn set_inner_size(&self, size: DeviceUintSize) { + pub fn set_inner_size(&self, size: DeviceIntSize) { if let WindowKind::Window(ref window, _) = self.kind { let size = size.to_f32() / self.device_hidpi_factor(); window.set_inner_size(LogicalSize::new(size.width.into(), size.height.into())) @@ -685,16 +685,16 @@ impl WindowMethods for Window { let LogicalPosition { x, y } = window .get_position() .unwrap_or(LogicalPosition::new(0., 0.)); - let win_size = (TypedSize2D::new(width as f32, height as f32) * dpr).to_u32(); + let win_size = (TypedSize2D::new(width as f32, height as f32) * dpr).to_i32(); let win_origin = (TypedPoint2D::new(x as f32, y as f32) * dpr).to_i32(); - let screen = (self.screen_size.to_f32() * dpr).to_u32(); + let screen = (self.screen_size.to_f32() * dpr).to_i32(); let LogicalSize { width, height } = window .get_inner_size() .expect("Failed to get window inner size."); - let inner_size = (TypedSize2D::new(width as f32, height as f32) * dpr).to_u32(); + let inner_size = (TypedSize2D::new(width as f32, height as f32) * dpr).to_i32(); - let viewport = DeviceUintRect::new(TypedPoint2D::zero(), inner_size); + let viewport = DeviceIntRect::new(TypedPoint2D::zero(), inner_size); EmbedderCoordinates { viewport: viewport, @@ -709,9 +709,9 @@ impl WindowMethods for Window { WindowKind::Headless(ref context) => { let dpr = self.servo_hidpi_factor(); let size = - (TypedSize2D::new(context.width, context.height).to_f32() * dpr).to_u32(); + (TypedSize2D::new(context.width, context.height).to_f32() * dpr).to_i32(); EmbedderCoordinates { - viewport: DeviceUintRect::new(TypedPoint2D::zero(), size), + viewport: DeviceIntRect::new(TypedPoint2D::zero(), size), framebuffer: size, window: (size, TypedPoint2D::zero()), screen: size,