| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2003 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2003 Lars Knoll (knoll@kde.org) |
| 3 * Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 3 * Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) |
| 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. | 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. |
| 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> | 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> |
| 6 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> | 6 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> |
| 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
| 8 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. | 8 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. |
| 9 * Copyright (C) 2012 Intel Corporation. All rights reserved. | 9 * Copyright (C) 2012 Intel Corporation. All rights reserved. |
| 10 * | 10 * |
| (...skipping 1277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1288 declaration->addParsedProperties(m_parsedProperties); | 1288 declaration->addParsedProperties(m_parsedProperties); |
| 1289 clearProperties(); | 1289 clearProperties(); |
| 1290 } | 1290 } |
| 1291 | 1291 |
| 1292 if (m_observer) | 1292 if (m_observer) |
| 1293 m_observer->endRuleBody(string.length(), false); | 1293 m_observer->endRuleBody(string.length(), false); |
| 1294 | 1294 |
| 1295 return ok; | 1295 return ok; |
| 1296 } | 1296 } |
| 1297 | 1297 |
| 1298 PassRefPtr<MediaQuerySet> BisonCSSParser::parseMediaQueryList(const String& stri
ng) | 1298 PassRefPtrWillBeRawPtr<MediaQuerySet> BisonCSSParser::parseMediaQueryList(const
String& string) |
| 1299 { | 1299 { |
| 1300 ASSERT(!m_mediaList); | 1300 ASSERT(!m_mediaList); |
| 1301 | 1301 |
| 1302 // can't use { because tokenizer state switches from mediaquery to initial s
tate when it sees { token. | 1302 // can't use { because tokenizer state switches from mediaquery to initial s
tate when it sees { token. |
| 1303 // instead insert one " " (which is caught by maybe_space in CSSGrammar.y) | 1303 // instead insert one " " (which is caught by maybe_space in CSSGrammar.y) |
| 1304 setupParser("@-internal-medialist ", string, ""); | 1304 setupParser("@-internal-medialist ", string, ""); |
| 1305 cssyyparse(this); | 1305 cssyyparse(this); |
| 1306 | 1306 |
| 1307 ASSERT(m_mediaList); | 1307 ASSERT(m_mediaList); |
| 1308 return m_mediaList.release(); | 1308 return m_mediaList.release(); |
| (...skipping 8072 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9381 } | 9381 } |
| 9382 return value; | 9382 return value; |
| 9383 } | 9383 } |
| 9384 | 9384 |
| 9385 MediaQueryExp* BisonCSSParser::createFloatingMediaQueryExp(const AtomicString& m
ediaFeature, CSSParserValueList* values) | 9385 MediaQueryExp* BisonCSSParser::createFloatingMediaQueryExp(const AtomicString& m
ediaFeature, CSSParserValueList* values) |
| 9386 { | 9386 { |
| 9387 m_floatingMediaQueryExp = MediaQueryExp::create(mediaFeature, values); | 9387 m_floatingMediaQueryExp = MediaQueryExp::create(mediaFeature, values); |
| 9388 return m_floatingMediaQueryExp.get(); | 9388 return m_floatingMediaQueryExp.get(); |
| 9389 } | 9389 } |
| 9390 | 9390 |
| 9391 PassOwnPtr<MediaQueryExp> BisonCSSParser::sinkFloatingMediaQueryExp(MediaQueryEx
p* expression) | 9391 PassOwnPtrWillBeRawPtr<MediaQueryExp> BisonCSSParser::sinkFloatingMediaQueryExp(
MediaQueryExp* expression) |
| 9392 { | 9392 { |
| 9393 ASSERT_UNUSED(expression, expression == m_floatingMediaQueryExp); | 9393 ASSERT_UNUSED(expression, expression == m_floatingMediaQueryExp); |
| 9394 return m_floatingMediaQueryExp.release(); | 9394 return m_floatingMediaQueryExp.release(); |
| 9395 } | 9395 } |
| 9396 | 9396 |
| 9397 Vector<OwnPtr<MediaQueryExp> >* BisonCSSParser::createFloatingMediaQueryExpList(
) | 9397 WillBeHeapVector<OwnPtrWillBeMember<MediaQueryExp> >* BisonCSSParser::createFloa
tingMediaQueryExpList() |
| 9398 { | 9398 { |
| 9399 m_floatingMediaQueryExpList = adoptPtr(new Vector<OwnPtr<MediaQueryExp> >); | 9399 m_floatingMediaQueryExpList = adoptPtrWillBeNoop(new WillBeHeapVector<OwnPtr
WillBeMember<MediaQueryExp> >); |
| 9400 return m_floatingMediaQueryExpList.get(); | 9400 return m_floatingMediaQueryExpList.get(); |
| 9401 } | 9401 } |
| 9402 | 9402 |
| 9403 PassOwnPtr<Vector<OwnPtr<MediaQueryExp> > > BisonCSSParser::sinkFloatingMediaQue
ryExpList(Vector<OwnPtr<MediaQueryExp> >* list) | 9403 PassOwnPtrWillBeRawPtr<WillBeHeapVector<OwnPtrWillBeMember<MediaQueryExp> > > Bi
sonCSSParser::sinkFloatingMediaQueryExpList(WillBeHeapVector<OwnPtrWillBeMember<
MediaQueryExp> >* list) |
| 9404 { | 9404 { |
| 9405 ASSERT_UNUSED(list, list == m_floatingMediaQueryExpList); | 9405 ASSERT_UNUSED(list, list == m_floatingMediaQueryExpList); |
| 9406 return m_floatingMediaQueryExpList.release(); | 9406 return m_floatingMediaQueryExpList.release(); |
| 9407 } | 9407 } |
| 9408 | 9408 |
| 9409 MediaQuery* BisonCSSParser::createFloatingMediaQuery(MediaQuery::Restrictor rest
rictor, const AtomicString& mediaType, PassOwnPtr<Vector<OwnPtr<MediaQueryExp> >
> expressions) | 9409 MediaQuery* BisonCSSParser::createFloatingMediaQuery(MediaQuery::Restrictor rest
rictor, const AtomicString& mediaType, PassOwnPtrWillBeRawPtr<WillBeHeapVector<O
wnPtrWillBeMember<MediaQueryExp> > > expressions) |
| 9410 { | 9410 { |
| 9411 m_floatingMediaQuery = adoptPtr(new MediaQuery(restrictor, mediaType, expres
sions)); | 9411 m_floatingMediaQuery = adoptPtrWillBeNoop(new MediaQuery(restrictor, mediaTy
pe, expressions)); |
| 9412 return m_floatingMediaQuery.get(); | 9412 return m_floatingMediaQuery.get(); |
| 9413 } | 9413 } |
| 9414 | 9414 |
| 9415 MediaQuery* BisonCSSParser::createFloatingMediaQuery(PassOwnPtr<Vector<OwnPtr<Me
diaQueryExp> > > expressions) | 9415 MediaQuery* BisonCSSParser::createFloatingMediaQuery(PassOwnPtrWillBeRawPtr<Will
BeHeapVector<OwnPtrWillBeMember<MediaQueryExp> > > expressions) |
| 9416 { | 9416 { |
| 9417 return createFloatingMediaQuery(MediaQuery::None, AtomicString("all", Atomic
String::ConstructFromLiteral), expressions); | 9417 return createFloatingMediaQuery(MediaQuery::None, AtomicString("all", Atomic
String::ConstructFromLiteral), expressions); |
| 9418 } | 9418 } |
| 9419 | 9419 |
| 9420 MediaQuery* BisonCSSParser::createFloatingNotAllQuery() | 9420 MediaQuery* BisonCSSParser::createFloatingNotAllQuery() |
| 9421 { | 9421 { |
| 9422 return createFloatingMediaQuery(MediaQuery::Not, AtomicString("all", AtomicS
tring::ConstructFromLiteral), sinkFloatingMediaQueryExpList(createFloatingMediaQ
ueryExpList())); | 9422 return createFloatingMediaQuery(MediaQuery::Not, AtomicString("all", AtomicS
tring::ConstructFromLiteral), sinkFloatingMediaQueryExpList(createFloatingMediaQ
ueryExpList())); |
| 9423 } | 9423 } |
| 9424 | 9424 |
| 9425 PassOwnPtr<MediaQuery> BisonCSSParser::sinkFloatingMediaQuery(MediaQuery* query) | 9425 PassOwnPtrWillBeRawPtr<MediaQuery> BisonCSSParser::sinkFloatingMediaQuery(MediaQ
uery* query) |
| 9426 { | 9426 { |
| 9427 ASSERT_UNUSED(query, query == m_floatingMediaQuery); | 9427 ASSERT_UNUSED(query, query == m_floatingMediaQuery); |
| 9428 return m_floatingMediaQuery.release(); | 9428 return m_floatingMediaQuery.release(); |
| 9429 } | 9429 } |
| 9430 | 9430 |
| 9431 Vector<RefPtr<StyleKeyframe> >* BisonCSSParser::createFloatingKeyframeVector() | 9431 Vector<RefPtr<StyleKeyframe> >* BisonCSSParser::createFloatingKeyframeVector() |
| 9432 { | 9432 { |
| 9433 m_floatingKeyframeVector = adoptPtr(new Vector<RefPtr<StyleKeyframe> >()); | 9433 m_floatingKeyframeVector = adoptPtr(new Vector<RefPtr<StyleKeyframe> >()); |
| 9434 return m_floatingKeyframeVector.get(); | 9434 return m_floatingKeyframeVector.get(); |
| 9435 } | 9435 } |
| 9436 | 9436 |
| 9437 PassOwnPtr<Vector<RefPtr<StyleKeyframe> > > BisonCSSParser::sinkFloatingKeyframe
Vector(Vector<RefPtr<StyleKeyframe> >* keyframeVector) | 9437 PassOwnPtr<Vector<RefPtr<StyleKeyframe> > > BisonCSSParser::sinkFloatingKeyframe
Vector(Vector<RefPtr<StyleKeyframe> >* keyframeVector) |
| 9438 { | 9438 { |
| 9439 ASSERT_UNUSED(keyframeVector, m_floatingKeyframeVector == keyframeVector); | 9439 ASSERT_UNUSED(keyframeVector, m_floatingKeyframeVector == keyframeVector); |
| 9440 return m_floatingKeyframeVector.release(); | 9440 return m_floatingKeyframeVector.release(); |
| 9441 } | 9441 } |
| 9442 | 9442 |
| 9443 MediaQuerySet* BisonCSSParser::createMediaQuerySet() | 9443 MediaQuerySet* BisonCSSParser::createMediaQuerySet() |
| 9444 { | 9444 { |
| 9445 RefPtr<MediaQuerySet> queries = MediaQuerySet::create(); | 9445 RefPtrWillBeRawPtr<MediaQuerySet> queries = MediaQuerySet::create(); |
| 9446 MediaQuerySet* result = queries.get(); | 9446 MediaQuerySet* result = queries.get(); |
| 9447 m_parsedMediaQuerySets.append(queries.release()); | 9447 m_parsedMediaQuerySets.append(queries.release()); |
| 9448 return result; | 9448 return result; |
| 9449 } | 9449 } |
| 9450 | 9450 |
| 9451 StyleRuleBase* BisonCSSParser::createImportRule(const CSSParserString& url, Medi
aQuerySet* media) | 9451 StyleRuleBase* BisonCSSParser::createImportRule(const CSSParserString& url, Medi
aQuerySet* media) |
| 9452 { | 9452 { |
| 9453 if (!media || !m_allowImportRules) | 9453 if (!media || !m_allowImportRules) |
| 9454 return 0; | 9454 return 0; |
| 9455 RefPtr<StyleRuleImport> rule = StyleRuleImport::create(url, media); | 9455 RefPtr<StyleRuleImport> rule = StyleRuleImport::create(url, media); |
| 9456 StyleRuleImport* result = rule.get(); | 9456 StyleRuleImport* result = rule.get(); |
| 9457 m_parsedRules.append(rule.release()); | 9457 m_parsedRules.append(rule.release()); |
| 9458 return result; | 9458 return result; |
| 9459 } | 9459 } |
| 9460 | 9460 |
| 9461 StyleRuleBase* BisonCSSParser::createMediaRule(MediaQuerySet* media, RuleList* r
ules) | 9461 StyleRuleBase* BisonCSSParser::createMediaRule(MediaQuerySet* media, RuleList* r
ules) |
| 9462 { | 9462 { |
| 9463 m_allowImportRules = m_allowNamespaceDeclarations = false; | 9463 m_allowImportRules = m_allowNamespaceDeclarations = false; |
| 9464 RefPtr<StyleRuleMedia> rule; | 9464 RefPtr<StyleRuleMedia> rule; |
| 9465 if (rules) { | 9465 if (rules) { |
| 9466 rule = StyleRuleMedia::create(media ? media : MediaQuerySet::create(), *
rules); | 9466 rule = StyleRuleMedia::create(media ? media : MediaQuerySet::create().ge
t(), *rules); |
| 9467 } else { | 9467 } else { |
| 9468 RuleList emptyRules; | 9468 RuleList emptyRules; |
| 9469 rule = StyleRuleMedia::create(media ? media : MediaQuerySet::create(), e
mptyRules); | 9469 rule = StyleRuleMedia::create(media ? media : MediaQuerySet::create().ge
t(), emptyRules); |
| 9470 } | 9470 } |
| 9471 StyleRuleMedia* result = rule.get(); | 9471 StyleRuleMedia* result = rule.get(); |
| 9472 m_parsedRules.append(rule.release()); | 9472 m_parsedRules.append(rule.release()); |
| 9473 return result; | 9473 return result; |
| 9474 } | 9474 } |
| 9475 | 9475 |
| 9476 StyleRuleBase* BisonCSSParser::createSupportsRule(bool conditionIsSupported, Rul
eList* rules) | 9476 StyleRuleBase* BisonCSSParser::createSupportsRule(bool conditionIsSupported, Rul
eList* rules) |
| 9477 { | 9477 { |
| 9478 m_allowImportRules = m_allowNamespaceDeclarations = false; | 9478 m_allowImportRules = m_allowNamespaceDeclarations = false; |
| 9479 | 9479 |
| (...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10163 { | 10163 { |
| 10164 // The tokenizer checks for the construct of an+b. | 10164 // The tokenizer checks for the construct of an+b. |
| 10165 // However, since the {ident} rule precedes the {nth} rule, some of those | 10165 // However, since the {ident} rule precedes the {nth} rule, some of those |
| 10166 // tokens are identified as string literal. Furthermore we need to accept | 10166 // tokens are identified as string literal. Furthermore we need to accept |
| 10167 // "odd" and "even" which does not match to an+b. | 10167 // "odd" and "even" which does not match to an+b. |
| 10168 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") | 10168 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") |
| 10169 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); | 10169 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); |
| 10170 } | 10170 } |
| 10171 | 10171 |
| 10172 } | 10172 } |
| OLD | NEW |