Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp |
| diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp |
| index 675c646fe1e0f0087c862d0db4dc185920b0613e..3dc55ae7f2df7d011a246c4659b2e0560e467fb3 100644 |
| --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp |
| +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp |
| @@ -301,7 +301,20 @@ void LayoutSVGRoot::buildLocalToBorderBoxTransform() |
| float scale = style()->effectiveZoom(); |
| FloatPoint translate = svg->currentTranslate(); |
| LayoutSize borderAndPadding(borderLeft() + paddingLeft(), borderTop() + paddingTop()); |
| - m_localToBorderBoxTransform = svg->viewBoxToViewTransform(contentWidth() / scale, contentHeight() / scale); |
| + float viewWidth = contentWidth(); |
| + float viewHeight = contentHeight(); |
| + |
| + if (isEmbeddedThroughFrameContainingSVGDocument()) { |
|
fs
2016/03/29 11:58:51
I think a better way to structure this code would
|
| + LayoutPart* ownerLayoutObject = svg->document().frame()->ownerLayoutObject(); |
| + float currentPageZoom = svg->document().frame()->pageZoomFactor(); |
|
fs
2016/03/29 11:58:51
Won't LocalFrame::setPageZoomFactor cause the effe
Shanmuga Pandi
2016/03/30 08:40:06
Yes. LocalFrame::setPageZoomFactor will cause the
fs
2016/03/30 09:04:12
I don't think you should be comparing anything at
Shanmuga Pandi
2016/03/30 09:17:38
Yes . I agree with that. Layout size of embedding
fs
2016/03/30 10:16:30
Well, something like:
AffineTransform viewToBorde
Shanmuga Pandi
2016/03/30 10:23:30
Thank you for your suggestion.
But What will be t
fs
2016/03/30 10:46:39
That would be an option I guess, there's nothing t
|
| + float ownerPageZoom = ownerLayoutObject->document().frame()->pageZoomFactor(); |
| + if (currentPageZoom != ownerPageZoom) |
| + m_localToBorderBoxTransform = svg->viewBoxToViewTransform(viewWidth / ownerPageZoom, viewHeight / ownerPageZoom); |
| + else |
| + m_localToBorderBoxTransform = svg->viewBoxToViewTransform(viewWidth / scale, viewHeight / scale); |
| + } else { |
| + m_localToBorderBoxTransform = svg->viewBoxToViewTransform(viewWidth / scale, viewHeight / scale); |
| + } |
| AffineTransform viewToBorderBoxTransform(scale, 0, 0, scale, borderAndPadding.width() + translate.x(), borderAndPadding.height() + translate.y()); |
| m_localToBorderBoxTransform.preMultiply(viewToBorderBoxTransform); |