From 8cadf995e9a0fec8da19f69edac9d10fccca7eed Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Wed, 4 Nov 2015 14:40:02 -0800 Subject: Make JS app.setTimeOut() work again. This regressed in commit 794c9b6. BUG=551248 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1424743006 . --- fpdfsdk/src/fpdfformfill_embeddertest.cpp | 23 +++++++++++++++++++++++ fpdfsdk/src/javascript/JS_Object.cpp | 1 + 2 files changed, 24 insertions(+) (limited to 'fpdfsdk') diff --git a/fpdfsdk/src/fpdfformfill_embeddertest.cpp b/fpdfsdk/src/fpdfformfill_embeddertest.cpp index 56710b9f83..aef1b81233 100644 --- a/fpdfsdk/src/fpdfformfill_embeddertest.cpp +++ b/fpdfsdk/src/fpdfformfill_embeddertest.cpp @@ -6,6 +6,7 @@ #include "../../testing/embedder_test.h" #include "../../testing/embedder_test_mock_delegate.h" #include "../../testing/embedder_test_timer_handling_delegate.h" +#include "../../testing/test_support.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" @@ -63,3 +64,25 @@ TEST_F(FPDFFormFillEmbeddertest, BUG_514690) { UnloadPage(page); } + +TEST_F(FPDFFormFillEmbeddertest, BUG_551248) { + EmbedderTestTimerHandlingDelegate delegate; + SetDelegate(&delegate); + + EXPECT_TRUE(OpenDocument("testing/resources/bug_551248.pdf")); + FPDF_PAGE page = LoadPage(0); + EXPECT_NE(nullptr, page); + DoOpenActions(); + delegate.AdvanceTime(5000); + UnloadPage(page); + + const auto& alerts = delegate.GetAlerts(); + ASSERT_EQ(1U, alerts.size()); + + std::wstring message = GetWideString(alerts[0].message); + std::wstring title = GetWideString(alerts[0].title); + EXPECT_STREQ(L"hello world", message.c_str()); + EXPECT_STREQ(L"Alert", title.c_str()); + EXPECT_EQ(0, alerts[0].type); + EXPECT_EQ(0, alerts[0].icon); +} diff --git a/fpdfsdk/src/javascript/JS_Object.cpp b/fpdfsdk/src/javascript/JS_Object.cpp index 0556c4ea47..883ecc82ae 100644 --- a/fpdfsdk/src/javascript/JS_Object.cpp +++ b/fpdfsdk/src/javascript/JS_Object.cpp @@ -108,6 +108,7 @@ CJS_Timer::CJS_Timer(CJS_EmbedObj* pObj, m_bValid(true), m_nType(nType), m_dwTimeOut(dwTimeOut), + m_swJScript(script), m_pRuntime(pRuntime), m_pApp(pApp) { IFX_SystemHandler* pHandler = m_pApp->GetSysHandler(); -- cgit v1.2.3