Commit graph

132 commits

Author SHA1 Message Date
Linus Groh
6dd1934ed8 LibWeb/HTML: Port Window.atob() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
192f5e61f6 LibWeb/HTML: Port Window.btoa() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
94f1eff291 LibWeb/HTML: Port Window.isSecureContext to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
188aac5077 LibWeb/HTML: Port Window.origin to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
376fb9ae40 LibWeb/HTML: Hook up WindowOrWorkerGlobalScopeMixin to Window
This prepares us to use the shared implementations from this class.
2023-03-07 23:33:34 +00:00
Linus Groh
b2409517bd LibWeb/HTML: Port Window.open() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
efa48142d2 LibWeb/HTML: Port Window.frameElement to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
c6353ac8cd LibWeb/HTML: Port Window.parent to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
dba8dbe07d LibWeb/HTML: Port Window.top to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
baaf891c64 LibWeb/HTML: Port Window.length to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
c42496187b LibWeb/HTML: Port Window.history to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
eccc0d90de LibWeb/HTML: Port Window.location to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
0e40841990 LibWeb/HTML: Port Window.name to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
0e587420a8 LibWeb/HTML: Port Window.document to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
dcff775ab1 LibWeb/HTML: Port Window.frames to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
437a7c977e LibWeb/HTML: Port Window.self to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
d57876306c LibWeb/HTML: Port Window.window to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
eb2425040b LibWeb/HTML: Port Window.navigator to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
c219e6d9c1 LibWeb/HTML: Port Window.postMessage() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
eb4842dfa1 LibWeb/HTML: Port Window.prompt() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
bbffda5f55 LibWeb/HTML: Port Window.confirm() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
a0b73eb5f7 LibWeb/HTML: Port Window.alert() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
a6f8b18649 LibWeb/HTML: Define Window's {Global,Window}EventHandlers via IDL 2023-03-07 23:33:34 +00:00
Linus Groh
c130fd6993 LibWeb: Start generating code for the Window object from IDL :^) 2023-03-07 23:33:34 +00:00
Linus Groh
cc1e8a4e9f LibWeb/HTML: Propagate errors from Window::initialize_web_interfaces() 2023-03-05 21:22:34 +00:00
Kenneth Myhra
eed69e5093 LibWeb: Port MessageEvent to new String 2023-03-05 18:25:59 +00:00
Kenneth Myhra
97947fdffa LibWeb: Port PageTransitionEvent to new String 2023-03-05 18:25:59 +00:00
Luke Wilde
7b635998a8 LibWeb: Make Window.screen a replaceable attribute
Required by Shadertoy.
2023-03-03 22:27:49 +00:00
Linus Groh
51c3967516 Everywhere: Use '_{short_,}string' literals more
This mostly updates code what was written before but merged after these
were added.
2023-02-28 15:15:36 +00:00
Andreas Kling
3a5802540e LibWeb: Follow-up fixes for Linus's comments in #17658 2023-02-28 13:16:39 +01:00
Luke Wilde
4d0277cd9a LibWeb: Implement navigator.{plugins,mimeTypes} 2023-02-28 12:36:14 +01:00
Andreas Kling
7e76a51cb0 LibWeb: Rename Layout::InitialContainingBlock to Layout::Viewport
The name "initial containing block" was wrong for this, as it doesn't
correspond to the HTML element, and that's specifically what it's
supposed to do! :^)
2023-02-28 12:21:56 +01:00
Luke Wilde
1c918e826c LibWeb: Define navigator/clientInformation with define_native_accessor
Defining it as a direct property causes it to have no getter/setter
function, which causes an empty Optional crash when attempting to
access such getter on a cross-origin iframe.

Fixes amazon.com crashing on this particular crash.
2023-02-28 08:45:23 +00:00
Kenneth Myhra
f0fd1cae3d LibWeb: Make factory method of IdleDeadline fallible 2023-02-22 09:55:33 +01:00
Sam Atkins
2db168acc1 LibTextCodec+Everywhere: Port Decoders to new Strings 2023-02-19 17:15:47 +01:00
Sam Atkins
f2a9426885 LibTextCodec+Everywhere: Return Optional<Decoder&> from decoder_for() 2023-02-19 17:15:47 +01:00
Kenneth Myhra
3e834636a6 LibWeb: Make factory method of HTML::Window fallible 2023-02-18 00:52:47 +01:00
Kenneth Myhra
b41401bab2 LibWeb: Make factory method of HTML::Storage fallible 2023-02-18 00:52:47 +01:00
Kenneth Myhra
d9845bb24b LibWeb: Make factory method of HTML::PageTransitionEvent fallible 2023-02-18 00:52:47 +01:00
Kenneth Myhra
8fbd43cb27 LibWeb: Make factory method of CSS::ResolvedCSSStyleDeclaration fallible 2023-02-18 00:52:47 +01:00
Kenneth Myhra
bc02686ae9 LibWeb: Make factory method of CSS::MediaQueryList fallible 2023-02-18 00:52:47 +01:00
Kenneth Myhra
7ec444047c LibWeb: Make factory methods of HTML::MessageEvent fallible 2023-02-18 00:52:47 +01:00
Kenneth Myhra
58af8e2021 LibWeb: Make factory method of Crypto::Crypto fallible 2023-02-18 00:52:47 +01:00
Timothy Flynn
88814acbd3 LibJS+Everywhere: Convert JS::Error to String
This includes an Error::create overload to create an Error from a UTF-8
StringView. If creating a String from that view fails, the factory will
return an OOM InternalError instead. VM::throw_completion can also make
use of this overload via its perfect forwarding.
2023-02-17 09:14:23 -05:00
Sam Atkins
d6075ef5b5 LibTextCodec+Everywhere: Make TextCodec::decoder_for() take a StringView
We don't need a full String/DeprecatedString inside this function, so we
might as well not force users to create one.
2023-02-15 12:48:26 -05:00
Timothy Flynn
c3abb1396c LibJS+LibWeb: Convert string view PrimitiveString instances to String
First, this adds an overload of PrimitiveString::create for StringView.
This overload will throw an OOM completion if creating a String fails.
This is not only a bit more convenient, but it also ensures at compile
time that all PrimitiveString::create(string_view) invocations will be
handled as String and OOM-aware.

Next, this wraps all invocations to PrimitiveString::create(string_view)
with MUST_OR_THROW_OOM.

A small PrimitiveString::create(DeprecatedFlyString) overload also had
to be added to disambiguate between the StringView and DeprecatedString
overloads.
2023-02-09 17:13:33 +00:00
Timothy Flynn
b75b7f0c0d LibJS+Everywhere: Propagate Cell::initialize errors from Heap::allocate
Callers that are already in a fallible context will now TRY to allocate
cells. Callers in infallible contexts get a FIXME.
2023-01-29 00:02:45 +00:00
Linus Groh
afc055c088 LibWeb: Convert the Location object to IDL
This includes:

- Moving it from Bindings/ to HTML/
- Renaming it from LocationObject to Location
- Removing the manual definitions of the constructor and prototype
- Removing special handling of the Location interface from the bindings
  generator
- Converting the JS_DEFINE_NATIVE_FUNCTIONs to regular functions
  returning DeprecatedString instead of PrimitiveString
- Adding missing (no-op) setters for the various attributes, which are
  expected to exist by the bindings generator
2023-01-18 17:36:39 -05:00
Cameron Youell
204257526c LibWeb: Define window.isSecureContext 2023-01-18 09:52:47 +00:00
Timothy Flynn
afeb7273cc LibJS+Everywhere: Rename Value::to_string to to_deprecated_string 2023-01-15 01:00:20 +00:00