Merge to XFA: Use std::set<> to track active event handlers.
Merge conflicts in JS_Runtime.cpp
(cherry picked from commit d8d223127d706aa4961b2c9b0037ab256fce9a8f)
Original Review URL: https://codereview.chromium.org/1352393003 .
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1365503003 .
diff --git a/fpdfsdk/src/javascript/JS_Context.cpp b/fpdfsdk/src/javascript/JS_Context.cpp
index d4d1f2c..f090326 100644
--- a/fpdfsdk/src/javascript/JS_Context.cpp
+++ b/fpdfsdk/src/javascript/JS_Context.cpp
@@ -47,8 +47,9 @@
m_bBusy = TRUE;
ASSERT(m_pEventHandler->IsValid());
- if (!m_pRuntime->AddEventToLoop(m_pEventHandler->TargetName(),
- m_pEventHandler->EventType())) {
+ CJS_Runtime::FieldEvent event(m_pEventHandler->TargetName(),
+ m_pEventHandler->EventType());
+ if (!m_pRuntime->AddEventToSet(event)) {
info = JSGetStringFromID(this, IDS_STRING_JSEVENT);
return FALSE;
}
@@ -69,9 +70,7 @@
info = JSGetStringFromID(this, IDS_STRING_RUN);
}
- m_pRuntime->RemoveEventInLoop(m_pEventHandler->TargetName(),
- m_pEventHandler->EventType());
-
+ m_pRuntime->RemoveEventFromSet(event);
m_pEventHandler->Destroy();
m_bBusy = FALSE;