Luke Wilde
a1f7186153
LibWeb: Make BC::set_system_visibility_state use the active doc's global
...
Using main_thread_vm().current_realm() will rely on the dummy execution
context if the visibility state changes when no JavaScript is running.
2023-03-07 11:51:12 +00:00
Andreas Kling
689ca370d4
Everywhere: Remove NonnullRefPtr.h includes
2023-03-06 23:46:35 +01:00
Andreas Kling
8a48246ed1
Everywhere: Stop using NonnullRefPtrVector
...
This class had slightly confusing semantics and the added weirdness
doesn't seem worth it just so we can say "." instead of "->" when
iterating over a vector of NNRPs.
This patch replaces NonnullRefPtrVector<T> with Vector<NNRP<T>>.
2023-03-06 23:46:35 +01:00
Matthew Olsson
c0b2fa74ac
LibWeb: Fix a few const-ness issues
2023-03-06 13:05:43 +00:00
Matthew Olsson
70a2ca7fc0
LibJS: Handle both const and non-const Ts in Handle<T>::create()
...
Again, the const-ness only really involves Heap-internal metadata, so
the callers shouldn't care about mutations here.
2023-03-06 13:05:43 +00:00
Matthew Olsson
bab883bf8e
LibJS+LibWeb: Add a bunch of missing includes
2023-03-06 13:05:43 +00:00
Matthew Olsson
445011d50d
LibWeb: Fix include cycle between ModuleScript.h and ModuleMap.h
2023-03-06 13:05:43 +00:00
Linus Groh
1a6b61b0cc
LibWeb/HTML: Move WindowOrWorkerGlobalScope code into a mixin class
...
This will allow us to easily share the implementations of these methods
between Window and WorkerGlobalScope. The mixin class mirrors what I
already did for the Fetch API's Body mixin in 5ad62833
.
2023-03-06 11:02:25 +00:00
Linus Groh
b118cc782e
LibWeb/HTML: Implement WorkerGlobalScope::cross_origin_isolated()
2023-03-06 11:02:25 +00:00
Linus Groh
ed15c34387
LibWeb/HTML: Implement WorkerGlobalScope::is_secure_context()
2023-03-06 11:02:25 +00:00
Linus Groh
d1a7c39e76
LibWeb/HTML: Implement WorkerGlobalScope::origin()
2023-03-06 11:02:25 +00:00
Linus Groh
cc1e8a4e9f
LibWeb/HTML: Propagate errors from Window::initialize_web_interfaces()
2023-03-05 21:22:34 +00:00
Kenneth Myhra
cec1cda8b0
LibWeb: Port SubmitEvent to new String
2023-03-05 18:25:59 +00:00
Kenneth Myhra
dd2d029952
LibWeb: Port PromiseRejectionEvent to new String
2023-03-05 18:25:59 +00:00
Kenneth Myhra
bb7ae423d5
LibWeb: Port FormDataEvent to new String
2023-03-05 18:25:59 +00:00
Kenneth Myhra
eed69e5093
LibWeb: Port MessageEvent to new String
2023-03-05 18:25:59 +00:00
Kenneth Myhra
84997ab0ee
LibWeb: Port ErrorEvent to new String
2023-03-05 18:25:59 +00:00
Kenneth Myhra
e661f03ffa
LibWeb: Port CloseEvent 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
Linus Groh
bfe0df5677
LibWeb/HTML: Add missing SecurityError checks to Location
2023-03-04 23:27:08 +00:00
Linus Groh
0b8ebfb618
LibWeb/HTML: Replace ThrowCompletionOr with ExceptionOr in Location
...
The former should not be used in LibWeb unless required due to
overriding a JS::Object virtual method, for example.
2023-03-04 23:27:08 +00:00
Linus Groh
7d50be0b09
LibWeb/HTML: Port Location to new String
2023-03-04 23:27:08 +00:00
Linus Groh
93ed1b59c8
LibWeb/Infra: Port strip_and_collapse_whitespace() to new String
2023-03-04 23:27:08 +00:00
Luke Wilde
7b635998a8
LibWeb: Make Window.screen a replaceable attribute
...
Required by Shadertoy.
2023-03-03 22:27:49 +00:00
Sam Atkins
c7736ef410
LibWeb: Add some folding regions to HTML syntax highlighter
...
This adds the regions generated from embedded CSS and JS, and also for
HTML block comments.
The glaring omission is that we don't add them for start/end tags. HTML
allows start and end tags to not always match up, and I believe that's
going to require some variation on the adoption-agency algorithm to
make it work correctly.
2023-03-03 21:56:42 +01:00
Linus Groh
11b40dbcf5
LibWeb/WebIDL: Store SimpleException message as a String{,View} variant
2023-03-03 19:50:36 +00:00
Linus Groh
2d7ce38ee2
LibWeb/MimeSniff: Port MimeType to new String
2023-03-03 11:02:21 +00:00
Linus Groh
fabea2a6a7
LibWeb/MimeSniff: Rename MimeType::from_string() to MimeType::parse()
...
This matches the spec's "parse a MIME type".
2023-03-03 11:02:21 +00:00
MacDue
7bd78d40e9
LibGfx+LibWeb: Propagate OOM when appending CanvasGradient color stops
2023-03-02 11:49:13 +01:00
MacDue
3a0a7e3e96
LibGfx+LibWeb: Propagate OOM when creating PaintStyles
2023-03-02 11:49:13 +01:00
Kenneth Myhra
9da09e4fd3
LibWeb: Port URL and URLSearchParams to new String
2023-03-01 22:44:20 +00:00
Linus Groh
8f1d13e73b
LibJS: Use a Variant instead of two Optionals for ThrowCompletionOr
...
Comes with the usual benefit of saving some space on the stack, as well
as making a situation where both or neither Optionals hold a value
impossible.
The various unwrapping additions are required as we can no longer
construct a ThrowCompletionOr<T> from an Optional<T> - rightfully so.
2023-03-01 17:55:42 +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
Luke Wilde
5e422bdae0
LibWeb: Move pdfViewerSupported's answer to Page
...
This will also be accessed by navigator.{plugins,mimeTypes} to
determine if they should expose any information.
2023-02-28 12:36:14 +01:00
Luke Wilde
57d28c57f7
LibWeb: Restore Storage as a legacy platform object
2023-02-28 12:36:14 +01:00
Luke Wilde
54f58e2662
LibWeb: Restore proper functionality of legacy platform objects
...
With the GC heap conversion, the functionality of legacy platform
objects was broken. This is because the generated implementation of one
of them was used for all of them, removing functionality such as
deletion.
This re-adds all functionality, where questions such as "does the
object support indexed properties?" is instead answered by virtual
functions instead of by the IDL generator checking the presence of
certain keywords/attributes.
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
Luke Wilde
a964ebc255
LibWeb: Implement Path2D#addPath
...
Required by Ruffle.
2023-02-27 20:55:09 +01:00
Kenneth Myhra
9a5a8d617d
LibWeb: Port IDL implementations Blob and File to new String
2023-02-26 00:27:22 +01:00
Linus Groh
09d40bfbb2
Everywhere: Use _{short_,}string to create Strings from literals
2023-02-25 20:51:49 +01:00
Timothy Flynn
3d7b13ac03
LibWeb: Make canvas text preparation handle multi-code point glyphs
2023-02-24 20:28:23 +01:00
Kenneth Myhra
e905f25911
LibWeb: Port Worker to new String
2023-02-23 15:48:38 +00:00
Kenneth Myhra
be727ea871
LibWeb: Port WorkerGlobalScope to new String
2023-02-23 15:48:38 +00:00
Kenneth Myhra
9c5bdb0b86
LibWeb: Port WorkerLocation to new String
2023-02-23 15:48:38 +00:00
Kenneth Myhra
f0fd1cae3d
LibWeb: Make factory method of IdleDeadline fallible
2023-02-22 09:55:33 +01:00
Kenneth Myhra
459959b297
LibWeb: Make factory method of HTML::BrowsingContext fallible
2023-02-22 09:55:33 +01:00
Kenneth Myhra
ff92324fa5
LibWeb: Make factory method of DOM::ElementFactory fallible
2023-02-22 09:55:33 +01:00