WebKit Bugzilla
Attachment 347026 Details for
Bug 188527
: Modernize CSSSelectorList a little
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-188527-20180813123553.patch (text/plain), 8.54 KB, created by
Alex Christensen
on 2018-08-13 12:35:54 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Alex Christensen
Created:
2018-08-13 12:35:54 PDT
Size:
8.54 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 234811) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,27 @@ >+2018-08-13 Alex Christensen <achristensen@webkit.org> >+ >+ Modernize CSSSelectorList a little >+ https://bugs.webkit.org/show_bug.cgi?id=188527 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ No change in behavior. Just use make_unique and move semantics a little more. >+ >+ * css/CSSSelectorList.cpp: >+ (WebCore::CSSSelectorList::CSSSelectorList): >+ (WebCore::CSSSelectorList::adoptSelectorVector): Deleted. >+ * css/CSSSelectorList.h: >+ * css/StyleRule.h: >+ * css/parser/CSSParserImpl.cpp: >+ (WebCore::CSSParserImpl::parsePageSelector): >+ * css/parser/CSSParserSelector.cpp: >+ (WebCore::CSSParserSelector::adoptSelectorVector): >+ * css/parser/CSSParserSelector.h: >+ * css/parser/CSSSelectorParser.cpp: >+ (WebCore::CSSSelectorParser::consumeComplexSelectorList): >+ (WebCore::CSSSelectorParser::consumeCompoundSelectorList): >+ (WebCore::CSSSelectorParser::consumePseudo): >+ > 2018-08-13 Antti Koivisto <antti@apple.com> > > Meaning of OptionSet::contains is unclear when used with OptionSet argument >Index: Source/WebCore/css/CSSSelectorList.cpp >=================================================================== >--- Source/WebCore/css/CSSSelectorList.cpp (revision 234663) >+++ Source/WebCore/css/CSSSelectorList.cpp (working copy) >@@ -48,11 +48,10 @@ CSSSelectorList::CSSSelectorList(CSSSele > other.m_selectorArray = nullptr; > } > >-void CSSSelectorList::adoptSelectorVector(Vector<std::unique_ptr<CSSParserSelector>>& selectorVector) >+CSSSelectorList::CSSSelectorList(Vector<std::unique_ptr<CSSParserSelector>>&& selectorVector) > { > ASSERT_WITH_SECURITY_IMPLICATION(!selectorVector.isEmpty()); > >- deleteSelectors(); > size_t flattenedSize = 0; > for (size_t i = 0; i < selectorVector.size(); ++i) { > for (CSSParserSelector* selector = selectorVector[i].get(); selector; selector = selector->tagHistory()) >@@ -82,7 +81,6 @@ void CSSSelectorList::adoptSelectorVecto > } > ASSERT(flattenedSize == arrayIndex); > m_selectorArray[arrayIndex - 1].setLastInSelectorList(); >- selectorVector.clear(); > } > > unsigned CSSSelectorList::componentCount() const >Index: Source/WebCore/css/CSSSelectorList.h >=================================================================== >--- Source/WebCore/css/CSSSelectorList.h (revision 234663) >+++ Source/WebCore/css/CSSSelectorList.h (working copy) >@@ -38,10 +38,10 @@ public: > CSSSelectorList() : m_selectorArray(0) { } > CSSSelectorList(const CSSSelectorList&); > CSSSelectorList(CSSSelectorList&&); >+ CSSSelectorList(Vector<std::unique_ptr<CSSParserSelector>>&&); > > ~CSSSelectorList() { deleteSelectors(); } > >- void adoptSelectorVector(Vector<std::unique_ptr<CSSParserSelector>>& selectorVector); > void adoptSelectorArray(CSSSelector* selectors) { ASSERT(!m_selectorArray); m_selectorArray = selectors; } > > bool isValid() const { return !!m_selectorArray; } >Index: Source/WebCore/css/StyleRule.h >=================================================================== >--- Source/WebCore/css/StyleRule.h (revision 234663) >+++ Source/WebCore/css/StyleRule.h (working copy) >@@ -208,7 +208,6 @@ public: > const StyleProperties& properties() const { return m_properties; } > MutableStyleProperties& mutableProperties(); > >- void parserAdoptSelectorVector(Vector<std::unique_ptr<CSSParserSelector>>& selectors) { m_selectorList.adoptSelectorVector(selectors); } > void wrapperAdoptSelectorList(CSSSelectorList& selectors) { m_selectorList = WTFMove(selectors); } > > Ref<StyleRulePage> copy() const { return adoptRef(*new StyleRulePage(*this)); } >Index: Source/WebCore/css/parser/CSSParserImpl.cpp >=================================================================== >--- Source/WebCore/css/parser/CSSParserImpl.cpp (revision 234663) >+++ Source/WebCore/css/parser/CSSParserImpl.cpp (working copy) >@@ -282,9 +282,9 @@ CSSSelectorList CSSParserImpl::parsePage > > std::unique_ptr<CSSParserSelector> selector; > if (!typeSelector.isNull() && pseudo.isNull()) >- selector = std::unique_ptr<CSSParserSelector>(new CSSParserSelector(QualifiedName(nullAtom(), typeSelector, styleSheet->defaultNamespace()))); >+ selector = std::make_unique<CSSParserSelector>(QualifiedName(nullAtom(), typeSelector, styleSheet->defaultNamespace())); > else { >- selector = std::unique_ptr<CSSParserSelector>(new CSSParserSelector); >+ selector = std::make_unique<CSSParserSelector>(); > if (!pseudo.isNull()) { > selector = std::unique_ptr<CSSParserSelector>(CSSParserSelector::parsePagePseudoSelector(pseudo)); > if (!selector || selector->match() != CSSSelector::PagePseudoClass) >@@ -295,11 +295,7 @@ CSSSelectorList CSSParserImpl::parsePage > } > > selector->setForPage(); >- Vector<std::unique_ptr<CSSParserSelector>> selectorVector; >- selectorVector.append(WTFMove(selector)); >- CSSSelectorList selectorList; >- selectorList.adoptSelectorVector(selectorVector); >- return selectorList; >+ return { Vector<std::unique_ptr<CSSParserSelector>>::from(WTFMove(selector)) }; > } > > std::unique_ptr<Vector<double>> CSSParserImpl::parseKeyframeKeyList(const String& keyList) >Index: Source/WebCore/css/parser/CSSParserSelector.cpp >=================================================================== >--- Source/WebCore/css/parser/CSSParserSelector.cpp (revision 234663) >+++ Source/WebCore/css/parser/CSSParserSelector.cpp (working copy) >@@ -124,11 +124,9 @@ CSSParserSelector::~CSSParserSelector() > } > } > >-void CSSParserSelector::adoptSelectorVector(Vector<std::unique_ptr<CSSParserSelector>>& selectorVector) >+void CSSParserSelector::adoptSelectorVector(Vector<std::unique_ptr<CSSParserSelector>>&& selectorVector) > { >- auto selectorList = std::make_unique<CSSSelectorList>(); >- selectorList->adoptSelectorVector(selectorVector); >- m_selector->setSelectorList(WTFMove(selectorList)); >+ m_selector->setSelectorList(std::make_unique<CSSSelectorList>(WTFMove(selectorVector))); > } > > void CSSParserSelector::setLangArgumentList(std::unique_ptr<Vector<AtomicString>> argumentList) >Index: Source/WebCore/css/parser/CSSParserSelector.h >=================================================================== >--- Source/WebCore/css/parser/CSSParserSelector.h (revision 234663) >+++ Source/WebCore/css/parser/CSSParserSelector.h (working copy) >@@ -71,7 +71,7 @@ public: > > void setPseudoElementType(CSSSelector::PseudoElementType type) { m_selector->setPseudoElementType(type); } > >- void adoptSelectorVector(Vector<std::unique_ptr<CSSParserSelector>>& selectorVector); >+ void adoptSelectorVector(Vector<std::unique_ptr<CSSParserSelector>>&&); > void setLangArgumentList(std::unique_ptr<Vector<AtomicString>>); > void setSelectorList(std::unique_ptr<CSSSelectorList>); > >Index: Source/WebCore/css/parser/CSSSelectorParser.cpp >=================================================================== >--- Source/WebCore/css/parser/CSSSelectorParser.cpp (revision 234663) >+++ Source/WebCore/css/parser/CSSSelectorParser.cpp (working copy) >@@ -68,11 +68,9 @@ CSSSelectorList CSSSelectorParser::consu > selectorList.append(WTFMove(selector)); > } > >- CSSSelectorList list; > if (m_failedParsing) >- return list; >- list.adoptSelectorVector(selectorList); >- return list; >+ return { }; >+ return { WTFMove(selectorList) }; > } > > CSSSelectorList CSSSelectorParser::consumeCompoundSelectorList(CSSParserTokenRange& range) >@@ -92,11 +90,9 @@ CSSSelectorList CSSSelectorParser::consu > selectorList.append(WTFMove(selector)); > } > >- CSSSelectorList list; > if (m_failedParsing) >- return list; >- list.adoptSelectorVector(selectorList); >- return list; >+ return { }; >+ return { WTFMove(selectorList) }; > } > > static bool consumeLangArgumentList(std::unique_ptr<Vector<AtomicString>>& argumentList, CSSParserTokenRange& range) >@@ -631,9 +627,7 @@ std::unique_ptr<CSSParserSelector> CSSSe > block.consumeWhitespace(); > if (!innerSelector || !block.atEnd()) > return nullptr; >- Vector<std::unique_ptr<CSSParserSelector>> selectorVector; >- selectorVector.append(WTFMove(innerSelector)); >- selector->adoptSelectorVector(selectorVector); >+ selector->adoptSelectorVector(Vector<std::unique_ptr<CSSParserSelector>>::from(WTFMove(innerSelector))); > return selector; > } > default:
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
simon.fraser
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 188527
: 347026