OLD | NEW |
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 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All r
ights 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 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 ASSERT_NOT_REACHED(); | 221 ASSERT_NOT_REACHED(); |
222 return true; | 222 return true; |
223 } | 223 } |
224 } | 224 } |
225 | 225 |
226 if (!tagName.isEmpty()) { | 226 if (!tagName.isEmpty()) { |
227 addToRuleSet(tagName, ensurePendingRules()->tagRules, ruleData); | 227 addToRuleSet(tagName, ensurePendingRules()->tagRules, ruleData); |
228 return true; | 228 return true; |
229 } | 229 } |
230 | 230 |
| 231 if (component.isHostPseudoClass()) { |
| 232 m_shadowHostRules.append(ruleData); |
| 233 return true; |
| 234 } |
231 return false; | 235 return false; |
232 } | 236 } |
233 | 237 |
234 void RuleSet::addRule(StyleRule* rule, unsigned selectorIndex, AddRuleFlags addR
uleFlags) | 238 void RuleSet::addRule(StyleRule* rule, unsigned selectorIndex, AddRuleFlags addR
uleFlags) |
235 { | 239 { |
236 RuleData ruleData(rule, selectorIndex, m_ruleCount++, addRuleFlags); | 240 RuleData ruleData(rule, selectorIndex, m_ruleCount++, addRuleFlags); |
237 m_features.collectFeaturesFromRuleData(ruleData); | 241 m_features.collectFeaturesFromRuleData(ruleData); |
238 | 242 |
239 if (!findBestRuleSetAndAdd(ruleData.selector(), ruleData)) { | 243 if (!findBestRuleSetAndAdd(ruleData.selector(), ruleData)) { |
240 // If we didn't find a specialized map to stick it in, file under univer
sal rules. | 244 // If we didn't find a specialized map to stick it in, file under univer
sal rules. |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 ASSERT(m_pendingRules); | 351 ASSERT(m_pendingRules); |
348 OwnPtrWillBeRawPtr<PendingRuleMaps> pendingRules = m_pendingRules.release(); | 352 OwnPtrWillBeRawPtr<PendingRuleMaps> pendingRules = m_pendingRules.release(); |
349 compactPendingRules(pendingRules->idRules, m_idRules); | 353 compactPendingRules(pendingRules->idRules, m_idRules); |
350 compactPendingRules(pendingRules->classRules, m_classRules); | 354 compactPendingRules(pendingRules->classRules, m_classRules); |
351 compactPendingRules(pendingRules->tagRules, m_tagRules); | 355 compactPendingRules(pendingRules->tagRules, m_tagRules); |
352 compactPendingRules(pendingRules->shadowPseudoElementRules, m_shadowPseudoEl
ementRules); | 356 compactPendingRules(pendingRules->shadowPseudoElementRules, m_shadowPseudoEl
ementRules); |
353 m_linkPseudoClassRules.shrinkToFit(); | 357 m_linkPseudoClassRules.shrinkToFit(); |
354 m_cuePseudoRules.shrinkToFit(); | 358 m_cuePseudoRules.shrinkToFit(); |
355 m_focusPseudoClassRules.shrinkToFit(); | 359 m_focusPseudoClassRules.shrinkToFit(); |
356 m_universalRules.shrinkToFit(); | 360 m_universalRules.shrinkToFit(); |
| 361 m_shadowHostRules.shrinkToFit(); |
357 m_pageRules.shrinkToFit(); | 362 m_pageRules.shrinkToFit(); |
358 m_viewportRules.shrinkToFit(); | 363 m_viewportRules.shrinkToFit(); |
359 m_fontFaceRules.shrinkToFit(); | 364 m_fontFaceRules.shrinkToFit(); |
360 m_keyframesRules.shrinkToFit(); | 365 m_keyframesRules.shrinkToFit(); |
361 m_treeBoundaryCrossingRules.shrinkToFit(); | 366 m_treeBoundaryCrossingRules.shrinkToFit(); |
362 m_shadowDistributedRules.shrinkToFit(); | 367 m_shadowDistributedRules.shrinkToFit(); |
363 } | 368 } |
364 | 369 |
365 void MinimalRuleData::trace(Visitor* visitor) | 370 void MinimalRuleData::trace(Visitor* visitor) |
366 { | 371 { |
(...skipping 19 matching lines...) Expand all Loading... |
386 { | 391 { |
387 #if ENABLE(OILPAN) | 392 #if ENABLE(OILPAN) |
388 visitor->trace(m_idRules); | 393 visitor->trace(m_idRules); |
389 visitor->trace(m_classRules); | 394 visitor->trace(m_classRules); |
390 visitor->trace(m_tagRules); | 395 visitor->trace(m_tagRules); |
391 visitor->trace(m_shadowPseudoElementRules); | 396 visitor->trace(m_shadowPseudoElementRules); |
392 visitor->trace(m_linkPseudoClassRules); | 397 visitor->trace(m_linkPseudoClassRules); |
393 visitor->trace(m_cuePseudoRules); | 398 visitor->trace(m_cuePseudoRules); |
394 visitor->trace(m_focusPseudoClassRules); | 399 visitor->trace(m_focusPseudoClassRules); |
395 visitor->trace(m_universalRules); | 400 visitor->trace(m_universalRules); |
| 401 visitor->trace(m_shadowHostRules); |
396 visitor->trace(m_features); | 402 visitor->trace(m_features); |
397 visitor->trace(m_pageRules); | 403 visitor->trace(m_pageRules); |
398 visitor->trace(m_viewportRules); | 404 visitor->trace(m_viewportRules); |
399 visitor->trace(m_fontFaceRules); | 405 visitor->trace(m_fontFaceRules); |
400 visitor->trace(m_keyframesRules); | 406 visitor->trace(m_keyframesRules); |
401 visitor->trace(m_treeBoundaryCrossingRules); | 407 visitor->trace(m_treeBoundaryCrossingRules); |
402 visitor->trace(m_shadowDistributedRules); | 408 visitor->trace(m_shadowDistributedRules); |
403 visitor->trace(m_viewportDependentMediaQueryResults); | 409 visitor->trace(m_viewportDependentMediaQueryResults); |
404 visitor->trace(m_pendingRules); | 410 visitor->trace(m_pendingRules); |
405 #ifndef NDEBUG | 411 #ifndef NDEBUG |
406 visitor->trace(m_allRules); | 412 visitor->trace(m_allRules); |
407 #endif | 413 #endif |
408 #endif | 414 #endif |
409 } | 415 } |
410 | 416 |
411 #ifndef NDEBUG | 417 #ifndef NDEBUG |
412 void RuleSet::show() | 418 void RuleSet::show() |
413 { | 419 { |
414 for (const auto& rule: m_allRules) | 420 for (const auto& rule: m_allRules) |
415 rule.selector().show(); | 421 rule.selector().show(); |
416 } | 422 } |
417 #endif | 423 #endif |
418 | 424 |
419 } // namespace blink | 425 } // namespace blink |
OLD | NEW |