| Index: Source/core/html/HTMLInputElement.cpp
|
| diff --git a/Source/core/html/HTMLInputElement.cpp b/Source/core/html/HTMLInputElement.cpp
|
| index c24197a4db4025affc8e08b5c8175d63d47d74d5..eced9d14123e3d6a45bdbece18808ce75881293a 100644
|
| --- a/Source/core/html/HTMLInputElement.cpp
|
| +++ b/Source/core/html/HTMLInputElement.cpp
|
| @@ -83,15 +83,16 @@ namespace WebCore {
|
| using namespace HTMLNames;
|
|
|
| class ListAttributeTargetObserver : public IdTargetObserver {
|
| - WTF_MAKE_FAST_ALLOCATED;
|
| + WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
|
| public:
|
| - static PassOwnPtr<ListAttributeTargetObserver> create(const AtomicString& id, HTMLInputElement*);
|
| + static PassOwnPtrWillBeRawPtr<ListAttributeTargetObserver> create(const AtomicString& id, HTMLInputElement*);
|
| + virtual void trace(Visitor*) OVERRIDE;
|
| virtual void idTargetChanged() OVERRIDE;
|
|
|
| private:
|
| ListAttributeTargetObserver(const AtomicString& id, HTMLInputElement*);
|
|
|
| - HTMLInputElement* m_element;
|
| + RawPtrWillBeMember<HTMLInputElement> m_element;
|
| };
|
|
|
| // FIXME: According to HTML4, the length attribute's value can be arbitrarily
|
| @@ -140,6 +141,7 @@ void HTMLInputElement::trace(Visitor* visitor)
|
| {
|
| visitor->trace(m_inputType);
|
| visitor->trace(m_inputTypeView);
|
| + visitor->trace(m_listAttributeTargetObserver);
|
| HTMLTextFormControlElement::trace(visitor);
|
| }
|
|
|
| @@ -1507,7 +1509,7 @@ bool HTMLInputElement::hasValidDataListOptions() const
|
| return false;
|
| }
|
|
|
| -void HTMLInputElement::setListAttributeTargetObserver(PassOwnPtr<ListAttributeTargetObserver> newObserver)
|
| +void HTMLInputElement::setListAttributeTargetObserver(PassOwnPtrWillBeRawPtr<ListAttributeTargetObserver> newObserver)
|
| {
|
| if (m_listAttributeTargetObserver)
|
| m_listAttributeTargetObserver->unregister();
|
| @@ -1762,9 +1764,9 @@ void HTMLInputElement::setWidth(unsigned width)
|
| setUnsignedIntegralAttribute(widthAttr, width);
|
| }
|
|
|
| -PassOwnPtr<ListAttributeTargetObserver> ListAttributeTargetObserver::create(const AtomicString& id, HTMLInputElement* element)
|
| +PassOwnPtrWillBeRawPtr<ListAttributeTargetObserver> ListAttributeTargetObserver::create(const AtomicString& id, HTMLInputElement* element)
|
| {
|
| - return adoptPtr(new ListAttributeTargetObserver(id, element));
|
| + return adoptPtrWillBeNoop(new ListAttributeTargetObserver(id, element));
|
| }
|
|
|
| ListAttributeTargetObserver::ListAttributeTargetObserver(const AtomicString& id, HTMLInputElement* element)
|
| @@ -1773,6 +1775,12 @@ ListAttributeTargetObserver::ListAttributeTargetObserver(const AtomicString& id,
|
| {
|
| }
|
|
|
| +void ListAttributeTargetObserver::trace(Visitor* visitor)
|
| +{
|
| + visitor->trace(m_element);
|
| + IdTargetObserver::trace(visitor);
|
| +}
|
| +
|
| void ListAttributeTargetObserver::idTargetChanged()
|
| {
|
| m_element->listAttributeTargetChanged();
|
|
|