Merge inbound to mozilla-central. a=merge
authorAndreea Pavel <apavel@mozilla.com>
Sun, 28 Jan 2018 23:48:41 +0200
changeset 748205 a6c753e77345e968954e8d61e3871c5883015ede
parent 748197 98a2ad850c9fed80c14afb40080e231385ca5a40 (current diff)
parent 748204 11230e686cee2960a11babf44e0f1ecd5a578eff (diff)
child 748206 9999fe05d7a48567df32feae5e8be7ae6403b02d
child 748209 aaaa7fadd796cb5db5913783dc8aa8f276bbbbf6
child 748213 2a186c8c7911700f0562c588f9a3a0e7f91739d1
child 748237 436b20f91ec657cc7231370df2eaae7bcfbf1d1b
child 748241 9b520d529b4a22350c4ef483333f62f68e8b22ca
child 748262 95bbe1b11ef3a0e712cd577c87ade0b9f42dcddd
child 748264 87081f07222291c7e9ad9068f79345d9a87a2c21
child 748274 6bf233891506573babd278c85870ded7a11813cf
child 748275 253b680dec762aa253b2827b241d3873d10bef2f
child 748298 2a25ba37ff84e22595213d1d595025ffc2290ded
child 748316 e3922616282b291817e58a1f40dbd6251d76156e
child 748317 77ca5d839cbb56bd99077dbf28cfddc9a61eb43a
child 748378 5b1a08f0c67b51467aea9817342123072e2b0f61
child 748380 ee7aa0ed0a0d911b210f6034875ff071626afdea
child 748400 03f78b98ad327414a40d6dc1eb99a74ec39d68cf
child 748406 c74b9da6d9415bd2e81b61c1e42921ded47c5198
child 748483 337d5e781945c5223af3fae245ecd9f5ad930337
child 748786 ea440e9c1edd5ba5b931dcd8d2c0399ccaa63c18
child 748790 c6fb43939160326ce8f73d341d718f4ee788d880
child 749007 b381c64da7cda3ca11152a100bae5fc737c5d4bd
child 749044 e4dca1cdec8c7bf0c8971ef1ce2c5ec9b6c040b5
child 749056 b187f4a7d277580c323d9b04d77ff7f023a0d8f6
child 749376 f709b8a334d8cc72fc8e4e77af2aee8ed2fb3deb
child 749575 839632fa0805eff53ee9c8de9d75b783810e0b29
child 749599 ff9f92e48aa6af2749ac3a67089b4d645ddf83b5
child 749719 a6dbcd5b2bd89fb6d4dac88109447c663a7b3a6d
child 752892 43f753c01a33f98032e60d75e8138cd048fe3e3d
push id97088
push userhikezoe@mozilla.com
push dateMon, 29 Jan 2018 05:19:50 +0000
reviewersmerge
milestone60.0a1
Merge inbound to mozilla-central. a=merge
--- a/gfx/layers/wr/ScrollingLayersHelper.cpp
+++ b/gfx/layers/wr/ScrollingLayersHelper.cpp
@@ -86,17 +86,23 @@ ScrollingLayersHelper::BeginItem(nsDispl
     // do the work of popping the old stuff and then pushing it right back on
     // for the new item.
     SLH_LOG("early-exit for %p\n", aItem);
     return;
   }
   mItemClipStack.back().Unapply(mBuilder);
   mItemClipStack.pop_back();
 
+  // Zoom display items report their bounds etc using the parent document's
+  // APD because zoom items act as a conversion layer between the two different
+  // APDs.
   int32_t auPerDevPixel = aItem->Frame()->PresContext()->AppUnitsPerDevPixel();
+  if (aItem->GetType() == DisplayItemType::TYPE_ZOOM) {
+    auPerDevPixel = static_cast<nsDisplayZoom*>(aItem)->GetParentAppUnitsPerDevPixel();
+  }
 
   // There are two ASR chains here that we need to be fully defined. One is the
   // ASR chain pointed to by aItem->GetActiveScrolledRoot(). The other is the
   // ASR chain pointed to by clip->mASR. We pick the leafmost
   // of these two chains because that one will include the other.
   // The leafmost clip is trivially going to be |clip|.
   // So we call DefineClipChain with these two leafmost things, and it will
   // recursively define all the clips and scroll layers with the appropriate
new file mode 100644
--- /dev/null
+++ b/gfx/tests/reftest/1429411-ref.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="en">
+<meta charset="utf-8">
+<style>
+
+.outer {
+  position: absolute;
+  width: 200px;
+  height: 150px;
+  overflow: hidden;
+}
+.inner {
+  position: absolute;
+  top: 3px;
+  left: 3px;
+  width: 200px;
+  height: 150px;
+  box-shadow: blue 0px 0px 20px inset;
+}
+
+</style>
+
+<div class="outer">
+<div class="inner"></div>
+</div>
new file mode 100644
--- /dev/null
+++ b/gfx/tests/reftest/1429411.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html lang="en">
+<meta charset="utf-8">
+<style>
+
+.outer {
+  position: absolute;
+  margin-top: 3px;
+  margin-left: 3px;
+  width: 200px;
+  height: 150px;
+  overflow: hidden;
+}
+.inner {
+  position: absolute;
+  margin-top: -3px;
+  margin-left: -3px;
+  width: 200px;
+  height: 150px;
+  box-shadow: blue 3px 3px 20px inset;
+}
+
+</style>
+
+<div class="outer">
+<div class="inner"></div>
+</div>
--- a/gfx/tests/reftest/reftest.list
+++ b/gfx/tests/reftest/reftest.list
@@ -4,8 +4,9 @@ fuzzy(175,443) skip-if(styloVsGecko) == 
 fuzzy-if(Android,8,1000) == 709477-1.html 709477-1-ref.html
 skip-if(!asyncPan) == 1086723.html 1086723-ref.html
 == 853889-1.html 853889-1-ref.html
 skip-if(Android) fuzzy-if(skiaContent,1,587) == 1143303-1.svg pass.svg
 fuzzy(100,30) == 1149923.html 1149923-ref.html # use fuzzy due to few distorted pixels caused by border-radius
 == 1131264-1.svg pass.svg
 == 1419528.html 1419528-ref.html
 == 1424673.html 1424673-ref.html
+== 1429411.html 1429411-ref.html