Bug 1754277: Fix non-unified build errors in layout/svg, and mark it as safe to build in non-unified mode. r=emilio

Below are the build errors fixed here.

layout/svg/SVGFEUnstyledLeafFrame.cpp:75:33: error: no type named 'SVGFEUnstyledElement' in namespace 'mozilla::dom'

* Fixed this by including SVGFilters.h (which defines this type).

layout/svg/SVGFEContainerFrame.cpp:83:12: error: unknown type name 'SVGFE'; did you mean 'dom::SVGFE'?
layout/svg/SVGFELeafFrame.cpp:80:12: error: unknown type name 'SVGFE'; did you mean 'dom::SVGFE'?

* Fixed these with a 'using' statement for the namespace.

layout/svg/SVGGFrame.cpp:34:32: error: unknown type name 'SVGElement'

* Fixed by including this type's header.

layout/svg/FilterInstance.cpp:873:9: error: use of undeclared identifier 'nsLayoutUtils'
layout/svg/SVGOuterSVGFrame.cpp:623:29: error: incomplete type 'nsLayoutUtils' named in nested name specifier
layout/svg/SVGUseFrame.cpp:84:5: error: use of undeclared identifier 'nsLayoutUtils
layout/svg/SVGViewportFrame.cpp:207:9: error: use of undeclared identifier 'nsLayoutUtils'

* Fixed these by including this header.

layout/svg/SVGOuterSVGFrame.cpp:88:20: error: unused function 'DependsOnIntrinsicSize' [-Werror,-Wunused-function]

* Fixed by removing the unused function.

layout/svg/SVGStopFrame.cpp:86:21: error: unknown type name 'SVGGradientFrame'

* Fixed this by including this header.

Differential Revision: https://phabricator.services.mozilla.com/D138187
This commit is contained in:
Daniel Holbert 2022-02-08 21:22:18 +00:00
Родитель 4c82369d31
Коммит 8e9c53a643
10 изменённых файлов: 11 добавлений и 13 удалений

Просмотреть файл

@ -29,6 +29,7 @@
#include "mozilla/SVGFilterInstance.h"
#include "mozilla/SVGUtils.h"
#include "mozilla/dom/Document.h"
#include "nsLayoutUtils.h"
#include "CSSFilterInstance.h"
#include "SVGIntegrationUtils.h"

Просмотреть файл

@ -13,6 +13,8 @@
#include "nsIFrame.h"
#include "nsLiteralString.h"
using namespace mozilla::dom;
nsIFrame* NS_NewSVGFEContainerFrame(mozilla::PresShell* aPresShell,
mozilla::ComputedStyle* aStyle);

Просмотреть файл

@ -13,6 +13,8 @@
#include "nsIFrame.h"
#include "nsGkAtoms.h"
using namespace mozilla::dom;
nsIFrame* NS_NewSVGFELeafFrame(mozilla::PresShell* aPresShell,
mozilla::ComputedStyle* aStyle);
namespace mozilla {

Просмотреть файл

@ -5,6 +5,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// Keep in (case-insensitive) order:
#include "mozilla/dom/SVGFilters.h"
#include "mozilla/PresShell.h"
#include "mozilla/SVGObserverUtils.h"
#include "nsContainerFrame.h"

Просмотреть файл

@ -8,6 +8,7 @@
#include "SVGGFrame.h"
// Keep others in (case-insensitive) order:
#include "mozilla/dom/SVGElement.h"
#include "mozilla/PresShell.h"
#include "nsGkAtoms.h"
#include "nsIFrame.h"

Просмотреть файл

@ -11,6 +11,7 @@
#include "gfxContext.h"
#include "nsDisplayList.h"
#include "nsIInterfaceRequestorUtils.h"
#include "nsLayoutUtils.h"
#include "nsObjectLoadingContent.h"
#include "nsSubDocumentFrame.h"
#include "mozilla/PresShell.h"
@ -83,16 +84,6 @@ SVGOuterSVGFrame::SVGOuterSVGFrame(ComputedStyle* aStyle,
AddStateBits(NS_FRAME_MAY_BE_TRANSFORMED);
}
// helper
static inline bool DependsOnIntrinsicSize(const nsIFrame* aEmbeddingFrame) {
const nsStylePosition* pos = aEmbeddingFrame->StylePosition();
// XXX it would be nice to know if the size of aEmbeddingFrame's containing
// block depends on aEmbeddingFrame, then we'd know if we can return false
// for eStyleUnit_Percent too.
return !pos->mWidth.ConvertsToLength() || !pos->mHeight.ConvertsToLength();
}
// The CSS Containment spec says that size-contained replaced elements must be
// treated as having an intrinsic width and height of 0. That's applicable to
// outer SVG frames, unless they're the outermost element (in which case

Просмотреть файл

@ -10,6 +10,7 @@
#include "nsGkAtoms.h"
#include "mozilla/ComputedStyle.h"
#include "mozilla/PresShell.h"
#include "mozilla/SVGGradientFrame.h"
#include "mozilla/SVGObserverUtils.h"
// This is a very simple frame whose only purpose is to capture style change

Просмотреть файл

@ -11,6 +11,7 @@
#include "mozilla/SVGUtils.h"
#include "mozilla/dom/MutationEvent.h"
#include "mozilla/dom/SVGUseElement.h"
#include "nsLayoutUtils.h"
using namespace mozilla::dom;

Просмотреть файл

@ -10,11 +10,11 @@
// Keep others in (case-insensitive) order:
#include "gfx2DGlue.h"
#include "gfxContext.h"
#include "nsIFrame.h"
#include "mozilla/ISVGDisplayableFrame.h"
#include "mozilla/SVGContainerFrame.h"
#include "mozilla/SVGUtils.h"
#include "mozilla/dom/SVGViewportElement.h"
#include "nsLayoutUtils.h"
using namespace mozilla::dom;
using namespace mozilla::gfx;

Просмотреть файл

@ -94,5 +94,3 @@ LOCAL_INCLUDES += [
RESOURCE_FILES += [
"svg.css",
]
REQUIRES_UNIFIED_BUILD = True