author | cku <cku@mozilla.com> |
Wed, 14 Jun 2017 21:53:34 +0800 | |
changeset 365016 | 538098e953bff66c7de68d155f7d214b1016f0b8 |
parent 365015 | af1ed1ce5c4923e8ea931ef31bcbf089f2ea781b |
child 365017 | 69c8936686f694f4c1d9ba5f9edaa531a1ab7b43 |
push id | 91680 |
push user | kwierso@gmail.com |
push date | Wed, 21 Jun 2017 01:32:01 +0000 |
treeherder | mozilla-inbound@f7b9dc31956c [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | heycam |
bugs | 265894 |
milestone | 56.0a1 |
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
|
layout/base/nsCSSFrameConstructor.cpp | file | annotate | diff | comparison | revisions | |
layout/generic/nsFrame.h | file | annotate | diff | comparison | revisions |
--- a/layout/base/nsCSSFrameConstructor.cpp +++ b/layout/base/nsCSSFrameConstructor.cpp @@ -152,16 +152,18 @@ nsIFrame* NS_NewSVGGenericContainerFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); nsContainerFrame* NS_NewSVGForeignObjectFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); nsIFrame* NS_NewSVGAFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); nsIFrame* NS_NewSVGSwitchFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); nsIFrame* +NS_NewSVGSymbolFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); +nsIFrame* NS_NewSVGTextFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); nsIFrame* NS_NewSVGContainerFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); nsIFrame* NS_NewSVGUseFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); nsIFrame* NS_NewSVGViewFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); extern nsIFrame* @@ -5573,16 +5575,17 @@ nsCSSFrameConstructor::FindSVGData(Eleme aTag == nsGkAtoms::textPath) { return &sSuppressData; } static const FrameConstructionDataByTag sSVGData[] = { SIMPLE_SVG_CREATE(svg, NS_NewSVGInnerSVGFrame), SIMPLE_SVG_CREATE(g, NS_NewSVGGFrame), SIMPLE_SVG_CREATE(svgSwitch, NS_NewSVGSwitchFrame), + SIMPLE_SVG_CREATE(symbol, NS_NewSVGSymbolFrame), SIMPLE_SVG_CREATE(polygon, NS_NewSVGGeometryFrame), SIMPLE_SVG_CREATE(polyline, NS_NewSVGGeometryFrame), SIMPLE_SVG_CREATE(circle, NS_NewSVGGeometryFrame), SIMPLE_SVG_CREATE(ellipse, NS_NewSVGGeometryFrame), SIMPLE_SVG_CREATE(line, NS_NewSVGGeometryFrame), SIMPLE_SVG_CREATE(rect, NS_NewSVGGeometryFrame), SIMPLE_SVG_CREATE(path, NS_NewSVGGeometryFrame), SIMPLE_SVG_CREATE(defs, NS_NewSVGContainerFrame),
--- a/layout/generic/nsFrame.h +++ b/layout/generic/nsFrame.h @@ -641,16 +641,17 @@ public: aDisp->mOverflowY == NS_STYLE_OVERFLOW_HIDDEN) { // REVIEW: these are the frame types that set up clipping. mozilla::LayoutFrameType type = aFrame->Type(); if (type == mozilla::LayoutFrameType::Table || type == mozilla::LayoutFrameType::TableCell || type == mozilla::LayoutFrameType::BCTableCell || type == mozilla::LayoutFrameType::SVGOuterSVG || type == mozilla::LayoutFrameType::SVGInnerSVG || + type == mozilla::LayoutFrameType::SVGSymbol || type == mozilla::LayoutFrameType::SVGForeignObject) { return true; } if (aFrame->IsFrameOfType(nsIFrame::eReplacedContainsBlock)) { if (type == mozilla::LayoutFrameType::TextInput) { // It always has an anonymous scroll frame that handles any overflow. return false; }