Andreas Kling
12042f0757
LibWeb: Make CSSRule and all its subclasses GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
5d6cb9cbdb
LibWeb: Make CSSRuleList GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
5366924f11
LibWeb: Make StyleSheetList GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
5d60212076
LibWeb: Make StyleSheet and CSSStyleSheet GC-allocated
2022-09-06 00:27:09 +02:00
martinfalisse
c40dd9ee78
LibWeb: Add GridTrackPlacementShorthandStyleValue
...
Add GridTrackPlacementShorthandStyleValue for the use of grid-column and
grid-row.
2022-08-25 13:47:48 +02:00
martinfalisse
08b832eb69
LibWeb: Add GridTrackPlacementStyleValue
...
Add GridTrackPlacementStyleValue for the use of CSS properties
grid-column-start, grid-column-end, grid-row-start, grid-row-end.
2022-08-25 13:47:48 +02:00
martinfalisse
0148260b5f
LibWeb: Add GridTrackSizeStyleValue
...
Add GridTrackSizeStyleValue for the use of CSS properties
grid-template-columns, grid-template-rows.
2022-08-25 13:47:48 +02:00
martinfalisse
ca286fc220
LibWeb: Add GridTrackPlacement for grid-[column/row]-[start/end]
...
Add GridTrackPlacement to use with grid-column-start and related CSS
properties.
2022-08-25 13:47:48 +02:00
martinfalisse
fc36970973
LibWeb: Add GridTrackSize class for grid-template-*
...
Add GridTrackSize to be used with grid-template-column and
grid-template-row.
2022-08-25 13:47:48 +02:00
Sam Atkins
62b561e2e1
LibWeb: Extract CanvasDrawPath class from CRC2D
...
Again, this is an entirely virtual class since the methods involve
direct access to the Painter. Though, maybe I could just expose the
Painter...
2022-08-14 11:30:40 +02:00
Sam Atkins
2ec52bbbd5
LibWeb: Implement Path2D class
2022-08-14 11:30:40 +02:00
MacDue
6a6475673f
LibWeb: Convert images to common AbstractImageStyleValue base
...
This commit moves both the ImageStyleValue and LinearGradientStyleValue
to a common base class of AbstractImageStyleValue. This abstracts
getting the natural_width/height, loading/resolving, and painting
the image.
Now for 'free' you get:
- Linear gradients working with the various background sizing/repeat
properties.
- Linear gradients working as list-markers :^) -- best feature ever!
P.s. This commit is a little large as it's tricky to make this change
incrementally without breaking things.
2022-08-08 22:39:06 +02:00
Tom
8163ee1500
LibWeb: Use rect value in CSS clip property
...
When a rect value is passed to the clip property via CSS, keep it in
ComputedValues so that at a later stage can make use of it.
2022-08-07 22:40:11 +02:00
Tom
b4dd477644
LibWeb: Parse rect style value
...
Add ability to parse a rect when it is used as the value of a style
property.
2022-08-07 22:40:11 +02:00
Andreas Kling
602f927982
LibWeb: Start implementing "create and initialize a Document" from HTML
...
The way we've been creating DOM::Document has been pretty far from what
the spec tells us to do, and this is a first big step towards getting us
closer to spec.
The new Document::create_and_initialize() is called by FrameLoader after
loading a "text/html" resource.
We create the JS Realm and the Window object when creating the Document
(previously, we'd do it on first access to Document::interpreter().)
The realm execution context is owned by the Environment Settings Object.
2022-08-05 12:46:40 +02:00
Kenneth Myhra
890514a057
LibWeb: Introduce the File interface from the FileAPI spec
2022-07-26 20:54:30 +01:00
Linus Groh
ed49b66f25
LibWeb: Implement '5.1. Headers class' from the Fetch API :^)
2022-07-19 00:27:35 +01:00
Linus Groh
2726fc9c73
LibWeb: Move Fetch infra into the Web::Fetch::Infrastructure namespace
...
The Fetch spec unfortunately will cause a name clash between the Request
concept and the Request JS object - both cannot live in the Web::Fetch
namespace, and WrapperGenerator generally assumes `Web::<Name>` for
things living in the `<Name>/` subdirectory, so let's instead move infra
code into its own namespace - it already sits in a (sub-)subdirectory
anyway.
2022-07-19 00:27:35 +01:00
MacDue
259bb30c35
LibWeb: Add LinearGradientStyleValue
2022-07-17 20:11:38 +01:00
Andreas Kling
52862c72d0
LibWeb: Rename FormattingState to LayoutState
...
This seems a bit more descriptive (and also a bit shorter).
2022-07-17 14:11:36 +02:00
Kenneth Myhra
df8c49f6bf
LibWeb: Introduce Blob
2022-07-17 00:23:19 +01:00
Linus Groh
8da3914bdc
LibWeb: Add definitions from '2.2.6. Responses' in the Fetch spec
2022-07-16 21:05:00 +01:00
Linus Groh
7116a7d2bf
LibWeb: Add definitions from '2.2.5 Requests' in the Fetch spec
2022-07-15 14:15:30 +02:00
Linus Groh
f507f68d4a
LibWeb: Add definitions from '2.2.4. Bodies' in the Fetch spec
...
...at least the ones that don't require an implementation of the Streams
spec :^)
2022-07-14 00:42:26 +01:00
Linus Groh
dd9bf10151
LibWeb: Add definitions from '2.2.2. Headers' in the Fetch spec
2022-07-14 00:42:26 +01:00
Linus Groh
de74ba587f
LibWeb: Add a stub PolicyContainer struct
2022-07-14 00:42:26 +01:00
Linus Groh
22a627fc1a
LibWeb: Move Origin into the HTML namespace
...
Origin is defined in the HTML Standard, and therefore belongs into the
HTML directory and namespace in LibWeb.
https://html.spec.whatwg.org/multipage/origin.html#origin
2022-07-14 00:42:26 +01:00
Andreas Kling
e883777a18
LibWeb: Add barebones implementation of DOMPoint and DOMPointReadOnly
2022-07-12 23:12:11 +02:00
Luke Wilde
c9ba5531e0
LibWeb: Introduce Mutation{Record,Observer} and observer microtasks
2022-07-11 22:35:08 +02:00
Luke Wilde
de88e119a0
LibWeb: Implement XMLSerializer
...
The main thing that is missing is validating certain pieces of data
against XML productions in well-formed mode, but nothing uses
well-formed mode right now.
Required by Closure Library for sanitising HTML.
e687b3d8ab/closure/goog/html/sanitizer/safedomtreeprocessor.js (L117)
2022-07-05 21:25:05 +02:00
Luke Wilde
1ceba560f4
LibWeb: Add CDATASection
...
Not used for anything currently other than exposing it on the Window
object. This allows Web Components Polyfills to patch its prototype.
2022-06-27 22:53:04 +01:00
MacDue
08baeb1e7d
LibWeb: Pass border radii data to shadow painting
...
This is not used yet, but will be needed for painting shadows on
elements that have a border-radius.
2022-06-23 19:13:24 +01:00
Luke Wilde
58f882200c
LibWeb: Add the ability to retrieve a WebGL context from getContext
2022-06-13 21:45:27 +01:00
Luke Wilde
b0c2aee2e4
LibWeb: Introduce the WebGL namespace and add WebGLContextEvent
2022-06-13 21:45:27 +01:00
DexesTTP
dcbbbf5b4a
LibWebView: Move OutOfProcessWebView to a new LibWebView library
...
Also moves WebContentClient and the references to the generated IPC
descriptions, since they are all components of OutOfProcessWebView.
This patch has no functional changes.
2022-05-15 12:17:36 +02:00
Sam Atkins
1cec8e473f
LibWeb: Add CSSSupportsRule wrapper
2022-05-11 20:16:10 +02:00
Sam Atkins
fda71a6d48
LibWeb: Add CSSMediaRule wrapper
2022-05-11 20:16:10 +02:00
Sam Atkins
0cf8986a1e
LibWeb: Add CSSImportRule wrapper
2022-05-11 20:16:10 +02:00
Sam Atkins
1951873a5d
LibWeb: Add CSSConditionRule wrapper
2022-05-11 20:16:10 +02:00
Sam Atkins
cfe5d63a1e
LibWeb: Add CSSGroupingRule wrapper
2022-05-11 20:16:10 +02:00
Sam Atkins
bc4c185aef
LibWeb: Add MediaList wrapper
...
Most of the pieces were already there, I'd just forgotten to actually
wire them up.
2022-05-11 20:16:10 +02:00
Sam Atkins
025ee02144
LibWeb: Add missing [as/is]_border_radius_shorthand() methods
2022-04-18 21:30:51 +02:00
Sam Atkins
431a9938a8
LibWeb: Rename StyleRule -> Rule
...
This name is what's used in the spec, and is a little less confusing.
2022-04-12 23:03:46 +02:00
Sam Atkins
bf786d66b1
LibWeb: Move Token and Tokenizer into Parser namespace
2022-04-12 23:03:46 +02:00
Sam Atkins
7272997b1b
LibWeb: Move StyleRule to Parser namespace
2022-04-12 23:03:46 +02:00
Sam Atkins
add6babef4
LibWeb: Move Declaration and DeclarationOrAtRule into Parser namespace
2022-04-12 23:03:46 +02:00
Sam Atkins
3e49036edf
LibWeb: Move/rename StyleBlockRule to Parser::Block
2022-04-12 23:03:46 +02:00
Sam Atkins
e0b2ebcc7b
LibWeb: Move/rename StyleFunctionRule to Parser::Function
2022-04-12 23:03:46 +02:00
Sam Atkins
fff2c35f51
LibWeb: Move ComponentValue to CSS::Parser namespace
2022-04-12 23:03:46 +02:00
Sam Atkins
c449cabae3
LibWeb: Move CSS Parser into new Web::CSS::Parser namespace
...
The goal here is to move the parser-internal classes into this namespace
so they can have more convenient names without causing collisions. The
Parser itself won't collide, and would be more convenient to just
remain `CSS::Parser`, but having a namespace and a class with the same
name makes C++ unhappy.
2022-04-12 23:03:46 +02:00