diff --git a/src/browser/EventManager.zig b/src/browser/EventManager.zig
index dbb9af48..6c0669ca 100644
--- a/src/browser/EventManager.zig
+++ b/src/browser/EventManager.zig
@@ -20,8 +20,6 @@ const std = @import("std");
const lp = @import("lightpanda");
const builtin = @import("builtin");
-const String = @import("../string.zig").String;
-
const js = @import("js/js.zig");
const Page = @import("Page.zig");
const EventManagerBase = @import("EventManagerBase.zig");
@@ -32,6 +30,7 @@ const EventTarget = @import("webapi/EventTarget.zig");
const Element = @import("webapi/Element.zig");
const log = lp.log;
+const String = lp.String;
const Allocator = std.mem.Allocator;
// Re-export types from EventManagerBase for API compatibility
diff --git a/src/browser/EventManagerBase.zig b/src/browser/EventManagerBase.zig
index b5f22feb..055ea213 100644
--- a/src/browser/EventManagerBase.zig
+++ b/src/browser/EventManagerBase.zig
@@ -20,8 +20,6 @@ const std = @import("std");
const lp = @import("lightpanda");
const builtin = @import("builtin");
-const String = @import("../string.zig").String;
-
const js = @import("js/js.zig");
const Session = @import("Session.zig");
@@ -29,6 +27,7 @@ const Event = @import("webapi/Event.zig");
const EventTarget = @import("webapi/EventTarget.zig");
const log = lp.log;
+const String = lp.String;
const Allocator = std.mem.Allocator;
const IS_DEBUG = builtin.mode == .Debug;
diff --git a/src/browser/Factory.zig b/src/browser/Factory.zig
index f2605d68..682a89ba 100644
--- a/src/browser/Factory.zig
+++ b/src/browser/Factory.zig
@@ -21,7 +21,6 @@ const lp = @import("lightpanda");
const builtin = @import("builtin");
const reflect = @import("reflect.zig");
-const String = @import("../string.zig").String;
const SlabAllocator = @import("../slab.zig").SlabAllocator;
@@ -38,6 +37,7 @@ const Blob = @import("webapi/Blob.zig");
const AbstractRange = @import("webapi/AbstractRange.zig");
const log = lp.log;
+const String = lp.String;
const assert = std.debug.assert;
const Allocator = std.mem.Allocator;
const IS_DEBUG = builtin.mode == .Debug;
diff --git a/src/browser/Page.zig b/src/browser/Page.zig
index d4721315..d68d8780 100644
--- a/src/browser/Page.zig
+++ b/src/browser/Page.zig
@@ -20,8 +20,6 @@ const std = @import("std");
const lp = @import("lightpanda");
const builtin = @import("builtin");
-const String = @import("../string.zig").String;
-
const JS = @import("js/js.zig");
const Mime = @import("Mime.zig");
const Factory = @import("Factory.zig");
@@ -68,6 +66,7 @@ const WebApiURL = @import("webapi/URL.zig");
const GlobalEventHandlersLookup = @import("webapi/global_event_handlers.zig").Lookup;
const log = lp.log;
+const String = lp.String;
const IFrame = Element.Html.IFrame;
const Allocator = std.mem.Allocator;
const IS_DEBUG = builtin.mode == .Debug;
diff --git a/src/browser/ScriptManager.zig b/src/browser/ScriptManager.zig
index e95049c7..a6597941 100644
--- a/src/browser/ScriptManager.zig
+++ b/src/browser/ScriptManager.zig
@@ -22,7 +22,6 @@ const builtin = @import("builtin");
const HttpClient = @import("HttpClient.zig");
const http = @import("../network/http.zig");
-const String = @import("../string.zig").String;
const js = @import("js/js.zig");
const URL = @import("URL.zig");
@@ -31,6 +30,7 @@ const Page = @import("Page.zig");
const Element = @import("webapi/Element.zig");
const log = lp.log;
+const String = lp.String;
const Allocator = std.mem.Allocator;
const IS_DEBUG = builtin.mode == .Debug;
diff --git a/src/browser/StyleManager.zig b/src/browser/StyleManager.zig
index f4ddf048..85e098dc 100644
--- a/src/browser/StyleManager.zig
+++ b/src/browser/StyleManager.zig
@@ -18,7 +18,6 @@
const std = @import("std");
const lp = @import("lightpanda");
-const String = @import("../string.zig").String;
const Page = @import("Page.zig");
@@ -35,6 +34,7 @@ const CSSStyleProperties = @import("webapi/css/CSSStyleProperties.zig");
const CSSStyleProperty = @import("webapi/css/CSSStyleDeclaration.zig").Property;
const log = lp.log;
+const String = lp.String;
const Allocator = std.mem.Allocator;
pub const VisibilityCache = std.AutoHashMapUnmanaged(*Element, bool);
diff --git a/src/browser/js/String.zig b/src/browser/js/String.zig
index 8d29d838..cb6aee2a 100644
--- a/src/browser/js/String.zig
+++ b/src/browser/js/String.zig
@@ -17,8 +17,9 @@
// along with this program. If not, see .
const std = @import("std");
+const lp = @import("lightpanda");
+
const js = @import("js.zig");
-const SSO = @import("../../string.zig").String;
const Allocator = std.mem.Allocator;
const IS_DEBUG = @import("builtin").mode == .Debug;
@@ -54,13 +55,13 @@ fn _toSlice(self: String, comptime null_terminate: bool, allocator: Allocator) !
return buf;
}
-pub fn toSSO(self: String, comptime global: bool) !(if (global) SSO.Global else SSO) {
+pub fn toSSO(self: String, comptime global: bool) !(if (global) lp.String.Global else lp.String) {
if (comptime global) {
return .{ .str = try self.toSSOWithAlloc(self.local.ctx.session.page_arena) };
}
return self.toSSOWithAlloc(self.local.call_arena);
}
-pub fn toSSOWithAlloc(self: String, allocator: Allocator) !SSO {
+pub fn toSSOWithAlloc(self: String, allocator: Allocator) !lp.String {
const handle = self.handle;
const isolate = self.local.isolate.handle;
diff --git a/src/browser/js/Value.zig b/src/browser/js/Value.zig
index b7e8b4ca..3105b95e 100644
--- a/src/browser/js/Value.zig
+++ b/src/browser/js/Value.zig
@@ -17,8 +17,9 @@
// along with this program. If not, see .
const std = @import("std");
+const lp = @import("lightpanda");
+
const js = @import("js.zig");
-const SSO = @import("../../string.zig").String;
const v8 = js.v8;
@@ -277,10 +278,10 @@ pub fn toString(self: Value) !js.String {
return .{ .local = self.local, .handle = str_handle };
}
-pub fn toSSO(self: Value, comptime global: bool) !(if (global) SSO.Global else SSO) {
+pub fn toSSO(self: Value, comptime global: bool) !(if (global) lp.String.Global else lp.String) {
return (try self.toString()).toSSO(global);
}
-pub fn toSSOWithAlloc(self: Value, allocator: Allocator) !SSO {
+pub fn toSSOWithAlloc(self: Value, allocator: Allocator) !lp.String {
return (try self.toString()).toSSOWithAlloc(allocator);
}
diff --git a/src/browser/webapi/CData.zig b/src/browser/webapi/CData.zig
index 3a294793..642918a1 100644
--- a/src/browser/webapi/CData.zig
+++ b/src/browser/webapi/CData.zig
@@ -17,7 +17,7 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../js/js.zig");
const Page = @import("../Page.zig");
@@ -28,6 +28,8 @@ pub const Comment = @import("cdata/Comment.zig");
pub const CDATASection = @import("cdata/CDATASection.zig");
pub const ProcessingInstruction = @import("cdata/ProcessingInstruction.zig");
+const String = lp.String;
+
const CData = @This();
_type: Type,
diff --git a/src/browser/webapi/CustomElementDefinition.zig b/src/browser/webapi/CustomElementDefinition.zig
index c89b942a..2e60a8ac 100644
--- a/src/browser/webapi/CustomElementDefinition.zig
+++ b/src/browser/webapi/CustomElementDefinition.zig
@@ -17,11 +17,13 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../js/js.zig");
const Element = @import("Element.zig");
+const String = lp.String;
+
const CustomElementDefinition = @This();
name: []const u8,
diff --git a/src/browser/webapi/Document.zig b/src/browser/webapi/Document.zig
index 6cbbc746..b26df0f4 100644
--- a/src/browser/webapi/Document.zig
+++ b/src/browser/webapi/Document.zig
@@ -19,7 +19,6 @@
const std = @import("std");
const lp = @import("lightpanda");
-const String = @import("../../string.zig").String;
const js = @import("../js/js.zig");
const Page = @import("../Page.zig");
const URL = @import("../URL.zig");
@@ -41,6 +40,7 @@ pub const XMLDocument = @import("XMLDocument.zig");
pub const HTMLDocument = @import("HTMLDocument.zig");
const log = lp.log;
+const String = lp.String;
const IS_DEBUG = @import("builtin").mode == .Debug;
const Document = @This();
@@ -378,7 +378,7 @@ pub fn createEvent(_: *const Document, event_type: []const u8, page: *Page) !*@i
if (std.mem.eql(u8, normalized, "messageevent")) {
const MessageEvent = @import("event/MessageEvent.zig");
- return (try MessageEvent.init("", null, page)).asEvent();
+ return (try MessageEvent.init("", null, page._session)).asEvent();
}
if (std.mem.eql(u8, normalized, "uievent") or std.mem.eql(u8, normalized, "uievents")) {
diff --git a/src/browser/webapi/Element.zig b/src/browser/webapi/Element.zig
index 4d11f4f4..24cc0fe6 100644
--- a/src/browser/webapi/Element.zig
+++ b/src/browser/webapi/Element.zig
@@ -19,8 +19,6 @@
const std = @import("std");
const lp = @import("lightpanda");
-const String = @import("../../string.zig").String;
-
const js = @import("../js/js.zig");
const Page = @import("../Page.zig");
const StyleManager = @import("../StyleManager.zig");
@@ -42,6 +40,7 @@ pub const Html = @import("element/Html.zig");
pub const Attribute = @import("element/Attribute.zig");
const log = lp.log;
+const String = lp.String;
const Element = @This();
diff --git a/src/browser/webapi/Event.zig b/src/browser/webapi/Event.zig
index 50895866..fc359e3f 100644
--- a/src/browser/webapi/Event.zig
+++ b/src/browser/webapi/Event.zig
@@ -20,13 +20,13 @@ const std = @import("std");
const lp = @import("lightpanda");
const js = @import("../js/js.zig");
-
const Page = @import("../Page.zig");
const Session = @import("../Session.zig");
-const EventTarget = @import("EventTarget.zig");
-const Node = @import("Node.zig");
-const String = @import("../../string.zig").String;
+const Node = @import("Node.zig");
+const EventTarget = @import("EventTarget.zig");
+
+const String = lp.String;
const Allocator = std.mem.Allocator;
const IS_DEBUG = @import("builtin").mode == .Debug;
diff --git a/src/browser/webapi/ImageData.zig b/src/browser/webapi/ImageData.zig
index 47283498..029aecd9 100644
--- a/src/browser/webapi/ImageData.zig
+++ b/src/browser/webapi/ImageData.zig
@@ -17,12 +17,13 @@
// along with this program. If not, see .
const std = @import("std");
-
-const String = @import("../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../js/js.zig");
const Page = @import("../Page.zig");
+const String = lp.String;
+
/// https://developer.mozilla.org/en-US/docs/Web/API/ImageData/ImageData
const ImageData = @This();
_width: u32,
diff --git a/src/browser/webapi/KeyValueList.zig b/src/browser/webapi/KeyValueList.zig
index 7a19c15b..59df861b 100644
--- a/src/browser/webapi/KeyValueList.zig
+++ b/src/browser/webapi/KeyValueList.zig
@@ -17,13 +17,13 @@
// along with this program. If not, see .
const std = @import("std");
-
-const String = @import("../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../js/js.zig");
const Page = @import("../Page.zig");
const h5e = @import("../parser/html5ever.zig");
+const String = lp.String;
const Execution = js.Execution;
const Allocator = std.mem.Allocator;
diff --git a/src/browser/webapi/MutationObserver.zig b/src/browser/webapi/MutationObserver.zig
index 4a31e921..0435788b 100644
--- a/src/browser/webapi/MutationObserver.zig
+++ b/src/browser/webapi/MutationObserver.zig
@@ -18,7 +18,6 @@
const std = @import("std");
const lp = @import("lightpanda");
-const String = @import("../../string.zig").String;
const js = @import("../js/js.zig");
const Page = @import("../Page.zig");
@@ -28,9 +27,9 @@ const Node = @import("Node.zig");
const Element = @import("Element.zig");
const log = lp.log;
-const IS_DEBUG = @import("builtin").mode == .Debug;
-
+const String = lp.String;
const Allocator = std.mem.Allocator;
+const IS_DEBUG = @import("builtin").mode == .Debug;
pub fn registerTypes() []const type {
return &.{
diff --git a/src/browser/webapi/Node.zig b/src/browser/webapi/Node.zig
index 088e7ca5..3c98683d 100644
--- a/src/browser/webapi/Node.zig
+++ b/src/browser/webapi/Node.zig
@@ -18,7 +18,6 @@
const std = @import("std");
const lp = @import("lightpanda");
-const String = @import("../../string.zig").String;
const js = @import("../js/js.zig");
const Page = @import("../Page.zig");
@@ -38,6 +37,7 @@ pub const DocumentType = @import("DocumentType.zig");
pub const ShadowRoot = @import("ShadowRoot.zig");
const log = lp.log;
+const String = lp.String;
const Allocator = std.mem.Allocator;
const LinkedList = std.DoublyLinkedList;
diff --git a/src/browser/webapi/Range.zig b/src/browser/webapi/Range.zig
index dab3db89..2ceb1a08 100644
--- a/src/browser/webapi/Range.zig
+++ b/src/browser/webapi/Range.zig
@@ -17,7 +17,7 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../js/js.zig");
const Page = @import("../Page.zig");
@@ -28,6 +28,8 @@ const DocumentFragment = @import("DocumentFragment.zig");
const AbstractRange = @import("AbstractRange.zig");
const DOMRect = @import("DOMRect.zig");
+const String = lp.String;
+
const Range = @This();
_proto: *AbstractRange,
diff --git a/src/browser/webapi/collections/DOMTokenList.zig b/src/browser/webapi/collections/DOMTokenList.zig
index 0b683339..156f3331 100644
--- a/src/browser/webapi/collections/DOMTokenList.zig
+++ b/src/browser/webapi/collections/DOMTokenList.zig
@@ -18,7 +18,6 @@
const std = @import("std");
const lp = @import("lightpanda");
-const String = @import("../../../string.zig").String;
const js = @import("../../js/js.zig");
const Page = @import("../../Page.zig");
@@ -26,6 +25,7 @@ const Element = @import("../Element.zig");
const GenericIterator = @import("iterator.zig").Entry;
const log = lp.log;
+const String = lp.String;
pub const DOMTokenList = @This();
diff --git a/src/browser/webapi/collections/node_live.zig b/src/browser/webapi/collections/node_live.zig
index 4b262761..45207bbb 100644
--- a/src/browser/webapi/collections/node_live.zig
+++ b/src/browser/webapi/collections/node_live.zig
@@ -19,8 +19,6 @@
const std = @import("std");
const lp = @import("lightpanda");
-const String = @import("../../../string.zig").String;
-
const js = @import("../../js/js.zig");
const Page = @import("../../Page.zig");
@@ -30,6 +28,8 @@ const TreeWalker = @import("../TreeWalker.zig");
const Selector = @import("../selector/Selector.zig");
const Form = @import("../element/html/Form.zig");
+const String = lp.String;
+
const Mode = enum {
tag,
tag_name,
diff --git a/src/browser/webapi/css/CSSStyleDeclaration.zig b/src/browser/webapi/css/CSSStyleDeclaration.zig
index 94709096..deff5dbb 100644
--- a/src/browser/webapi/css/CSSStyleDeclaration.zig
+++ b/src/browser/webapi/css/CSSStyleDeclaration.zig
@@ -19,8 +19,6 @@
const std = @import("std");
const lp = @import("lightpanda");
-const String = @import("../../../string.zig").String;
-
const CssParser = @import("../../css/Parser.zig");
const js = @import("../../js/js.zig");
@@ -28,6 +26,7 @@ const Page = @import("../../Page.zig");
const Element = @import("../Element.zig");
const log = lp.log;
+const String = lp.String;
const Allocator = std.mem.Allocator;
const CSSStyleDeclaration = @This();
diff --git a/src/browser/webapi/element/Attribute.zig b/src/browser/webapi/element/Attribute.zig
index 7fa8c4bd..2ef35822 100644
--- a/src/browser/webapi/element/Attribute.zig
+++ b/src/browser/webapi/element/Attribute.zig
@@ -17,15 +17,16 @@
// along with this program. If not, see .
const std = @import("std");
+const lp = @import("lightpanda");
+
const js = @import("../../js/js.zig");
+const Page = @import("../../Page.zig");
const Node = @import("../Node.zig");
const Element = @import("../Element.zig");
const GenericIterator = @import("../collections/iterator.zig").Entry;
-const Page = @import("../../Page.zig");
-const String = @import("../../../string.zig").String;
-
+const String = lp.String;
const Allocator = std.mem.Allocator;
const IS_DEBUG = @import("builtin").mode == .Debug;
diff --git a/src/browser/webapi/element/DOMStringMap.zig b/src/browser/webapi/element/DOMStringMap.zig
index 5592a193..30225dde 100644
--- a/src/browser/webapi/element/DOMStringMap.zig
+++ b/src/browser/webapi/element/DOMStringMap.zig
@@ -17,12 +17,14 @@
// along with this program. If not, see .
const std = @import("std");
+const lp = @import("lightpanda");
+
const js = @import("../../js/js.zig");
+const Page = @import("../../Page.zig");
const Element = @import("../Element.zig");
-const Page = @import("../../Page.zig");
-const String = @import("../../../string.zig").String;
+const String = lp.String;
const Allocator = std.mem.Allocator;
const DOMStringMap = @This();
diff --git a/src/browser/webapi/element/Svg.zig b/src/browser/webapi/element/Svg.zig
index 08ab8f92..1d30d41c 100644
--- a/src/browser/webapi/element/Svg.zig
+++ b/src/browser/webapi/element/Svg.zig
@@ -16,15 +16,16 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const Node = @import("../Node.zig");
const Element = @import("../Element.zig");
-
pub const Generic = @import("svg/Generic.zig");
+const String = lp.String;
+
const Svg = @This();
_type: Type,
_proto: *Element,
diff --git a/src/browser/webapi/element/html/Audio.zig b/src/browser/webapi/element/html/Audio.zig
index 4f7e7491..bf21483c 100644
--- a/src/browser/webapi/element/html/Audio.zig
+++ b/src/browser/webapi/element/html/Audio.zig
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const String = @import("../../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../../js/js.zig");
const Page = @import("../../../Page.zig");
@@ -25,6 +25,8 @@ const Node = @import("../../Node.zig");
const Element = @import("../../Element.zig");
const Media = @import("Media.zig");
+const String = lp.String;
+
const Audio = @This();
_proto: *Media,
diff --git a/src/browser/webapi/element/html/Custom.zig b/src/browser/webapi/element/html/Custom.zig
index 13fa489e..a087a62e 100644
--- a/src/browser/webapi/element/html/Custom.zig
+++ b/src/browser/webapi/element/html/Custom.zig
@@ -18,7 +18,6 @@
const std = @import("std");
const lp = @import("lightpanda");
-const String = @import("../../../../string.zig").String;
const js = @import("../../../js/js.zig");
const Page = @import("../../../Page.zig");
@@ -29,6 +28,7 @@ const HtmlElement = @import("../Html.zig");
const CustomElementDefinition = @import("../../CustomElementDefinition.zig");
const log = lp.log;
+const String = lp.String;
const Custom = @This();
_proto: *HtmlElement,
diff --git a/src/browser/webapi/element/html/Generic.zig b/src/browser/webapi/element/html/Generic.zig
index 15e7d1b1..637f5ff4 100644
--- a/src/browser/webapi/element/html/Generic.zig
+++ b/src/browser/webapi/element/html/Generic.zig
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const String = @import("../../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../../js/js.zig");
@@ -24,6 +24,8 @@ const Node = @import("../../Node.zig");
const Element = @import("../../Element.zig");
const HtmlElement = @import("../Html.zig");
+const String = lp.String;
+
const Generic = @This();
_tag_name: String,
_tag: Element.Tag,
diff --git a/src/browser/webapi/element/html/Heading.zig b/src/browser/webapi/element/html/Heading.zig
index a700bdf0..d0844fe3 100644
--- a/src/browser/webapi/element/html/Heading.zig
+++ b/src/browser/webapi/element/html/Heading.zig
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const String = @import("../../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../../js/js.zig");
@@ -24,6 +24,8 @@ const Node = @import("../../Node.zig");
const Element = @import("../../Element.zig");
const HtmlElement = @import("../Html.zig");
+const String = lp.String;
+
const Heading = @This();
_proto: *HtmlElement,
_tag_name: String,
diff --git a/src/browser/webapi/element/html/Input.zig b/src/browser/webapi/element/html/Input.zig
index 082cd56a..6d2013ce 100644
--- a/src/browser/webapi/element/html/Input.zig
+++ b/src/browser/webapi/element/html/Input.zig
@@ -17,7 +17,7 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../../js/js.zig");
const Page = @import("../../../Page.zig");
@@ -30,6 +30,8 @@ const Selection = @import("../../Selection.zig");
const Event = @import("../../Event.zig");
const InputEvent = @import("../../event/InputEvent.zig");
+const String = lp.String;
+
const Input = @This();
pub const Type = enum {
diff --git a/src/browser/webapi/element/html/Mod.zig b/src/browser/webapi/element/html/Mod.zig
index 0722ea17..595cce83 100644
--- a/src/browser/webapi/element/html/Mod.zig
+++ b/src/browser/webapi/element/html/Mod.zig
@@ -1,9 +1,12 @@
-const String = @import("../../../../string.zig").String;
+const lp = @import("lightpanda");
+
const js = @import("../../../js/js.zig");
const Node = @import("../../Node.zig");
const Element = @import("../../Element.zig");
const HtmlElement = @import("../Html.zig");
+const String = lp.String;
+
const Mod = @This();
_tag_name: String,
diff --git a/src/browser/webapi/element/html/Option.zig b/src/browser/webapi/element/html/Option.zig
index 5a275970..9bea97bf 100644
--- a/src/browser/webapi/element/html/Option.zig
+++ b/src/browser/webapi/element/html/Option.zig
@@ -17,7 +17,7 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../../js/js.zig");
const Page = @import("../../../Page.zig");
@@ -26,6 +26,8 @@ const Node = @import("../../Node.zig");
const Element = @import("../../Element.zig");
const HtmlElement = @import("../Html.zig");
+const String = lp.String;
+
const Option = @This();
_proto: *HtmlElement,
diff --git a/src/browser/webapi/element/html/Quote.zig b/src/browser/webapi/element/html/Quote.zig
index 2cd02e74..e5aea98a 100644
--- a/src/browser/webapi/element/html/Quote.zig
+++ b/src/browser/webapi/element/html/Quote.zig
@@ -1,10 +1,13 @@
-const String = @import("../../../../string.zig").String;
+const lp = @import("lightpanda");
+
const js = @import("../../../js/js.zig");
const Page = @import("../../../Page.zig");
const Node = @import("../../Node.zig");
const Element = @import("../../Element.zig");
const HtmlElement = @import("../Html.zig");
+const String = lp.String;
+
const Quote = @This();
_tag_name: String,
diff --git a/src/browser/webapi/element/html/TableCell.zig b/src/browser/webapi/element/html/TableCell.zig
index d57b70ff..3304100d 100644
--- a/src/browser/webapi/element/html/TableCell.zig
+++ b/src/browser/webapi/element/html/TableCell.zig
@@ -1,11 +1,14 @@
const std = @import("std");
-const String = @import("../../../../string.zig").String;
+const lp = @import("lightpanda");
+
const js = @import("../../../js/js.zig");
const Page = @import("../../../Page.zig");
const Node = @import("../../Node.zig");
const Element = @import("../../Element.zig");
const HtmlElement = @import("../Html.zig");
+const String = lp.String;
+
const TableCell = @This();
_tag_name: String,
diff --git a/src/browser/webapi/element/html/TableCol.zig b/src/browser/webapi/element/html/TableCol.zig
index 217debe0..455fb6ed 100644
--- a/src/browser/webapi/element/html/TableCol.zig
+++ b/src/browser/webapi/element/html/TableCol.zig
@@ -1,9 +1,12 @@
-const String = @import("../../../../string.zig").String;
+const lp = @import("lightpanda");
+
const js = @import("../../../js/js.zig");
const Node = @import("../../Node.zig");
const Element = @import("../../Element.zig");
const HtmlElement = @import("../Html.zig");
+const String = lp.String;
+
const TableCol = @This();
_tag_name: String,
diff --git a/src/browser/webapi/element/html/TableSection.zig b/src/browser/webapi/element/html/TableSection.zig
index b0af92eb..b4ed5118 100644
--- a/src/browser/webapi/element/html/TableSection.zig
+++ b/src/browser/webapi/element/html/TableSection.zig
@@ -1,9 +1,12 @@
-const String = @import("../../../../string.zig").String;
+const lp = @import("lightpanda");
+
const js = @import("../../../js/js.zig");
const Node = @import("../../Node.zig");
const Element = @import("../../Element.zig");
const HtmlElement = @import("../Html.zig");
+const String = lp.String;
+
const TableSection = @This();
_tag_name: String,
diff --git a/src/browser/webapi/element/html/Track.zig b/src/browser/webapi/element/html/Track.zig
index 0d039de1..8455ef6e 100644
--- a/src/browser/webapi/element/html/Track.zig
+++ b/src/browser/webapi/element/html/Track.zig
@@ -17,14 +17,16 @@
// along with this program. If not, see .
const std = @import("std");
+const lp = @import("lightpanda");
const js = @import("../../../js/js.zig");
-const String = @import("../../../../string.zig").String;
const Node = @import("../../Node.zig");
const Element = @import("../../Element.zig");
const HtmlElement = @import("../Html.zig");
+const String = lp.String;
+
const Track = @This();
_proto: *HtmlElement,
diff --git a/src/browser/webapi/element/html/Unknown.zig b/src/browser/webapi/element/html/Unknown.zig
index 0ea8f947..4a841c50 100644
--- a/src/browser/webapi/element/html/Unknown.zig
+++ b/src/browser/webapi/element/html/Unknown.zig
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const String = @import("../../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../../js/js.zig");
@@ -24,6 +24,8 @@ const Node = @import("../../Node.zig");
const Element = @import("../../Element.zig");
const HtmlElement = @import("../Html.zig");
+const String = lp.String;
+
const Unknown = @This();
_proto: *HtmlElement,
_tag_name: String,
diff --git a/src/browser/webapi/event/CloseEvent.zig b/src/browser/webapi/event/CloseEvent.zig
index dbe5f21a..b1031160 100644
--- a/src/browser/webapi/event/CloseEvent.zig
+++ b/src/browser/webapi/event/CloseEvent.zig
@@ -17,11 +17,12 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
const Event = @import("../Event.zig");
+
+const String = lp.String;
const Allocator = std.mem.Allocator;
const CloseEvent = @This();
diff --git a/src/browser/webapi/event/CompositionEvent.zig b/src/browser/webapi/event/CompositionEvent.zig
index 04077994..485eb104 100644
--- a/src/browser/webapi/event/CompositionEvent.zig
+++ b/src/browser/webapi/event/CompositionEvent.zig
@@ -16,13 +16,15 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
+
const Event = @import("../Event.zig");
+const String = lp.String;
+
const CompositionEvent = @This();
_proto: *Event,
diff --git a/src/browser/webapi/event/CustomEvent.zig b/src/browser/webapi/event/CustomEvent.zig
index 51efa36c..9a6147ff 100644
--- a/src/browser/webapi/event/CustomEvent.zig
+++ b/src/browser/webapi/event/CustomEvent.zig
@@ -17,12 +17,14 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const Page = @import("../../Page.zig");
const Session = @import("../../Session.zig");
const Event = @import("../Event.zig");
+
+const String = lp.String;
const Allocator = std.mem.Allocator;
const CustomEvent = @This();
diff --git a/src/browser/webapi/event/ErrorEvent.zig b/src/browser/webapi/event/ErrorEvent.zig
index 56659d20..d3d60bf7 100644
--- a/src/browser/webapi/event/ErrorEvent.zig
+++ b/src/browser/webapi/event/ErrorEvent.zig
@@ -17,12 +17,14 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const Session = @import("../../Session.zig");
const Event = @import("../Event.zig");
+
+const String = lp.String;
const Allocator = std.mem.Allocator;
const ErrorEvent = @This();
diff --git a/src/browser/webapi/event/FocusEvent.zig b/src/browser/webapi/event/FocusEvent.zig
index 59e88e36..8cb245c8 100644
--- a/src/browser/webapi/event/FocusEvent.zig
+++ b/src/browser/webapi/event/FocusEvent.zig
@@ -17,16 +17,18 @@
// along with this program. If not, see .
const std = @import("std");
-const Allocator = std.mem.Allocator;
-const String = @import("../../../string.zig").String;
-const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
+const lp = @import("lightpanda");
+
const js = @import("../../js/js.zig");
+const Page = @import("../../Page.zig");
const Event = @import("../Event.zig");
const EventTarget = @import("../EventTarget.zig");
const UIEvent = @import("UIEvent.zig");
+const String = lp.String;
+const Allocator = std.mem.Allocator;
+
const FocusEvent = @This();
_proto: *UIEvent,
diff --git a/src/browser/webapi/event/FormDataEvent.zig b/src/browser/webapi/event/FormDataEvent.zig
index ce45a9d0..60abb273 100644
--- a/src/browser/webapi/event/FormDataEvent.zig
+++ b/src/browser/webapi/event/FormDataEvent.zig
@@ -17,16 +17,18 @@
// along with this program. If not, see .
const std = @import("std");
-const Allocator = std.mem.Allocator;
-const String = @import("../../../string.zig").String;
-const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
+const lp = @import("lightpanda");
+
const js = @import("../../js/js.zig");
+const Page = @import("../../Page.zig");
const Event = @import("../Event.zig");
const FormData = @import("../net/FormData.zig");
+const String = lp.String;
+const Allocator = std.mem.Allocator;
+
/// https://developer.mozilla.org/en-US/docs/Web/API/FormDataEvent
const FormDataEvent = @This();
diff --git a/src/browser/webapi/event/InputEvent.zig b/src/browser/webapi/event/InputEvent.zig
index 3c00debd..011539f9 100644
--- a/src/browser/webapi/event/InputEvent.zig
+++ b/src/browser/webapi/event/InputEvent.zig
@@ -17,13 +17,15 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
-const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
+const lp = @import("lightpanda");
+
const js = @import("../../js/js.zig");
+const Page = @import("../../Page.zig");
const Event = @import("../Event.zig");
const UIEvent = @import("UIEvent.zig");
+
+const String = lp.String;
const Allocator = std.mem.Allocator;
const InputEvent = @This();
diff --git a/src/browser/webapi/event/KeyboardEvent.zig b/src/browser/webapi/event/KeyboardEvent.zig
index f8056cc3..8f5b79de 100644
--- a/src/browser/webapi/event/KeyboardEvent.zig
+++ b/src/browser/webapi/event/KeyboardEvent.zig
@@ -17,14 +17,15 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
const Event = @import("../Event.zig");
const UIEvent = @import("UIEvent.zig");
+
+const String = lp.String;
const Allocator = std.mem.Allocator;
const KeyboardEvent = @This();
diff --git a/src/browser/webapi/event/MessageEvent.zig b/src/browser/webapi/event/MessageEvent.zig
index 8673e450..40f0f699 100644
--- a/src/browser/webapi/event/MessageEvent.zig
+++ b/src/browser/webapi/event/MessageEvent.zig
@@ -17,16 +17,15 @@
// along with this program. If not, see .
const std = @import("std");
+const lp = @import("lightpanda");
-const String = @import("../../../string.zig").String;
const js = @import("../../js/js.zig");
-const Page = @import("../../Page.zig");
-const Factory = @import("../../Factory.zig");
const Session = @import("../../Session.zig");
const Event = @import("../Event.zig");
const Window = @import("../Window.zig");
+const String = lp.String;
const Allocator = std.mem.Allocator;
const MessageEvent = @This();
@@ -51,23 +50,23 @@ pub const Data = union(enum) {
const Options = Event.inheritOptions(MessageEvent, MessageEventOptions);
-pub fn init(typ: []const u8, opts_: ?Options, page: *Page) !*MessageEvent {
- const arena = try page.getArena(.small, "MessageEvent");
- errdefer page.releaseArena(arena);
+pub fn init(typ: []const u8, opts_: ?Options, session: *Session) !*MessageEvent {
+ const arena = try session.getArena(.small, "MessageEvent");
+ errdefer session.releaseArena(arena);
const type_string = try String.init(arena, typ, .{});
- return initWithTrusted(arena, type_string, opts_, false, page._factory);
+ return initWithTrusted(arena, type_string, opts_, false, session);
}
pub fn initTrusted(typ: String, opts_: ?Options, session: *Session) !*MessageEvent {
const arena = try session.getArena(.small, "MessageEvent.trusted");
errdefer session.releaseArena(arena);
- return initWithTrusted(arena, typ, opts_, true, &session.factory);
+ return initWithTrusted(arena, typ, opts_, true, session);
}
-fn initWithTrusted(arena: Allocator, typ: String, opts_: ?Options, trusted: bool, factory: *Factory) !*MessageEvent {
+fn initWithTrusted(arena: Allocator, typ: String, opts_: ?Options, trusted: bool, session: *Session) !*MessageEvent {
const opts = opts_ orelse Options{};
- const event = try factory.event(
+ const event = try session.factory.event(
arena,
typ,
MessageEvent{
diff --git a/src/browser/webapi/event/MouseEvent.zig b/src/browser/webapi/event/MouseEvent.zig
index ff2b1118..3d9f883f 100644
--- a/src/browser/webapi/event/MouseEvent.zig
+++ b/src/browser/webapi/event/MouseEvent.zig
@@ -17,10 +17,10 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
-const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
+const lp = @import("lightpanda");
+
const js = @import("../../js/js.zig");
+const Page = @import("../../Page.zig");
const Event = @import("../Event.zig");
const EventTarget = @import("../EventTarget.zig");
@@ -28,6 +28,7 @@ const EventTarget = @import("../EventTarget.zig");
const UIEvent = @import("UIEvent.zig");
const PointerEvent = @import("PointerEvent.zig");
+const String = lp.String;
const Allocator = std.mem.Allocator;
const MouseEvent = @This();
diff --git a/src/browser/webapi/event/NavigationCurrentEntryChangeEvent.zig b/src/browser/webapi/event/NavigationCurrentEntryChangeEvent.zig
index d791cb39..0f606df1 100644
--- a/src/browser/webapi/event/NavigationCurrentEntryChangeEvent.zig
+++ b/src/browser/webapi/event/NavigationCurrentEntryChangeEvent.zig
@@ -17,15 +17,16 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
const Event = @import("../Event.zig");
const NavigationHistoryEntry = @import("../navigation/NavigationHistoryEntry.zig");
const NavigationType = @import("../navigation/root.zig").NavigationType;
+
+const String = lp.String;
const Allocator = std.mem.Allocator;
const NavigationCurrentEntryChangeEvent = @This();
diff --git a/src/browser/webapi/event/PageTransitionEvent.zig b/src/browser/webapi/event/PageTransitionEvent.zig
index 335a665a..f6798fc5 100644
--- a/src/browser/webapi/event/PageTransitionEvent.zig
+++ b/src/browser/webapi/event/PageTransitionEvent.zig
@@ -17,12 +17,14 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
+
const Event = @import("../Event.zig");
+
+const String = lp.String;
const Allocator = std.mem.Allocator;
// https://developer.mozilla.org/en-US/docs/Web/API/PageTransitionEvent
diff --git a/src/browser/webapi/event/PointerEvent.zig b/src/browser/webapi/event/PointerEvent.zig
index 4eb1e250..de768ab6 100644
--- a/src/browser/webapi/event/PointerEvent.zig
+++ b/src/browser/webapi/event/PointerEvent.zig
@@ -17,14 +17,16 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
+
const Event = @import("../Event.zig");
const MouseEvent = @import("MouseEvent.zig");
+const String = lp.String;
+
const PointerEvent = @This();
const PointerType = enum {
diff --git a/src/browser/webapi/event/PopStateEvent.zig b/src/browser/webapi/event/PopStateEvent.zig
index 3b0fe4e4..9ad0fd31 100644
--- a/src/browser/webapi/event/PopStateEvent.zig
+++ b/src/browser/webapi/event/PopStateEvent.zig
@@ -17,13 +17,14 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
const Event = @import("../Event.zig");
+
+const String = lp.String;
const Allocator = std.mem.Allocator;
// https://developer.mozilla.org/en-US/docs/Web/API/PopStateEvent
diff --git a/src/browser/webapi/event/ProgressEvent.zig b/src/browser/webapi/event/ProgressEvent.zig
index 895bff09..b7f6023a 100644
--- a/src/browser/webapi/event/ProgressEvent.zig
+++ b/src/browser/webapi/event/ProgressEvent.zig
@@ -17,11 +17,12 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
const Event = @import("../Event.zig");
+
+const String = lp.String;
const Allocator = std.mem.Allocator;
const ProgressEvent = @This();
diff --git a/src/browser/webapi/event/PromiseRejectionEvent.zig b/src/browser/webapi/event/PromiseRejectionEvent.zig
index 86883449..7de0feeb 100644
--- a/src/browser/webapi/event/PromiseRejectionEvent.zig
+++ b/src/browser/webapi/event/PromiseRejectionEvent.zig
@@ -16,13 +16,15 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const Session = @import("../../Session.zig");
const Event = @import("../Event.zig");
+const String = lp.String;
+
const PromiseRejectionEvent = @This();
_proto: *Event,
diff --git a/src/browser/webapi/event/SubmitEvent.zig b/src/browser/webapi/event/SubmitEvent.zig
index 3400cbcd..6a1c6c2e 100644
--- a/src/browser/webapi/event/SubmitEvent.zig
+++ b/src/browser/webapi/event/SubmitEvent.zig
@@ -17,13 +17,15 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
+
const Event = @import("../Event.zig");
const HtmlElement = @import("../element/Html.zig");
+
+const String = lp.String;
const Allocator = std.mem.Allocator;
/// https://developer.mozilla.org/en-US/docs/Web/API/SubmitEvent
diff --git a/src/browser/webapi/event/TextEvent.zig b/src/browser/webapi/event/TextEvent.zig
index dcc5e478..103d0510 100644
--- a/src/browser/webapi/event/TextEvent.zig
+++ b/src/browser/webapi/event/TextEvent.zig
@@ -17,14 +17,16 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
-const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
+const lp = @import("lightpanda");
+
const js = @import("../../js/js.zig");
+const Page = @import("../../Page.zig");
const Event = @import("../Event.zig");
const UIEvent = @import("UIEvent.zig");
+const String = lp.String;
+
const TextEvent = @This();
_proto: *UIEvent,
diff --git a/src/browser/webapi/event/UIEvent.zig b/src/browser/webapi/event/UIEvent.zig
index 2b456738..c1e085d4 100644
--- a/src/browser/webapi/event/UIEvent.zig
+++ b/src/browser/webapi/event/UIEvent.zig
@@ -16,14 +16,16 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const String = @import("../../../string.zig").String;
-const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
+const lp = @import("lightpanda");
+
const js = @import("../../js/js.zig");
+const Page = @import("../../Page.zig");
const Event = @import("../Event.zig");
const Window = @import("../Window.zig");
+const String = lp.String;
+
const UIEvent = @This();
_type: Type,
diff --git a/src/browser/webapi/event/WheelEvent.zig b/src/browser/webapi/event/WheelEvent.zig
index 8f79ab8a..04bde6ed 100644
--- a/src/browser/webapi/event/WheelEvent.zig
+++ b/src/browser/webapi/event/WheelEvent.zig
@@ -17,14 +17,16 @@
// along with this program. If not, see .
const std = @import("std");
-const String = @import("../../../string.zig").String;
-const Page = @import("../../Page.zig");
-const Session = @import("../../Session.zig");
+const lp = @import("lightpanda");
+
const js = @import("../../js/js.zig");
+const Page = @import("../../Page.zig");
const Event = @import("../Event.zig");
const MouseEvent = @import("MouseEvent.zig");
+const String = lp.String;
+
const WheelEvent = @This();
_proto: *MouseEvent,
diff --git a/src/browser/webapi/net/URLSearchParams.zig b/src/browser/webapi/net/URLSearchParams.zig
index 233d551f..2c607d1d 100644
--- a/src/browser/webapi/net/URLSearchParams.zig
+++ b/src/browser/webapi/net/URLSearchParams.zig
@@ -21,12 +21,11 @@ const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
-const String = @import("../../../string.zig").String;
-
const FormData = @import("FormData.zig");
const KeyValueList = @import("../KeyValueList.zig");
const log = lp.log;
+const String = lp.String;
const Execution = js.Execution;
const Allocator = std.mem.Allocator;
diff --git a/src/browser/webapi/selector/Selector.zig b/src/browser/webapi/selector/Selector.zig
index 838cecfd..c4a86e19 100644
--- a/src/browser/webapi/selector/Selector.zig
+++ b/src/browser/webapi/selector/Selector.zig
@@ -17,8 +17,7 @@
// along with this program. If not, see .
const std = @import("std");
-
-const String = @import("../../../string.zig").String;
+const lp = @import("lightpanda");
const Node = @import("../Node.zig");
const Page = @import("../../Page.zig");
@@ -26,6 +25,7 @@ const Page = @import("../../Page.zig");
const Parser = @import("Parser.zig");
pub const List = @import("List.zig");
+const String = lp.String;
const Allocator = std.mem.Allocator;
pub fn parseLeaky(arena: Allocator, input: []const u8) !Parsed {
diff --git a/src/testing.zig b/src/testing.zig
index 4cb4908b..137168ce 100644
--- a/src/testing.zig
+++ b/src/testing.zig
@@ -182,11 +182,6 @@ pub fn print(comptime fmt: []const u8, args: anytype) void {
}
}
-const String = @import("string.zig").String;
-pub fn newString(str: []const u8) String {
- return String.init(arena_allocator, str, .{}) catch unreachable;
-}
-
pub const Random = struct {
var instance: ?std.Random.DefaultPrng = null;