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

Side by Side Diff: third_party/WebKit/Source/core/css/parser/MediaQueryParser.cpp

Issue 1858753003: Remove RawPtr from core/css (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 "core/css/parser/MediaQueryParser.h" 5 #include "core/css/parser/MediaQueryParser.h"
6 6
7 #include "core/MediaTypeNames.h" 7 #include "core/MediaTypeNames.h"
8 #include "core/css/parser/CSSPropertyParser.h" 8 #include "core/css/parser/CSSPropertyParser.h"
9 #include "core/css/parser/CSSTokenizer.h" 9 #include "core/css/parser/CSSTokenizer.h"
10 #include "wtf/Vector.h" 10 #include "wtf/Vector.h"
11 11
12 namespace blink { 12 namespace blink {
13 13
14 RawPtr<MediaQuerySet> MediaQueryParser::parseMediaQuerySet(const String& querySt ring) 14 MediaQuerySet* MediaQueryParser::parseMediaQuerySet(const String& queryString)
15 { 15 {
16 return parseMediaQuerySet(CSSTokenizer::Scope(queryString).tokenRange()); 16 return parseMediaQuerySet(CSSTokenizer::Scope(queryString).tokenRange());
17 } 17 }
18 18
19 RawPtr<MediaQuerySet> MediaQueryParser::parseMediaQuerySet(CSSParserTokenRange r ange) 19 MediaQuerySet* MediaQueryParser::parseMediaQuerySet(CSSParserTokenRange range)
20 { 20 {
21 return MediaQueryParser(MediaQuerySetParser).parseImpl(range); 21 return MediaQueryParser(MediaQuerySetParser).parseImpl(range);
22 } 22 }
23 23
24 RawPtr<MediaQuerySet> MediaQueryParser::parseMediaCondition(CSSParserTokenRange range) 24 MediaQuerySet* MediaQueryParser::parseMediaCondition(CSSParserTokenRange range)
25 { 25 {
26 return MediaQueryParser(MediaConditionParser).parseImpl(range); 26 return MediaQueryParser(MediaConditionParser).parseImpl(range);
27 } 27 }
28 28
29 const MediaQueryParser::State MediaQueryParser::ReadRestrictor = &MediaQueryPars er::readRestrictor; 29 const MediaQueryParser::State MediaQueryParser::ReadRestrictor = &MediaQueryPars er::readRestrictor;
30 const MediaQueryParser::State MediaQueryParser::ReadMediaNot = &MediaQueryParser ::readMediaNot; 30 const MediaQueryParser::State MediaQueryParser::ReadMediaNot = &MediaQueryParser ::readMediaNot;
31 const MediaQueryParser::State MediaQueryParser::ReadMediaType = &MediaQueryParse r::readMediaType; 31 const MediaQueryParser::State MediaQueryParser::ReadMediaType = &MediaQueryParse r::readMediaType;
32 const MediaQueryParser::State MediaQueryParser::ReadAnd = &MediaQueryParser::rea dAnd; 32 const MediaQueryParser::State MediaQueryParser::ReadAnd = &MediaQueryParser::rea dAnd;
33 const MediaQueryParser::State MediaQueryParser::ReadFeatureStart = &MediaQueryPa rser::readFeatureStart; 33 const MediaQueryParser::State MediaQueryParser::ReadFeatureStart = &MediaQueryPa rser::readFeatureStart;
34 const MediaQueryParser::State MediaQueryParser::ReadFeature = &MediaQueryParser: :readFeature; 34 const MediaQueryParser::State MediaQueryParser::ReadFeature = &MediaQueryParser: :readFeature;
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 207
208 handleBlocks(token); 208 handleBlocks(token);
209 m_blockWatcher.handleToken(token); 209 m_blockWatcher.handleToken(token);
210 210
211 // Call the function that handles current state 211 // Call the function that handles current state
212 if (type != WhitespaceToken) 212 if (type != WhitespaceToken)
213 ((this)->*(m_state))(type, token); 213 ((this)->*(m_state))(type, token);
214 } 214 }
215 215
216 // The state machine loop 216 // The state machine loop
217 RawPtr<MediaQuerySet> MediaQueryParser::parseImpl(CSSParserTokenRange range) 217 MediaQuerySet* MediaQueryParser::parseImpl(CSSParserTokenRange range)
218 { 218 {
219 while (!range.atEnd()) 219 while (!range.atEnd())
220 processToken(range.consume()); 220 processToken(range.consume());
221 221
222 // FIXME: Can we get rid of this special case? 222 // FIXME: Can we get rid of this special case?
223 if (m_parserType == MediaQuerySetParser) 223 if (m_parserType == MediaQuerySetParser)
224 processToken(CSSParserToken(EOFToken)); 224 processToken(CSSParserToken(EOFToken));
225 225
226 if (m_state != ReadAnd && m_state != ReadRestrictor && m_state != Done && m_ state != ReadMediaNot) 226 if (m_state != ReadAnd && m_state != ReadRestrictor && m_state != Done && m_ state != ReadMediaNot)
227 m_querySet->addMediaQuery(MediaQuery::createNotAll()); 227 m_querySet->addMediaQuery(MediaQuery::createNotAll());
(...skipping 13 matching lines...) Expand all
241 void MediaQueryData::clear() 241 void MediaQueryData::clear()
242 { 242 {
243 m_restrictor = MediaQuery::None; 243 m_restrictor = MediaQuery::None;
244 m_mediaType = MediaTypeNames::all; 244 m_mediaType = MediaTypeNames::all;
245 m_mediaTypeSet = false; 245 m_mediaTypeSet = false;
246 m_mediaFeature = String(); 246 m_mediaFeature = String();
247 m_valueList.clear(); 247 m_valueList.clear();
248 m_expressions.clear(); 248 m_expressions.clear();
249 } 249 }
250 250
251 RawPtr<MediaQuery> MediaQueryData::takeMediaQuery() 251 MediaQuery* MediaQueryData::takeMediaQuery()
252 { 252 {
253 RawPtr<MediaQuery> mediaQuery = MediaQuery::create(m_restrictor, std::move(m _mediaType), std::move(m_expressions)); 253 MediaQuery* mediaQuery = MediaQuery::create(m_restrictor, std::move(m_mediaT ype), std::move(m_expressions));
254 clear(); 254 clear();
255 return mediaQuery.release(); 255 return mediaQuery;
256 } 256 }
257 257
258 bool MediaQueryData::addExpression() 258 bool MediaQueryData::addExpression()
259 { 259 {
260 RawPtr<MediaQueryExp> expression = MediaQueryExp::createIfValid(m_mediaFeatu re, m_valueList); 260 MediaQueryExp* expression = MediaQueryExp::createIfValid(m_mediaFeature, m_v alueList);
261 bool isValid = !!expression; 261 bool isValid = !!expression;
262 m_expressions.append(expression.release()); 262 m_expressions.append(expression);
263 m_valueList.clear(); 263 m_valueList.clear();
264 return isValid; 264 return isValid;
265 } 265 }
266 266
267 bool MediaQueryData::tryAddParserToken(CSSParserTokenType type, const CSSParserT oken& token) 267 bool MediaQueryData::tryAddParserToken(CSSParserTokenType type, const CSSParserT oken& token)
268 { 268 {
269 if (type == NumberToken || type == PercentageToken || type == DimensionToken 269 if (type == NumberToken || type == PercentageToken || type == DimensionToken
270 || type == DelimiterToken || type == IdentToken) { 270 || type == DelimiterToken || type == IdentToken) {
271 m_valueList.append(token); 271 m_valueList.append(token);
272 return true; 272 return true;
273 } 273 }
274 274
275 return false; 275 return false;
276 } 276 }
277 277
278 void MediaQueryData::setMediaType(const String& mediaType) 278 void MediaQueryData::setMediaType(const String& mediaType)
279 { 279 {
280 m_mediaType = mediaType; 280 m_mediaType = mediaType;
281 m_mediaTypeSet = true; 281 m_mediaTypeSet = true;
282 } 282 }
283 283
284 } // namespace blink 284 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698