1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-15 07:42:07 +00:00
Commit graph

11625 commits

Author SHA1 Message Date
Andreas Kling
b73bd4f988 LibWeb: Add HTML::CrossOriginOpenerPolicy 2022-08-05 12:42:46 +02:00
Andreas Kling
b838f2029b LibWeb: Move DOM::Document factory functions out of line 2022-08-05 12:42:46 +02:00
Andreas Kling
50d951aea2 LibJS: Let Shape store a Realm instead of a GlobalObject
This is a cautious first step towards being able to create JS objects
before a global object has been instantiated.
2022-08-05 12:42:46 +02:00
Andreas Kling
7a6935a2ff LibJS: Remove unused ShapeWithoutGlobalObject constructor mechanism 2022-08-05 12:42:46 +02:00
Andreas Kling
69a45adfbe LibWeb: Remove page_did_set_document_in_top_level_browsing_context()
This PageClient callback was never used for anything.
2022-08-05 12:42:46 +02:00
Andreas Kling
ffb23db57f LibWeb: Add browsing context "still on its initial about:blank Document" 2022-08-05 12:42:46 +02:00
Andreas Kling
c4a0b7057b LibWeb: Add basic skeleton of HTML "session history" to BrowsingContext 2022-08-05 12:42:46 +02:00
Andreas Kling
29a4266367 LibWeb: Add the "is initial about:blank" flag to DOM::Document 2022-08-05 12:42:46 +02:00
demostanis
1ce23eb640 LibMarkdown: Fix coloring of the first line
The escape sequence to color a section's name was separated
by a newline from the section's name, making less(1) trim
the escape sequence off when the section's name was on the
first line.
2022-08-04 16:57:26 +00:00
demostanis
55b7f8ab27 LibMarkdown: Indent code blocks 2022-08-04 16:57:26 +00:00
thankyouverycool
97b381652a LibGUI: Let Toolbars collapse into an overflow menu
Previously Toolbars were governed by a strict minimum size which
guaranteed all actions remained visible. Now, if set collapsible,
extra actions will fold into an overflow menu on the Toolbar.
2022-08-04 02:56:17 +02:00
thankyouverycool
58955d37cc LibGUI: Let Buttons set their menu popup position
The previous ButtonStyle::Tray conditional was a hack for Statusbars.
2022-08-04 02:56:17 +02:00
thankyouverycool
1084eaea0b LibGUI: Remove button padding on Toolbar construction
And assume 24x24 button sizes by default.
There currently aren't any toolbars with custom button sizes, but if
the need arises, they can always determine their own padding.
2022-08-04 02:56:17 +02:00
thankyouverycool
99a00dc39b LibGUI: Remove useless frame members from Toolbar
Frames had no effect within Toolbar and are now superceded
by ToolbarContainer.
2022-08-04 02:56:17 +02:00
thankyouverycool
cc291a0ca7 LibGfx: Improve error handling for BitmapFonts
Adds fallible functions for cloning, creating, loading and writing
BitmapFonts.
2022-08-04 02:54:00 +02:00
MacDue
8140b1fa18 LibMarkdown: Implement the image size extension
This implements the image size extension that's quite commonly used:
https://github.com/commonmark/commonmark-spec/wiki/Deployed-Extensions#image-size

This supports specifying...

Both width and height: ![](foo.png =100x200)
Width only: ![](foo.png =100x)
Height only: ![](foo.png =x200)

The size is always in pixels (relative sizing does not seem
to be spec'd anywhere).
2022-08-04 02:49:29 +02:00
Linus Groh
fb47a87340 LibJS: Add previously skipped assertion in RegulateTime
The spec issue preventing us from doing this in the past has long been
fixed.
2022-08-03 22:46:38 +01:00
davidot
301bba8c19 LibJS: Only coerce value once in BigInt constructor
See https://github.com/tc39/ecma262/pull/2812.
2022-08-03 20:59:59 +01:00
0xbigshaq
af46734497 LibHTTP+WebServer: Add querystring support
Split the path from querystring when determining the requested resource.
2022-08-02 21:05:32 +00:00
Timothy Flynn
a4a7efaf5f LibC+LibCore: Use tm_isdst to handle time zone offsets in DST
Previously, we were incorrectly assuming that the daylight global
variable indicated whether the current time zone is in DST. In reality,
the daylight variable only indicates whether a time zone *can* be in
DST.

Instead, the tm structure has a tm_isdst member that should be used for
this purpose. Ensure our LibC handles tm_isdst, and avoid errant usage
of the daylight variable in Core::DateTime.
2022-08-02 21:10:44 +01:00
Timothy Flynn
e683ca00cc LibC: Split time_t range validation to separate helper function
Right now, the tm_to_time helper invokes time_to_tm to validate the
time_t it creates. Soon, both tm_to_time and time_to_tm will perform
some TZDB lookups to handle DST. This isn't a huge cost, but let's
avoid the double lookup here.
2022-08-02 21:10:44 +01:00
Timothy Flynn
91e3a2aaca LibC: Cache the time zone name found by tzset()
The time zone name will be needed for TZDB lookups in various time.h
functions. Cache the value found by tzset(), defaulting to the system-
wide default of UTC.

This also moves the time.h global definitions to the top of the file.
The cached time zone name will be needed above where these variables are
defined, so this is just to keep them all together.
2022-08-02 21:10:44 +01:00
Kenneth Myhra
1e5d107649 LibWeb: Declare variable with the auto keyword
Use the auto keyword instead of the full type name like we do elsewhere
in the codebase.
2022-08-02 08:20:40 +01:00
Kenneth Myhra
c8c5f05de5 LibWeb: Make sure Blob type is not outside range 0x0020-0x007E
This makes sure that type is set to an empty string if
BlobPropertyBag::type is outside the range 0x0020 to 0x007E.
2022-08-02 08:20:40 +01:00
Kenneth Myhra
73aec263b1 LibWeb: Move is_basic_latin() to Blob.{cpp,h}
This method needs to be accessible from both Blob and File.
2022-08-02 08:20:40 +01:00
networkException
ad060befad WindowServer+LibGUI: Remove awkward roundtrip for set wallpaper response
Previously we would wait for a separate message confirming that a
wallpaper got set instead of just calling a synchronous api.

I'm guessing that this was a limitation of the IPC system when
WindowServer got ported to using it.

This patch removes the SetWallpaperFinished message and updates the
set_wallpaper api to synchronously return a success boolean.
2022-08-02 04:04:08 +00:00
Andreas Kling
548081ea23 Userland+Base: Make the window titlebar font configurable separately
Instead of defaulting to "bold variant of the system default font",
let's allow the user to set any font they want as the titlebar font.
2022-08-01 10:29:53 +02:00
Andreas Kling
8862434376 LibGUI: Allow Tab key to switch focus from non-editable GUI::TextEditor 2022-08-01 10:29:53 +02:00
Andreas Kling
d18c25e973 LibGUI: Expose GUI::Button's "default" property to GML 2022-08-01 10:29:53 +02:00
Brian Gianforcaro
ea9ef33a7f AK: Prefix CACHE_ALIGNED & SYSTEM_CACHE_ALIGNMENT_SIZE 2022-08-01 00:19:16 +02:00
Linus Groh
5f253988ef LibJS: Call HostEnsureCanCompileStrings in PerformShadowRealmEval
We now do have this host-defined abstract operation :^)
2022-07-31 14:39:06 +02:00
Linus Groh
fed1498824 LibJS: Implement & use the {Ordinary,PrepareFor}WrappedFunctionCall AOs
This is a normative change in the ShadowRealm spec.

See: 5a3aae8
2022-07-31 14:39:06 +02:00
Karol Kosek
cf69763b54 LibGfx: Compress PNGs with a better compression level
While for a general purpose encoder a good balance between compression
speed and size by default is important, in case of PNG it don't matter
that much, as it was said in #14594.

Also note that it's not the best we can have. We use zlib's compression
level, which has a range of 0-4, while our deflate implementation ranges
from 0 to 5.
2022-07-30 23:21:42 +02:00
Karol Kosek
a0546318f9 LibWeb: Make <th> elements bold by default 2022-07-30 22:32:29 +02:00
MacDue
d4b2eb22e1 LibWeb: Resolve circular IDL imports
These circular imports led to the generator silently failing to
generate the required methods/properties.
2022-07-30 13:20:47 +02:00
Kenneth Myhra
bbd9490683 LibWeb: Handle endings member of options being "native"
This patch passes the options argument to process_blob_parts() and makes
use of the "convert line endings to native" algorithm when the endings
member of options (BlobPropertyBag) is set to "native".
2022-07-30 10:59:46 +01:00
Kenneth Myhra
516ea4d758 LibWeb: Implement "convert line endings to native" algorithm
This adds the "convert line endings to native" algorithm from the
FileAPI spec.
2022-07-30 10:59:46 +01:00
Linus Groh
0355c72d6a LibJS: Validate fractionalSecondDigits after truncation
This is a normative change in the Temporal spec.
Also correct some bogus spec numbers.

See:
- 39e1784
- c3c0ee1
- 273cb2e
2022-07-30 10:50:50 +01:00
Linus Groh
6850f25840 LibJS: Support IANA legacy names in the Temporal ISO 8601 grammar
This is a normative change in the Temporal spec.

See: 2419680
2022-07-30 10:50:50 +01:00
Linus Groh
41791146fd LibJS: Disallow out-of-range return from previous / next transition
This is a normative change in the Temporal spec.

See: f3c771f
2022-07-30 10:50:50 +01:00
Sam Atkins
200e111af0 LibWeb: Extract the InnerHTML IDL mixin 2022-07-29 17:15:49 +01:00
Sam Atkins
b456adcb59 LibWeb: Extract the WindowOrWorkerGlobalScope IDL mixin
`Window` itself isn't generated from an IDL file so it doesn't get to
make use of this mixin, but it ideally would do so.
2022-07-29 17:15:49 +01:00
Sam Atkins
899fa30bdd LibWeb: Extract the LinkStyle IDL mixin 2022-07-29 17:15:49 +01:00
Sam Atkins
8d2d315858 LibWeb: Extract the HTMLHyperlinkElementUtils IDL mixin
Also added FIXMEs for some missing methods while I was at it.
2022-07-29 17:15:49 +01:00
Sam Atkins
d4c40e3aad LibWeb: Extract the ParentNode IDL mixin 2022-07-29 17:15:49 +01:00
Sam Atkins
79fdc08de9 LibWeb: Correct typo in Document.idl
Makes me wonder how things were working when Document was never
including GlobalEventHandlers.
2022-07-29 17:15:49 +01:00
Sam Atkins
d6a5ddd3c0 LibWeb: Extract the ChildNode IDL mixin 2022-07-29 17:15:49 +01:00
Undefine
97cc33ca47 Everywhere: Make the codebase more architecture aware 2022-07-27 21:46:42 +00:00
Tim Schumacher
6c4b5775e1 LibCore: Implement four-digit modes for FilePermissionsMask parsing 2022-07-27 21:45:01 +00:00
Tim Schumacher
130f04c493 LibCore: Implement the 'X' modifier into FilePermissionMask 2022-07-27 21:45:01 +00:00