Commit Graph

25 Commits

Author SHA1 Message Date
Moonchild d5a2c45aad Issue #1656 - Part 6: Clean up the build files 2020-09-23 15:52:00 +00:00
Moonchild 9eb8b61b8c Issue #1650 - Add null check.
There are situations where nsCSSClipPathinstance->CreateClipPath(dt)
returns null. We need to check for this before trying to use its
functions. If there is no clip path, then always return "no hit".
2020-09-12 20:20:02 +02:00
Andy 644f617e66 Issue #1620 - Remove Development Comments 2020-08-07 14:31:36 -07:00
Andy 232f987cf4 Issue #1619 - Convert Intrinsic Ratio to Float
https://bugzilla.mozilla.org/show_bug.cgi?id=1547792

Aspect Ratio handling simplified by using floating point integers:
- Multiplication of value (or inverse value) to a known side for Scaling
- No unequal equal values such as "4/3" vs "8/6" vs "20/15"
- Truly "Empty" aspect ratios, even if one dimension is not 0
2020-07-31 13:01:18 -07:00
win7-7 f102e7f80d Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList
Also fix build bustage for De-unified layout/xul in nsRootBoxFrame.cpp
2020-05-08 15:20:01 +03:00
Moonchild 6e8e1b36dd Issue #80 - De-unify layout/svg 2020-04-30 21:02:50 +00:00
Moonchild ad0a976f2d Issue #80 - De-unify layout/base 2020-04-29 12:36:53 +00:00
wolfbeast 793da7dd62 Revert "Issue #1355 - Better way to create display items for column backgrounds"
This reverts commit 44c47c5038.
2020-02-26 20:51:22 +01:00
win7-7 44c47c5038 Issue #1355 - Better way to create display items for column backgrounds
Part 1: Remove current table item, as it's never set.

Part 2: Get rid of generic table painting code, and handle each class separately.

Part 4: Hoist outline skipping into col(group) frame code.

Part 5: Skip box-shadow for table column and column groups.

Part 6: Store column and column group backgrounds separately, and then append them before the rest of the table contents.

Part 7: Pass rects in display list coordinates to AppendBackgroundItemsToTop.

Part 8: Create column and column group background display items as part of the cell's BuildDisplayList.

Part 9: Used cached values instead of calling nsDisplayListBuilder::ToReferenceFrame when possible, since it can be expensive when the requested frame isn't the builder's current frame.

Part 10: Make sure we build display items for table parts where only the normal position is visible, since we may need to create background items for ancestors at that position.

Part 11: Create an AutoBuildingDisplayList when we create background items for table columns and column groups, so that we initialize the invalidation state correctly.
2020-02-25 00:17:54 +02:00
wolfbeast 0481fa14b4 Issue #438: Make the nsSVGOuterSVGAnonChildFrame a reference frame.
This causes transforms of the <svg> contents to be unaffected by
scrolling / offset changes of the <svg> element.
2019-08-14 15:20:20 +02:00
wolfbeast c67d673d4f Issue #438: Check for non-rectilinear transforms 2019-08-14 15:09:34 +02:00
win7-7 00812e30df Attach FrameProperties to each frame instead of using a shared hashtable
Dispense the shared hashtable and instead attach the frame property list directly to nsIFrame.
2019-06-26 01:51:45 +03:00
wolfbeast 964c9830fa Add nullcheck in nsSVGUtils::PaintFrameWithEffects
Some SVGs define a mask but an invalid mask frame. Check to make sure
we have a `maskFrame` that isn't null before trying to use it.
This resolves #1034
2019-04-06 22:12:00 +02:00
wolfbeast 81cdb56fa3 Revert "add a nullptr check in nsSVGUtils::PaintFrameWithEffects"
This reverts commit 00baf28362.
2019-04-06 20:35:14 +02:00
yami 00baf28362 add a nullptr check in nsSVGUtils::PaintFrameWithEffects 2019-04-03 19:10:37 +02:00
cku 71c0318322 Bug 1360343 - ensure maskSurface is not null before dereference, since it can be null because of OOM or gfx device reset. r=dvander
MozReview-Commit-ID: HX2qsWLZpMg

--HG--
extra : rebase_source : 046befc11151461a682842c31e2ce39247a5e1d8
2019-04-03 14:55:35 +02:00
yami b241a84d88 issue #908 - implement missing parts of CSS mask 2019-02-02 18:06:10 +01:00
wolfbeast 351ffa462d Fix wrong SVG sizes with non-integer values for viewBox width/height.
Includes a standalone reftest.
2018-09-14 20:54:19 +02:00
Moonchild ae432c6367 Bug 1357432 (#750)
* Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite)

`IsLocalRefURL` is originally designed to be used by URLValue only.
Since we need this function in SVGUseElement::LookupHref too, move it to nsContentUtils as a util function.

* Revert "Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. (port-rewrite)"

This reverts commit 19f010c620.

* Part 1. Duplicate IsLocalRefURL to nsContentUtils to reuse this function.

`IsLocalRefURL` is originally designed to be used by URLValue only.
Since we need this function in SVGUseElement::LookupHref too, duplicate it to nsContentUtils as a util function.
This is a duplication because CSSValue uses stringbuffers and not nsStrings.
While Bug 1356060 - "Just use nsString in URLValueData" converts this use from stringbuffer to nsString, it builds on a bunch of vartype refactoring (nsString vs. nsAString, etc.) which is too much of a headache to deal with just to deduplicate this simple function.

* Part 2. Implement nsSVGEffects::GetBaseURLForLocalRef to export local-ref-url-resolving logic.

ResolveURLUsingLocalRef is designed to be internally used by nsSVGEffects::Get-{SVGEffect}-URI functions.
Since we also need it in SVGUseElement::LookupHref, make it public in nsSVGEffects.

* Part 3. Resolve local-ref in SVGUseElement::LookupHref by nsSVGEffects::GetBaseURLForLocalRef.

* Part 4. Reftest for using local-ref as xlink:href value.
2018-09-05 03:20:16 +02:00
janekptacijarabaci 53cf12d6d8 Bug 1346501. Don't mark every image as visible when a frame is created for it 2018-07-12 18:56:16 +02:00
Robert Longson acf95284e7 Bug 1448774. r=dholbert, a=RyanVM
--HG--
extra : source : edfd9ffbd7208ef0a59f40a0d77d8dd53c905cb9
extra : intermediate-source : 3784b22ec536b08ce95201d73ae8806340c18b8c
2018-04-19 11:39:36 +02:00
Botond Ballo 1d126c1d56 Bug 1443092 - Avoid calling SVGAnimatedEnumeration::AnimVal() from nsSVGUtils::GetBBox(). r=jwatt, a=RyanVM
AnimVal() is a DOM getter, and it flushes animations, which we don't want
in GetBBox() which is called from display list building cide and
FrameLayerBuilder.

MozReview-Commit-ID: DWgm7wAV7C0
2018-04-19 11:38:48 +02:00
janekptacijarabaci b736f53a13 SVG - support radialGradient fr attribute 2018-03-12 08:39:15 +01:00
wolfbeast de11930c3f Only create a single display transform for SVG frames with single child transforms.
This improves performance on repeated scaling of vectors.
2018-02-03 23:56:01 +01:00
Matt A. Tobin 5f8de423f1 Add m-esr52 at 52.6.0 2018-02-02 04:16:08 -05:00