Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: Source/core/layout/svg/line/SVGInlineTextBox.cpp

Issue 1142283004: Implement a Hit Test Cache. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /** 1 /**
2 * Copyright (C) 2007 Rob Buis <buis@kde.org> 2 * Copyright (C) 2007 Rob Buis <buis@kde.org>
3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> 3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>
4 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 4 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 if (isVisible || !hitRules.requireVisible) { 259 if (isVisible || !hitRules.requireVisible) {
260 if (hitRules.canHitBoundingBox 260 if (hitRules.canHitBoundingBox
261 || (hitRules.canHitStroke && (layoutObject().style()->svgStyle().has Stroke() || !hitRules.requireStroke)) 261 || (hitRules.canHitStroke && (layoutObject().style()->svgStyle().has Stroke() || !hitRules.requireStroke))
262 || (hitRules.canHitFill && (layoutObject().style()->svgStyle().hasFi ll() || !hitRules.requireFill))) { 262 || (hitRules.canHitFill && (layoutObject().style()->svgStyle().hasFi ll() || !hitRules.requireFill))) {
263 FloatPointWillBeLayoutPoint boxOrigin(x(), y()); 263 FloatPointWillBeLayoutPoint boxOrigin(x(), y());
264 boxOrigin.moveBy(accumulatedOffset); 264 boxOrigin.moveBy(accumulatedOffset);
265 FloatRectWillBeLayoutRect rect(boxOrigin, size()); 265 FloatRectWillBeLayoutRect rect(boxOrigin, size());
266 // FIXME: both calls to rawValue() below is temporary and should be removed once the transition 266 // FIXME: both calls to rawValue() below is temporary and should be removed once the transition
267 // to LayoutUnit-based types is complete (crbug.com/321237) 267 // to LayoutUnit-based types is complete (crbug.com/321237)
268 if (locationInContainer.intersects(rect.rawValue())) { 268 if (locationInContainer.intersects(rect.rawValue())) {
269 layoutObject().updateHitTestResult(result, locationInContainer.p oint() - toLayoutSize(accumulatedOffset)); 269 layoutObject().updateHitTestResult(result, locationInContainer.p oint() - toLayoutSize(accumulatedOffset), rect);
270 if (!result.addNodeToListBasedTestResult(layoutObject().node(), locationInContainer, rect.rawValue())) 270 if (!result.addNodeToListBasedTestResult(layoutObject().node(), locationInContainer, rect.rawValue()))
271 return true; 271 return true;
272 } 272 }
273 } 273 }
274 } 274 }
275 return false; 275 return false;
276 } 276 }
277 277
278 } // namespace blink 278 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698