From 3ca0f8a9ac9e36db8c9be8363e9e980d694d7c8b Mon Sep 17 00:00:00 2001 From: Glenn Watson Date: Mon, 27 Mar 2017 06:13:39 +1000 Subject: [PATCH] Update WR (opaque rect optimization, stacking context culling). Correct viewport test references These references were using an incorrect value for the expected container width. Now that WebRender is no longer clipping to stacking context boundaries the rendered width is correct (100% of viewport width = 240px). --- Cargo.lock | 50 +++++++++---------- components/canvas/canvas_paint_thread.rs | 3 +- components/canvas/webgl_paint_thread.rs | 3 +- components/layout/webrender_helpers.rs | 5 -- .../html/calc-border-radius-1.htm.ini | 3 -- tests/wpt/mozilla/meta/MANIFEST.json | 2 +- .../meta/css/border_black_ridge_b.html.ini} | 2 +- .../mozilla/tests/css/viewport_rule_ref.html | 2 +- 8 files changed, 32 insertions(+), 38 deletions(-) delete mode 100644 tests/wpt/metadata-css/css-values-3_dev/html/calc-border-radius-1.htm.ini rename tests/wpt/{metadata-css/css-transforms-1_dev/html/transform-abspos-006.htm.ini => mozilla/meta/css/border_black_ridge_b.html.ini} (54%) diff --git a/Cargo.lock b/Cargo.lock index 83f2155d6e9..58bc0f03d04 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -284,7 +284,7 @@ dependencies = [ "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", "servo_config 0.0.1", - "webrender_traits 0.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -298,7 +298,7 @@ dependencies = [ "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -419,8 +419,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.25.0 (git+https://github.com/servo/webrender)", - "webrender_traits 0.26.0 (git+https://github.com/servo/webrender)", + "webrender 0.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -453,7 +453,7 @@ dependencies = [ "servo_remutex 0.0.1", "servo_url 0.0.1", "style_traits 0.0.1", - "webrender_traits 0.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", "webvr_traits 0.0.1", ] @@ -698,7 +698,7 @@ dependencies = [ "servo_geometry 0.0.1", "servo_url 0.0.1", "style_traits 0.0.1", - "webrender_traits 0.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", "x11 2.12.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -980,7 +980,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.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", "xi-unicode 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1059,7 +1059,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.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.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)", ] @@ -1370,7 +1370,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.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1410,7 +1410,7 @@ dependencies = [ "servo_geometry 0.0.1", "servo_url 0.0.1", "style 0.0.1", - "webrender_traits 0.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1424,7 +1424,7 @@ dependencies = [ "profile_traits 0.0.1", "script_traits 0.0.1", "servo_url 0.0.1", - "webrender_traits 0.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1509,8 +1509,8 @@ dependencies = [ "style 0.0.1", "style_traits 0.0.1", "webdriver_server 0.0.1", - "webrender 0.25.0 (git+https://github.com/servo/webrender)", - "webrender_traits 0.26.0 (git+https://github.com/servo/webrender)", + "webrender 0.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", "webvr 0.0.1", "webvr_traits 0.0.1", ] @@ -1659,7 +1659,7 @@ dependencies = [ "heapsize_derive 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1701,7 +1701,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.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1760,7 +1760,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.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -2306,7 +2306,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.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", "webvr 0.0.1", "webvr_traits 0.0.1", "xml5ever 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3179,8 +3179,8 @@ dependencies = [ [[package]] name = "webrender" -version = "0.25.0" -source = "git+https://github.com/servo/webrender#0794911f97cae92496fca992d7430da696fa24eb" +version = "0.26.0" +source = "git+https://github.com/servo/webrender#b2dd9f792d0cb3dfc591567c105755f56f35956d" 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)", @@ -3202,13 +3202,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.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", ] [[package]] name = "webrender_traits" -version = "0.26.0" -source = "git+https://github.com/servo/webrender#0794911f97cae92496fca992d7430da696fa24eb" +version = "0.27.0" +source = "git+https://github.com/servo/webrender#b2dd9f792d0cb3dfc591567c105755f56f35956d" 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)", @@ -3232,7 +3232,7 @@ dependencies = [ "msg 0.0.1", "script_traits 0.0.1", "servo_config 0.0.1", - "webrender_traits 0.26.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.27.0 (git+https://github.com/servo/webrender)", "webvr_traits 0.0.1", ] @@ -3574,8 +3574,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.25.0 (git+https://github.com/servo/webrender)" = "" -"checksum webrender_traits 0.26.0 (git+https://github.com/servo/webrender)" = "" +"checksum webrender 0.26.0 (git+https://github.com/servo/webrender)" = "" +"checksum webrender_traits 0.27.0 (git+https://github.com/servo/webrender)" = "" "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" "checksum ws 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "04614a58714f3fd4a8b1da4bcae9f031c532d35988c3d39627619248113f8be8" diff --git a/components/canvas/canvas_paint_thread.rs b/components/canvas/canvas_paint_thread.rs index 8aca22bdbfb..7f09603d322 100644 --- a/components/canvas/canvas_paint_thread.rs +++ b/components/canvas/canvas_paint_thread.rs @@ -567,7 +567,8 @@ impl<'a> CanvasPaintThread<'a> { offset: 0, is_opaque: false, }, - element.into()); + element.into(), + None); let data = CanvasImageData { image_key: self.webrender_image_key, diff --git a/components/canvas/webgl_paint_thread.rs b/components/canvas/webgl_paint_thread.rs index 2894df71a06..b5893c15058 100644 --- a/components/canvas/webgl_paint_thread.rs +++ b/components/canvas/webgl_paint_thread.rs @@ -261,7 +261,8 @@ impl WebGLPaintThread { offset: 0, is_opaque: false, }, - pixels.clone()); + pixels.clone(), + None); let image_data = CanvasImageData { image_key: image_key, diff --git a/components/layout/webrender_helpers.rs b/components/layout/webrender_helpers.rs index 2e94b79adaa..947faaf6dbc 100644 --- a/components/layout/webrender_helpers.rs +++ b/components/layout/webrender_helpers.rs @@ -394,10 +394,6 @@ impl WebRenderDisplayItemConverter for DisplayItem { let stacking_context = &item.stacking_context; debug_assert!(stacking_context.context_type == StackingContextType::Real); - let clip = builder.new_clip_region(&stacking_context.overflow.to_rectf(), - vec![], - None); - let transform = stacking_context.transform.map(|transform| { LayoutTransform::from_untyped(&transform).into() }); @@ -407,7 +403,6 @@ impl WebRenderDisplayItemConverter for DisplayItem { builder.push_stacking_context(stacking_context.scroll_policy, stacking_context.bounds.to_rectf(), - clip, stacking_context.z_index, transform, perspective, diff --git a/tests/wpt/metadata-css/css-values-3_dev/html/calc-border-radius-1.htm.ini b/tests/wpt/metadata-css/css-values-3_dev/html/calc-border-radius-1.htm.ini deleted file mode 100644 index e4eef061c0c..00000000000 --- a/tests/wpt/metadata-css/css-values-3_dev/html/calc-border-radius-1.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[calc-border-radius-1.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 5d7438c4e04..2bcd84d9b83 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -24006,7 +24006,7 @@ "reftest" ], "css/viewport_rule_ref.html": [ - "00bb1ce6ccffc6b6bb0db1565985171ff49f1362", + "aa1693b5917599430c3520cc7aebdd275d4c6f19", "support" ], "css/visibility_hidden.html": [ diff --git a/tests/wpt/metadata-css/css-transforms-1_dev/html/transform-abspos-006.htm.ini b/tests/wpt/mozilla/meta/css/border_black_ridge_b.html.ini similarity index 54% rename from tests/wpt/metadata-css/css-transforms-1_dev/html/transform-abspos-006.htm.ini rename to tests/wpt/mozilla/meta/css/border_black_ridge_b.html.ini index dd344308dfd..77a903e94d5 100644 --- a/tests/wpt/metadata-css/css-transforms-1_dev/html/transform-abspos-006.htm.ini +++ b/tests/wpt/mozilla/meta/css/border_black_ridge_b.html.ini @@ -1,3 +1,3 @@ -[transform-abspos-006.htm] +[border_black_ridge_b.html] type: reftest expected: FAIL diff --git a/tests/wpt/mozilla/tests/css/viewport_rule_ref.html b/tests/wpt/mozilla/tests/css/viewport_rule_ref.html index 2cd2b347d3f..4c7be62919a 100644 --- a/tests/wpt/mozilla/tests/css/viewport_rule_ref.html +++ b/tests/wpt/mozilla/tests/css/viewport_rule_ref.html @@ -5,7 +5,7 @@ #container { background: blue; height: 180px; - width: 232px; + width: 240px; } #box {