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

Side by Side Diff: third_party/WebKit/Source/core/layout/svg/LayoutSVGModelObject.cpp

Issue 2604073002: Apply offset from the correct graphics layer; simplify code for link highlights. (Closed)
Patch Set: Created 3 years, 11 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) 2009, Google Inc. All rights reserved. 2 * Copyright (c) 2009, 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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 } 76 }
77 77
78 void LayoutSVGModelObject::absoluteRects( 78 void LayoutSVGModelObject::absoluteRects(
79 Vector<IntRect>& rects, 79 Vector<IntRect>& rects,
80 const LayoutPoint& accumulatedOffset) const { 80 const LayoutPoint& accumulatedOffset) const {
81 IntRect rect = enclosingIntRect(strokeBoundingBox()); 81 IntRect rect = enclosingIntRect(strokeBoundingBox());
82 rect.moveBy(roundedIntPoint(accumulatedOffset)); 82 rect.moveBy(roundedIntPoint(accumulatedOffset));
83 rects.append(rect); 83 rects.append(rect);
84 } 84 }
85 85
86 void LayoutSVGModelObject::absoluteQuads(Vector<FloatQuad>& quads) const { 86 void LayoutSVGModelObject::absoluteQuads(Vector<FloatQuad>& quads,
87 quads.append(localToAbsoluteQuad(strokeBoundingBox())); 87 MapCoordinatesFlags mode) const {
88 quads.append(localToAbsoluteQuad(strokeBoundingBox(), mode));
88 } 89 }
89 90
90 FloatRect LayoutSVGModelObject::localBoundingBoxRectForAccessibility() const { 91 FloatRect LayoutSVGModelObject::localBoundingBoxRectForAccessibility() const {
91 return strokeBoundingBox(); 92 return strokeBoundingBox();
92 } 93 }
93 94
94 void LayoutSVGModelObject::willBeDestroyed() { 95 void LayoutSVGModelObject::willBeDestroyed() {
95 SVGResourcesCache::clientDestroyed(this); 96 SVGResourcesCache::clientDestroyed(this);
96 LayoutObject::willBeDestroyed(); 97 LayoutObject::willBeDestroyed();
97 } 98 }
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 142
142 // The SVG addOutlineRects() method adds rects in local coordinates so the 143 // The SVG addOutlineRects() method adds rects in local coordinates so the
143 // default absoluteElementBoundingBoxRect() returns incorrect values for SVG 144 // default absoluteElementBoundingBoxRect() returns incorrect values for SVG
144 // objects. Overriding this method provides access to the absolute bounds. 145 // objects. Overriding this method provides access to the absolute bounds.
145 IntRect LayoutSVGModelObject::absoluteElementBoundingBoxRect() const { 146 IntRect LayoutSVGModelObject::absoluteElementBoundingBoxRect() const {
146 return localToAbsoluteQuad(FloatQuad(visualRectInLocalSVGCoordinates())) 147 return localToAbsoluteQuad(FloatQuad(visualRectInLocalSVGCoordinates()))
147 .enclosingBoundingBox(); 148 .enclosingBoundingBox();
148 } 149 }
149 150
150 } // namespace blink 151 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698