| 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) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 for (unsigned i = 0; i < valueList.size(); ++i) | 276 for (unsigned i = 0; i < valueList.size(); ++i) |
| 277 m_values.append(*(valueList.valueAt(i))); | 277 m_values.append(*(valueList.valueAt(i))); |
| 278 valueList.clearAndLeakValues(); | 278 valueList.clearAndLeakValues(); |
| 279 } | 279 } |
| 280 | 280 |
| 281 CSSParserSelector::CSSParserSelector() | 281 CSSParserSelector::CSSParserSelector() |
| 282 : m_selector(adoptPtr(new CSSSelector())) | 282 : m_selector(adoptPtr(new CSSSelector())) |
| 283 { | 283 { |
| 284 } | 284 } |
| 285 | 285 |
| 286 CSSParserSelector::CSSParserSelector(const QualifiedName& tagQName) | 286 CSSParserSelector::CSSParserSelector(const QualifiedName& tagQName, bool isImpli
cit) |
| 287 : m_selector(adoptPtr(new CSSSelector(tagQName))) | 287 : m_selector(adoptPtr(new CSSSelector(tagQName, isImplicit))) |
| 288 { | 288 { |
| 289 } | 289 } |
| 290 | 290 |
| 291 CSSParserSelector::~CSSParserSelector() | 291 CSSParserSelector::~CSSParserSelector() |
| 292 { | 292 { |
| 293 if (!m_tagHistory) | 293 if (!m_tagHistory) |
| 294 return; | 294 return; |
| 295 Vector<OwnPtr<CSSParserSelector>, 16> toDelete; | 295 Vector<OwnPtr<CSSParserSelector>, 16> toDelete; |
| 296 OwnPtr<CSSParserSelector> selector = m_tagHistory.release(); | 296 OwnPtr<CSSParserSelector> selector = m_tagHistory.release(); |
| 297 while (true) { | 297 while (true) { |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 346 | 346 |
| 347 void CSSParserSelector::appendTagHistory(CSSSelector::Relation relation, PassOwn
Ptr<CSSParserSelector> selector) | 347 void CSSParserSelector::appendTagHistory(CSSSelector::Relation relation, PassOwn
Ptr<CSSParserSelector> selector) |
| 348 { | 348 { |
| 349 CSSParserSelector* end = this; | 349 CSSParserSelector* end = this; |
| 350 while (end->tagHistory()) | 350 while (end->tagHistory()) |
| 351 end = end->tagHistory(); | 351 end = end->tagHistory(); |
| 352 end->setRelation(relation); | 352 end->setRelation(relation); |
| 353 end->setTagHistory(selector); | 353 end->setTagHistory(selector); |
| 354 } | 354 } |
| 355 | 355 |
| 356 void CSSParserSelector::prependTagSelector(const QualifiedName& tagQName, bool t
agIsForNamespaceRule) | 356 void CSSParserSelector::prependTagSelector(const QualifiedName& tagQName, bool i
sImplicit) |
| 357 { | 357 { |
| 358 OwnPtr<CSSParserSelector> second = adoptPtr(new CSSParserSelector); | 358 OwnPtr<CSSParserSelector> second = CSSParserSelector::create(); |
| 359 second->m_selector = m_selector.release(); | 359 second->m_selector = m_selector.release(); |
| 360 second->m_tagHistory = m_tagHistory.release(); | 360 second->m_tagHistory = m_tagHistory.release(); |
| 361 m_tagHistory = second.release(); | 361 m_tagHistory = second.release(); |
| 362 m_selector = adoptPtr(new CSSSelector(tagQName, tagIsForNamespaceRule)); | 362 m_selector = adoptPtr(new CSSSelector(tagQName, isImplicit)); |
| 363 } | 363 } |
| 364 | 364 |
| 365 bool CSSParserSelector::hasHostPseudoSelector() const | 365 bool CSSParserSelector::hasHostPseudoSelector() const |
| 366 { | 366 { |
| 367 for (CSSParserSelector* selector = const_cast<CSSParserSelector*>(this); sel
ector; selector = selector->tagHistory()) { | 367 for (CSSParserSelector* selector = const_cast<CSSParserSelector*>(this); sel
ector; selector = selector->tagHistory()) { |
| 368 if (selector->pseudoType() == CSSSelector::PseudoHost || selector->pseud
oType() == CSSSelector::PseudoHostContext) | 368 if (selector->pseudoType() == CSSSelector::PseudoHost || selector->pseud
oType() == CSSSelector::PseudoHostContext) |
| 369 return true; | 369 return true; |
| 370 } | 370 } |
| 371 return false; | 371 return false; |
| 372 } | 372 } |
| 373 | 373 |
| 374 } // namespace blink | 374 } // namespace blink |
| OLD | NEW |