diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/events/before_unload_event.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/events/before_unload_event.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/chromium/third_party/blink/renderer/core/events/before_unload_event.h b/chromium/third_party/blink/renderer/core/events/before_unload_event.h index 6d735418639..2782808c164 100644 --- a/chromium/third_party/blink/renderer/core/events/before_unload_event.h +++ b/chromium/third_party/blink/renderer/core/events/before_unload_event.h @@ -34,9 +34,12 @@ class BeforeUnloadEvent final : public Event { DEFINE_WRAPPERTYPEINFO(); public: + BeforeUnloadEvent(); ~BeforeUnloadEvent() override; - static BeforeUnloadEvent* Create() { return new BeforeUnloadEvent; } + static BeforeUnloadEvent* Create() { + return MakeGarbageCollected<BeforeUnloadEvent>(); + } bool IsBeforeUnloadEvent() const override; @@ -49,11 +52,16 @@ class BeforeUnloadEvent final : public Event { return event_interface_names::kBeforeUnloadEvent; } + // A confirmation dialog for leaving a page is expected to be shown + // regardless of the state of the page. So, beforeunload's event + // listeners should always run regardless of pause. + bool ShouldDispatchEvenWhenExecutionContextIsPaused() const override { + return true; + } + void Trace(blink::Visitor*) override; private: - BeforeUnloadEvent(); - String return_value_; }; |