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

Side by Side Diff: Source/core/dom/StyleEngine.cpp

Issue 42543007: StyleResolver should update RuleSets lazily. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Filter @viewport and @font-face in lazyAppend Created 7 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved.
9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved.
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 ASSERT(collection); 395 ASSERT(collection);
396 collection->updateActiveStyleSheets(this, updateMode); 396 collection->updateActiveStyleSheets(this, updateMode);
397 if (!collection->hasStyleSheetCandidateNodes()) 397 if (!collection->hasStyleSheetCandidateNodes())
398 treeScopesRemoved.add(treeScope); 398 treeScopesRemoved.add(treeScope);
399 } 399 }
400 if (!treeScopesRemoved.isEmpty()) 400 if (!treeScopesRemoved.isEmpty())
401 for (HashSet<TreeScope*>::iterator it = treeScopesRemoved.begin(); i t != treeScopesRemoved.end(); ++it) 401 for (HashSet<TreeScope*>::iterator it = treeScopesRemoved.begin(); i t != treeScopesRemoved.end(); ++it)
402 m_activeTreeScopes.remove(*it); 402 m_activeTreeScopes.remove(*it);
403 m_dirtyTreeScopes.clear(); 403 m_dirtyTreeScopes.clear();
404 } 404 }
405
406 if (StyleResolver* styleResolver = m_document.styleResolverIfExists()) {
407 styleResolver->finishAppendAuthorStyleSheets();
408 resetCSSFeatureFlags(styleResolver->ruleFeatureSet());
409 }
410
411 m_needsUpdateActiveStylesheetsOnStyleRecalc = false; 405 m_needsUpdateActiveStylesheetsOnStyleRecalc = false;
412 activeStyleSheetsUpdatedForInspector(); 406 activeStyleSheetsUpdatedForInspector();
413 m_usesRemUnits = m_documentStyleSheetCollection.usesRemUnits(); 407 m_usesRemUnits = m_documentStyleSheetCollection.usesRemUnits();
414 408
415 if (m_needsDocumentStyleSheetsUpdate || updateMode == FullStyleUpdate) { 409 if (m_needsDocumentStyleSheetsUpdate || updateMode == FullStyleUpdate) {
416 m_document.notifySeamlessChildDocumentsOfStylesheetUpdate(); 410 m_document.notifySeamlessChildDocumentsOfStylesheetUpdate();
417 m_needsDocumentStyleSheetsUpdate = false; 411 m_needsDocumentStyleSheetsUpdate = false;
418 } 412 }
419 413
420 return requiresFullStyleRecalc; 414 return requiresFullStyleRecalc;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 if (StyleSheetCollection* collection = m_styleSheetCollectionMap.get(*it )) { 455 if (StyleSheetCollection* collection = m_styleSheetCollectionMap.get(*it )) {
462 styleResolver->setBuildScopedStyleTreeInDocumentOrder(!collection->s copingNodesForStyleScoped()); 456 styleResolver->setBuildScopedStyleTreeInDocumentOrder(!collection->s copingNodesForStyleScoped());
463 styleResolver->appendAuthorStyleSheets(0, collection->activeAuthorSt yleSheets()); 457 styleResolver->appendAuthorStyleSheets(0, collection->activeAuthorSt yleSheets());
464 } 458 }
465 } 459 }
466 styleResolver->finishAppendAuthorStyleSheets(); 460 styleResolver->finishAppendAuthorStyleSheets();
467 styleResolver->setBuildScopedStyleTreeInDocumentOrder(false); 461 styleResolver->setBuildScopedStyleTreeInDocumentOrder(false);
468 } 462 }
469 463
470 } 464 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698