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

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

Issue 290563007: Defer style recalc when inserting extension stylesheets. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Avoid Android crash Created 6 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 | 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 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 m_injectedStyleSheetCacheValid = false; 224 m_injectedStyleSheetCacheValid = false;
225 markDocumentDirty(); 225 markDocumentDirty();
226 // FIXME: updateInjectedStyleSheetCache is called inside StyleSheetCollectio n::updateActiveStyleSheets 226 // FIXME: updateInjectedStyleSheetCache is called inside StyleSheetCollectio n::updateActiveStyleSheets
227 // and batch updates lots of sheets so we can't call addedStyleSheet() or re movedStyleSheet(). 227 // and batch updates lots of sheets so we can't call addedStyleSheet() or re movedStyleSheet().
228 document().styleResolverChanged(RecalcStyleDeferred); 228 document().styleResolverChanged(RecalcStyleDeferred);
229 } 229 }
230 230
231 void StyleEngine::addAuthorSheet(PassRefPtrWillBeRawPtr<StyleSheetContents> auth orSheet) 231 void StyleEngine::addAuthorSheet(PassRefPtrWillBeRawPtr<StyleSheetContents> auth orSheet)
232 { 232 {
233 m_authorStyleSheets.append(CSSStyleSheet::create(authorSheet, m_document)); 233 m_authorStyleSheets.append(CSSStyleSheet::create(authorSheet, m_document));
234 document().addedStyleSheet(m_authorStyleSheets.last().get(), RecalcStyleImme diately); 234 document().addedStyleSheet(m_authorStyleSheets.last().get(), RecalcStyleDefe rred);
235 markDocumentDirty(); 235 markDocumentDirty();
236 } 236 }
237 237
238 void StyleEngine::addPendingSheet() 238 void StyleEngine::addPendingSheet()
239 { 239 {
240 m_pendingStylesheets++; 240 m_pendingStylesheets++;
241 } 241 }
242 242
243 // This method is called whenever a top-level stylesheet has finished loading. 243 // This method is called whenever a top-level stylesheet has finished loading.
244 void StyleEngine::removePendingSheet(Node* styleSheetCandidateNode, RemovePendin gSheetNotificationType notification) 244 void StyleEngine::removePendingSheet(Node* styleSheetCandidateNode, RemovePendin gSheetNotificationType notification)
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 visitor->trace(m_authorStyleSheets); 636 visitor->trace(m_authorStyleSheets);
637 visitor->trace(m_documentStyleSheetCollection); 637 visitor->trace(m_documentStyleSheetCollection);
638 visitor->trace(m_styleSheetCollectionMap); 638 visitor->trace(m_styleSheetCollectionMap);
639 visitor->trace(m_resolver); 639 visitor->trace(m_resolver);
640 visitor->trace(m_fontSelector); 640 visitor->trace(m_fontSelector);
641 visitor->trace(m_textToSheetCache); 641 visitor->trace(m_textToSheetCache);
642 visitor->trace(m_sheetToTextCache); 642 visitor->trace(m_sheetToTextCache);
643 } 643 }
644 644
645 } 645 }
OLDNEW
« no previous file with comments | « no previous file | Source/web/tests/WebDocumentTest.cpp » ('j') | Source/web/tests/WebDocumentTest.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698