Chromium Code Reviews| Index: Source/core/css/resolver/StyleResolver.cpp |
| diff --git a/Source/core/css/resolver/StyleResolver.cpp b/Source/core/css/resolver/StyleResolver.cpp |
| index 747a305c5b1aa2cb547204d094778e647ecce4f0..f8e1636e85a58dc73d72be958296e2cc77d336b7 100644 |
| --- a/Source/core/css/resolver/StyleResolver.cpp |
| +++ b/Source/core/css/resolver/StyleResolver.cpp |
| @@ -776,6 +776,7 @@ bool StyleResolver::pseudoStyleForElementInternal(Element& element, const Pseudo |
| state.setParentStyle(RenderStyle::clone(state.style())); |
| } |
| + state.style()->setStyleType(pseudoStyleRequest.pseudoId); |
| state.fontBuilder().initForStyleResolve(state.document(), state.style()); |
| // Since we don't use pseudo-elements in any of our quirk/print |
| @@ -792,8 +793,6 @@ bool StyleResolver::pseudoStyleForElementInternal(Element& element, const Pseudo |
| if (collector.matchedResult().matchedProperties.isEmpty()) |
| return false; |
| - state.style()->setStyleType(pseudoStyleRequest.pseudoId); |
| - |
| applyMatchedProperties(state, collector.matchedResult()); |
| applyCallbackSelectors(state); |
| @@ -828,8 +827,11 @@ PassRefPtr<RenderStyle> StyleResolver::pseudoStyleForElement(Element* element, c |
| return nullptr; |
| StyleResolverState state(document(), element, parentStyle); |
| - if (!pseudoStyleForElementInternal(*element, pseudoStyleRequest, parentStyle, state)) |
| - return nullptr; |
| + if (!pseudoStyleForElementInternal(*element, pseudoStyleRequest, parentStyle, state)) { |
| + if (pseudoStyleRequest.type == PseudoStyleRequest::ForRenderer) |
|
esprehn
2014/09/17 19:04:42
This doesn't make sense, pseudoStyleForElementInte
rune
2014/09/17 20:00:33
http://www.w3.org/TR/CSS2/generate.html#before-aft
|
| + return nullptr; |
| + return state.takeStyle(); |
| + } |
| if (PseudoElement* pseudoElement = element->pseudoElement(pseudoStyleRequest.pseudoId)) |
| setAnimationUpdateIfNeeded(state, *pseudoElement); |