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

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

Issue 225293006: Moved MQ parsing block tracking to tokenizer (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fixed review comments Created 6 years, 8 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 2014 The Chromium Authors. All rights reserved. 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 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 #include "config.h" 5 #include "config.h"
6 #include "core/css/parser/MediaQueryToken.h" 6 #include "core/css/parser/MediaQueryToken.h"
7 7
8 #include "wtf/HashMap.h" 8 #include "wtf/HashMap.h"
9 #include "wtf/text/StringHash.h" 9 #include "wtf/text/StringHash.h"
10 #include <limits.h> 10 #include <limits.h>
11 11
12 namespace WebCore { 12 namespace WebCore {
13 13
14 14
15 MediaQueryToken::MediaQueryToken(MediaQueryTokenType type) 15 MediaQueryToken::MediaQueryToken(MediaQueryTokenType type)
16 : m_type(type) 16 : m_type(type)
17 , m_delimiter(0) 17 , m_delimiter(0)
18 , m_numericValue(0) 18 , m_numericValue(0)
19 , m_unit(CSSPrimitiveValue::CSS_UNKNOWN) 19 , m_unit(CSSPrimitiveValue::CSS_UNKNOWN)
20 , m_blockType(NotBlock)
21 , m_blockLevel(0)
20 { 22 {
21 } 23 }
22 24
25 MediaQueryToken::MediaQueryToken(MediaQueryTokenType type, BlockType blockType)
26 : m_type(type)
27 , m_delimiter(0)
28 , m_numericValue(0)
29 , m_unit(CSSPrimitiveValue::CSS_UNKNOWN)
30 , m_blockType(blockType)
31 , m_blockLevel(0)
32 {
33 }
34
23 // Just a helper used for Delimiter tokens. 35 // Just a helper used for Delimiter tokens.
24 MediaQueryToken::MediaQueryToken(MediaQueryTokenType type, UChar c) 36 MediaQueryToken::MediaQueryToken(MediaQueryTokenType type, UChar c)
25 : m_type(type) 37 : m_type(type)
26 , m_delimiter(c) 38 , m_delimiter(c)
27 , m_numericValue(0) 39 , m_numericValue(0)
28 , m_unit(CSSPrimitiveValue::CSS_UNKNOWN) 40 , m_unit(CSSPrimitiveValue::CSS_UNKNOWN)
41 , m_blockType(NotBlock)
42 , m_blockLevel(0)
29 { 43 {
30 ASSERT(m_type == DelimiterToken); 44 ASSERT(m_type == DelimiterToken);
31 } 45 }
32 46
33 MediaQueryToken::MediaQueryToken(MediaQueryTokenType type, String value) 47 MediaQueryToken::MediaQueryToken(MediaQueryTokenType type, String value)
34 : m_type(type) 48 : m_type(type)
35 , m_value(value) 49 , m_value(value)
36 , m_delimiter(0) 50 , m_delimiter(0)
37 , m_numericValue(0) 51 , m_numericValue(0)
38 , m_unit(CSSPrimitiveValue::CSS_UNKNOWN) 52 , m_unit(CSSPrimitiveValue::CSS_UNKNOWN)
53 , m_blockType(NotBlock)
54 , m_blockLevel(0)
39 { 55 {
40 } 56 }
41 57
58 MediaQueryToken::MediaQueryToken(MediaQueryTokenType type, String value, BlockTy pe blockType)
eseidel 2014/04/08 22:58:51 It's really error-prone to have this many conctruc
59 : m_type(type)
60 , m_value(value)
61 , m_delimiter(0)
62 , m_numericValue(0)
63 , m_unit(CSSPrimitiveValue::CSS_UNKNOWN)
64 , m_blockType(blockType)
65 , m_blockLevel(0)
66 {
67 }
68
69
42 MediaQueryToken::MediaQueryToken(MediaQueryTokenType type, double numericValue, NumericValueType numericValueType) 70 MediaQueryToken::MediaQueryToken(MediaQueryTokenType type, double numericValue, NumericValueType numericValueType)
43 : m_type(type) 71 : m_type(type)
44 , m_delimiter(0) 72 , m_delimiter(0)
45 , m_numericValueType(numericValueType) 73 , m_numericValueType(numericValueType)
46 , m_numericValue(numericValue) 74 , m_numericValue(numericValue)
47 , m_unit(CSSPrimitiveValue::CSS_NUMBER) 75 , m_unit(CSSPrimitiveValue::CSS_NUMBER)
76 , m_blockType(NotBlock)
77 , m_blockLevel(0)
48 { 78 {
49 ASSERT(type == NumberToken); 79 ASSERT(type == NumberToken);
50 } 80 }
51 81
52 void MediaQueryToken::convertToDimensionWithUnit(String unit) 82 void MediaQueryToken::convertToDimensionWithUnit(String unit)
53 { 83 {
54 ASSERT(m_type == NumberToken); 84 ASSERT(m_type == NumberToken);
55 m_type = DimensionToken; 85 m_type = DimensionToken;
56 m_unit = CSSPrimitiveValue::fromName(unit); 86 m_unit = CSSPrimitiveValue::fromName(unit);
57 } 87 }
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 sprintf(buffer, "%d%s", static_cast<int>(m_numericValue), unitBuffer ); 126 sprintf(buffer, "%d%s", static_cast<int>(m_numericValue), unitBuffer );
97 else 127 else
98 sprintf(buffer, "%f%s", m_numericValue, unitBuffer); 128 sprintf(buffer, "%f%s", m_numericValue, unitBuffer);
99 129
100 return String(buffer, strlen(buffer)); 130 return String(buffer, strlen(buffer));
101 } 131 }
102 return String(); 132 return String();
103 } 133 }
104 134
105 } // namespace WebCore 135 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698