diff options
Diffstat (limited to 'fpdfsdk/javascript/cjs_runtime.h')
-rw-r--r-- | fpdfsdk/javascript/cjs_runtime.h | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/fpdfsdk/javascript/cjs_runtime.h b/fpdfsdk/javascript/cjs_runtime.h index 33d2956ce3..5157c416ad 100644 --- a/fpdfsdk/javascript/cjs_runtime.h +++ b/fpdfsdk/javascript/cjs_runtime.h @@ -13,6 +13,7 @@ #include <utility> #include <vector> +#include "core/fxcrt/include/cfx_observable.h" #include "core/fxcrt/include/fx_basic.h" #include "fpdfsdk/javascript/JS_EventHandler.h" #include "fpdfsdk/javascript/ijs_runtime.h" @@ -20,16 +21,10 @@ class CJS_Context; -class CJS_Runtime : public IJS_Runtime, public CFXJS_Engine { +class CJS_Runtime : public IJS_Runtime, + public CFXJS_Engine, + public CFX_Observable<CJS_Runtime> { public: - class Observer { - public: - virtual void OnDestroyed() = 0; - - protected: - virtual ~Observer() {} - }; - using FieldEvent = std::pair<CFX_WideString, JS_EVENT_T>; static CJS_Runtime* FromContext(const IJS_Context* cc); @@ -64,9 +59,6 @@ class CJS_Runtime : public IJS_Runtime, public CFXJS_Engine { CFXJSE_Value* pValue) override; #endif // PDF_ENABLE_XFA - void AddObserver(Observer* observer); - void RemoveObserver(Observer* observer); - private: void DefineJSObjects(); @@ -76,7 +68,6 @@ class CJS_Runtime : public IJS_Runtime, public CFXJS_Engine { bool m_bBlocking; bool m_isolateManaged; std::set<FieldEvent> m_FieldEventSet; - std::set<Observer*> m_observers; }; #endif // FPDFSDK_JAVASCRIPT_CJS_RUNTIME_H_ |