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

Side by Side Diff: third_party/WebKit/Source/core/css/CSSCustomIdentValue.h

Issue 1373433002: Split out CSSPrimitiveValue's PropertyID into CSSCustomIdentValue (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@split_string
Patch Set: Rebase Created 5 years, 2 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CSSCustomIdentValue_h 5 #ifndef CSSCustomIdentValue_h
6 #define CSSCustomIdentValue_h 6 #define CSSCustomIdentValue_h
7 7
8 #include "core/CSSPropertyNames.h"
8 #include "core/CoreExport.h" 9 #include "core/CoreExport.h"
9 #include "core/css/CSSValue.h" 10 #include "core/css/CSSValue.h"
10 #include "wtf/PassRefPtr.h" 11 #include "wtf/PassRefPtr.h"
11 #include "wtf/RefCounted.h" 12 #include "wtf/RefCounted.h"
12 13
13 namespace blink { 14 namespace blink {
14 15
15 class CSSCustomIdentValue : public CSSValue { 16 class CSSCustomIdentValue : public CSSValue {
16 public: 17 public:
17 static PassRefPtrWillBeRawPtr<CSSCustomIdentValue> create(const String& str) 18 static PassRefPtrWillBeRawPtr<CSSCustomIdentValue> create(const String& str)
18 { 19 {
19 return adoptRefWillBeNoop(new CSSCustomIdentValue(str)); 20 return adoptRefWillBeNoop(new CSSCustomIdentValue(str));
20 } 21 }
21 22
22 String value() const { return m_string; } 23 // TODO(sashab, timloh): Remove this and move all parsing logic into the
24 // create(String) method.
alancutter (OOO until 2018) 2015/10/07 02:05:10 We won't want to convert to CSSPropertyIDs in ever
sashab 2015/10/07 02:21:02 Ahh yes, you're right. Thanks; done.
25 static PassRefPtrWillBeRawPtr<CSSCustomIdentValue> create(CSSPropertyID id)
26 {
27 return adoptRefWillBeNoop(new CSSCustomIdentValue(id));
28 }
29
30 String value() const { ASSERT(!isKnownPropertyID()); return m_string; }
31 bool isKnownPropertyID() const { return m_propertyId != CSSPropertyInvalid; }
32 CSSPropertyID valueAsPropertyID() const { ASSERT(isKnownPropertyID()); retur n m_propertyId; }
23 33
24 String customCSSText() const; 34 String customCSSText() const;
25 35
26 bool equals(const CSSCustomIdentValue& other) const 36 bool equals(const CSSCustomIdentValue& other) const
27 { 37 {
28 return m_string == other.m_string; 38 return isKnownPropertyID() ? m_propertyId == other.m_propertyId : m_stri ng == other.m_string;
29 } 39 }
30 40
31 DECLARE_TRACE_AFTER_DISPATCH(); 41 DECLARE_TRACE_AFTER_DISPATCH();
32 42
33 private: 43 private:
34 CSSCustomIdentValue(const String&); 44 CSSCustomIdentValue(const String&);
45 CSSCustomIdentValue(CSSPropertyID);
35 46
47 // TODO(sashab): Change this to an AtomicString.
36 String m_string; 48 String m_string;
49 CSSPropertyID m_propertyId;
37 }; 50 };
38 51
39 DEFINE_CSS_VALUE_TYPE_CASTS(CSSCustomIdentValue, isCustomIdentValue()); 52 DEFINE_CSS_VALUE_TYPE_CASTS(CSSCustomIdentValue, isCustomIdentValue());
40 53
41 } // namespace blink 54 } // namespace blink
42 55
43 #endif // CSSCustomIdentValue_h 56 #endif // CSSCustomIdentValue_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/CSSCalculationValue.cpp ('k') | third_party/WebKit/Source/core/css/CSSCustomIdentValue.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698