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

Side by Side Diff: third_party/WebKit/Source/core/dom/StyleSheetCollection.cpp

Issue 2572473006: Revert of Collect active stylesheets and and apply asynchronously. (Closed)
Patch Set: Created 4 years 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
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, 2010, 2012 Apple Inc. All 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All
7 * rights reserved. 7 * rights reserved.
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved.
9 * (http://www.torchmobile.com/) 9 * (http://www.torchmobile.com/)
10 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 10 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
(...skipping 11 matching lines...) Expand all
22 * 22 *
23 * You should have received a copy of the GNU Library General Public License 23 * You should have received a copy of the GNU Library General Public License
24 * along with this library; see the file COPYING.LIB. If not, write to 24 * along with this library; see the file COPYING.LIB. If not, write to
25 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 25 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
26 * Boston, MA 02110-1301, USA. 26 * Boston, MA 02110-1301, USA.
27 */ 27 */
28 28
29 #include "core/dom/StyleSheetCollection.h" 29 #include "core/dom/StyleSheetCollection.h"
30 30
31 #include "core/css/CSSStyleSheet.h" 31 #include "core/css/CSSStyleSheet.h"
32 #include "core/css/RuleSet.h"
33 32
34 namespace blink { 33 namespace blink {
35 34
36 StyleSheetCollection::StyleSheetCollection() {} 35 StyleSheetCollection::StyleSheetCollection() {}
37 36
38 void StyleSheetCollection::dispose() { 37 void StyleSheetCollection::dispose() {
39 m_styleSheetsForStyleSheetList.clear(); 38 m_styleSheetsForStyleSheetList.clear();
40 m_activeAuthorStyleSheets.clear(); 39 m_activeAuthorStyleSheets.clear();
41 } 40 }
42 41
43 void StyleSheetCollection::swap(StyleSheetCollection& other) { 42 void StyleSheetCollection::swap(StyleSheetCollection& other) {
44 ::blink::swap(m_styleSheetsForStyleSheetList, 43 ::blink::swap(m_styleSheetsForStyleSheetList,
45 other.m_styleSheetsForStyleSheetList, this, &other); 44 other.m_styleSheetsForStyleSheetList, this, &other);
46 m_activeAuthorStyleSheets.swap(other.m_activeAuthorStyleSheets); 45 m_activeAuthorStyleSheets.swap(other.m_activeAuthorStyleSheets);
47 } 46 }
48 47
49 void StyleSheetCollection::swapSheetsForSheetList( 48 void StyleSheetCollection::swapSheetsForSheetList(
50 HeapVector<Member<StyleSheet>>& sheets) { 49 HeapVector<Member<StyleSheet>>& sheets) {
51 // Only called for collection of HTML Imports that never has active sheets. 50 // Only called for collection of HTML Imports that never has active sheets.
52 DCHECK(m_activeAuthorStyleSheets.isEmpty()); 51 DCHECK(m_activeAuthorStyleSheets.isEmpty());
53 ::blink::swap(m_styleSheetsForStyleSheetList, sheets, this); 52 ::blink::swap(m_styleSheetsForStyleSheetList, sheets, this);
54 } 53 }
55 54
56 void StyleSheetCollection::appendActiveStyleSheet( 55 void StyleSheetCollection::appendActiveStyleSheet(CSSStyleSheet* sheet) {
57 const ActiveStyleSheet& activeSheet) { 56 m_activeAuthorStyleSheets.append(sheet);
58 m_activeAuthorStyleSheets.append(activeSheet); 57 }
58
59 void StyleSheetCollection::appendActiveStyleSheets(
60 const HeapVector<Member<CSSStyleSheet>>& sheets) {
61 m_activeAuthorStyleSheets.appendVector(sheets);
62 }
63
64 void StyleSheetCollection::appendActiveStyleSheets(
65 const HeapVector<TraceWrapperMember<CSSStyleSheet>>& sheets) {
66 for (CSSStyleSheet* sheet : sheets) {
67 m_activeAuthorStyleSheets.append(sheet);
68 }
59 } 69 }
60 70
61 void StyleSheetCollection::appendSheetForList(StyleSheet* sheet) { 71 void StyleSheetCollection::appendSheetForList(StyleSheet* sheet) {
62 m_styleSheetsForStyleSheetList.append( 72 m_styleSheetsForStyleSheetList.append(
63 TraceWrapperMember<StyleSheet>(this, sheet)); 73 TraceWrapperMember<StyleSheet>(this, sheet));
64 } 74 }
65 75
66 DEFINE_TRACE(StyleSheetCollection) { 76 DEFINE_TRACE(StyleSheetCollection) {
67 visitor->trace(m_activeAuthorStyleSheets); 77 visitor->trace(m_activeAuthorStyleSheets);
68 visitor->trace(m_styleSheetsForStyleSheetList); 78 visitor->trace(m_styleSheetsForStyleSheetList);
69 } 79 }
70 80
71 DEFINE_TRACE_WRAPPERS(StyleSheetCollection) { 81 DEFINE_TRACE_WRAPPERS(StyleSheetCollection) {
72 for (auto sheet : m_styleSheetsForStyleSheetList) { 82 for (auto sheet : m_styleSheetsForStyleSheetList) {
73 visitor->traceWrappers(sheet); 83 visitor->traceWrappers(sheet);
74 } 84 }
75 } 85 }
76 86
77 } // namespace blink 87 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698