| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2014 Google Inc. All rights reserved. | 2 * Copyright (C) 2014 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 29 */ | 29 */ |
| 30 | 30 |
| 31 #include "config.h" | 31 #include "config.h" |
| 32 #include "core/rendering/RenderGeometryMap.h" | 32 #include "core/rendering/RenderGeometryMap.h" |
| 33 | 33 |
| 34 #include "core/dom/Document.h" | 34 #include "core/dom/Document.h" |
| 35 #include "core/layout/Layer.h" |
| 35 #include "core/rendering/RenderBox.h" | 36 #include "core/rendering/RenderBox.h" |
| 36 #include "core/rendering/RenderLayer.h" | |
| 37 #include "core/testing/URLTestHelpers.h" | 37 #include "core/testing/URLTestHelpers.h" |
| 38 #include "public/platform/Platform.h" | 38 #include "public/platform/Platform.h" |
| 39 #include "public/platform/WebUnitTestSupport.h" | 39 #include "public/platform/WebUnitTestSupport.h" |
| 40 #include "public/web/WebFrameClient.h" | 40 #include "public/web/WebFrameClient.h" |
| 41 #include "web/WebLocalFrameImpl.h" | 41 #include "web/WebLocalFrameImpl.h" |
| 42 #include "web/tests/FloatPointTestHelpers.h" | 42 #include "web/tests/FloatPointTestHelpers.h" |
| 43 #include "web/tests/FloatQuadTestHelpers.h" | 43 #include "web/tests/FloatQuadTestHelpers.h" |
| 44 #include "web/tests/FrameTestHelpers.h" | 44 #include "web/tests/FrameTestHelpers.h" |
| 45 #include <gtest/gtest.h> | 45 #include <gtest/gtest.h> |
| 46 | 46 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 if (!webViewImpl) | 83 if (!webViewImpl) |
| 84 return nullptr; | 84 return nullptr; |
| 85 LocalFrame* frame = webViewImpl->mainFrameImpl()->frame(); | 85 LocalFrame* frame = webViewImpl->mainFrameImpl()->frame(); |
| 86 Document* doc = frame->document(); | 86 Document* doc = frame->document(); |
| 87 Element* element = doc->getElementById(elementId); | 87 Element* element = doc->getElementById(elementId); |
| 88 if (!element) | 88 if (!element) |
| 89 return nullptr; | 89 return nullptr; |
| 90 return element->renderBox(); | 90 return element->renderBox(); |
| 91 } | 91 } |
| 92 | 92 |
| 93 static const RenderLayerModelObject* getRenderContainer(WebView* webView, co
nst WTF::AtomicString &elementId) | 93 static const LayoutLayerModelObject* getRenderContainer(WebView* webView, co
nst WTF::AtomicString &elementId) |
| 94 { | 94 { |
| 95 RenderBox* rb = getRenderBox(webView, elementId); | 95 RenderBox* rb = getRenderBox(webView, elementId); |
| 96 if (!rb) | 96 if (!rb) |
| 97 return nullptr; | 97 return nullptr; |
| 98 RenderLayer* compositingLayer = rb->enclosingLayer()->enclosingLayerForP
aintInvalidation(); | 98 Layer* compositingLayer = rb->enclosingLayer()->enclosingLayerForPaintIn
validation(); |
| 99 if (!compositingLayer) | 99 if (!compositingLayer) |
| 100 return nullptr; | 100 return nullptr; |
| 101 return compositingLayer->renderer(); | 101 return compositingLayer->renderer(); |
| 102 } | 102 } |
| 103 | 103 |
| 104 static const RenderLayerModelObject* getFrameRenderContainer(const char* fra
meId, WebView* webView, const WTF::AtomicString &elementId) | 104 static const LayoutLayerModelObject* getFrameRenderContainer(const char* fra
meId, WebView* webView, const WTF::AtomicString &elementId) |
| 105 { | 105 { |
| 106 RenderBox* rb = getFrameElement(frameId, webView, elementId); | 106 RenderBox* rb = getFrameElement(frameId, webView, elementId); |
| 107 if (!rb) | 107 if (!rb) |
| 108 return nullptr; | 108 return nullptr; |
| 109 RenderLayer* compositingLayer = rb->enclosingLayer()->enclosingLayerForP
aintInvalidation(); | 109 Layer* compositingLayer = rb->enclosingLayer()->enclosingLayerForPaintIn
validation(); |
| 110 if (!compositingLayer) | 110 if (!compositingLayer) |
| 111 return nullptr; | 111 return nullptr; |
| 112 return compositingLayer->renderer(); | 112 return compositingLayer->renderer(); |
| 113 } | 113 } |
| 114 | 114 |
| 115 static const FloatRect rectFromQuad(const FloatQuad& quad) | 115 static const FloatRect rectFromQuad(const FloatQuad& quad) |
| 116 { | 116 { |
| 117 FloatRect rect; | 117 FloatRect rect; |
| 118 rect.setX(std::min(quad.p1().x(), std::min(quad.p2().x(), std::min(quad.
p3().x(), quad.p4().x())))); | 118 rect.setX(std::min(quad.p1().x(), std::min(quad.p2().x(), std::min(quad.
p3().x(), quad.p4().x())))); |
| 119 rect.setY(std::min(quad.p1().y(), std::min(quad.p2().y(), std::min(quad.
p3().y(), quad.p4().y())))); | 119 rect.setY(std::min(quad.p1().y(), std::min(quad.p2().y(), std::min(quad.
p3().y(), quad.p4().y())))); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 143 // We are going test everything twice. Once with FloatPoints and once with | 143 // We are going test everything twice. Once with FloatPoints and once with |
| 144 // FloatRects. This is because RenderGeometryMap treats both slightly | 144 // FloatRects. This is because RenderGeometryMap treats both slightly |
| 145 // differently | 145 // differently |
| 146 RenderGeometryMap rgm; | 146 RenderGeometryMap rgm; |
| 147 rgm.pushMappingsToAncestor(getRenderBox(webView, "InitialDiv"), 0); | 147 rgm.pushMappingsToAncestor(getRenderBox(webView, "InitialDiv"), 0); |
| 148 FloatPoint point; | 148 FloatPoint point; |
| 149 FloatRect rect(0.0f, 0.0f, 1.0f, 2.0f); | 149 FloatRect rect(0.0f, 0.0f, 1.0f, 2.0f); |
| 150 EXPECT_EQ(FloatPoint(8.0f, 8.0f), rgm.mapToContainer(point, nullptr)); | 150 EXPECT_EQ(FloatPoint(8.0f, 8.0f), rgm.mapToContainer(point, nullptr)); |
| 151 EXPECT_EQ(FloatQuad(FloatRect(8.0f, 8.0f, 1.0f, 2.0f)), rgm.mapToContainer(r
ect, nullptr)); | 151 EXPECT_EQ(FloatQuad(FloatRect(8.0f, 8.0f, 1.0f, 2.0f)), rgm.mapToContainer(r
ect, nullptr)); |
| 152 | 152 |
| 153 rgm.popMappingsToAncestor(static_cast<RenderLayer*>(nullptr)); | 153 rgm.popMappingsToAncestor(static_cast<Layer*>(nullptr)); |
| 154 EXPECT_EQ(FloatPoint(0.0f, 0.0f), rgm.mapToContainer(point, nullptr)); | 154 EXPECT_EQ(FloatPoint(0.0f, 0.0f), rgm.mapToContainer(point, nullptr)); |
| 155 EXPECT_EQ(FloatQuad(FloatRect(0.0f, 0.0f, 1.0f, 2.0f)), rgm.mapToContainer(r
ect, nullptr)); | 155 EXPECT_EQ(FloatQuad(FloatRect(0.0f, 0.0f, 1.0f, 2.0f)), rgm.mapToContainer(r
ect, nullptr)); |
| 156 | 156 |
| 157 rgm.pushMappingsToAncestor(getRenderBox(webView, "InnerDiv"), 0); | 157 rgm.pushMappingsToAncestor(getRenderBox(webView, "InnerDiv"), 0); |
| 158 EXPECT_EQ(FloatPoint(21.0f, 6.0f), rgm.mapToContainer(point, getRenderBox(we
bView, "CenterDiv"))); | 158 EXPECT_EQ(FloatPoint(21.0f, 6.0f), rgm.mapToContainer(point, getRenderBox(we
bView, "CenterDiv"))); |
| 159 EXPECT_EQ(FloatQuad(FloatRect(21.0f, 6.0f, 1.0f, 2.0f)), rgm.mapToContainer(
rect, getRenderBox(webView, "CenterDiv"))); | 159 EXPECT_EQ(FloatQuad(FloatRect(21.0f, 6.0f, 1.0f, 2.0f)), rgm.mapToContainer(
rect, getRenderBox(webView, "CenterDiv"))); |
| 160 | 160 |
| 161 rgm.pushMappingsToAncestor(getRenderBox(webView, "OtherDiv"), getRenderBox(w
ebView, "InnerDiv")); | 161 rgm.pushMappingsToAncestor(getRenderBox(webView, "OtherDiv"), getRenderBox(w
ebView, "InnerDiv")); |
| 162 EXPECT_EQ(FloatPoint(22.0f, 12.0f), rgm.mapToContainer(point, getRenderBox(w
ebView, "CenterDiv"))); | 162 EXPECT_EQ(FloatPoint(22.0f, 12.0f), rgm.mapToContainer(point, getRenderBox(w
ebView, "CenterDiv"))); |
| 163 EXPECT_EQ(FloatQuad(FloatRect(22.0f, 12.0f, 1.0f, 2.0f)), rgm.mapToContainer
(rect, getRenderBox(webView, "CenterDiv"))); | 163 EXPECT_EQ(FloatQuad(FloatRect(22.0f, 12.0f, 1.0f, 2.0f)), rgm.mapToContainer
(rect, getRenderBox(webView, "CenterDiv"))); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 186 RenderGeometryMap rgm; | 186 RenderGeometryMap rgm; |
| 187 rgm.pushMappingsToAncestor(getRenderBox(webView, "InitialDiv"), 0); | 187 rgm.pushMappingsToAncestor(getRenderBox(webView, "InitialDiv"), 0); |
| 188 FloatPoint point; | 188 FloatPoint point; |
| 189 const float rectWidth = 15.0f; | 189 const float rectWidth = 15.0f; |
| 190 const float scaleWidth = 2.0f; | 190 const float scaleWidth = 2.0f; |
| 191 const float scaleHeight = 3.0f; | 191 const float scaleHeight = 3.0f; |
| 192 FloatRect rect(0.0f, 0.0f, 15.0f, 25.0f); | 192 FloatRect rect(0.0f, 0.0f, 15.0f, 25.0f); |
| 193 EXPECT_EQ(FloatPoint(8.0f, 8.0f), rgm.mapToContainer(point, nullptr)); | 193 EXPECT_EQ(FloatPoint(8.0f, 8.0f), rgm.mapToContainer(point, nullptr)); |
| 194 EXPECT_EQ(FloatQuad(FloatRect(8.0f, 8.0f, 15.0f, 25.0f)), rgm.mapToContainer
(rect, nullptr)); | 194 EXPECT_EQ(FloatQuad(FloatRect(8.0f, 8.0f, 15.0f, 25.0f)), rgm.mapToContainer
(rect, nullptr)); |
| 195 | 195 |
| 196 rgm.popMappingsToAncestor(static_cast<RenderLayer*>(nullptr)); | 196 rgm.popMappingsToAncestor(static_cast<Layer*>(nullptr)); |
| 197 EXPECT_EQ(FloatPoint(0.0f, 0.0f), rgm.mapToContainer(point, nullptr)); | 197 EXPECT_EQ(FloatPoint(0.0f, 0.0f), rgm.mapToContainer(point, nullptr)); |
| 198 EXPECT_EQ(FloatQuad(FloatRect(0.0f, 0.0f, 15.0f, 25.0f)).boundingBox(), rgm.
mapToContainer(rect, nullptr).boundingBox()); | 198 EXPECT_EQ(FloatQuad(FloatRect(0.0f, 0.0f, 15.0f, 25.0f)).boundingBox(), rgm.
mapToContainer(rect, nullptr).boundingBox()); |
| 199 | 199 |
| 200 rgm.pushMappingsToAncestor(getRenderBox(webView, "InnerDiv"), 0); | 200 rgm.pushMappingsToAncestor(getRenderBox(webView, "InnerDiv"), 0); |
| 201 EXPECT_EQ(FloatPoint(523.0f, 6.0f), rgm.mapToContainer(point, getRenderBox(w
ebView, "CenterDiv"))); | 201 EXPECT_EQ(FloatPoint(523.0f, 6.0f), rgm.mapToContainer(point, getRenderBox(w
ebView, "CenterDiv"))); |
| 202 EXPECT_EQ(FloatQuad(FloatRect(523.0f - rectWidth, 6.0f, 15.0f, 25.0f)).bound
ingBox(), rgm.mapToContainer(rect, getRenderBox(webView, "CenterDiv")).boundingB
ox()); | 202 EXPECT_EQ(FloatQuad(FloatRect(523.0f - rectWidth, 6.0f, 15.0f, 25.0f)).bound
ingBox(), rgm.mapToContainer(rect, getRenderBox(webView, "CenterDiv")).boundingB
ox()); |
| 203 | 203 |
| 204 rgm.pushMappingsToAncestor(getRenderBox(webView, "OtherDiv"), getRenderBox(w
ebView, "InnerDiv")); | 204 rgm.pushMappingsToAncestor(getRenderBox(webView, "OtherDiv"), getRenderBox(w
ebView, "InnerDiv")); |
| 205 EXPECT_EQ(FloatPoint(522.0f, 12.0f), rgm.mapToContainer(point, getRenderBox(
webView, "CenterDiv"))); | 205 EXPECT_EQ(FloatPoint(522.0f, 12.0f), rgm.mapToContainer(point, getRenderBox(
webView, "CenterDiv"))); |
| 206 EXPECT_EQ(FloatQuad(FloatRect(522.0f - rectWidth, 12.0f, 15.0f, 25.0f)).boun
dingBox(), rgm.mapToContainer(rect, getRenderBox(webView, "CenterDiv")).bounding
Box()); | 206 EXPECT_EQ(FloatQuad(FloatRect(522.0f - rectWidth, 12.0f, 15.0f, 25.0f)).boun
dingBox(), rgm.mapToContainer(rect, getRenderBox(webView, "CenterDiv")).bounding
Box()); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 231 webView->resize(WebSize(1000, 1000)); | 231 webView->resize(WebSize(1000, 1000)); |
| 232 webView->layout(); | 232 webView->layout(); |
| 233 | 233 |
| 234 RenderGeometryMap rgm; | 234 RenderGeometryMap rgm; |
| 235 rgm.pushMappingsToAncestor(getRenderBox(webView, "InitialDiv"), 0); | 235 rgm.pushMappingsToAncestor(getRenderBox(webView, "InitialDiv"), 0); |
| 236 FloatPoint point; | 236 FloatPoint point; |
| 237 FloatRect rect(0.0f, 0.0f, 15.0f, 25.0f); | 237 FloatRect rect(0.0f, 0.0f, 15.0f, 25.0f); |
| 238 EXPECT_EQ(FloatPoint(8.0f, 8.0f), rgm.mapToContainer(point, nullptr)); | 238 EXPECT_EQ(FloatPoint(8.0f, 8.0f), rgm.mapToContainer(point, nullptr)); |
| 239 EXPECT_EQ(FloatQuad(FloatRect(8.0f, 8.0f, 15.0f, 25.0f)), rgm.mapToContainer
(rect, nullptr)); | 239 EXPECT_EQ(FloatQuad(FloatRect(8.0f, 8.0f, 15.0f, 25.0f)), rgm.mapToContainer
(rect, nullptr)); |
| 240 | 240 |
| 241 rgm.popMappingsToAncestor(static_cast<RenderLayer*>(nullptr)); | 241 rgm.popMappingsToAncestor(static_cast<Layer*>(nullptr)); |
| 242 EXPECT_EQ(FloatPoint(0.0f, 0.0f), rgm.mapToContainer(point, nullptr)); | 242 EXPECT_EQ(FloatPoint(0.0f, 0.0f), rgm.mapToContainer(point, nullptr)); |
| 243 EXPECT_EQ(FloatQuad(FloatRect(0.0f, 0.0f, 15.0f, 25.0f)), rgm.mapToContainer
(rect, nullptr)); | 243 EXPECT_EQ(FloatQuad(FloatRect(0.0f, 0.0f, 15.0f, 25.0f)), rgm.mapToContainer
(rect, nullptr)); |
| 244 | 244 |
| 245 rgm.pushMappingsToAncestor(getRenderBox(webView, "InnerDiv"), 0); | 245 rgm.pushMappingsToAncestor(getRenderBox(webView, "InnerDiv"), 0); |
| 246 EXPECT_EQ(FloatPoint(20.0f, 14.0f), rgm.mapToContainer(point, getRenderConta
iner(webView, "CenterDiv"))); | 246 EXPECT_EQ(FloatPoint(20.0f, 14.0f), rgm.mapToContainer(point, getRenderConta
iner(webView, "CenterDiv"))); |
| 247 EXPECT_EQ(FloatQuad(FloatRect(20.0f, 14.0f, 15.0f, 25.0f)), rgm.mapToContain
er(rect, nullptr)); | 247 EXPECT_EQ(FloatQuad(FloatRect(20.0f, 14.0f, 15.0f, 25.0f)), rgm.mapToContain
er(rect, nullptr)); |
| 248 | 248 |
| 249 rgm.pushMappingsToAncestor(getRenderBox(webView, "OtherDiv"), getRenderBox(w
ebView, "InnerDiv")); | 249 rgm.pushMappingsToAncestor(getRenderBox(webView, "OtherDiv"), getRenderBox(w
ebView, "InnerDiv")); |
| 250 EXPECT_EQ(FloatPoint(21.0f, 20.0f), rgm.mapToContainer(point, getRenderConta
iner(webView, "CenterDiv"))); | 250 EXPECT_EQ(FloatPoint(21.0f, 20.0f), rgm.mapToContainer(point, getRenderConta
iner(webView, "CenterDiv"))); |
| 251 EXPECT_EQ(FloatQuad(FloatRect(21.0f, 20.0f, 15.0f, 25.0f)), rgm.mapToContain
er(rect, getRenderContainer(webView, "CenterDiv"))); | 251 EXPECT_EQ(FloatQuad(FloatRect(21.0f, 20.0f, 15.0f, 25.0f)), rgm.mapToContain
er(rect, getRenderContainer(webView, "CenterDiv"))); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 // That maximum x should likewise be p0.x + cos(30deg) = p0.x + 0.866. | 301 // That maximum x should likewise be p0.x + cos(30deg) = p0.x + 0.866. |
| 302 // And the maximum y should be p0.x + sin(30deg) + 2*cos(30deg) | 302 // And the maximum y should be p0.x + sin(30deg) + 2*cos(30deg) |
| 303 // = p0.y + 2.232. | 303 // = p0.y + 2.232. |
| 304 EXPECT_NEAR(70.5244f, rgm.mapToContainer(point, nullptr).x(), 0.0001f); | 304 EXPECT_NEAR(70.5244f, rgm.mapToContainer(point, nullptr).x(), 0.0001f); |
| 305 EXPECT_NEAR(-44.0237f, rgm.mapToContainer(point, nullptr).y(), 0.0001f); | 305 EXPECT_NEAR(-44.0237f, rgm.mapToContainer(point, nullptr).y(), 0.0001f); |
| 306 EXPECT_NEAR(69.5244f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).x(), 0
.0001f); | 306 EXPECT_NEAR(69.5244f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).x(), 0
.0001f); |
| 307 EXPECT_NEAR(-44.0237, rectFromQuad(rgm.mapToContainer(rect, nullptr)).y(), 0
.0001f); | 307 EXPECT_NEAR(-44.0237, rectFromQuad(rgm.mapToContainer(rect, nullptr)).y(), 0
.0001f); |
| 308 EXPECT_NEAR(1.866, rectFromQuad(rgm.mapToContainer(rect, nullptr)).width(),
0.0001f); | 308 EXPECT_NEAR(1.866, rectFromQuad(rgm.mapToContainer(rect, nullptr)).width(),
0.0001f); |
| 309 EXPECT_NEAR(2.232, rectFromQuad(rgm.mapToContainer(rect, nullptr)).height(),
0.0001f); | 309 EXPECT_NEAR(2.232, rectFromQuad(rgm.mapToContainer(rect, nullptr)).height(),
0.0001f); |
| 310 | 310 |
| 311 rgm.popMappingsToAncestor(static_cast<RenderLayer*>(nullptr)); | 311 rgm.popMappingsToAncestor(static_cast<Layer*>(nullptr)); |
| 312 rgmNoFrame.popMappingsToAncestor(static_cast<RenderLayer*>(nullptr)); | 312 rgmNoFrame.popMappingsToAncestor(static_cast<Layer*>(nullptr)); |
| 313 EXPECT_EQ(FloatPoint(0.0f, 0.0f), rgm.mapToContainer(point, nullptr)); | 313 EXPECT_EQ(FloatPoint(0.0f, 0.0f), rgm.mapToContainer(point, nullptr)); |
| 314 EXPECT_EQ(FloatPoint(0.0f, 0.0f), rgmNoFrame.mapToContainer(point, nullptr))
; | 314 EXPECT_EQ(FloatPoint(0.0f, 0.0f), rgmNoFrame.mapToContainer(point, nullptr))
; |
| 315 | 315 |
| 316 rgm.pushMappingsToAncestor(getFrameElement("test_frame", webView, "InnerDiv"
), 0); | 316 rgm.pushMappingsToAncestor(getFrameElement("test_frame", webView, "InnerDiv"
), 0); |
| 317 rgmNoFrame.pushMappingsToAncestor(getFrameElement("test_frame", webView, "In
nerDiv"), 0); | 317 rgmNoFrame.pushMappingsToAncestor(getFrameElement("test_frame", webView, "In
nerDiv"), 0); |
| 318 EXPECT_EQ(FloatPoint(21.0f, 6.0f), rgm.mapToContainer(point, getFrameRenderC
ontainer("test_frame", webView, "CenterDiv"))); | 318 EXPECT_EQ(FloatPoint(21.0f, 6.0f), rgm.mapToContainer(point, getFrameRenderC
ontainer("test_frame", webView, "CenterDiv"))); |
| 319 EXPECT_EQ(FloatQuad(FloatRect(21.0f, 6.0f, 1.0f, 2.0f)), rgm.mapToContainer(
rect, getFrameRenderContainer("test_frame", webView, "CenterDiv"))); | 319 EXPECT_EQ(FloatQuad(FloatRect(21.0f, 6.0f, 1.0f, 2.0f)), rgm.mapToContainer(
rect, getFrameRenderContainer("test_frame", webView, "CenterDiv"))); |
| 320 EXPECT_EQ(FloatPoint(21.0f, 6.0f), rgmNoFrame.mapToContainer(point, getFrame
RenderContainer("test_frame", webView, "CenterDiv"))); | 320 EXPECT_EQ(FloatPoint(21.0f, 6.0f), rgmNoFrame.mapToContainer(point, getFrame
RenderContainer("test_frame", webView, "CenterDiv"))); |
| 321 EXPECT_EQ(FloatQuad(FloatRect(21.0f, 6.0f, 1.0f, 2.0f)), rgmNoFrame.mapToCon
tainer(rect, getFrameRenderContainer("test_frame", webView, "CenterDiv"))); | 321 EXPECT_EQ(FloatQuad(FloatRect(21.0f, 6.0f, 1.0f, 2.0f)), rgmNoFrame.mapToCon
tainer(rect, getFrameRenderContainer("test_frame", webView, "CenterDiv"))); |
| 322 | 322 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 float offset = (1000.0f - 16.0f - 20.0f) / 3.0f + 10.0f; | 360 float offset = (1000.0f - 16.0f - 20.0f) / 3.0f + 10.0f; |
| 361 | 361 |
| 362 RenderGeometryMap rgm; | 362 RenderGeometryMap rgm; |
| 363 rgm.pushMappingsToAncestor(getRenderBox(webView, "A"), 0); | 363 rgm.pushMappingsToAncestor(getRenderBox(webView, "A"), 0); |
| 364 FloatPoint point; | 364 FloatPoint point; |
| 365 FloatRect rect(0.0f, 0.0f, 5.0f, 3.0f); | 365 FloatRect rect(0.0f, 0.0f, 5.0f, 3.0f); |
| 366 | 366 |
| 367 EXPECT_EQ(FloatPoint(8.0f, 8.0f), rgm.mapToContainer(point, nullptr)); | 367 EXPECT_EQ(FloatPoint(8.0f, 8.0f), rgm.mapToContainer(point, nullptr)); |
| 368 EXPECT_EQ(FloatQuad(FloatRect(8.0f, 8.0f, 5.0f, 3.0f)), rgm.mapToContainer(r
ect, nullptr)); | 368 EXPECT_EQ(FloatQuad(FloatRect(8.0f, 8.0f, 5.0f, 3.0f)), rgm.mapToContainer(r
ect, nullptr)); |
| 369 | 369 |
| 370 rgm.popMappingsToAncestor(static_cast<RenderLayer*>(nullptr)); | 370 rgm.popMappingsToAncestor(static_cast<Layer*>(nullptr)); |
| 371 EXPECT_EQ(FloatPoint(0.0f, 0.0f), rgm.mapToContainer(point, nullptr)); | 371 EXPECT_EQ(FloatPoint(0.0f, 0.0f), rgm.mapToContainer(point, nullptr)); |
| 372 EXPECT_EQ(FloatQuad(FloatRect(0.0f, 0.0f, 5.0f, 3.0f)), rgm.mapToContainer(r
ect, nullptr)); | 372 EXPECT_EQ(FloatQuad(FloatRect(0.0f, 0.0f, 5.0f, 3.0f)), rgm.mapToContainer(r
ect, nullptr)); |
| 373 | 373 |
| 374 rgm.pushMappingsToAncestor(getRenderBox(webView, "Col1"), 0); | 374 rgm.pushMappingsToAncestor(getRenderBox(webView, "Col1"), 0); |
| 375 EXPECT_EQ(FloatPoint(8.0f, 8.0f), rgm.mapToContainer(point, nullptr)); | 375 EXPECT_EQ(FloatPoint(8.0f, 8.0f), rgm.mapToContainer(point, nullptr)); |
| 376 EXPECT_EQ(FloatQuad(FloatRect(8.0f, 8.0f, 5.0f, 3.0f)), rgm.mapToContainer(r
ect, nullptr)); | 376 EXPECT_EQ(FloatQuad(FloatRect(8.0f, 8.0f, 5.0f, 3.0f)), rgm.mapToContainer(r
ect, nullptr)); |
| 377 | 377 |
| 378 rgm.popMappingsToAncestor(static_cast<RenderLayer*>(nullptr)); | 378 rgm.popMappingsToAncestor(static_cast<Layer*>(nullptr)); |
| 379 rgm.pushMappingsToAncestor(getRenderBox(webView, "Col2"), nullptr); | 379 rgm.pushMappingsToAncestor(getRenderBox(webView, "Col2"), nullptr); |
| 380 EXPECT_NEAR(8.0f + offset, rgm.mapToContainer(point, nullptr).x(), 0.1f); | 380 EXPECT_NEAR(8.0f + offset, rgm.mapToContainer(point, nullptr).x(), 0.1f); |
| 381 EXPECT_NEAR(8.0f, rgm.mapToContainer(point, nullptr).y(), 0.1f); | 381 EXPECT_NEAR(8.0f, rgm.mapToContainer(point, nullptr).y(), 0.1f); |
| 382 EXPECT_NEAR(8.0f + offset, rectFromQuad(rgm.mapToContainer(rect, nullptr)).x
(), 0.1f); | 382 EXPECT_NEAR(8.0f + offset, rectFromQuad(rgm.mapToContainer(rect, nullptr)).x
(), 0.1f); |
| 383 EXPECT_NEAR(8.0f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).y(), 0.1f)
; | 383 EXPECT_NEAR(8.0f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).y(), 0.1f)
; |
| 384 EXPECT_EQ(5.0f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).width()); | 384 EXPECT_EQ(5.0f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).width()); |
| 385 EXPECT_EQ(3.0f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).height()); | 385 EXPECT_EQ(3.0f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).height()); |
| 386 | 386 |
| 387 rgm.popMappingsToAncestor(static_cast<RenderLayer*>(nullptr)); | 387 rgm.popMappingsToAncestor(static_cast<Layer*>(nullptr)); |
| 388 rgm.pushMappingsToAncestor(getRenderBox(webView, "Col3"), nullptr); | 388 rgm.pushMappingsToAncestor(getRenderBox(webView, "Col3"), nullptr); |
| 389 EXPECT_NEAR(8.0f + offset * 2.0f, rgm.mapToContainer(point, nullptr).x(), 0.
1f); | 389 EXPECT_NEAR(8.0f + offset * 2.0f, rgm.mapToContainer(point, nullptr).x(), 0.
1f); |
| 390 EXPECT_NEAR(8.0f, rgm.mapToContainer(point, nullptr).y(), 0.1f); | 390 EXPECT_NEAR(8.0f, rgm.mapToContainer(point, nullptr).y(), 0.1f); |
| 391 EXPECT_NEAR(8.0f + offset * 2.0f, rectFromQuad(rgm.mapToContainer(rect, null
ptr)).x(), 0.1f); | 391 EXPECT_NEAR(8.0f + offset * 2.0f, rectFromQuad(rgm.mapToContainer(rect, null
ptr)).x(), 0.1f); |
| 392 EXPECT_NEAR(8.0f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).y(), 0.1f)
; | 392 EXPECT_NEAR(8.0f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).y(), 0.1f)
; |
| 393 EXPECT_EQ(5.0f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).width()); | 393 EXPECT_EQ(5.0f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).width()); |
| 394 EXPECT_EQ(3.0f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).height()); | 394 EXPECT_EQ(3.0f, rectFromQuad(rgm.mapToContainer(rect, nullptr)).height()); |
| 395 | 395 |
| 396 } | 396 } |
| 397 } // namespace :: | 397 } // namespace :: |
| OLD | NEW |