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

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: Created 7 years, 2 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 | 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 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 ASSERT(collection); 392 ASSERT(collection);
393 collection->updateActiveStyleSheets(this, updateMode); 393 collection->updateActiveStyleSheets(this, updateMode);
394 if (!collection->hasStyleSheetCandidateNodes()) 394 if (!collection->hasStyleSheetCandidateNodes())
395 treeScopesRemoved.add(treeScope); 395 treeScopesRemoved.add(treeScope);
396 } 396 }
397 if (!treeScopesRemoved.isEmpty()) 397 if (!treeScopesRemoved.isEmpty())
398 for (HashSet<TreeScope*>::iterator it = treeScopesRemoved.begin(); i t != treeScopesRemoved.end(); ++it) 398 for (HashSet<TreeScope*>::iterator it = treeScopesRemoved.begin(); i t != treeScopesRemoved.end(); ++it)
399 m_activeTreeScopes.remove(*it); 399 m_activeTreeScopes.remove(*it);
400 m_dirtyTreeScopes.clear(); 400 m_dirtyTreeScopes.clear();
401 } 401 }
402
403 if (StyleResolver* styleResolver = m_document.styleResolverIfExists()) {
404 styleResolver->finishAppendAuthorStyleSheets();
405 resetCSSFeatureFlags(styleResolver->ruleFeatureSet());
406 }
407
408 m_needsUpdateActiveStylesheetsOnStyleRecalc = false; 402 m_needsUpdateActiveStylesheetsOnStyleRecalc = false;
409 activeStyleSheetsUpdatedForInspector(); 403 activeStyleSheetsUpdatedForInspector();
410 m_usesRemUnits = m_documentStyleSheetCollection.usesRemUnits(); 404 m_usesRemUnits = m_documentStyleSheetCollection.usesRemUnits();
411 405
412 if (m_needsDocumentStyleSheetsUpdate || updateMode == FullStyleUpdate) { 406 if (m_needsDocumentStyleSheetsUpdate || updateMode == FullStyleUpdate) {
413 m_document.notifySeamlessChildDocumentsOfStylesheetUpdate(); 407 m_document.notifySeamlessChildDocumentsOfStylesheetUpdate();
414 m_needsDocumentStyleSheetsUpdate = false; 408 m_needsDocumentStyleSheetsUpdate = false;
415 } 409 }
416 410
417 return requiresFullStyleRecalc; 411 return requiresFullStyleRecalc;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 if (StyleSheetCollection* collection = m_styleSheetCollectionMap.get(*it )) { 452 if (StyleSheetCollection* collection = m_styleSheetCollectionMap.get(*it )) {
459 styleResolver->setBuildScopedStyleTreeInDocumentOrder(!collection->s copingNodesForStyleScoped()); 453 styleResolver->setBuildScopedStyleTreeInDocumentOrder(!collection->s copingNodesForStyleScoped());
460 styleResolver->appendAuthorStyleSheets(0, collection->activeAuthorSt yleSheets()); 454 styleResolver->appendAuthorStyleSheets(0, collection->activeAuthorSt yleSheets());
461 } 455 }
462 } 456 }
463 styleResolver->finishAppendAuthorStyleSheets(); 457 styleResolver->finishAppendAuthorStyleSheets();
464 styleResolver->setBuildScopedStyleTreeInDocumentOrder(false); 458 styleResolver->setBuildScopedStyleTreeInDocumentOrder(false);
465 } 459 }
466 460
467 } 461 }
OLDNEW
« Source/core/dom/Document.cpp ('K') | « Source/core/dom/ShadowTreeStyleSheetCollection.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698