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

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: Rebased 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 333 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 ASSERT(collection); 344 ASSERT(collection);
345 collection->updateActiveStyleSheets(this, updateMode); 345 collection->updateActiveStyleSheets(this, updateMode);
346 if (!collection->hasStyleSheetCandidateNodes()) 346 if (!collection->hasStyleSheetCandidateNodes())
347 treeScopesRemoved.add(treeScope); 347 treeScopesRemoved.add(treeScope);
348 } 348 }
349 if (!treeScopesRemoved.isEmpty()) 349 if (!treeScopesRemoved.isEmpty())
350 for (HashSet<TreeScope*>::iterator it = treeScopesRemoved.begin(); i t != treeScopesRemoved.end(); ++it) 350 for (HashSet<TreeScope*>::iterator it = treeScopesRemoved.begin(); i t != treeScopesRemoved.end(); ++it)
351 m_activeTreeScopes.remove(*it); 351 m_activeTreeScopes.remove(*it);
352 m_dirtyTreeScopes.clear(); 352 m_dirtyTreeScopes.clear();
353 } 353 }
354
355 if (StyleResolver* styleResolver = m_document.styleResolverIfExists()) {
356 styleResolver->finishAppendAuthorStyleSheets();
357 resetCSSFeatureFlags(styleResolver->ruleFeatureSet());
358 }
359
360 m_needsUpdateActiveStylesheetsOnStyleRecalc = false; 354 m_needsUpdateActiveStylesheetsOnStyleRecalc = false;
361 activeStyleSheetsUpdatedForInspector(); 355 activeStyleSheetsUpdatedForInspector();
362 m_usesRemUnits = m_documentStyleSheetCollection.usesRemUnits(); 356 m_usesRemUnits = m_documentStyleSheetCollection.usesRemUnits();
363 357
364 if (m_needsDocumentStyleSheetsUpdate || updateMode == FullStyleUpdate) { 358 if (m_needsDocumentStyleSheetsUpdate || updateMode == FullStyleUpdate) {
365 m_document.notifySeamlessChildDocumentsOfStylesheetUpdate(); 359 m_document.notifySeamlessChildDocumentsOfStylesheetUpdate();
366 m_needsDocumentStyleSheetsUpdate = false; 360 m_needsDocumentStyleSheetsUpdate = false;
367 } 361 }
368 362
369 return requiresFullStyleRecalc; 363 return requiresFullStyleRecalc;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 if (StyleSheetCollection* collection = m_styleSheetCollectionMap.get(*it )) { 404 if (StyleSheetCollection* collection = m_styleSheetCollectionMap.get(*it )) {
411 styleResolver->setBuildScopedStyleTreeInDocumentOrder(!collection->s copingNodesForStyleScoped()); 405 styleResolver->setBuildScopedStyleTreeInDocumentOrder(!collection->s copingNodesForStyleScoped());
412 styleResolver->appendAuthorStyleSheets(0, collection->activeAuthorSt yleSheets()); 406 styleResolver->appendAuthorStyleSheets(0, collection->activeAuthorSt yleSheets());
413 } 407 }
414 } 408 }
415 styleResolver->finishAppendAuthorStyleSheets(); 409 styleResolver->finishAppendAuthorStyleSheets();
416 styleResolver->setBuildScopedStyleTreeInDocumentOrder(false); 410 styleResolver->setBuildScopedStyleTreeInDocumentOrder(false);
417 } 411 }
418 412
419 } 413 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698