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

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

Issue 2096653004: Avoid stack allocating StyleSheetCollections. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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
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 r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 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) 2010 Nokia Corporation and/or its subsidiary(-ies) 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
9 * Copyright (C) 2011 Google Inc. All rights reserved. 9 * Copyright (C) 2011 Google Inc. All rights reserved.
10 * 10 *
(...skipping 26 matching lines...) Expand all
37 37
38 class CSSStyleSheet; 38 class CSSStyleSheet;
39 class StyleSheet; 39 class StyleSheet;
40 40
41 class CORE_EXPORT StyleSheetCollection : public GarbageCollected<StyleSheetColle ction> { 41 class CORE_EXPORT StyleSheetCollection : public GarbageCollected<StyleSheetColle ction> {
42 WTF_MAKE_NONCOPYABLE(StyleSheetCollection); 42 WTF_MAKE_NONCOPYABLE(StyleSheetCollection);
43 public: 43 public:
44 friend class ActiveDocumentStyleSheetCollector; 44 friend class ActiveDocumentStyleSheetCollector;
45 friend class ImportedDocumentStyleSheetCollector; 45 friend class ImportedDocumentStyleSheetCollector;
46 46
47 StyleSheetCollection(); 47 static StyleSheetCollection* create()
48 {
49 return new StyleSheetCollection;
50 }
48 51
49 const HeapVector<Member<CSSStyleSheet>>& activeAuthorStyleSheets() const { r eturn m_activeAuthorStyleSheets; } 52 const HeapVector<Member<CSSStyleSheet>>& activeAuthorStyleSheets() const { r eturn m_activeAuthorStyleSheets; }
50 const HeapVector<Member<StyleSheet>>& styleSheetsForStyleSheetList() const { return m_styleSheetsForStyleSheetList; } 53 const HeapVector<Member<StyleSheet>>& styleSheetsForStyleSheetList() const { return m_styleSheetsForStyleSheetList; }
51 54
52 void swap(StyleSheetCollection&); 55 void swap(StyleSheetCollection&);
53 void swapSheetsForSheetList(HeapVector<Member<StyleSheet>>&); 56 void swapSheetsForSheetList(HeapVector<Member<StyleSheet>>&);
54 void appendActiveStyleSheet(CSSStyleSheet*); 57 void appendActiveStyleSheet(CSSStyleSheet*);
55 void appendSheetForList(StyleSheet*); 58 void appendSheetForList(StyleSheet*);
56 59
57 DECLARE_VIRTUAL_TRACE(); 60 DECLARE_VIRTUAL_TRACE();
58 61
62 void dispose();
63
59 protected: 64 protected:
65 StyleSheetCollection();
66
60 HeapVector<Member<StyleSheet>> m_styleSheetsForStyleSheetList; 67 HeapVector<Member<StyleSheet>> m_styleSheetsForStyleSheetList;
61 HeapVector<Member<CSSStyleSheet>> m_activeAuthorStyleSheets; 68 HeapVector<Member<CSSStyleSheet>> m_activeAuthorStyleSheets;
62 }; 69 };
63 70
64 } // namespace blink 71 } // namespace blink
65 72
66 #endif // StyleSheetCollection_h 73 #endif // StyleSheetCollection_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698