Changeset 225485 in webkit
- Timestamp:
- Dec 4, 2017 12:31:35 PM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r225483 r225485 1 2017-12-04 Antti Koivisto <antti@apple.com> 2 3 Enable selector filtering for ::before and ::after pseudo element resolution 4 https://bugs.webkit.org/show_bug.cgi?id=180364 5 6 Reviewed by Ryosuke Niwa. 7 8 Since these pseudo elements are now resolved by TreeResolver we can use selector filter for them. 9 10 This is 10%+ progression in StyleBench pseudo element subtest. 11 12 * css/StyleResolver.cpp: 13 (WebCore::StyleResolver::pseudoStyleForElement): 14 * css/StyleResolver.h: 15 * style/StyleTreeResolver.cpp: 16 (WebCore::Style::TreeResolver::resolvePseudoStyle): 17 1 18 2017-12-04 Youenn Fablet <youenn@apple.com> 2 19 -
trunk/Source/WebCore/css/StyleResolver.cpp
r224840 r225485 553 553 } 554 554 555 std::unique_ptr<RenderStyle> StyleResolver::pseudoStyleForElement(const Element& element, const PseudoStyleRequest& pseudoStyleRequest, const RenderStyle& parentStyle )556 { 557 m_state = State(element, &parentStyle );555 std::unique_ptr<RenderStyle> StyleResolver::pseudoStyleForElement(const Element& element, const PseudoStyleRequest& pseudoStyleRequest, const RenderStyle& parentStyle, const SelectorFilter* selectorFilter) 556 { 557 m_state = State(element, &parentStyle, m_overrideDocumentElementStyle, selectorFilter); 558 558 559 559 State& state = m_state; -
trunk/Source/WebCore/css/StyleResolver.h
r224840 r225485 134 134 void keyframeStylesForAnimation(const Element&, const RenderStyle*, KeyframeList&); 135 135 136 std::unique_ptr<RenderStyle> pseudoStyleForElement(const Element&, const PseudoStyleRequest&, const RenderStyle& parentStyle );136 std::unique_ptr<RenderStyle> pseudoStyleForElement(const Element&, const PseudoStyleRequest&, const RenderStyle& parentStyle, const SelectorFilter* = nullptr); 137 137 138 138 std::unique_ptr<RenderStyle> styleForPage(int pageIndex); -
trunk/Source/WebCore/style/StyleTreeResolver.cpp
r225049 r225485 234 234 return { }; 235 235 236 auto pseudoStyle = scope().styleResolver.pseudoStyleForElement(element, { pseudoId }, *elementUpdate.style );236 auto pseudoStyle = scope().styleResolver.pseudoStyleForElement(element, { pseudoId }, *elementUpdate.style, &scope().selectorFilter); 237 237 if (!pseudoStyle) 238 238 return { };
Note: See TracChangeset
for help on using the changeset viewer.