| Index: third_party/WebKit/Source/core/svg/graphics/SVGImage.h
|
| diff --git a/third_party/WebKit/Source/core/svg/graphics/SVGImage.h b/third_party/WebKit/Source/core/svg/graphics/SVGImage.h
|
| index c2009f217fc06e7d7a7b924d8382471624aad106..721bd236c05729fccdded4fc2cbdc97192813be2 100644
|
| --- a/third_party/WebKit/Source/core/svg/graphics/SVGImage.h
|
| +++ b/third_party/WebKit/Source/core/svg/graphics/SVGImage.h
|
| @@ -55,7 +55,7 @@ public:
|
|
|
| bool isSVGImage() const override { return true; }
|
| bool isTextureBacked() override { return false; }
|
| - IntSize size() const override { return m_intrinsicSize; }
|
| + IntSize size() const override { return m_concreteObjectSize; }
|
|
|
| bool currentFrameHasSingleSecurityOrigin() const override;
|
|
|
| @@ -90,6 +90,7 @@ private:
|
|
|
| String filenameExtension() const override;
|
|
|
| + FloatSize calculateConcreteObjectSize(const FloatSize&) const;
|
| IntSize containerSize() const;
|
| bool usesContainerSize() const override { return true; }
|
| void computeIntrinsicDimensions(Length& intrinsicWidth, Length& intrinsicHeight, FloatSize& intrinsicRatio) override;
|
| @@ -114,7 +115,19 @@ private:
|
|
|
| OwnPtrWillBePersistent<SVGImageChromeClient> m_chromeClient;
|
| OwnPtrWillBePersistent<Page> m_page;
|
| - IntSize m_intrinsicSize;
|
| +
|
| + // "The concrete object size is the result of combining an
|
| + // object’s intrinsic dimensions and specified size with the
|
| + // default object size of the context it’s used in, producing a
|
| + // rectangle with a definite width and height."
|
| + //
|
| + // https://drafts.csswg.org/css-images-3/#concrete-object-size
|
| + //
|
| + // Note: For SVGImage there are no specified size
|
| + // constraints. Such constraints are handled by the layout
|
| + // machinery in LayoutReplaced. An image has only intrinsic size,
|
| + // aspect ratio and default object size to consider.
|
| + IntSize m_concreteObjectSize;
|
| };
|
|
|
| DEFINE_IMAGE_TYPE_CASTS(SVGImage);
|
|
|