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

Side by Side Diff: Source/core/css/MediaQuery.h

Issue 170283019: Change various helper classes to transition types to get CSSValue entirely onto the gc heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed incorrect persistent found by the clang oilpan plugin Created 6 years, 9 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 * CSS Media Query 2 * CSS Media Query
3 * 3 *
4 * Copyright (C) 2006 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>. 4 * Copyright (C) 2006 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>.
5 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 5 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
9 * are met: 9 * are met:
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 11 matching lines...) Expand all
22 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 22 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 23 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
24 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */ 27 */
28 28
29 #ifndef MediaQuery_h 29 #ifndef MediaQuery_h
30 #define MediaQuery_h 30 #define MediaQuery_h
31 31
32 #include "heap/Handle.h"
32 #include "wtf/PassOwnPtr.h" 33 #include "wtf/PassOwnPtr.h"
33 #include "wtf/Vector.h" 34 #include "wtf/Vector.h"
34 #include "wtf/text/StringHash.h" 35 #include "wtf/text/StringHash.h"
35 #include "wtf/text/WTFString.h" 36 #include "wtf/text/WTFString.h"
36 37
37 namespace WebCore { 38 namespace WebCore {
38 class MediaQueryExp; 39 class MediaQueryExp;
39 40
40 typedef Vector<OwnPtr<MediaQueryExp> > ExpressionVector; 41 typedef WillBeHeapVector<OwnPtrWillBeMember<MediaQueryExp> > ExpressionVector;
haraken 2014/03/03 10:51:30 Probably you might want to use "ExpressionHeapVect
wibling-chromium 2014/03/03 11:21:11 Done.
41 42
42 class MediaQuery { 43 class MediaQuery : public NoBaseWillBeGarbageCollectedFinalized<MediaQuery> {
43 WTF_MAKE_FAST_ALLOCATED; 44 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
44 public: 45 public:
45 enum Restrictor { 46 enum Restrictor {
46 Only, Not, None 47 Only, Not, None
47 }; 48 };
48 49
49 MediaQuery(Restrictor, const AtomicString& mediaType, PassOwnPtr<ExpressionV ector> exprs); 50 MediaQuery(Restrictor, const AtomicString& mediaType, PassOwnPtrWillBeRawPtr <ExpressionVector> exprs);
50 ~MediaQuery(); 51 ~MediaQuery();
51 52
52 Restrictor restrictor() const { return m_restrictor; } 53 Restrictor restrictor() const { return m_restrictor; }
53 const ExpressionVector& expressions() const { return *m_expressions; } 54 const ExpressionVector& expressions() const { return *m_expressions; }
54 const AtomicString& mediaType() const { return m_mediaType; } 55 const AtomicString& mediaType() const { return m_mediaType; }
55 bool operator==(const MediaQuery& other) const; 56 bool operator==(const MediaQuery& other) const;
56 String cssText() const; 57 String cssText() const;
57 58
58 PassOwnPtr<MediaQuery> copy() const { return adoptPtr(new MediaQuery(*this)) ; } 59 PassOwnPtrWillBeRawPtr<MediaQuery> copy() const { return adoptPtrWillBeNoop( new MediaQuery(*this)); }
60
61 void trace(Visitor*);
59 62
60 private: 63 private:
61 MediaQuery(const MediaQuery&); 64 MediaQuery(const MediaQuery&);
62 65
63 Restrictor m_restrictor; 66 Restrictor m_restrictor;
64 AtomicString m_mediaType; 67 AtomicString m_mediaType;
65 OwnPtr<ExpressionVector> m_expressions; 68 OwnPtrWillBeMember<ExpressionVector> m_expressions;
66 String m_serializationCache; 69 String m_serializationCache;
67 70
68 String serialize() const; 71 String serialize() const;
69 }; 72 };
70 73
71 } // namespace 74 } // namespace
72 75
73 #endif 76 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698