| Index: Source/core/html/HTMLInputElement.cpp
|
| diff --git a/Source/core/html/HTMLInputElement.cpp b/Source/core/html/HTMLInputElement.cpp
|
| index 1f2d119823d86ba37185787bd4fa7ada6e0b2b74..4e375f2bee097c38f1d08cd06cbdf73608a8055a 100644
|
| --- a/Source/core/html/HTMLInputElement.cpp
|
| +++ b/Source/core/html/HTMLInputElement.cpp
|
| @@ -82,7 +82,7 @@ namespace WebCore {
|
|
|
| using namespace HTMLNames;
|
|
|
| -class ListAttributeTargetObserver : IdTargetObserver {
|
| +class ListAttributeTargetObserver : public IdTargetObserver {
|
| WTF_MAKE_FAST_ALLOCATED;
|
| public:
|
| static PassOwnPtr<ListAttributeTargetObserver> create(const AtomicString& id, HTMLInputElement*);
|
| @@ -1499,12 +1499,19 @@ bool HTMLInputElement::hasValidDataListOptions() const
|
| return false;
|
| }
|
|
|
| +void HTMLInputElement::setListAttributeTargetObserver(PassOwnPtr<ListAttributeTargetObserver> newObserver)
|
| +{
|
| + if (m_listAttributeTargetObserver)
|
| + m_listAttributeTargetObserver->unregister();
|
| + m_listAttributeTargetObserver = newObserver;
|
| +}
|
| +
|
| void HTMLInputElement::resetListAttributeTargetObserver()
|
| {
|
| if (inDocument())
|
| - m_listAttributeTargetObserver = ListAttributeTargetObserver::create(fastGetAttribute(listAttr), this);
|
| + setListAttributeTargetObserver(ListAttributeTargetObserver::create(fastGetAttribute(listAttr), this));
|
| else
|
| - m_listAttributeTargetObserver = nullptr;
|
| + setListAttributeTargetObserver(nullptr);
|
| }
|
|
|
| void HTMLInputElement::listAttributeTargetChanged()
|
|
|