OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2011, 2012 Apple Inc. All r
ights reserved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2011, 2012 Apple Inc. All r
ights reserved. |
5 * Copyright (C) 2014 Samsung Electronics. All rights reserved. | 5 * Copyright (C) 2014 Samsung Electronics. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 | 500 |
501 void HTMLCollection::namedItems(const AtomicString& name, WillBeHeapVector<RefPt
rWillBeMember<Element> >& result) const | 501 void HTMLCollection::namedItems(const AtomicString& name, WillBeHeapVector<RefPt
rWillBeMember<Element> >& result) const |
502 { | 502 { |
503 ASSERT(result.isEmpty()); | 503 ASSERT(result.isEmpty()); |
504 if (name.isEmpty()) | 504 if (name.isEmpty()) |
505 return; | 505 return; |
506 | 506 |
507 updateIdNameCache(); | 507 updateIdNameCache(); |
508 | 508 |
509 const NamedItemCache& cache = namedItemCache(); | 509 const NamedItemCache& cache = namedItemCache(); |
510 WillBeHeapVector<RawPtrWillBeMember<Element> >* idResults = cache.getElement
sById(name); | 510 if (WillBeHeapVector<RawPtrWillBeMember<Element> >* idResults = cache.getEle
mentsById(name)) { |
511 WillBeHeapVector<RawPtrWillBeMember<Element> >* nameResults = cache.getEleme
ntsByName(name); | 511 for (unsigned i = 0; i < idResults->size(); ++i) |
512 | 512 result.append(idResults->at(i)); |
513 for (unsigned i = 0; idResults && i < idResults->size(); ++i) | 513 } |
514 result.append(idResults->at(i)); | 514 if (WillBeHeapVector<RawPtrWillBeMember<Element> >* nameResults = cache.getE
lementsByName(name)) { |
515 | 515 for (unsigned i = 0; i < nameResults->size(); ++i) |
516 for (unsigned i = 0; nameResults && i < nameResults->size(); ++i) | 516 result.append(nameResults->at(i)); |
517 result.append(nameResults->at(i)); | 517 } |
518 } | 518 } |
519 | 519 |
520 HTMLCollection::NamedItemCache::NamedItemCache() | 520 HTMLCollection::NamedItemCache::NamedItemCache() |
521 { | 521 { |
522 } | 522 } |
523 | 523 |
524 void HTMLCollection::trace(Visitor* visitor) | 524 void HTMLCollection::trace(Visitor* visitor) |
525 { | 525 { |
526 visitor->trace(m_namedItemCache); | 526 visitor->trace(m_namedItemCache); |
527 visitor->trace(m_collectionIndexCache); | 527 visitor->trace(m_collectionIndexCache); |
528 LiveNodeListBase::trace(visitor); | 528 LiveNodeListBase::trace(visitor); |
529 } | 529 } |
530 | 530 |
531 } // namespace WebCore | 531 } // namespace WebCore |
OLD | NEW |