Backed out 3 changesets (bug 1423013) for failing at reftests/transform/compound-1a.html on a CLOSED TREE
authorOana Pop Rus <opoprus@mozilla.com>
Tue, 15 Jan 2019 09:35:57 +0200
changeset 511001 8af061c4dfc01a8ecaff8072b70110f85f1c5060
parent 511000 73cd4b7b53ba8edbc148e40d101fd9427846ea26
child 511002 8377d1696ac403b0e9d1b2fb9a855b7717f576a8
push id10547
push userffxbld-merge
push dateMon, 21 Jan 2019 13:03:58 +0000
treeherdermozilla-beta@24ec1916bffe [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1423013
milestone66.0a1
backs out91624c065046140dd88b670829892f3c4e41dc2d
050a2ef2393d0ed698e72ad1ae4452c2e8241596
db57901030e954ada2c5ba75a3c6bd0160e6b7e2
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out 3 changesets (bug 1423013) for failing at reftests/transform/compound-1a.html on a CLOSED TREE Backed out changeset 91624c065046 (bug 1423013) Backed out changeset 050a2ef2393d (bug 1423013) Backed out changeset db57901030e9 (bug 1423013)
layout/base/MobileViewportManager.h
layout/generic/nsGfxScrollFrame.cpp
layout/generic/nsGfxScrollFrame.h
layout/painting/nsDisplayList.cpp
layout/reftests/meta-viewport/horizontal-overflow-hidden-region-ref.html
layout/reftests/meta-viewport/horizontal-overflow-hidden-region.html
layout/reftests/meta-viewport/overflow-hidden-region-with-negative-left-positioned-element.html
layout/reftests/meta-viewport/overflow-hidden-region.html
layout/reftests/meta-viewport/overflow-region-ref.html
layout/reftests/meta-viewport/overflow-region.html
layout/reftests/meta-viewport/reftest.list
layout/reftests/meta-viewport/scroll-to-unreachable-area-ref.html
layout/reftests/meta-viewport/scroll-to-unreachable-area.html
layout/reftests/meta-viewport/vertical-overflow-hidden-region.html
layout/reftests/meta-viewport/wrapped-text-at-icb-ref.html
layout/reftests/meta-viewport/wrapped-text-at-icb.html
mobile/android/geckoview/src/androidTest/assets/www/forms.html
testing/marionette/harness/marionette_harness/www/bug814037.html
testing/web-platform/tests/css/css-device-adapt/documentElement-clientWidth-on-minimum-scale-size.tentative.html
--- a/layout/base/MobileViewportManager.h
+++ b/layout/base/MobileViewportManager.h
@@ -66,20 +66,16 @@ class MobileViewportManager final : publ
    * updated, and the visual viewport size needs to be updated. */
   void ResolutionUpdated();
 
   /* Called to compute the initial viewport on page load or before-first-paint,
    * whichever happens first. Also called directly if we are created after the
    * presShell is initialized. */
   void SetInitialViewport();
 
-  const mozilla::LayoutDeviceIntSize& DisplaySize() const {
-    return mDisplaySize;
-  };
-
  private:
   ~MobileViewportManager();
 
   /* Main helper method to update the CSS viewport and any other properties that
    * need updating. */
   void RefreshViewportSize(bool aForceAdjustResolution);
 
   /* Secondary main helper method to update just the visual viewport size. */
--- a/layout/generic/nsGfxScrollFrame.cpp
+++ b/layout/generic/nsGfxScrollFrame.cpp
@@ -10,17 +10,16 @@
 
 #include "ActiveLayerTracker.h"
 #include "base/compiler_specific.h"
 #include "DisplayItemClip.h"
 #include "nsCOMPtr.h"
 #include "nsIContentViewer.h"
 #include "nsPresContext.h"
 #include "nsView.h"
-#include "nsViewportInfo.h"
 #include "nsIScrollable.h"
 #include "nsContainerFrame.h"
 #include "nsGkAtoms.h"
 #include "nsNameSpaceManager.h"
 #include "mozilla/dom/DocumentInlines.h"
 #include "nsFontMetrics.h"
 #include "nsBoxLayoutState.h"
 #include "mozilla/dom/NodeInfo.h"
@@ -368,24 +367,19 @@ bool nsHTMLScrollFrame::TryLayout(Scroll
   desiredInsideBorderSize.width =
       vScrollbarDesiredWidth +
       std::max(aKidMetrics->Width(), hScrollbarMinWidth);
   desiredInsideBorderSize.height =
       hScrollbarDesiredHeight +
       std::max(aKidMetrics->Height(), vScrollbarMinHeight);
   aState->mInsideBorderSize =
       ComputeInsideBorderSize(aState, desiredInsideBorderSize);
-
-  nsSize layoutSize = mHelper.mIsUsingMinimumScaleSize
-                          ? mHelper.mMinimumScaleSize
-                          : aState->mInsideBorderSize;
-
-  nsSize scrollPortSize =
-      nsSize(std::max(0, layoutSize.width - vScrollbarDesiredWidth),
-             std::max(0, layoutSize.height - hScrollbarDesiredHeight));
+  nsSize scrollPortSize = nsSize(
+      std::max(0, aState->mInsideBorderSize.width - vScrollbarDesiredWidth),
+      std::max(0, aState->mInsideBorderSize.height - hScrollbarDesiredHeight));
 
   nsSize visualViewportSize = scrollPortSize;
   nsIPresShell* presShell = PresShell();
   if (mHelper.mIsRoot && presShell->IsVisualViewportSizeSet()) {
     nsSize compositionSize =
         nsLayoutUtils::CalculateCompositionSizeForFrame(this, false);
     float resolution = presShell->GetResolution();
     compositionSize.width /= resolution;
@@ -448,17 +442,18 @@ bool nsHTMLScrollFrame::TryLayout(Scroll
     doc->UpdateViewportOverflowType(scrolledWidth, scrollPortSize.width);
   } while (false);
 
   aState->mShowHScrollbar = aAssumeHScroll;
   aState->mShowVScrollbar = aAssumeVScroll;
   nsPoint scrollPortOrigin(aState->mComputedBorder.left,
                            aState->mComputedBorder.top);
   if (!IsScrollbarOnRight()) {
-    nscoord vScrollbarActualWidth = layoutSize.width - scrollPortSize.width;
+    nscoord vScrollbarActualWidth =
+        aState->mInsideBorderSize.width - scrollPortSize.width;
     scrollPortOrigin.x += vScrollbarActualWidth;
   }
   mHelper.mScrollPort = nsRect(scrollPortOrigin, scrollPortSize);
   return true;
 }
 
 // XXX Height/BSize mismatch needs to be addressed here; check the caller!
 // Currently this will only behave as expected for horizontal writing modes.
@@ -717,22 +712,16 @@ void nsHTMLScrollFrame::ReflowContents(S
         kidDesiredSize.ScrollableOverflow(), insideBorderSize);
     if (nsRect(nsPoint(0, 0), insideBorderSize).Contains(scrolledRect)) {
       // Let's pretend we had no scrollbars coming in here
       kidDesiredSize.mOverflowAreas.Clear();
       ReflowScrolledFrame(aState, false, false, &kidDesiredSize);
     }
   }
 
-  if (IsRootScrollFrameOfDocument()) {
-    mHelper.UpdateMinimumScaleSize(
-        aState->mContentsOverflowAreas.ScrollableOverflow(),
-        kidDesiredSize.PhysicalSize());
-  }
-
   // Try vertical scrollbar settings that leave the vertical scrollbar
   // unchanged. Do this first because changing the vertical scrollbar setting is
   // expensive, forcing a reflow always.
 
   // Try leaving the horizontal scrollbar unchanged first. This will be more
   // efficient.
   if (TryLayout(aState, &kidDesiredSize,
                 aState->mReflowedContentsWithHScrollbar,
@@ -1054,21 +1043,20 @@ void nsHTMLScrollFrame::Reflow(nsPresCon
       mHelper.mScrolledFrame->GetScrollableOverflowRectRelativeToParent();
   nsPoint oldScrollPosition = mHelper.GetScrollPosition();
 
   state.mComputedBorder = aReflowInput.ComputedPhysicalBorderPadding() -
                           aReflowInput.ComputedPhysicalPadding();
 
   ReflowContents(&state, aDesiredSize);
 
-  nsSize layoutSize = mHelper.mIsUsingMinimumScaleSize
-                          ? mHelper.mMinimumScaleSize
-                          : state.mInsideBorderSize;
-  aDesiredSize.Width() = layoutSize.width + state.mComputedBorder.LeftRight();
-  aDesiredSize.Height() = layoutSize.height + state.mComputedBorder.TopBottom();
+  aDesiredSize.Width() =
+      state.mInsideBorderSize.width + state.mComputedBorder.LeftRight();
+  aDesiredSize.Height() =
+      state.mInsideBorderSize.height + state.mComputedBorder.TopBottom();
 
   // Set the size of the frame now since computing the perspective-correct
   // overflow (within PlaceScrollArea) can rely on it.
   SetSize(aDesiredSize.GetWritingMode(),
           aDesiredSize.Size(aDesiredSize.GetWritingMode()));
 
   // Restore the old scroll position, for now, even if that's not valid anymore
   // because we changed size. We'll fix it up in a post-reflow callback, because
@@ -1098,17 +1086,17 @@ void nsHTMLScrollFrame::Reflow(nsPresCon
       mHelper.mSkippedScrollbarLayout = false;
       ScrollFrameHelper::SetScrollbarVisibility(mHelper.mHScrollbarBox,
                                                 state.mShowHScrollbar);
       ScrollFrameHelper::SetScrollbarVisibility(mHelper.mVScrollbarBox,
                                                 state.mShowVScrollbar);
       // place and reflow scrollbars
       nsRect insideBorderArea =
           nsRect(nsPoint(state.mComputedBorder.left, state.mComputedBorder.top),
-                 layoutSize);
+                 state.mInsideBorderSize);
       mHelper.LayoutScrollbars(state.mBoxState, insideBorderArea,
                                oldScrollAreaBounds);
     } else {
       mHelper.mSkippedScrollbarLayout = true;
     }
   }
 
   aDesiredSize.SetOverflowAreasToDesiredBounds();
@@ -2005,17 +1993,16 @@ ScrollFrameHelper::ScrollFrameHelper(nsC
       mAddClipRectToLayer(false),
       mHasBeenScrolled(false),
       mIgnoreMomentumScroll(false),
       mTransformingByAPZ(false),
       mScrollableByAPZ(false),
       mZoomableByAPZ(false),
       mHasOutOfFlowContentInsideFilter(false),
       mSuppressScrollbarRepaints(false),
-      mIsUsingMinimumScaleSize(false),
       mVelocityQueue(aOuter->PresContext()) {
   if (LookAndFeel::GetInt(LookAndFeel::eIntID_UseOverlayScrollbars) != 0) {
     mScrollbarActivity = new ScrollbarActivity(do_QueryFrame(aOuter));
   }
 
   EnsureFrameVisPrefsCached();
 
   if (IsAlwaysActive() && gfxPrefs::LayersTilesEnabled() &&
@@ -5453,75 +5440,16 @@ void ScrollFrameHelper::FinishReflowForS
   // Scrollbars assume zero is the minimum position, so translate for them.
   SetCoordAttribute(aElement, nsGkAtoms::curpos, aCurPosXY - aMinXY);
   SetScrollbarEnabled(aElement, aMaxXY - aMinXY);
   SetCoordAttribute(aElement, nsGkAtoms::maxpos, aMaxXY - aMinXY);
   SetCoordAttribute(aElement, nsGkAtoms::pageincrement, aPageIncrement);
   SetCoordAttribute(aElement, nsGkAtoms::increment, aIncrement);
 }
 
-void ScrollFrameHelper::UpdateMinimumScaleSize(
-    const nsRect& aScrollableOverflow, const nsSize& aICBSize) {
-  MOZ_ASSERT(mIsRoot);
-
-  mIsUsingMinimumScaleSize = false;
-
-  if (!mOuter->PresShell()->GetIsViewportOverridden()) {
-    return;
-  }
-
-  nsPresContext* pc = mOuter->PresContext();
-  MOZ_ASSERT(pc->IsRootContentDocument(),
-             "The pres context should be for the root content document");
-
-  const ScrollStyles& styles = pc->GetViewportScrollStylesOverride();
-  // FIXME: Bug 1520077 - Drop this check. We should use the minimum-scale size
-  // even if no overflow:hidden is specified.
-  if (styles.mHorizontal != StyleOverflow::Hidden) {
-    return;
-  }
-
-  RefPtr<MobileViewportManager> manager =
-      mOuter->PresShell()->GetMobileViewportManager();
-  MOZ_ASSERT(manager);
-
-  ScreenIntSize displaySize = ViewAs<ScreenPixel>(
-      manager->DisplaySize(),
-      PixelCastJustification::LayoutDeviceIsScreenForBounds);
-  if (displaySize.width == 0 || displaySize.height == 0) {
-    return;
-  }
-
-  Document* doc = pc->Document();
-  MOZ_ASSERT(doc, "The document should be valid");
-  nsViewportInfo viewportInfo = doc->GetViewportInfo(displaySize);
-  // FIXME: Bug 1520081 - Drop this check. We should use the minimum-scale size
-  // even if the minimum-scale size is greater than 1.0.
-  if (viewportInfo.GetMinZoom() >=
-      pc->CSSToDevPixelScale() * LayoutDeviceToScreenScale(1.0f)) {
-    return;
-  }
-
-  nsSize maximumPossibleSize =
-      CSSSize::ToAppUnits(ScreenSize(displaySize) / viewportInfo.GetMinZoom());
-
-  mMinimumScaleSize =
-      Min(maximumPossibleSize,
-          nsSize(aScrollableOverflow.XMost(), aScrollableOverflow.YMost()));
-  mMinimumScaleSize = Max(aICBSize, mMinimumScaleSize);
-
-  // Chrome doesn't allow overflow-y:hidden region reachable if there is no
-  // overflow-x:hidden region.
-  // TODO: Bug 1508177: We can drop this condition once after we shrink the
-  // content even if no content area gets visible.
-  if (mMinimumScaleSize.width != aICBSize.width) {
-    mIsUsingMinimumScaleSize = true;
-  }
-}
-
 bool ScrollFrameHelper::ReflowFinished() {
   mPostedReflowCallback = false;
 
   bool doScroll = true;
   if (NS_SUBTREE_DIRTY(mOuter)) {
     // We will get another call after the next reflow and scrolling
     // later is less janky.
     doScroll = false;
--- a/layout/generic/nsGfxScrollFrame.h
+++ b/layout/generic/nsGfxScrollFrame.h
@@ -513,21 +513,16 @@ class ScrollFrameHelper : public nsIRefl
   bool DragScroll(WidgetEvent* aEvent);
 
   void AsyncScrollbarDragInitiated(uint64_t aDragBlockId,
                                    mozilla::layers::ScrollDirection aDirection);
   void AsyncScrollbarDragRejected();
 
   bool IsRootScrollFrameOfDocument() const { return mIsRoot; }
 
-  // Update minimum-scale size.  The minimum-scale size will be set/used only
-  // if there is overflow-x:hidden region.
-  void UpdateMinimumScaleSize(const nsRect& aScrollableOverflow,
-                              const nsSize& aICBSize);
-
   // owning references to the nsIAnonymousContentCreator-built content
   nsCOMPtr<mozilla::dom::Element> mHScrollbarContent;
   nsCOMPtr<mozilla::dom::Element> mVScrollbarContent;
   nsCOMPtr<mozilla::dom::Element> mScrollCornerContent;
   nsCOMPtr<mozilla::dom::Element> mResizerContent;
 
   RefPtr<ScrollEvent> mScrollEvent;
   RefPtr<ScrollEndEvent> mScrollEndEvent;
@@ -543,21 +538,17 @@ class ScrollFrameHelper : public nsIRefl
   RefPtr<AsyncScroll> mAsyncScroll;
   RefPtr<AsyncSmoothMSDScroll> mAsyncSmoothMSDScroll;
   RefPtr<ScrollbarActivity> mScrollbarActivity;
   nsTArray<nsIScrollPositionListener*> mListeners;
   nsAtom* mLastScrollOrigin;
   nsAtom* mLastSmoothScrollOrigin;
   Maybe<nsPoint> mApzSmoothScrollDestination;
   uint32_t mScrollGeneration;
-  // NOTE: On mobile this value might be factoring into overflow:hidden region
-  // in the case of the top level document.
   nsRect mScrollPort;
-  nsSize mMinimumScaleSize;
-
   // Where we're currently scrolling to, if we're scrolling asynchronously.
   // If we're not in the middle of an asynchronous scroll then this is
   // just the current scroll position. ScrollBy will choose its
   // destination based on this value.
   nsPoint mDestination;
 
   // A goal position to try to scroll to as content loads. As long as mLastPos
   // matches the current logical scroll position, we try to scroll to
@@ -674,19 +665,16 @@ class ScrollFrameHelper : public nsIRefl
 
   // True if the scroll frame contains out-of-flow content and is inside
   // a CSS filter.
   bool mHasOutOfFlowContentInsideFilter : 1;
 
   // True if we don't want the scrollbar to repaint itself right now.
   bool mSuppressScrollbarRepaints : 1;
 
-  // True if we are using the minimum scale size instead of ICB for scroll port.
-  bool mIsUsingMinimumScaleSize : 1;
-
   mozilla::layout::ScrollVelocityQueue mVelocityQueue;
 
  protected:
   class AutoScrollbarRepaintSuppression;
   friend class AutoScrollbarRepaintSuppression;
   class AutoScrollbarRepaintSuppression {
    public:
     AutoScrollbarRepaintSuppression(ScrollFrameHelper* aHelper, bool aSuppress)
--- a/layout/painting/nsDisplayList.cpp
+++ b/layout/painting/nsDisplayList.cpp
@@ -6449,26 +6449,22 @@ UniquePtr<ScrollMetadata> nsDisplaySubDo
   ContainerLayerParameters params(
       aContainerParameters.mXScale * presShell->GetResolution(),
       aContainerParameters.mYScale * presShell->GetResolution(), nsIntPoint(),
       aContainerParameters);
 
   nsRect viewport = mFrame->GetRect() - mFrame->GetPosition() +
                     mFrame->GetOffsetToCrossDoc(ReferenceFrame());
 
-  nsIScrollableFrame* scrollableFrame = rootScrollFrame->GetScrollTargetFrame();
-  if (isRootContentDocument) {
-    viewport.SizeTo(scrollableFrame->GetScrollPortRect().Size());
-  }
-
   UniquePtr<ScrollMetadata> metadata =
       MakeUnique<ScrollMetadata>(nsLayoutUtils::ComputeScrollMetadata(
           mFrame, rootScrollFrame, rootScrollFrame->GetContent(),
           ReferenceFrame(), aLayerManager, mScrollParentId, viewport, Nothing(),
           isRootContentDocument, Some(params)));
+  nsIScrollableFrame* scrollableFrame = rootScrollFrame->GetScrollTargetFrame();
   if (scrollableFrame) {
     scrollableFrame->NotifyApzTransaction();
   }
 
   return metadata;
 }
 
 static bool UseDisplayPortForViewport(nsDisplayListBuilder* aBuilder,
deleted file mode 100644
--- a/layout/reftests/meta-viewport/horizontal-overflow-hidden-region-ref.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<style>
-html, body {
-  margin: 0;
-  width: 100%;
-  height: 100%;
-}
-div {
-  height: 50%;
-  position: absolute;
-}
-</style>
-<div style="background: green; width: 100%;"></div>
-<div style="background: blue; width: 50%;"></div>
deleted file mode 100644
--- a/layout/reftests/meta-viewport/horizontal-overflow-hidden-region.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<meta name="viewport" content="width=device-width, minimum-scale=0.5">
-<style>
-html {
-  overflow-x: hidden;
-}
-html, body {
-  margin: 0;
-  width: 100%;
-  height: 100%;
-}
-div {
-  height: 100%;
-  position: absolute;
-}
-</style>
-<div style="background: red; width: 300%;"></div>
-<div style="background: green; width: 200%;"></div>
-<div style="background: blue; width: 100%;"></div>
deleted file mode 100644
--- a/layout/reftests/meta-viewport/overflow-hidden-region-with-negative-left-positioned-element.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<meta name="viewport" content="width=device-width, minimum-scale=0.25">
-<style>
-html {
-  overflow: hidden;
-}
-html, body {
-  margin: 0;
-  width: 100%;
-  height: 100%;
-}
-div {
-  position: absolute;
-}
-</style>
-<!--
-  Even if minimum-scale=0.25 is specified, the widest element in this content is
-  below div element whose *real* width is 200% because of `margin-left: -500%`,
-  so this content should be scaled to 0.5x.
-  -->
-<div style="background: green; width: 700%; height: 500%; margin-left: -500%;"></div>
-<div style="background: blue; width: 100%; height: 100%;"></div>
deleted file mode 100644
--- a/layout/reftests/meta-viewport/overflow-hidden-region.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE html>
-<meta name="viewport" content="width=device-width, minimum-scale=0.5">
-<style>
-html {
-  overflow: hidden;
-}
-html, body {
-  margin: 0;
-  width: 100%;
-  height: 100%;
-}
-div {
-  position: absolute;
-}
-</style>
-<div style="background: red; width: 300%; height: 300%;"></div>
-<div style="background: green; width: 200%; height: 200%;"></div>
-<div style="background: blue; width: 100%; height: 100%;"></div>
deleted file mode 100644
--- a/layout/reftests/meta-viewport/overflow-region-ref.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE html>
-<meta name="viewport" content="width=device-width,initial-scale=1">
-<style>
-html, body {
-  margin: 0;
-  width: 100%;
-  height: 100%;
-}
-div {
-  position: absolute;
-}
-</style>
-<div style="background: green; width: 100%; height: 100%;"></div>
-<div style="background: blue; width: 50%; height: 50%;"></div>
deleted file mode 100644
--- a/layout/reftests/meta-viewport/overflow-region.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!DOCTYPE html>
-<meta name="viewport" content="width=device-width, minimum-scale=0.5">
-<style>
-html, body {
-  margin: 0;
-  width: 100%;
-  height: 100%;
-  scrollbar-width: none;
-}
-div {
-  position: absolute;
-}
-</style>
-<div style="background: red; width: 300%; height: 300%;"></div>
-<div style="background: green; width: 200%; height: 200%;"></div>
-<div style="background: blue; width: 100%; height: 100%"></div>
--- a/layout/reftests/meta-viewport/reftest.list
+++ b/layout/reftests/meta-viewport/reftest.list
@@ -4,17 +4,8 @@ default-preferences pref(dom.meta-viewpo
 == box-shadow.html initial-scale-0_5-ref.html
 == initial-scale-0.html initial-scale-0_5-ref.html
 == initial-scale-100.html initial-scale-0_5-ref.html
 == no-viewport.html initial-scale-0_5-ref.html
 == viewport-width.html initial-scale-0_5-ref.html
 == initial-scale-1.html no-zoom-ref.html
 == minimum-scale.html no-zoom-ref.html
 == clamped-by-default-minimum-scale.html initial-scale-0_25-ref.html
-
-# Skip below tests on Windows (bug 1516322) on Webrender (bug 1520096)
-skip-if(winWidget||webrender) == overflow-region.html overflow-region-ref.html
-skip-if(winWidget||webrender) == overflow-hidden-region.html overflow-region-ref.html
-skip-if(winWidget||webrender) == overflow-hidden-region-with-negative-left-positioned-element.html overflow-region-ref.html
-skip-if(winWidget||webrender) fails == horizontal-overflow-hidden-region.html horizontal-overflow-hidden-region-ref.html # bug 1508177
-skip-if(winWidget||webrender) == vertical-overflow-hidden-region.html about:blank
-skip-if(winWidget||webrender) == scroll-to-unreachable-area.html scroll-to-unreachable-area-ref.html
-skip-if(winWidget||webrender) == wrapped-text-at-icb.html wrapped-text-at-icb-ref.html
deleted file mode 100644
--- a/layout/reftests/meta-viewport/scroll-to-unreachable-area-ref.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE html>
-<meta name="viewport" content="width=device-width,initial-scale=1">
-<style>
-html, body {
-  margin: 0;
-  width: 100%;
-  height: 100%;
-}
-div {
-  position: absolute;
-}
-</style>
-<div style="background: red; width: 100%; height: 100%;"></div>
-<div style="background: green; width: 50%; height: 50%;"></div>
deleted file mode 100644
--- a/layout/reftests/meta-viewport/scroll-to-unreachable-area.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html class="reftest-wait">
-<meta name="viewport" content="width=device-width, minimum-scale=0.5">
-<style>
-html {
-  overflow: hidden;
-}
-html, body {
-  margin: 0;
-  width: 100%;
-  height: 100%;
-}
-div {
-  position: absolute;
-}
-</style>
-<div style="background: red; width: 300%; height: 300%;"></div>
-<div id="green" style="background: green; width: 200%; height: 200%;"></div>
-<div style="background: blue; width: 100%; height: 100%;"></div>
-<script>
-document.addEventListener('MozReftestInvalidate', () => {
-  const rect = green.getBoundingClientRect();
-  window.scrollTo(rect.right, rect.bottom);
-  document.documentElement.classList.remove('reftest-wait');
-});
-</script>
-</html>
deleted file mode 100644
--- a/layout/reftests/meta-viewport/vertical-overflow-hidden-region.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<meta name="viewport" content="width=device-width, minimum-scale=0.5">
-<style>
-html {
-  overflow-y: hidden;
-}
-html, body {
-  margin: 0;
-  width: 100%;
-  height: 100%;
-}
-div {
-  width: 100%;
-  position: absolute;
-}
-</style>
-<div style="background: red; height: 300%;"></div>
-<div style="background: green; height: 200%;"></div>
-<div style="background: white; height: 100%;"></div>
deleted file mode 100644
--- a/layout/reftests/meta-viewport/wrapped-text-at-icb-ref.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE html>
-<meta name="viewport" content="width=device-width, initial-scale=0.5">
-<style>
-html, body {
-  margin: 0;
-  width: 100%;
-  height: 100%;
-  font-size: 20px;
-  scrollbar-width: none;
-}
-p {
-  line-height: 1rem;
-  width: 50%;
-}
-</style>
-<p>
-  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-</p>
deleted file mode 100644
--- a/layout/reftests/meta-viewport/wrapped-text-at-icb.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html>
-<meta name="viewport" content="width=device-width, minimum-scale=0.5">
-<style>
-html {
-  overflow: hidden;
-  font-size: 20px;
-}
-html, body {
-  margin: 0;
-  width: 100%;
-  height: 100%;
-}
-div {
-  position: absolute;
-}
-p {
-  line-height: 1rem;
-}
-</style>
-</head><body><p>
-  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-</p>
-<div style="width: 200%; height: 200%;"></div>
--- a/mobile/android/geckoview/src/androidTest/assets/www/forms.html
+++ b/mobile/android/geckoview/src/androidTest/assets/www/forms.html
@@ -1,13 +1,10 @@
 <html>
-    <head>
-        <title>Forms</title>
-        <meta name="viewport" content="minimum-scale=1,width=device-width">
-    </head>
+    <head><title>Forms</title></head>
     <body>
         <form>
             <input type="text" id="user1" value="foo">
             <input type="password" id="pass1", value="foo">
             <input type="email" id="email1", value="@">
             <input type="number" id="number1", value="0">
             <input type="tel" id="tel1", value="0">
         </form>
--- a/testing/marionette/harness/marionette_harness/www/bug814037.html
+++ b/testing/marionette/harness/marionette_harness/www/bug814037.html
@@ -1,11 +1,10 @@
 <html>
 <head>
-<meta name="viewport" content="minimum-scale=1,width=device-width">
 <style>
 body {
 	width: 100%;
 	margin: 0px;
 	transition: transform 300ms ease;
 	overflow-x: hidden;
 }
 
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-device-adapt/documentElement-clientWidth-on-minimum-scale-size.tentative.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!doctype html>
-<meta charset=utf-8>
-<meta name="viewport" content="width=device-width minimum-scale=0.5">
-<link rel="help" href="https://drafts.csswg.org/css-device-adapt/">
-<style>
-html {
-  overflow: hidden;
-}
-body {
-  margin: 0;
-}
-div {
-  height: 200%;
-  position: absolute;
-}
-</style>
-<title></title>
-<div style="width: 200%;"></div>
-<div id="reference" style="width: 100%;"></div>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<script>
-'use strict';
-test(() => {
-  assert_equals(document.documentElement.clientWidth, reference.clientWidth,
-    'documentElement clientWidth should be 100%');
-}, 'documentElement clientWidth should be equal to device-width even if ' +
-   'overflow:hidden region is visible');
-</script>