summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/events/before_unload_event.h
diff options
context:
space:
mode:
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.h14
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_;
};