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

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

Issue 1032823003: Refactor HitTestResult to store the HitTestRequest (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Updated as per review comments Created 5 years, 8 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 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 if (isBlendingAllowed()) { 106 if (isBlendingAllowed()) {
107 bool hasBlendModeChanged = (oldStyle && oldStyle->hasBlendMode()) == !st yle()->hasBlendMode(); 107 bool hasBlendModeChanged = (oldStyle && oldStyle->hasBlendMode()) == !st yle()->hasBlendMode();
108 if (parent() && hasBlendModeChanged) 108 if (parent() && hasBlendModeChanged)
109 parent()->descendantIsolationRequirementsChanged(style()->hasBlendMo de() ? DescendantIsolationRequired : DescendantIsolationNeedsUpdate); 109 parent()->descendantIsolationRequirementsChanged(style()->hasBlendMo de() ? DescendantIsolationRequired : DescendantIsolationNeedsUpdate);
110 } 110 }
111 111
112 LayoutObject::styleDidChange(diff, oldStyle); 112 LayoutObject::styleDidChange(diff, oldStyle);
113 SVGResourcesCache::clientStyleChanged(this, diff, styleRef()); 113 SVGResourcesCache::clientStyleChanged(this, diff, styleRef());
114 } 114 }
115 115
116 bool LayoutSVGModelObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, co nst HitTestLocation&, const LayoutPoint&, HitTestAction) 116 bool LayoutSVGModelObject::nodeAtPoint(HitTestResult&, const HitTestLocation&, c onst LayoutPoint&, HitTestAction)
117 { 117 {
118 ASSERT_NOT_REACHED(); 118 ASSERT_NOT_REACHED();
119 return false; 119 return false;
120 } 120 }
121 121
122 // The SVG addFocusRingRects() method adds rects in local coordinates so the def ault absoluteFocusRingBoundingBoxRect 122 // The SVG addFocusRingRects() method adds rects in local coordinates so the def ault absoluteFocusRingBoundingBoxRect
123 // returns incorrect values for SVG objects. Overriding this method provides acc ess to the absolute bounds. 123 // returns incorrect values for SVG objects. Overriding this method provides acc ess to the absolute bounds.
124 IntRect LayoutSVGModelObject::absoluteFocusRingBoundingBoxRect() const 124 IntRect LayoutSVGModelObject::absoluteFocusRingBoundingBoxRect() const
125 { 125 {
126 return localToAbsoluteQuad(FloatQuad(paintInvalidationRectInLocalCoordinates ())).enclosingBoundingBox(); 126 return localToAbsoluteQuad(FloatQuad(paintInvalidationRectInLocalCoordinates ())).enclosingBoundingBox();
127 } 127 }
128 128
129 void LayoutSVGModelObject::invalidateTreeIfNeeded(PaintInvalidationState& paintI nvalidationState) 129 void LayoutSVGModelObject::invalidateTreeIfNeeded(PaintInvalidationState& paintI nvalidationState)
130 { 130 {
131 ASSERT(!needsLayout()); 131 ASSERT(!needsLayout());
132 132
133 // If we didn't need paint invalidation then our children don't need as well . 133 // If we didn't need paint invalidation then our children don't need as well .
134 // Skip walking down the tree as everything should be fine below us. 134 // Skip walking down the tree as everything should be fine below us.
135 if (!shouldCheckForPaintInvalidation(paintInvalidationState)) 135 if (!shouldCheckForPaintInvalidation(paintInvalidationState))
136 return; 136 return;
137 137
138 invalidatePaintIfNeeded(paintInvalidationState, paintInvalidationState.paint InvalidationContainer()); 138 invalidatePaintIfNeeded(paintInvalidationState, paintInvalidationState.paint InvalidationContainer());
139 clearPaintInvalidationState(paintInvalidationState); 139 clearPaintInvalidationState(paintInvalidationState);
140 140
141 PaintInvalidationState childPaintInvalidationState(paintInvalidationState, * this); 141 PaintInvalidationState childPaintInvalidationState(paintInvalidationState, * this);
142 invalidatePaintOfSubtreesIfNeeded(childPaintInvalidationState); 142 invalidatePaintOfSubtreesIfNeeded(childPaintInvalidationState);
143 } 143 }
144 144
145 } // namespace blink 145 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/layout/svg/LayoutSVGModelObject.h ('k') | Source/core/layout/svg/LayoutSVGResourceClipper.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698