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

Side by Side Diff: third_party/WebKit/Source/core/css/ElementRuleCollector.cpp

Issue 1883083002: Introduce Node::containingTreeScope(), which asserts that the node's root is a tree scope (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: wip Created 4 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com)
4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com)
5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved. 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved.
6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org>
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved.
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 if (!propertySet) 110 if (!propertySet)
111 return; 111 return;
112 m_result.addMatchedProperties(propertySet); 112 m_result.addMatchedProperties(propertySet);
113 if (!isCacheable) 113 if (!isCacheable)
114 m_result.setIsCacheable(false); 114 m_result.setIsCacheable(false);
115 } 115 }
116 116
117 static bool rulesApplicableInCurrentTreeScope(const Element* element, const Cont ainerNode* scopingNode) 117 static bool rulesApplicableInCurrentTreeScope(const Element* element, const Cont ainerNode* scopingNode)
118 { 118 {
119 // Check if the rules come from a shadow style sheet in the same tree scope. 119 // Check if the rules come from a shadow style sheet in the same tree scope.
120 return !scopingNode || element->treeScope() == scopingNode->treeScope(); 120 return !scopingNode || element->rootTreeScope() == scopingNode->rootTreeScop e();
121 } 121 }
122 122
123 template<typename RuleDataListType> 123 template<typename RuleDataListType>
124 void ElementRuleCollector::collectMatchingRulesForList(const RuleDataListType* r ules, CascadeOrder cascadeOrder, const MatchRequest& matchRequest) 124 void ElementRuleCollector::collectMatchingRulesForList(const RuleDataListType* r ules, CascadeOrder cascadeOrder, const MatchRequest& matchRequest)
125 { 125 {
126 if (!rules) 126 if (!rules)
127 return; 127 return;
128 128
129 SelectorChecker::Init init; 129 SelectorChecker::Init init;
130 init.mode = m_mode; 130 init.mode = m_mode;
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 // should not see the element's treescope. Because RuleSet has no 335 // should not see the element's treescope. Because RuleSet has no
336 // information about "scope". 336 // information about "scope".
337 MatchRequest matchRequest(ruleSet); 337 MatchRequest matchRequest(ruleSet);
338 collectMatchingRules(matchRequest); 338 collectMatchingRules(matchRequest);
339 collectMatchingShadowHostRules(matchRequest); 339 collectMatchingShadowHostRules(matchRequest);
340 340
341 return !m_matchedRules.isEmpty(); 341 return !m_matchedRules.isEmpty();
342 } 342 }
343 343
344 } // namespace blink 344 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698