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

Side by Side Diff: Source/core/css/parser/MediaQueryToken.h

Issue 171383002: A thread-safe Media Query Parser (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Moar rebase 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
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef MediaQueryToken_h
6 #define MediaQueryToken_h
7
8 #include "core/css/CSSPrimitiveValue.h"
9 #include "wtf/text/WTFString.h"
10
11 namespace WebCore {
12
13 enum MediaQueryTokenType {
14 IdentToken = 0,
15 FunctionToken = 1,
16 DelimiterToken = 2,
17 NumberToken = 3,
18 PercentageToken = 4,
19 DimensionToken = 5,
20 WhitespaceToken = 6,
21 ColonToken = 7,
22 SemicolonToken = 8,
23 CommaToken = 9,
24 LeftParenthesisToken = 10,
25 RightParenthesisToken = 11,
26 EOFToken = 12,
27 };
28
29 enum NumericValueType {
30 IntegerValueType,
31 NumberValueType,
32 };
33
34 class MediaQueryToken {
35 public:
36 MediaQueryToken(MediaQueryTokenType);
37 MediaQueryToken(MediaQueryTokenType, String);
38
39 MediaQueryToken(MediaQueryTokenType, UChar); // for DelimiterToken
40 MediaQueryToken(MediaQueryTokenType, double, NumericValueType); // for Numbe rToken
41
42 // Converts NumberToken to DimensionToken.
43 void convertToDimensionWithUnit(String);
44
45 // Converts NumberToken to PercentageToken.
46 void convertToPercentage();
47
48 MediaQueryTokenType type() const { return m_type; }
49 String value() const { return m_value; }
50
51 UChar delimiter() const { return m_delimiter; }
52 NumericValueType numericValueType() const { return m_numericValueType; }
53 double numericValue() const { return m_numericValue; }
54 CSSPrimitiveValue::UnitTypes unitType() const { return m_unit; }
55
56 private:
57 MediaQueryTokenType m_type;
58 String m_value;
59
60 UChar m_delimiter; // Could be rolled into m_value?
61
62 NumericValueType m_numericValueType;
63 double m_numericValue;
64 CSSPrimitiveValue::UnitTypes m_unit;
65 };
66
67 }
68
69 #endif // MediaQueryToken_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698