diff options
-rw-r--r-- | BUILD.gn | 6 | ||||
-rw-r--r-- | fpdfsdk/javascript/cjs_event_context_stub.cpp | 12 | ||||
-rw-r--r-- | fpdfsdk/javascript/cjs_event_context_stub.h (renamed from fpdfsdk/javascript/JS_Runtime_Stub.cpp) | 60 | ||||
-rw-r--r-- | fpdfsdk/javascript/cjs_runtimestub.cpp | 60 |
4 files changed, 82 insertions, 56 deletions
@@ -1261,7 +1261,11 @@ static_library("javascript") { deps += [ ":fxjs" ] configs += [ "//v8:external_startup_data" ] } else { - sources += [ "fpdfsdk/javascript/JS_Runtime_Stub.cpp" ] + sources += [ + "fpdfsdk/javascript/cjs_event_context_stub.cpp", + "fpdfsdk/javascript/cjs_event_context_stub.h", + "fpdfsdk/javascript/cjs_runtimestub.cpp", + ] } } diff --git a/fpdfsdk/javascript/cjs_event_context_stub.cpp b/fpdfsdk/javascript/cjs_event_context_stub.cpp new file mode 100644 index 0000000000..ac8022b8ed --- /dev/null +++ b/fpdfsdk/javascript/cjs_event_context_stub.cpp @@ -0,0 +1,12 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "fpdfsdk/javascript/cjs_event_context_stub.h" + +bool CJS_EventContextStub::RunScript(const WideString& script, + WideString* info) { + return false; +} diff --git a/fpdfsdk/javascript/JS_Runtime_Stub.cpp b/fpdfsdk/javascript/cjs_event_context_stub.h index d25e257851..f3763c3f1f 100644 --- a/fpdfsdk/javascript/JS_Runtime_Stub.cpp +++ b/fpdfsdk/javascript/cjs_event_context_stub.h @@ -1,15 +1,13 @@ -// Copyright 2015 PDFium Authors. All rights reserved. +// Copyright 2017 PDFium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com -#include <memory> +#ifndef FPDFSDK_JAVASCRIPT_CJS_EVENT_CONTEXT_STUB_H_ +#define FPDFSDK_JAVASCRIPT_CJS_EVENT_CONTEXT_STUB_H_ -#include "core/fxcrt/unowned_ptr.h" #include "fpdfsdk/javascript/ijs_event_context.h" -#include "fpdfsdk/javascript/ijs_runtime.h" -#include "third_party/base/ptr_util.h" class CJS_EventContextStub final : public IJS_EventContext { public: @@ -17,9 +15,7 @@ class CJS_EventContextStub final : public IJS_EventContext { ~CJS_EventContextStub() override {} // IJS_EventContext: - bool RunScript(const WideString& script, WideString* info) override { - return false; - } + bool RunScript(const WideString& script, WideString* info) override; void OnApp_Init() override {} void OnDoc_Open(CPDFSDK_FormFillEnvironment* pFormFillEnv, @@ -119,50 +115,4 @@ class CJS_EventContextStub final : public IJS_EventContext { void OnExternal_Exec() override {} }; -class CJS_RuntimeStub final : public IJS_Runtime { - public: - explicit CJS_RuntimeStub(CPDFSDK_FormFillEnvironment* pFormFillEnv) - : m_pFormFillEnv(pFormFillEnv) {} - ~CJS_RuntimeStub() override {} - - IJS_EventContext* NewEventContext() override { - if (!m_pContext) - m_pContext = pdfium::MakeUnique<CJS_EventContextStub>(); - return m_pContext.get(); - } - - void ReleaseEventContext(IJS_EventContext* pContext) override {} - - CPDFSDK_FormFillEnvironment* GetFormFillEnv() const override { - return m_pFormFillEnv.Get(); - } - -#ifdef PDF_ENABLE_XFA - bool GetValueByName(const ByteStringView&, CFXJSE_Value*) override { - return false; - } - - bool SetValueByName(const ByteStringView&, CFXJSE_Value*) override { - return false; - } -#endif // PDF_ENABLE_XFA - - int ExecuteScript(const WideString& script, WideString* info) override { - return 0; - } - - protected: - UnownedPtr<CPDFSDK_FormFillEnvironment> const m_pFormFillEnv; - std::unique_ptr<CJS_EventContextStub> m_pContext; -}; - -// static -void IJS_Runtime::Initialize(unsigned int slot, void* isolate) {} - -// static -void IJS_Runtime::Destroy() {} - -// static -IJS_Runtime* IJS_Runtime::Create(CPDFSDK_FormFillEnvironment* pFormFillEnv) { - return new CJS_RuntimeStub(pFormFillEnv); -} +#endif // FPDFSDK_JAVASCRIPT_CJS_EVENT_CONTEXT_STUB_H_ diff --git a/fpdfsdk/javascript/cjs_runtimestub.cpp b/fpdfsdk/javascript/cjs_runtimestub.cpp new file mode 100644 index 0000000000..391f400b22 --- /dev/null +++ b/fpdfsdk/javascript/cjs_runtimestub.cpp @@ -0,0 +1,60 @@ +// Copyright 2015 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include <memory> + +#include "core/fxcrt/unowned_ptr.h" +#include "fpdfsdk/javascript/cjs_event_context_stub.h" +#include "fpdfsdk/javascript/ijs_runtime.h" +#include "third_party/base/ptr_util.h" + +class CJS_RuntimeStub final : public IJS_Runtime { + public: + explicit CJS_RuntimeStub(CPDFSDK_FormFillEnvironment* pFormFillEnv) + : m_pFormFillEnv(pFormFillEnv) {} + ~CJS_RuntimeStub() override {} + + IJS_EventContext* NewEventContext() override { + if (!m_pContext) + m_pContext = pdfium::MakeUnique<CJS_EventContextStub>(); + return m_pContext.get(); + } + + void ReleaseEventContext(IJS_EventContext* pContext) override {} + + CPDFSDK_FormFillEnvironment* GetFormFillEnv() const override { + return m_pFormFillEnv.Get(); + } + +#ifdef PDF_ENABLE_XFA + bool GetValueByName(const ByteStringView&, CFXJSE_Value*) override { + return false; + } + + bool SetValueByName(const ByteStringView&, CFXJSE_Value*) override { + return false; + } +#endif // PDF_ENABLE_XFA + + int ExecuteScript(const WideString& script, WideString* info) override { + return 0; + } + + protected: + UnownedPtr<CPDFSDK_FormFillEnvironment> const m_pFormFillEnv; + std::unique_ptr<CJS_EventContextStub> m_pContext; +}; + +// static +void IJS_Runtime::Initialize(unsigned int slot, void* isolate) {} + +// static +void IJS_Runtime::Destroy() {} + +// static +IJS_Runtime* IJS_Runtime::Create(CPDFSDK_FormFillEnvironment* pFormFillEnv) { + return new CJS_RuntimeStub(pFormFillEnv); +} |