Index: Source/core/html/HTMLAllCollection.cpp |
diff --git a/Source/core/html/HTMLAllCollection.cpp b/Source/core/html/HTMLAllCollection.cpp |
index e3bba65f05aac24ede580eb6a925af7e79eaf52b..2d589b061f4c3d55a7af6ad7e94d42ac565171d2 100644 |
--- a/Source/core/html/HTMLAllCollection.cpp |
+++ b/Source/core/html/HTMLAllCollection.cpp |
@@ -31,9 +31,9 @@ |
namespace WebCore { |
-PassRefPtr<HTMLAllCollection> HTMLAllCollection::create(ContainerNode& node, CollectionType type) |
+PassRefPtrWillBeRawPtr<HTMLAllCollection> HTMLAllCollection::create(ContainerNode& node, CollectionType type) |
{ |
- return adoptRef(new HTMLAllCollection(node, type)); |
+ return adoptRefWillBeNoop(new HTMLAllCollection(node, type)); |
} |
HTMLAllCollection::HTMLAllCollection(ContainerNode& node, CollectionType type) |
@@ -51,13 +51,13 @@ Element* HTMLAllCollection::namedItemWithIndex(const AtomicString& name, unsigne |
updateIdNameCache(); |
const NamedItemCache& cache = namedItemCache(); |
- if (Vector<Element*>* elements = cache.getElementsById(name)) { |
+ if (WillBeHeapVector<RawPtrWillBeMember<Element> >* elements = cache.getElementsById(name)) { |
if (index < elements->size()) |
return elements->at(index); |
index -= elements->size(); |
} |
- if (Vector<Element*>* elements = cache.getElementsByName(name)) { |
+ if (WillBeHeapVector<RawPtrWillBeMember<Element> >* elements = cache.getElementsByName(name)) { |
if (index < elements->size()) |
return elements->at(index); |
} |
@@ -65,9 +65,9 @@ Element* HTMLAllCollection::namedItemWithIndex(const AtomicString& name, unsigne |
return 0; |
} |
-void HTMLAllCollection::namedGetter(const AtomicString& name, bool& returnValue0Enabled, RefPtr<NodeList>& returnValue0, bool& returnValue1Enabled, RefPtr<Element>& returnValue1) |
+void HTMLAllCollection::namedGetter(const AtomicString& name, bool& returnValue0Enabled, RefPtrWillBeRawPtr<NodeList>& returnValue0, bool& returnValue1Enabled, RefPtr<Element>& returnValue1) |
{ |
- Vector<RefPtr<Element> > namedItems; |
+ WillBeHeapVector<RefPtrWillBeMember<Element> > namedItems; |
this->namedItems(name, namedItems); |
if (!namedItems.size()) |
@@ -75,7 +75,12 @@ void HTMLAllCollection::namedGetter(const AtomicString& name, bool& returnValue0 |
if (namedItems.size() == 1) { |
returnValue1Enabled = true; |
+#if ENABLE(OILPAN) |
+ // FIXME: Oilpan: remove once Element becomes [GarbageCollected]. |
+ returnValue1 = PassRefPtr<Element>(namedItems.at(0).get()); |
Mads Ager (chromium)
2014/05/15 10:54:24
Does the following work in both builds?
// FIXME:
sof
2014/05/15 22:15:57
It works to drop down to a bare pointer, the FIXME
|
+#else |
returnValue1 = namedItems.at(0); |
+#endif |
return; |
} |