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

Side by Side Diff: Source/core/css/parser/BisonCSSParser-in.cpp

Issue 170283019: Change various helper classes to transition types to get CSSValue entirely onto the gc heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase and revert member to persistent in StorageEvent 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 | Annotate | Revision Log
OLDNEW
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 1193 matching lines...) Expand 10 before | Expand all | Expand 10 after
1204 declaration->addParsedProperties(m_parsedProperties); 1204 declaration->addParsedProperties(m_parsedProperties);
1205 clearProperties(); 1205 clearProperties();
1206 } 1206 }
1207 1207
1208 if (m_observer) 1208 if (m_observer)
1209 m_observer->endRuleBody(string.length(), false); 1209 m_observer->endRuleBody(string.length(), false);
1210 1210
1211 return ok; 1211 return ok;
1212 } 1212 }
1213 1213
1214 PassRefPtr<MediaQuerySet> BisonCSSParser::parseMediaQueryList(const String& stri ng) 1214 PassRefPtrWillBeRawPtr<MediaQuerySet> BisonCSSParser::parseMediaQueryList(const String& string)
1215 { 1215 {
1216 ASSERT(!m_mediaList); 1216 ASSERT(!m_mediaList);
1217 1217
1218 // can't use { because tokenizer state switches from mediaquery to initial s tate when it sees { token. 1218 // can't use { because tokenizer state switches from mediaquery to initial s tate when it sees { token.
1219 // instead insert one " " (which is caught by maybe_space in CSSGrammar.y) 1219 // instead insert one " " (which is caught by maybe_space in CSSGrammar.y)
1220 setupParser("@-internal-medialist ", string, ""); 1220 setupParser("@-internal-medialist ", string, "");
1221 cssyyparse(this); 1221 cssyyparse(this);
1222 1222
1223 ASSERT(m_mediaList); 1223 ASSERT(m_mediaList);
1224 return m_mediaList.release(); 1224 return m_mediaList.release();
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
1598 } 1598 }
1599 return value; 1599 return value;
1600 } 1600 }
1601 1601
1602 MediaQueryExp* BisonCSSParser::createFloatingMediaQueryExp(const AtomicString& m ediaFeature, CSSParserValueList* values) 1602 MediaQueryExp* BisonCSSParser::createFloatingMediaQueryExp(const AtomicString& m ediaFeature, CSSParserValueList* values)
1603 { 1603 {
1604 m_floatingMediaQueryExp = MediaQueryExp::create(mediaFeature, values); 1604 m_floatingMediaQueryExp = MediaQueryExp::create(mediaFeature, values);
1605 return m_floatingMediaQueryExp.get(); 1605 return m_floatingMediaQueryExp.get();
1606 } 1606 }
1607 1607
1608 PassOwnPtr<MediaQueryExp> BisonCSSParser::sinkFloatingMediaQueryExp(MediaQueryEx p* expression) 1608 PassOwnPtrWillBeRawPtr<MediaQueryExp> BisonCSSParser::sinkFloatingMediaQueryExp( MediaQueryExp* expression)
1609 { 1609 {
1610 ASSERT_UNUSED(expression, expression == m_floatingMediaQueryExp); 1610 ASSERT_UNUSED(expression, expression == m_floatingMediaQueryExp);
1611 return m_floatingMediaQueryExp.release(); 1611 return m_floatingMediaQueryExp.release();
1612 } 1612 }
1613 1613
1614 Vector<OwnPtr<MediaQueryExp> >* BisonCSSParser::createFloatingMediaQueryExpList( ) 1614 WillBeHeapVector<OwnPtrWillBeMember<MediaQueryExp> >* BisonCSSParser::createFloa tingMediaQueryExpList()
1615 { 1615 {
1616 m_floatingMediaQueryExpList = adoptPtr(new Vector<OwnPtr<MediaQueryExp> >); 1616 m_floatingMediaQueryExpList = adoptPtrWillBeNoop(new WillBeHeapVector<OwnPtr WillBeMember<MediaQueryExp> >);
1617 return m_floatingMediaQueryExpList.get(); 1617 return m_floatingMediaQueryExpList.get();
1618 } 1618 }
1619 1619
1620 PassOwnPtr<Vector<OwnPtr<MediaQueryExp> > > BisonCSSParser::sinkFloatingMediaQue ryExpList(Vector<OwnPtr<MediaQueryExp> >* list) 1620 PassOwnPtrWillBeRawPtr<WillBeHeapVector<OwnPtrWillBeMember<MediaQueryExp> > > Bi sonCSSParser::sinkFloatingMediaQueryExpList(WillBeHeapVector<OwnPtrWillBeMember< MediaQueryExp> >* list)
1621 { 1621 {
1622 ASSERT_UNUSED(list, list == m_floatingMediaQueryExpList); 1622 ASSERT_UNUSED(list, list == m_floatingMediaQueryExpList);
1623 return m_floatingMediaQueryExpList.release(); 1623 return m_floatingMediaQueryExpList.release();
1624 } 1624 }
1625 1625
1626 MediaQuery* BisonCSSParser::createFloatingMediaQuery(MediaQuery::Restrictor rest rictor, const AtomicString& mediaType, PassOwnPtr<Vector<OwnPtr<MediaQueryExp> > > expressions) 1626 MediaQuery* BisonCSSParser::createFloatingMediaQuery(MediaQuery::Restrictor rest rictor, const AtomicString& mediaType, PassOwnPtrWillBeRawPtr<WillBeHeapVector<O wnPtrWillBeMember<MediaQueryExp> > > expressions)
1627 { 1627 {
1628 m_floatingMediaQuery = adoptPtr(new MediaQuery(restrictor, mediaType, expres sions)); 1628 m_floatingMediaQuery = adoptPtrWillBeNoop(new MediaQuery(restrictor, mediaTy pe, expressions));
1629 return m_floatingMediaQuery.get(); 1629 return m_floatingMediaQuery.get();
1630 } 1630 }
1631 1631
1632 MediaQuery* BisonCSSParser::createFloatingMediaQuery(PassOwnPtr<Vector<OwnPtr<Me diaQueryExp> > > expressions) 1632 MediaQuery* BisonCSSParser::createFloatingMediaQuery(PassOwnPtrWillBeRawPtr<Will BeHeapVector<OwnPtrWillBeMember<MediaQueryExp> > > expressions)
1633 { 1633 {
1634 return createFloatingMediaQuery(MediaQuery::None, AtomicString("all", Atomic String::ConstructFromLiteral), expressions); 1634 return createFloatingMediaQuery(MediaQuery::None, AtomicString("all", Atomic String::ConstructFromLiteral), expressions);
1635 } 1635 }
1636 1636
1637 MediaQuery* BisonCSSParser::createFloatingNotAllQuery() 1637 MediaQuery* BisonCSSParser::createFloatingNotAllQuery()
1638 { 1638 {
1639 return createFloatingMediaQuery(MediaQuery::Not, AtomicString("all", AtomicS tring::ConstructFromLiteral), sinkFloatingMediaQueryExpList(createFloatingMediaQ ueryExpList())); 1639 return createFloatingMediaQuery(MediaQuery::Not, AtomicString("all", AtomicS tring::ConstructFromLiteral), sinkFloatingMediaQueryExpList(createFloatingMediaQ ueryExpList()));
1640 } 1640 }
1641 1641
1642 PassOwnPtr<MediaQuery> BisonCSSParser::sinkFloatingMediaQuery(MediaQuery* query) 1642 PassOwnPtrWillBeRawPtr<MediaQuery> BisonCSSParser::sinkFloatingMediaQuery(MediaQ uery* query)
1643 { 1643 {
1644 ASSERT_UNUSED(query, query == m_floatingMediaQuery); 1644 ASSERT_UNUSED(query, query == m_floatingMediaQuery);
1645 return m_floatingMediaQuery.release(); 1645 return m_floatingMediaQuery.release();
1646 } 1646 }
1647 1647
1648 Vector<RefPtr<StyleKeyframe> >* BisonCSSParser::createFloatingKeyframeVector() 1648 Vector<RefPtr<StyleKeyframe> >* BisonCSSParser::createFloatingKeyframeVector()
1649 { 1649 {
1650 m_floatingKeyframeVector = adoptPtr(new Vector<RefPtr<StyleKeyframe> >()); 1650 m_floatingKeyframeVector = adoptPtr(new Vector<RefPtr<StyleKeyframe> >());
1651 return m_floatingKeyframeVector.get(); 1651 return m_floatingKeyframeVector.get();
1652 } 1652 }
1653 1653
1654 PassOwnPtr<Vector<RefPtr<StyleKeyframe> > > BisonCSSParser::sinkFloatingKeyframe Vector(Vector<RefPtr<StyleKeyframe> >* keyframeVector) 1654 PassOwnPtr<Vector<RefPtr<StyleKeyframe> > > BisonCSSParser::sinkFloatingKeyframe Vector(Vector<RefPtr<StyleKeyframe> >* keyframeVector)
1655 { 1655 {
1656 ASSERT_UNUSED(keyframeVector, m_floatingKeyframeVector == keyframeVector); 1656 ASSERT_UNUSED(keyframeVector, m_floatingKeyframeVector == keyframeVector);
1657 return m_floatingKeyframeVector.release(); 1657 return m_floatingKeyframeVector.release();
1658 } 1658 }
1659 1659
1660 MediaQuerySet* BisonCSSParser::createMediaQuerySet() 1660 MediaQuerySet* BisonCSSParser::createMediaQuerySet()
1661 { 1661 {
1662 RefPtr<MediaQuerySet> queries = MediaQuerySet::create(); 1662 RefPtrWillBeRawPtr<MediaQuerySet> queries = MediaQuerySet::create();
1663 MediaQuerySet* result = queries.get(); 1663 MediaQuerySet* result = queries.get();
1664 m_parsedMediaQuerySets.append(queries.release()); 1664 m_parsedMediaQuerySets.append(queries.release());
1665 return result; 1665 return result;
1666 } 1666 }
1667 1667
1668 StyleRuleBase* BisonCSSParser::createImportRule(const CSSParserString& url, Medi aQuerySet* media) 1668 StyleRuleBase* BisonCSSParser::createImportRule(const CSSParserString& url, Medi aQuerySet* media)
1669 { 1669 {
1670 if (!media || !m_allowImportRules) 1670 if (!media || !m_allowImportRules)
1671 return 0; 1671 return 0;
1672 RefPtrWillBeRawPtr<StyleRuleImport> rule = StyleRuleImport::create(url, medi a); 1672 RefPtrWillBeRawPtr<StyleRuleImport> rule = StyleRuleImport::create(url, medi a);
1673 StyleRuleImport* result = rule.get(); 1673 StyleRuleImport* result = rule.get();
1674 m_parsedRules.append(rule.release()); 1674 m_parsedRules.append(rule.release());
1675 return result; 1675 return result;
1676 } 1676 }
1677 1677
1678 StyleRuleBase* BisonCSSParser::createMediaRule(MediaQuerySet* media, RuleList* r ules) 1678 StyleRuleBase* BisonCSSParser::createMediaRule(MediaQuerySet* media, RuleList* r ules)
1679 { 1679 {
1680 m_allowImportRules = m_allowNamespaceDeclarations = false; 1680 m_allowImportRules = m_allowNamespaceDeclarations = false;
1681 RefPtrWillBeRawPtr<StyleRuleMedia> rule; 1681 RefPtrWillBeRawPtr<StyleRuleMedia> rule;
1682 if (rules) { 1682 if (rules) {
1683 rule = StyleRuleMedia::create(media ? media : MediaQuerySet::create(), * rules); 1683 rule = StyleRuleMedia::create(media ? media : MediaQuerySet::create().ge t(), *rules);
1684 } else { 1684 } else {
1685 RuleList emptyRules; 1685 RuleList emptyRules;
1686 rule = StyleRuleMedia::create(media ? media : MediaQuerySet::create(), e mptyRules); 1686 rule = StyleRuleMedia::create(media ? media : MediaQuerySet::create().ge t(), emptyRules);
1687 } 1687 }
1688 StyleRuleMedia* result = rule.get(); 1688 StyleRuleMedia* result = rule.get();
1689 m_parsedRules.append(rule.release()); 1689 m_parsedRules.append(rule.release());
1690 return result; 1690 return result;
1691 } 1691 }
1692 1692
1693 StyleRuleBase* BisonCSSParser::createSupportsRule(bool conditionIsSupported, Rul eList* rules) 1693 StyleRuleBase* BisonCSSParser::createSupportsRule(bool conditionIsSupported, Rul eList* rules)
1694 { 1694 {
1695 m_allowImportRules = m_allowNamespaceDeclarations = false; 1695 m_allowImportRules = m_allowNamespaceDeclarations = false;
1696 1696
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after
2219 rule->setProperties(createStylePropertySet()); 2219 rule->setProperties(createStylePropertySet());
2220 clearProperties(); 2220 clearProperties();
2221 2221
2222 StyleRuleViewport* result = rule.get(); 2222 StyleRuleViewport* result = rule.get();
2223 m_parsedRules.append(rule.release()); 2223 m_parsedRules.append(rule.release());
2224 2224
2225 return result; 2225 return result;
2226 } 2226 }
2227 2227
2228 } 2228 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698