Merge pull request #2195 from lightpanda-io/import_string

@import(".....string.zig").String => lp.String
This commit is contained in:
Karl Seguin
2026-04-20 21:58:03 +08:00
committed by GitHub
60 changed files with 183 additions and 122 deletions

View File

@@ -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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);

View File

@@ -17,8 +17,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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;

View File

@@ -17,8 +17,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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);
}

View File

@@ -17,7 +17,7 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -17,11 +17,13 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -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")) {

View File

@@ -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();

View File

@@ -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;

View File

@@ -17,12 +17,13 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -17,13 +17,13 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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;

View File

@@ -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 &.{

View File

@@ -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;

View File

@@ -17,7 +17,7 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -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();

View File

@@ -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,

View File

@@ -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();

View File

@@ -17,15 +17,16 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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;

View File

@@ -17,12 +17,14 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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();

View File

@@ -16,15 +16,16 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -16,7 +16,7 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -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,

View File

@@ -16,7 +16,7 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -16,7 +16,7 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -17,7 +17,7 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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 {

View File

@@ -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,

View File

@@ -17,7 +17,7 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -17,14 +17,16 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -16,7 +16,7 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -17,11 +17,12 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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();

View File

@@ -16,13 +16,15 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -17,12 +17,14 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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();

View File

@@ -17,12 +17,14 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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();

View File

@@ -17,16 +17,18 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -17,16 +17,18 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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();

View File

@@ -17,13 +17,15 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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();

View File

@@ -17,14 +17,15 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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();

View File

@@ -17,16 +17,15 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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{

View File

@@ -17,10 +17,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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();

View File

@@ -17,15 +17,16 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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();

View File

@@ -17,12 +17,14 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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

View File

@@ -17,14 +17,16 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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 {

View File

@@ -17,13 +17,14 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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

View File

@@ -17,11 +17,12 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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();

View File

@@ -16,13 +16,15 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -17,13 +17,15 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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

View File

@@ -17,14 +17,16 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -16,14 +16,16 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -17,14 +17,16 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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,

View File

@@ -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;

View File

@@ -17,8 +17,7 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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 {

View File

@@ -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;