| Index: Source/core/html/HTMLInputElement.cpp
|
| diff --git a/Source/core/html/HTMLInputElement.cpp b/Source/core/html/HTMLInputElement.cpp
|
| index 331b34cbb75a2ab2b59c197deadf093c1ff9ed16..3e857c4f356e82835673d5f78856f219c4e439b3 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*);
|
| @@ -1516,12 +1516,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()
|
|
|