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;