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

Side by Side Diff: Source/core/html/HTMLLinkElement.cpp

Issue 260713005: Use deferred style recalc for non-blocking stylesheets. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 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
« no previous file with comments | « LayoutTests/fast/css/link-alternate-style-recalc-expected.txt ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 * Copyright (C) 2003, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed. 5 * Copyright (C) 2003, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
6 * Copyright (C) 2009 Rob Buis (rwlbuis@gmail.com) 6 * Copyright (C) 2009 Rob Buis (rwlbuis@gmail.com)
7 * Copyright (C) 2011 Google Inc. All rights reserved. 7 * Copyright (C) 2011 Google Inc. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 m_pendingSheetType = None; 549 m_pendingSheetType = None;
550 550
551 if (type == None) 551 if (type == None)
552 return; 552 return;
553 if (type == NonBlocking) { 553 if (type == NonBlocking) {
554 // Tell StyleEngine to re-compute styleSheets of this m_owner's treescop e. 554 // Tell StyleEngine to re-compute styleSheets of this m_owner's treescop e.
555 m_owner->document().styleEngine()->modifiedStyleSheetCandidateNode(m_own er); 555 m_owner->document().styleEngine()->modifiedStyleSheetCandidateNode(m_own er);
556 // Document::removePendingSheet() triggers the style selector recalc for blocking sheets. 556 // Document::removePendingSheet() triggers the style selector recalc for blocking sheets.
557 // FIXME: We don't have enough knowledge at this point to know if we're adding or removing a sheet 557 // FIXME: We don't have enough knowledge at this point to know if we're adding or removing a sheet
558 // so we can't call addedStyleSheet() or removedStyleSheet(). 558 // so we can't call addedStyleSheet() or removedStyleSheet().
559 m_owner->document().styleResolverChanged(RecalcStyleImmediately); 559 m_owner->document().styleResolverChanged(RecalcStyleDeferred);
560 return; 560 return;
561 } 561 }
562 562
563 m_owner->document().styleEngine()->removePendingSheet(m_owner, 563 m_owner->document().styleEngine()->removePendingSheet(m_owner,
564 notification == RemovePendingSheetNotifyImmediately 564 notification == RemovePendingSheetNotifyImmediately
565 ? StyleEngine::RemovePendingSheetNotifyImmediately 565 ? StyleEngine::RemovePendingSheetNotifyImmediately
566 : StyleEngine::RemovePendingSheetNotifyLater); 566 : StyleEngine::RemovePendingSheetNotifyLater);
567 } 567 }
568 568
569 void LinkStyle::setDisabledState(bool disabled) 569 void LinkStyle::setDisabledState(bool disabled)
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
686 void LinkStyle::ownerRemoved() 686 void LinkStyle::ownerRemoved()
687 { 687 {
688 if (m_sheet) 688 if (m_sheet)
689 clearSheet(); 689 clearSheet();
690 690
691 if (styleSheetIsLoading()) 691 if (styleSheetIsLoading())
692 removePendingSheet(RemovePendingSheetNotifyLater); 692 removePendingSheet(RemovePendingSheetNotifyLater);
693 } 693 }
694 694
695 } // namespace WebCore 695 } // namespace WebCore
OLDNEW
« no previous file with comments | « LayoutTests/fast/css/link-alternate-style-recalc-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698