mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-03-22 04:34:44 +00:00
create distinct Event objects for each load event
This commit is contained in:
@@ -698,8 +698,6 @@ pub fn documentIsComplete(self: *Page) void {
|
|||||||
fn _documentIsComplete(self: *Page) !void {
|
fn _documentIsComplete(self: *Page) !void {
|
||||||
self.document._ready_state = .complete;
|
self.document._ready_state = .complete;
|
||||||
|
|
||||||
const event = try Event.initTrusted("load", .{}, self);
|
|
||||||
|
|
||||||
var ls: JS.Local.Scope = undefined;
|
var ls: JS.Local.Scope = undefined;
|
||||||
self.js.localScope(&ls);
|
self.js.localScope(&ls);
|
||||||
defer ls.deinit();
|
defer ls.deinit();
|
||||||
@@ -707,6 +705,7 @@ fn _documentIsComplete(self: *Page) !void {
|
|||||||
// Dispatch `_to_load` events before window.load.
|
// Dispatch `_to_load` events before window.load.
|
||||||
for (self._to_load.items) |element| {
|
for (self._to_load.items) |element| {
|
||||||
const maybe_inline_listener = self.getAttrListener(element, .onload);
|
const maybe_inline_listener = self.getAttrListener(element, .onload);
|
||||||
|
const event = try Event.initTrusted("load", .{}, self);
|
||||||
|
|
||||||
try self._event_manager.dispatchWithFunction(
|
try self._event_manager.dispatchWithFunction(
|
||||||
element.asEventTarget(),
|
element.asEventTarget(),
|
||||||
@@ -724,6 +723,7 @@ fn _documentIsComplete(self: *Page) !void {
|
|||||||
self._to_load.clearAndFree(self.arena);
|
self._to_load.clearAndFree(self.arena);
|
||||||
|
|
||||||
// Dispatch window.load event.
|
// Dispatch window.load event.
|
||||||
|
const event = try Event.initTrusted("load", .{}, self);
|
||||||
// This event is weird, it's dispatched directly on the window, but
|
// This event is weird, it's dispatched directly on the window, but
|
||||||
// with the document as the target.
|
// with the document as the target.
|
||||||
event._target = self.document.asEventTarget();
|
event._target = self.document.asEventTarget();
|
||||||
|
|||||||
Reference in New Issue
Block a user