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

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

Issue 2873433003: Move MediaQuery classes off BlinkGC heap (Closed)
Patch Set: Created 3 years, 7 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 Apple Inc. All 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All
6 * rights reserved. 6 * rights reserved.
7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> 8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org>
9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. 9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved.
10 * (http://www.torchmobile.com/) 10 * (http://www.torchmobile.com/)
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 MinimalRuleData(styleRule, selectorIndex, addRuleFlags)); 295 MinimalRuleData(styleRule, selectorIndex, addRuleFlags));
296 } else { 296 } else {
297 addRule(styleRule, selectorIndex, addRuleFlags); 297 addRule(styleRule, selectorIndex, addRuleFlags);
298 } 298 }
299 } 299 }
300 } else if (rule->isPageRule()) { 300 } else if (rule->isPageRule()) {
301 addPageRule(toStyleRulePage(rule)); 301 addPageRule(toStyleRulePage(rule));
302 } else if (rule->isMediaRule()) { 302 } else if (rule->isMediaRule()) {
303 StyleRuleMedia* mediaRule = toStyleRuleMedia(rule); 303 StyleRuleMedia* mediaRule = toStyleRuleMedia(rule);
304 if (!mediaRule->mediaQueries() || 304 if (!mediaRule->mediaQueries() ||
305 medium.eval(mediaRule->mediaQueries(), 305 medium.eval(*mediaRule->mediaQueries(),
306 &m_features.viewportDependentMediaQueryResults(), 306 &m_features.viewportDependentMediaQueryResults(),
307 &m_features.deviceDependentMediaQueryResults())) 307 &m_features.deviceDependentMediaQueryResults()))
308 addChildRules(mediaRule->childRules(), medium, addRuleFlags); 308 addChildRules(mediaRule->childRules(), medium, addRuleFlags);
309 } else if (rule->isFontFaceRule()) { 309 } else if (rule->isFontFaceRule()) {
310 addFontFaceRule(toStyleRuleFontFace(rule)); 310 addFontFaceRule(toStyleRuleFontFace(rule));
311 } else if (rule->isKeyframesRule()) { 311 } else if (rule->isKeyframesRule()) {
312 addKeyframesRule(toStyleRuleKeyframes(rule)); 312 addKeyframesRule(toStyleRuleKeyframes(rule));
313 } else if (rule->isSupportsRule() && 313 } else if (rule->isSupportsRule() &&
314 toStyleRuleSupports(rule)->conditionIsSupported()) { 314 toStyleRuleSupports(rule)->conditionIsSupported()) {
315 addChildRules(toStyleRuleSupports(rule)->childRules(), medium, 315 addChildRules(toStyleRuleSupports(rule)->childRules(), medium,
316 addRuleFlags); 316 addRuleFlags);
317 } 317 }
318 } 318 }
319 } 319 }
320 320
321 void RuleSet::addRulesFromSheet(StyleSheetContents* sheet, 321 void RuleSet::addRulesFromSheet(StyleSheetContents* sheet,
322 const MediaQueryEvaluator& medium, 322 const MediaQueryEvaluator& medium,
323 AddRuleFlags addRuleFlags) { 323 AddRuleFlags addRuleFlags) {
324 TRACE_EVENT0("blink", "RuleSet::addRulesFromSheet"); 324 TRACE_EVENT0("blink", "RuleSet::addRulesFromSheet");
325 325
326 ASSERT(sheet); 326 ASSERT(sheet);
327 327
328 const HeapVector<Member<StyleRuleImport>>& importRules = sheet->importRules(); 328 const HeapVector<Member<StyleRuleImport>>& importRules = sheet->importRules();
329 for (unsigned i = 0; i < importRules.size(); ++i) { 329 for (unsigned i = 0; i < importRules.size(); ++i) {
330 StyleRuleImport* importRule = importRules[i].get(); 330 StyleRuleImport* importRule = importRules[i].get();
331 if (importRule->styleSheet() && 331 if (importRule->styleSheet() &&
332 (!importRule->mediaQueries() || 332 (!importRule->mediaQueries() ||
333 medium.eval(importRule->mediaQueries(), 333 medium.eval(*importRule->mediaQueries(),
334 &m_features.viewportDependentMediaQueryResults(), 334 &m_features.viewportDependentMediaQueryResults(),
335 &m_features.deviceDependentMediaQueryResults()))) 335 &m_features.deviceDependentMediaQueryResults())))
336 addRulesFromSheet(importRule->styleSheet(), medium, addRuleFlags); 336 addRulesFromSheet(importRule->styleSheet(), medium, addRuleFlags);
337 } 337 }
338 338
339 addChildRules(sheet->childRules(), medium, addRuleFlags); 339 addChildRules(sheet->childRules(), medium, addRuleFlags);
340 } 340 }
341 341
342 void RuleSet::addStyleRule(StyleRule* rule, AddRuleFlags addRuleFlags) { 342 void RuleSet::addStyleRule(StyleRule* rule, AddRuleFlags addRuleFlags) {
343 for (size_t selectorIndex = 0; selectorIndex != kNotFound; 343 for (size_t selectorIndex = 0; selectorIndex != kNotFound;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 } 426 }
427 427
428 #ifndef NDEBUG 428 #ifndef NDEBUG
429 void RuleSet::show() const { 429 void RuleSet::show() const {
430 for (const auto& rule : m_allRules) 430 for (const auto& rule : m_allRules)
431 rule.selector().show(); 431 rule.selector().show();
432 } 432 }
433 #endif 433 #endif
434 434
435 } // namespace blink 435 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/RuleFeature.cpp ('k') | third_party/WebKit/Source/core/css/StyleMedia.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698