Commit graph

568 commits

Author SHA1 Message Date
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
Jeremy Andrews
83ecbdfacb Issue #2357 - Add reftest for WebM alpha.
I figured I should include the reftest for the sake of completeness, though I have already verified the feature working from the site mentioned in the forum thread that prompted me to look into this in the first place.

Ref: BZ 1331528
2023-10-26 10:50:17 +08:00
Jeremy Andrews
71cc0ef940 Issue #2357 - WebM demuxer can't tell when a video wants to be transparent.
Required to have an alpha channel (which in the strange world of graphics seems to refer to transparency, and not experimental code) in WebM videos. Straight port of Firefox 53 implementation, adapted slightly for a couple of patches previously taken without this.

Ref: BZ 1320829
2023-10-26 10:49:04 +08:00
Moonchild
0bcaa2ff90 Issue #2355 - Apply self-transforms to the frame of top level <svg>
We previously didn't do this because we relied on our anonymous wrapper
to perform transforms. However, that resulted in only the children
transforming, and the frame's cliprect wouldn't be updated,
giving the impression of the z-ordering being wrong.

Also adds reftests from the relevant BZ bug found later.

Resolves #2355
2023-10-25 09:58:41 +08:00
Brian Smith
373fb9ae07 Issue #2282 - Align the Performance Observer navigation and resource with the spec. This now passes the conformance tests. https://bugzilla.mozilla.org/show_bug.cgi?id=1425458 Resource timing entries Workers - part 2 - PerformanceTimingData. https://bugzilla.mozilla.org/show_bug.cgi?id=1462605 PerformanceNavigationTiming.name must be the value of the address of the current document. https://bugzilla.mozilla.org/show_bug.cgi?id=1462883 Update PerformanceTimingData::mReportCrossOriginRedirect in SetPropertiesFromHttpChannel. https://bugzilla.mozilla.org/show_bug.cgi?id=1462879 PerformanceNavigationTiming must be notified correctly - part 1 - notify. 2023-10-21 11:04:41 +08:00
Basilisk-Dev
84ca5fdfc7 PR #2347 - Backport of Mozilla tooltip bugs:
Bug 148624 - only show tooltip when document has focus
Partial Bug 1857513 - Use window activeness rather than document.hasFocus() to display chrome-only tooltips
2023-10-18 09:54:12 +08:00
Moonchild
bdff76bad2 Issue #2316 - Part 3: Clarify comment 2023-09-27 11:56:53 +08:00
Moonchild
30f7b3284c Issue #2316 - Part 2: Add reftests 2023-09-27 11:39:23 +08:00