From ab43f75521626744e2200f0d3de7527929c06402 Mon Sep 17 00:00:00 2001 From: Brad Werth Date: Wed, 22 Jul 2020 23:11:42 +0000 Subject: [PATCH] Bug 1648344 Part 2: Cleanup Document to remove NoValidContent viewport type. r=hiro The NoValidContent type was added to detect cases where we needed to apply default width the viewport. That approach is no longer needed, and this enum can be removed, as well as the code that sets and checks that enum. Differential Revision: https://phabricator.services.mozilla.com/D84447 --- dom/base/Document.cpp | 26 +++++++------------------- dom/base/Document.h | 7 ++----- 2 files changed, 9 insertions(+), 24 deletions(-) diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp index d22e3ccba936..36b80c74c793 100644 --- a/dom/base/Document.cpp +++ b/dom/base/Document.cpp @@ -9458,7 +9458,7 @@ static Maybe ParseScaleString( kViewportMaxScale)); } -bool Document::ParseScalesInViewportMetaData( +void Document::ParseScalesInViewportMetaData( const ViewportMetaData& aViewportMetaData) { Maybe scale; @@ -9482,10 +9482,9 @@ bool Document::ParseScalesInViewportMetaData( if (mValidMaxScale && mValidMinScale) { mScaleMaxFloat = std::max(mScaleMinFloat, mScaleMaxFloat); } - return mValidScaleFloat || mValidMaxScale || mValidMinScale; } -bool Document::ParseWidthAndHeightInMetaViewport(const nsAString& aWidthString, +void Document::ParseWidthAndHeightInMetaViewport(const nsAString& aWidthString, const nsAString& aHeightString, bool aHasValidScale) { // The width and height properties @@ -9546,8 +9545,6 @@ bool Document::ParseWidthAndHeightInMetaViewport(const nsAString& aWidthString, } } } - - return !aWidthString.IsEmpty() || !aHeightString.IsEmpty(); } nsViewportInfo Document::GetViewportInfo(const ScreenIntSize& aDisplaySize) { @@ -9638,14 +9635,12 @@ nsViewportInfo Document::GetViewportInfo(const ScreenIntSize& aDisplaySize) { ViewportMetaData metaData = GetViewportMetaData(); // Parse initial-scale, minimum-scale and maximum-scale. - bool hasValidContents = ParseScalesInViewportMetaData(metaData); + ParseScalesInViewportMetaData(metaData); // Parse width and height properties // This function sets m{Min,Max}{Width,Height}. - if (ParseWidthAndHeightInMetaViewport(metaData.mWidth, metaData.mHeight, - mValidScaleFloat)) { - hasValidContents = true; - } + ParseWidthAndHeightInMetaViewport(metaData.mWidth, metaData.mHeight, + mValidScaleFloat); mAllowZoom = true; if ((metaData.mUserScalable.EqualsLiteral("0")) || @@ -9653,9 +9648,6 @@ nsViewportInfo Document::GetViewportInfo(const ScreenIntSize& aDisplaySize) { (metaData.mUserScalable.EqualsLiteral("false"))) { mAllowZoom = false; } - if (!metaData.mUserScalable.IsEmpty()) { - hasValidContents = true; - } // Resolve viewport-fit value. // https://drafts.csswg.org/css-round-display/#viewport-fit-descriptor @@ -9663,22 +9655,17 @@ nsViewportInfo Document::GetViewportInfo(const ScreenIntSize& aDisplaySize) { if (!metaData.mViewportFit.IsEmpty()) { if (metaData.mViewportFit.EqualsLiteral("contain")) { mViewportFit = ViewportFitType::Contain; - hasValidContents = true; } else if (metaData.mViewportFit.EqualsLiteral("cover")) { mViewportFit = ViewportFitType::Cover; - hasValidContents = true; - } else if (metaData.mViewportFit.EqualsLiteral("auto")) { - hasValidContents = true; } } mWidthStrEmpty = metaData.mWidth.IsEmpty(); - mViewportType = hasValidContents ? Specified : NoValidContent; + mViewportType = Specified; [[fallthrough]]; } case Specified: - case NoValidContent: default: LayoutDeviceToScreenScale effectiveMinScale = mScaleMinFloat; LayoutDeviceToScreenScale effectiveMaxScale = mScaleMaxFloat; @@ -9798,6 +9785,7 @@ nsViewportInfo Document::GetViewportInfo(const ScreenIntSize& aDisplaySize) { minHeight = nsViewportInfo::Max(extendSize.height, maxHeight); } } + // Resolve initial width and height from min/max descriptors // https://drafts.csswg.org/css-device-adapt/#resolve-initial-width-height CSSCoord width = nsViewportInfo::Auto; diff --git a/dom/base/Document.h b/dom/base/Document.h index 97813d68c7d4..21818ea01097 100644 --- a/dom/base/Document.h +++ b/dom/base/Document.h @@ -3733,8 +3733,7 @@ class Document : public nsINode, // mUseCounters. void SetCssUseCounterBits(); - // Returns true if there is any valid value in the viewport meta tag. - bool ParseWidthAndHeightInMetaViewport(const nsAString& aWidthString, + void ParseWidthAndHeightInMetaViewport(const nsAString& aWidthString, const nsAString& aHeightString, bool aIsAutoScale); @@ -3744,8 +3743,7 @@ class Document : public nsINode, // Parse scale values in |aViewportMetaData| and set the values in // mScaleMinFloat, mScaleMaxFloat and mScaleFloat respectively. - // Returns true if there is any valid scale value in the |aViewportMetaData|. - bool ParseScalesInViewportMetaData(const ViewportMetaData& aViewportMetaData); + void ParseScalesInViewportMetaData(const ViewportMetaData& aViewportMetaData); // Get parent FeaturePolicy from container. The parent FeaturePolicy is // stored in parent iframe or container's browsingContext (cross process) @@ -4852,7 +4850,6 @@ class Document : public nsINode, DisplayWidthHeight, Specified, Unknown, - NoValidContent, }; ViewportType mViewportType; -- 2.11.4.GIT