OLD | NEW |
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/MediaQueryParser.h" | 6 #include "core/css/parser/MediaQueryParser.h" |
7 | 7 |
8 #include "MediaTypeNames.h" | 8 #include "MediaTypeNames.h" |
9 #include "core/css/parser/CSSPropertyParser.h" | 9 #include "core/css/parser/CSSPropertyParser.h" |
10 #include "core/css/parser/MediaQueryTokenizer.h" | 10 #include "core/css/parser/MediaQueryTokenizer.h" |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 , m_mediaTypeSet(false) | 207 , m_mediaTypeSet(false) |
208 { | 208 { |
209 } | 209 } |
210 | 210 |
211 void MediaQueryData::clear() | 211 void MediaQueryData::clear() |
212 { | 212 { |
213 m_restrictor = MediaQuery::None; | 213 m_restrictor = MediaQuery::None; |
214 m_mediaType = MediaTypeNames::all; | 214 m_mediaType = MediaTypeNames::all; |
215 m_mediaTypeSet = false; | 215 m_mediaTypeSet = false; |
216 m_mediaFeature = String(); | 216 m_mediaFeature = String(); |
217 m_valueList.clear(); | 217 m_valueList.destroyAndClear(); |
218 m_expressions = adoptPtrWillBeNoop(new ExpressionHeapVector); | 218 m_expressions = adoptPtrWillBeNoop(new ExpressionHeapVector); |
219 } | 219 } |
220 | 220 |
221 PassOwnPtrWillBeRawPtr<MediaQuery> MediaQueryData::takeMediaQuery() | 221 PassOwnPtrWillBeRawPtr<MediaQuery> MediaQueryData::takeMediaQuery() |
222 { | 222 { |
223 OwnPtrWillBeRawPtr<MediaQuery> mediaQuery = adoptPtrWillBeNoop(new MediaQuer
y(m_restrictor, m_mediaType, m_expressions.release())); | 223 OwnPtrWillBeRawPtr<MediaQuery> mediaQuery = adoptPtrWillBeNoop(new MediaQuer
y(m_restrictor, m_mediaType, m_expressions.release())); |
224 clear(); | 224 clear(); |
225 return mediaQuery.release(); | 225 return mediaQuery.release(); |
226 } | 226 } |
227 | 227 |
228 bool MediaQueryData::addExpression() | 228 bool MediaQueryData::addExpression() |
229 { | 229 { |
230 OwnPtrWillBeRawPtr<MediaQueryExp> expression = MediaQueryExp::createIfValid(
m_mediaFeature, &m_valueList); | 230 OwnPtrWillBeRawPtr<MediaQueryExp> expression = MediaQueryExp::createIfValid(
m_mediaFeature, &m_valueList); |
231 bool isValid = !!expression; | 231 bool isValid = !!expression; |
232 m_expressions->append(expression.release()); | 232 m_expressions->append(expression.release()); |
233 m_valueList.clear(); | 233 m_valueList.destroyAndClear(); |
234 return isValid; | 234 return isValid; |
235 } | 235 } |
236 | 236 |
237 void MediaQueryData::addParserValue(MediaQueryTokenType type, const MediaQueryTo
ken& token) | 237 void MediaQueryData::addParserValue(MediaQueryTokenType type, const MediaQueryTo
ken& token) |
238 { | 238 { |
239 CSSParserValue value; | 239 CSSParserValue value; |
240 if (type == NumberToken || type == PercentageToken || type == DimensionToken
) { | 240 if (type == NumberToken || type == PercentageToken || type == DimensionToken
) { |
241 value.setFromNumber(token.numericValue(), token.unitType()); | 241 value.setFromNumber(token.numericValue(), token.unitType()); |
242 value.isInt = (token.numericValueType() == IntegerValueType); | 242 value.isInt = (token.numericValueType() == IntegerValueType); |
243 } else if (type == DelimiterToken) { | 243 } else if (type == DelimiterToken) { |
(...skipping 10 matching lines...) Expand all Loading... |
254 m_valueList.addValue(value); | 254 m_valueList.addValue(value); |
255 } | 255 } |
256 | 256 |
257 void MediaQueryData::setMediaType(const String& mediaType) | 257 void MediaQueryData::setMediaType(const String& mediaType) |
258 { | 258 { |
259 m_mediaType = mediaType; | 259 m_mediaType = mediaType; |
260 m_mediaTypeSet = true; | 260 m_mediaTypeSet = true; |
261 } | 261 } |
262 | 262 |
263 } // namespace WebCore | 263 } // namespace WebCore |
OLD | NEW |