Index: third_party/WebKit/Source/core/html/HTMLSelectElement.cpp |
diff --git a/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp b/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp |
index 48f220419512dc8ba3bb8e1ef63255ca05d391b6..195dbc2f6b93677706902a854402726d6dbc24d7 100644 |
--- a/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp |
+++ b/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp |
@@ -2015,6 +2015,10 @@ public: |
private: |
void call(const HeapVector<Member<MutationRecord>>&, MutationObserver*) override |
{ |
+ // We disconnect the MutationObserver when a popuup is closed. However |
+ // MutationObserver can call back after disconnection. |
+ if (!m_select->popupIsVisible()) |
+ return; |
m_select->didMutateSubtree(); |
} |