Commit graph

575 commits

Author SHA1 Message Date
Moonchild
74fdaed1fe Issue #2490 - Part 14: Convert CSSPageRule to WebIDL.
The .style PutForwards bit is coming along for the ride here as a new feature.
2024-04-08 11:05:31 +08:00
Moonchild
d1b6a584b8 Issue #2490 - Part 13: Convert media, supports, and moz-document rules to WebIDL.
This also converts the internal ConditionRule and GroupingRule classes.
2024-04-08 11:03:50 +08:00
Moonchild
6176bd62d9 Issue #2490 - Part 12: Convert CSSStyleRule to WebIDL.
The .style PutForwards bit is coming along for the ride here, aligning us with
the behavior of Blink and Gecko.
2024-04-08 11:01:02 +08:00
Moonchild
525606c15d Issue #2490 - Part 11: Convert CSSImportRule to WebIDL.
Note that the .media PutForwards is a new feature coming along for the ride, now
that we're using the spec IDL.
2024-04-08 10:59:42 +08:00
Moonchild
95642cb4e5 Issue #2490 - Part 10: Convert CSSNamespaceRule to WebIDL. 2024-04-08 10:58:54 +08:00
Moonchild
264f152ba0 Issue #2490 - Part 9b: Add a CSSRule Web IDL interface.
Fix Paris bindings by providing a temporary IID for nsIDOMCSSRule
(thanks FranklinDM!)
2024-04-08 10:56:40 +08:00
Moonchild
5a522d9145 Issue #2490 - WIP: part 9. Add a CSSRule Web IDL interface. 2024-04-08 10:56:20 +08:00
Moonchild
bb2aaeac9f Issue #2490 - Part 8: Get rid of css::Rule::GetDOMRule. 2024-04-08 10:56:04 +08:00
Moonchild
fce04b3591 Issue #2490 - Part 7: Push the nsIDOMCSSRule implementation up to css::Rule. 2024-04-08 10:55:49 +08:00
Moonchild
8c871f602e Issue #2490 - Part 6: Make css::Rule inherit from nsIDOMCSSRule. 2024-04-08 10:55:26 +08:00
Moonchild
c2ee755574 Issue #2490 - Part 5: Get rid of DOMCSSStyleRule. 2024-04-08 10:53:21 +08:00
Moonchild
1342838b3f Issue #2490 - Part 4: Make css::Rule wrappercached. 2024-04-08 10:46:40 +08:00
Moonchild
5bb39ec403 Issue #2490 - Part 2: Remove the now-unused GetExistingDOMRule() function. 2024-04-08 10:40:28 +08:00
Moonchild
d6ec56a4c4 Issue #2490 - Part 1: Make all CSS rules cycle-collected. 2024-04-08 10:39:37 +08:00
FranklinDM
f0116f51db Issue #2488 - Part 6: Define and declare CSSStyleSheet cast functions directly in StyleSheet
This renames AsGecko calls to AsConcrete and removes the header containing leftover Stylo macros.
2024-04-02 22:52:28 +08:00
FranklinDM
81f77f18a0 Issue #2488 - Part 5: Remove HandleRefPtr (exclusively used by smart pointer classes) 2024-04-02 22:50:27 +08:00
FranklinDM
6803c1f710 Issue #2488 - Part 4: Remove the RestyleManagerHandle smart pointer class 2024-04-02 22:50:07 +08:00
FranklinDM
4bf43b8fb4 Issue #2488 - Part 3: Remove the StyleSetHandle smart pointer class 2024-04-02 22:49:48 +08:00
FranklinDM
4d7bdedade Issue #2488 - Part 2: Remove the DeclarationBlock class and use Declaration directly 2024-04-02 22:47:20 +08:00
FranklinDM
d922a18efb Issue #2488 - Part 1a: nsCSSPseudoClassList should not include any header 2024-04-02 22:46:48 +08:00
FranklinDM
5e34e0e81b Issue #2111 - Follow-up: Add missing include and fix namespace conflict when building layout deunified 2024-04-02 22:46:30 +08:00
FranklinDM
4cdc0ce964 Issue #2112 - Follow-up: Fix broken rule node assertion 2024-04-02 22:46:16 +08:00
FranklinDM
6d154eee11 Issue #58 - Follow-up: Remove Rust binding leftovers 2024-04-02 22:46:00 +08:00
FranklinDM
9279153af8 Issue #2112 - Part 14: Remove style context source and use rule node directly
Based on reverting bug 1260310.
2024-04-02 22:45:29 +08:00
FranklinDM
cb08fdd1f0 Issue #2112 - Part 13: Remove construction context for style structs
Partial reversion of bug 1261552. This keeps the behavior of always passing the presentation context to the style structs, unlike pre-stylo where it is conditional.
2024-04-02 22:45:08 +08:00
FranklinDM
4b44df794b Issue #2112 - Part 11: Remove dead off-thread Stylo functions in nsStyleStruct 2024-04-02 22:44:39 +08:00
FranklinDM
d6852b3170 Issue #2112 - Part 10: Remove remaining Stylo/Servo includes and code
Some classes have been marked for removal/merging, macros used for forwarding/casting were moved to DeprecatedUtils.h.
2024-04-02 22:44:24 +08:00
FranklinDM
b96b733bfa Issue #2112 - Part 9: Remove handling for multiple style backends 2024-04-02 22:42:43 +08:00
FranklinDM
28cd0ceb47 Issue #2112 - Part 8: Remove Stylo Stylesheet Cache 2024-04-02 22:42:25 +08:00
FranklinDM
14764253a5 Issue #2112 - Part 7: Remove Servo CSS Loader support 2024-04-02 22:42:09 +08:00
FranklinDM
10bf8705d0 Issue #2112 - Part 6: Remove IsStyledByServo function and callers 2024-04-02 22:41:54 +08:00
FranklinDM
a93a7bed47 Issue #2112 - Part 5: Remove Servo from forwarding code used by magic pointer classes 2024-04-02 22:41:34 +08:00
FranklinDM
b1c9206051 Issue #2112 - Part 4: Remove Stylo support for mask-image 2024-04-02 22:30:47 +08:00
FranklinDM
e777ae5a3c Issue #2112 - Part 3: Remove --enable-stylo config and conditionals 2024-04-02 22:30:28 +08:00
FranklinDM
88ac168f96 Issue #2112 - Part 2: Stub out Servo functions 2024-04-02 22:30:08 +08:00
FranklinDM
656ee639c5 Issue #2112 - Part 1: Remove Stylo tests 2024-04-02 22:29:48 +08:00
Eitan Isaacson
2eea07fc65 [layout] Process pairs in coord list in PolyArea.
Range -1 assures the array is even with a step size of 2, avoiding lone
value processing.
2024-02-23 10:52:22 +08:00
Moonchild
721ded9b48 Issue #2466 - Part 3: Implement style-src-elem and style-src-attr 2024-02-08 14:33:59 +08:00
Moonchild
4ea2206c15 Issue #2466 - Part 1: Reduce nsContentPolicy type usage.
Use CSPDirective instead, since it directly deals with CSP anyway.
This cleanup prepares for the following changes.
2024-02-08 14:33:28 +08:00
Moonchild
47ebb88310 Issue #2388 - Part 5: Make Selection::ToString flush frames 2024-01-18 10:16:36 +08:00
Moonchild
4a438e6607 Issue #2388 - Part 4: Align focus behavior more with Blink/Gecko 2024-01-18 10:16:05 +08:00
Moonchild
681193a256 Issue #2388 - Part 2: move focus at every selection change when it's called by JS 2024-01-18 10:15:43 +08:00
Moonchild
a83e4b6a34 Issue #2388 - Part 1: Mark Selection as "called by JS" when caused by a JS call to the selection API 2024-01-18 10:15:26 +08:00
Martok
a9d7255ba1 Issue #2452 - Bail out from PresShell::Initialize if the pres shell is being destroyed in XBLConstructorRunner
https://bugzilla.mozilla.org/show_bug.cgi?id=1428694
2024-01-18 10:09:00 +08:00
Brian Smith
5b068f3726 Issue #2402 - CSP Violation events should have the correct sample for inline contexts. https://bugzilla.mozilla.org/show_bug.cgi?id=1473587 Add preference to increase max length of CSP report source sample. https://bugzilla.mozilla.org/show_bug.cgi?id=1415352 Return valid columnNumber value in CSP violation events. https://bugzilla.mozilla.org/show_bug.cgi?id=1418246 2024-01-11 09:50:12 +08:00
Moonchild
8fe53f59d0 [layout] Always check against fragment length in nsTextFrame 2023-12-21 10:16:53 +08:00
Moonchild
0db18745f4 Issue #2364 - Limit the growth of scaling for animated nsDisplayTransform in the fallback case.
This ensures we don't scale the underlying size of the layer beyond what
is close to the current display size. When box shadows get much larger
than this, they start taking so much time to render that successive
frames grow in scale too fast for any inter-frame reuse to be possible.

With this, we avoid that and no longer get crushed by re-rendering
gigantic box shadows every single frame.

See BZ 1383825
2023-11-04 11:41:44 +08:00
Moonchild
f1ccc95daf Issue #2364 - Only use HWA AlphaBoxBlur when targets are large enough.
There's considerable cost associated with creating HWA draw targets
which would negate and regress the performance won by it if used for
too small targets (like small spans of text).
This only uses HWA if >= 8K SurfaceAllocationSize to balance HWA draw
target cost with box blur cost.
2023-11-04 11:40:33 +08:00
Moonchild
4beb3b947c Issue #2364 - use DrawTarget::DrawSurfaceWithShadow to render box shadows on platforms that accelerate it. 2023-11-04 11:40:00 +08:00
Moonchild
8d30faf95f Issue #2364 - Re-factor AlphaBoxBlur
Only blur one quadrant of a box-shadow and mirror it to the other quadrants.
This applies only if the corners are symmetrical (square corners or equal
corner radii) otherwise we'll fall back to the old method.
2023-11-04 11:39:45 +08:00