summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Userland/Libraries/LibWeb/Page/Frame.cpp13
-rw-r--r--Userland/Libraries/LibWeb/UIEvents/EventNames.h4
2 files changed, 13 insertions, 4 deletions
diff --git a/Userland/Libraries/LibWeb/Page/Frame.cpp b/Userland/Libraries/LibWeb/Page/Frame.cpp
index 4c90e16fa1..658694aab8 100644
--- a/Userland/Libraries/LibWeb/Page/Frame.cpp
+++ b/Userland/Libraries/LibWeb/Page/Frame.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
+ * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -25,12 +25,15 @@
*/
#include <LibWeb/DOM/Document.h>
+#include <LibWeb/DOM/Event.h>
+#include <LibWeb/DOM/Window.h>
#include <LibWeb/HTML/HTMLAnchorElement.h>
#include <LibWeb/InProcessWebView.h>
#include <LibWeb/Layout/BreakNode.h>
#include <LibWeb/Layout/InitialContainingBlockBox.h>
#include <LibWeb/Layout/TextNode.h>
#include <LibWeb/Page/Frame.h>
+#include <LibWeb/UIEvents/EventNames.h>
namespace Web {
@@ -113,8 +116,10 @@ void Frame::set_viewport_rect(const Gfx::IntRect& rect)
if (m_size != rect.size()) {
m_size = rect.size();
- if (m_document)
+ if (m_document) {
+ m_document->window().dispatch_event(DOM::Event::create(UIEvents::EventNames::resize));
m_document->update_layout();
+ }
did_change = true;
}
@@ -134,8 +139,10 @@ void Frame::set_size(const Gfx::IntSize& size)
if (m_size == size)
return;
m_size = size;
- if (m_document)
+ if (m_document) {
+ m_document->window().dispatch_event(DOM::Event::create(UIEvents::EventNames::resize));
m_document->update_layout();
+ }
for (auto* client : m_viewport_clients)
client->frame_did_set_viewport_rect(viewport_rect());
diff --git a/Userland/Libraries/LibWeb/UIEvents/EventNames.h b/Userland/Libraries/LibWeb/UIEvents/EventNames.h
index 3667a32f9b..adb1e3cdd5 100644
--- a/Userland/Libraries/LibWeb/UIEvents/EventNames.h
+++ b/Userland/Libraries/LibWeb/UIEvents/EventNames.h
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2020, the SerenityOS developers.
+ * Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -40,7 +41,8 @@ namespace Web::UIEvents::EventNames {
__ENUMERATE_UI_EVENT(mousemove) \
__ENUMERATE_UI_EVENT(mouseout) \
__ENUMERATE_UI_EVENT(mouseover) \
- __ENUMERATE_UI_EVENT(mouseup)
+ __ENUMERATE_UI_EVENT(mouseup) \
+ __ENUMERATE_UI_EVENT(resize)
#define __ENUMERATE_UI_EVENT(name) extern FlyString name;
ENUMERATE_UI_EVENTS