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

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: none 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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 145
145 // The SVG addOutlineRects() method adds rects in local coordinates so the 146 // The SVG addOutlineRects() method adds rects in local coordinates so the
146 // default absoluteElementBoundingBoxRect() returns incorrect values for SVG 147 // default absoluteElementBoundingBoxRect() returns incorrect values for SVG
147 // objects. Overriding this method provides access to the absolute bounds. 148 // objects. Overriding this method provides access to the absolute bounds.
148 IntRect LayoutSVGModelObject::absoluteElementBoundingBoxRect() const { 149 IntRect LayoutSVGModelObject::absoluteElementBoundingBoxRect() const {
149 return localToAbsoluteQuad(FloatQuad(visualRectInLocalSVGCoordinates())) 150 return localToAbsoluteQuad(FloatQuad(visualRectInLocalSVGCoordinates()))
150 .enclosingBoundingBox(); 151 .enclosingBoundingBox();
151 } 152 }
152 153
153 } // namespace blink 154 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698