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

Side by Side Diff: Source/core/rendering/svg/SVGRenderSupport.cpp

Issue 411613002: [SVG] Reject hit-test queries when the element has a singular transform (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/rendering/svg/SVGRenderSupport.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008 Rob Buis <buis@kde.org> 2 * Copyright (C) 2007, 2008 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) 2007 Eric Seidel <eric@webkit.org> 4 * Copyright (C) 2007 Eric Seidel <eric@webkit.org>
5 * Copyright (C) 2009 Google, Inc. All rights reserved. 5 * Copyright (C) 2009 Google, Inc. All rights reserved.
6 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> 6 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org>
7 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. 7 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 SVGResources* resources = SVGResourcesCache::cachedResourcesForRenderObject( object); 320 SVGResources* resources = SVGResourcesCache::cachedResourcesForRenderObject( object);
321 if (!resources) 321 if (!resources)
322 return true; 322 return true;
323 323
324 if (RenderSVGResourceClipper* clipper = resources->clipper()) 324 if (RenderSVGResourceClipper* clipper = resources->clipper())
325 return clipper->hitTestClipContent(object->objectBoundingBox(), point); 325 return clipper->hitTestClipContent(object->objectBoundingBox(), point);
326 326
327 return true; 327 return true;
328 } 328 }
329 329
330 bool SVGRenderSupport::transformToUserSpaceAndCheckClipping(RenderObject* object , const AffineTransform& localTransform, const FloatPoint& pointInParent, FloatP oint& localPoint)
331 {
332 if (!localTransform.isInvertible())
333 return false;
334 localPoint = localTransform.inverse().mapPoint(pointInParent);
335 return pointInClippingArea(object, localPoint);
336 }
337
330 void SVGRenderSupport::applyStrokeStyleToContext(GraphicsContext* context, const RenderStyle* style, const RenderObject* object) 338 void SVGRenderSupport::applyStrokeStyleToContext(GraphicsContext* context, const RenderStyle* style, const RenderObject* object)
331 { 339 {
332 ASSERT(context); 340 ASSERT(context);
333 ASSERT(style); 341 ASSERT(style);
334 ASSERT(object); 342 ASSERT(object);
335 ASSERT(object->node()); 343 ASSERT(object->node());
336 ASSERT(object->node()->isSVGElement()); 344 ASSERT(object->node()->isSVGElement());
337 345
338 const SVGRenderStyle& svgStyle = style->svgStyle(); 346 const SVGRenderStyle& svgStyle = style->svgStyle();
339 347
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 } 393 }
386 394
387 bool SVGRenderSupport::isRenderableTextNode(const RenderObject* object) 395 bool SVGRenderSupport::isRenderableTextNode(const RenderObject* object)
388 { 396 {
389 ASSERT(object->isText()); 397 ASSERT(object->isText());
390 // <br> is marked as text, but is not handled by the SVG rendering code-path . 398 // <br> is marked as text, but is not handled by the SVG rendering code-path .
391 return object->isSVGInlineText() && !toRenderSVGInlineText(object)->hasEmpty Text(); 399 return object->isSVGInlineText() && !toRenderSVGInlineText(object)->hasEmpty Text();
392 } 400 }
393 401
394 } 402 }
OLDNEW
« no previous file with comments | « Source/core/rendering/svg/SVGRenderSupport.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698