summaryrefslogtreecommitdiff
path: root/testing/embedder_test_timer_handling_delegate.h
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2015-11-04 14:40:02 -0800
committerLei Zhang <thestig@chromium.org>2015-11-04 14:40:02 -0800
commit8cadf995e9a0fec8da19f69edac9d10fccca7eed (patch)
treef9243907b097b72099dedbcb1b2a011911a4fcf6 /testing/embedder_test_timer_handling_delegate.h
parent9e48432750f7d86a43c3d10f47a057f8360f7619 (diff)
downloadpdfium-8cadf995e9a0fec8da19f69edac9d10fccca7eed.tar.xz
Make JS app.setTimeOut() work again.
This regressed in commit 794c9b6. BUG=551248 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1424743006 .
Diffstat (limited to 'testing/embedder_test_timer_handling_delegate.h')
-rw-r--r--testing/embedder_test_timer_handling_delegate.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/testing/embedder_test_timer_handling_delegate.h b/testing/embedder_test_timer_handling_delegate.h
index aca4ac1b77..0137aae45f 100644
--- a/testing/embedder_test_timer_handling_delegate.h
+++ b/testing/embedder_test_timer_handling_delegate.h
@@ -7,11 +7,33 @@
#include <map>
#include <utility>
+#include <vector>
#include "embedder_test.h"
class EmbedderTestTimerHandlingDelegate : public EmbedderTest::Delegate {
public:
+ struct ReceivedAlert {
+ ReceivedAlert(FPDF_WIDESTRING message_in,
+ FPDF_WIDESTRING title_in,
+ int type_in,
+ int icon_in)
+ : message(message_in), title(title_in), type(type_in), icon(icon_in) {}
+
+ FPDF_WIDESTRING message;
+ FPDF_WIDESTRING title;
+ int type;
+ int icon;
+ };
+
+ int Alert(FPDF_WIDESTRING message,
+ FPDF_WIDESTRING title,
+ int type,
+ int icon) override {
+ alerts_.push_back(ReceivedAlert(message, title, type, icon));
+ return 0;
+ }
+
int SetTimer(int msecs, TimerCallback fn) override {
expiry_to_timer_map_.insert(std::pair<int, Timer>(
msecs + imaginary_elapsed_msecs_, Timer(++next_timer_id_, fn)));
@@ -44,11 +66,14 @@ class EmbedderTestTimerHandlingDelegate : public EmbedderTest::Delegate {
}
}
+ const std::vector<ReceivedAlert>& GetAlerts() const { return alerts_; }
+
protected:
using Timer = std::pair<int, TimerCallback>; // ID, callback pair.
std::multimap<int, Timer> expiry_to_timer_map_; // Keyed by timeout.
int next_timer_id_ = 0;
int imaginary_elapsed_msecs_ = 0;
+ std::vector<ReceivedAlert> alerts_;
};
#endif // TESTING_EMBEDDER_TEST_TIMER_HANDLING_DELEGATE_H_