OLD | NEW |
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 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 setNeedsTransformUpdate(); | 118 setNeedsTransformUpdate(); |
119 } | 119 } |
120 | 120 |
121 if (isBlendingAllowed()) { | 121 if (isBlendingAllowed()) { |
122 bool hasBlendModeChanged = | 122 bool hasBlendModeChanged = |
123 (oldStyle && oldStyle->hasBlendMode()) == !style()->hasBlendMode(); | 123 (oldStyle && oldStyle->hasBlendMode()) == !style()->hasBlendMode(); |
124 if (parent() && hasBlendModeChanged) | 124 if (parent() && hasBlendModeChanged) |
125 parent()->descendantIsolationRequirementsChanged( | 125 parent()->descendantIsolationRequirementsChanged( |
126 style()->hasBlendMode() ? DescendantIsolationRequired | 126 style()->hasBlendMode() ? DescendantIsolationRequired |
127 : DescendantIsolationNeedsUpdate); | 127 : DescendantIsolationNeedsUpdate); |
| 128 |
| 129 if (hasBlendModeChanged) |
| 130 setNeedsPaintPropertyUpdate(); |
128 } | 131 } |
129 | 132 |
130 LayoutObject::styleDidChange(diff, oldStyle); | 133 LayoutObject::styleDidChange(diff, oldStyle); |
131 SVGResourcesCache::clientStyleChanged(this, diff, styleRef()); | 134 SVGResourcesCache::clientStyleChanged(this, diff, styleRef()); |
132 } | 135 } |
133 | 136 |
134 bool LayoutSVGModelObject::nodeAtPoint(HitTestResult&, | 137 bool LayoutSVGModelObject::nodeAtPoint(HitTestResult&, |
135 const HitTestLocation&, | 138 const HitTestLocation&, |
136 const LayoutPoint&, | 139 const LayoutPoint&, |
137 HitTestAction) { | 140 HitTestAction) { |
138 ASSERT_NOT_REACHED(); | 141 ASSERT_NOT_REACHED(); |
139 return false; | 142 return false; |
140 } | 143 } |
141 | 144 |
142 // The SVG addOutlineRects() method adds rects in local coordinates so the | 145 // The SVG addOutlineRects() method adds rects in local coordinates so the |
143 // default absoluteElementBoundingBoxRect() returns incorrect values for SVG | 146 // default absoluteElementBoundingBoxRect() returns incorrect values for SVG |
144 // objects. Overriding this method provides access to the absolute bounds. | 147 // objects. Overriding this method provides access to the absolute bounds. |
145 IntRect LayoutSVGModelObject::absoluteElementBoundingBoxRect() const { | 148 IntRect LayoutSVGModelObject::absoluteElementBoundingBoxRect() const { |
146 return localToAbsoluteQuad(FloatQuad(visualRectInLocalSVGCoordinates())) | 149 return localToAbsoluteQuad(FloatQuad(visualRectInLocalSVGCoordinates())) |
147 .enclosingBoundingBox(); | 150 .enclosingBoundingBox(); |
148 } | 151 } |
149 | 152 |
150 } // namespace blink | 153 } // namespace blink |
OLD | NEW |