Commit graph

72 commits

Author SHA1 Message Date
Matt Woodrow
a79e573d49 Bug 1520652 - Clip SVG filters to the PrimitiveSubregion when using WebRender. r=mstange
This patch changes a few things:
* Restores clipping to the computed clip, but just for SVG filters.
* Computes the clip just from the primitive subregion, not the bounds of the filtered content.
* Unconditionally clips all SVG filters using the primitive subregion
* Allows clips to be combined, if they will be sharing a coordinate space
* Fixes coordinate space of the clip region.

Differential Revision: https://phabricator.services.mozilla.com/D16941

--HG--
extra : moz-landing-system : lando
2019-01-19 06:35:16 +00:00
Andreea Pavel
bdea6eafb0 Backed out 2 changesets (bug 1520652) for build bustages on a CLOSED TREE
Backed out changeset b9ca6790fee1 (bug 1520652)
Backed out changeset ebdc9e3d72c4 (bug 1520652)
2019-01-19 05:36:54 +02:00
Matt Woodrow
20b4793c83 Bug 1520652 - Clip SVG filters to the PrimitiveSubregion when using WebRender. r=mstange
This patch changes a few things:
* Restores clipping to the computed clip, but just for SVG filters.
* Computes the clip just from the primitive subregion, not the bounds of the filtered content.
* Unconditionally clips all SVG filters using the primitive subregion
* Allows clips to be combined, if they will be sharing a coordinate space
* Fixes coordinate space of the clip region.

Differential Revision: https://phabricator.services.mozilla.com/D16941

--HG--
extra : moz-landing-system : lando
2019-01-19 03:21:53 +00:00
Jeff Muizelaar
17b5ec3dd2 Bug 1509182. Switch from using WrFilterOp to using FilterOp directly. r=nical
This avoids code duplication and simplifies push_stacking_context

Differential Revision: https://phabricator.services.mozilla.com/D16050

--HG--
extra : moz-landing-system : lando
2019-01-10 19:41:08 +00:00
Cosmin Sabou
88993e172c Backed out changeset 10dedfde1015 (bug 1509182) for causing build bustages.
--HG--
extra : rebase_source : 4389819cbb88af16724480f571b0abcd027015ba
2019-01-10 20:52:49 +02:00
Jeff Muizelaar
ef9bb810f0 Bug 1509182. Switch from using WrFilterOp to using FilterOp directly. r=nical
This avoids code duplication and simplifies push_stacking_context

Differential Revision: https://phabricator.services.mozilla.com/D16050

--HG--
extra : moz-landing-system : lando
2019-01-10 18:40:56 +00:00
Csoregi Natalia
ae6fde5883 Backed out changeset 8e078c86db82 (bug 1509182) for bustage on WebRenderTypes.h:789. CLOSED TREE 2019-01-10 18:15:42 +02:00
Jeff Muizelaar
a0468b94c6 Bug 1509182. Switch from using WrFilterOp to using FilterOp directly. r=nical
This avoids code duplication and simplifies push_stacking_context

Differential Revision: https://phabricator.services.mozilla.com/D16050

--HG--
extra : moz-landing-system : lando
2019-01-10 14:20:21 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Nicolas Silva
1b186dddd4 Bug 1485512 - Try to express SVG filters as CSS filters when possible. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D8085

--HG--
extra : source : 28104a88b5855f21395f60192ab3f86325931915
extra : intermediate-source : 4a9ee25e545696b17ba09e2b7c9f702ab3d0efc1
2018-11-02 19:01:14 +01:00
Jonathan Watt
8c224bc9d8 Bug 1494321 p2. Stop doing wasteful pre/post-effects work for frames with just a clip-path or mask applied. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D6924

--HG--
extra : rebase_source : 426e4b6d854644db1524d235651667e23d9c4908
2018-08-28 21:51:23 +01:00
Jeff Muizelaar
f2485f9b16 Bug 1447880. Allow PaintMaskAndClipPath to support different ways of painting its children. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D6223
2018-09-21 18:50:08 -04:00
Kartikaya Gupta
78dba184db Bug 1461313 - Handle invalid clip-path URIs with WebRender. r=mstange
In the case of an invalid clip-path, the browser is supposed to discard the
mask entirely. In the non-webrender codepath this would happen
implicitly because the computed MaskUsage would have no flags set, and
so no actions would be taken on the gfxContext which contained the
display items rasterized so far. In the WebRender codepath, though, we
invoke the code on a A8 drawtarget that's zero-filled, so if PaintMask
fails to rasterize anything into it, it gets treated as a "mask everything
out" mask. Instead, this patch makes it so that we detect the scenario
where the computed MaskUsage is a no-op, and ensure that we don't apply
the mask in that case.

An alternative approach considered was to initialize the A8 drawtarget to
white instead of black but in cases where there is an actual mask, the
rest of the code assumes it is zero-filled and so that doesn't work.

MozReview-Commit-ID: Hw7nCiUXVJl

--HG--
extra : rebase_source : 241d550fa0ed1b3bd088c73d9565b166acbcece8
2018-07-05 08:05:34 -04:00
Samathy Barratt
d8ba79a56b Bug 1351447 - Rename imagelib's DrawResult to ImgDrawResult r+tnikkel r=tnikkel
Renamed to imgDrawResult

MozReview-Commit-ID: 5ESSgIhhU41

--HG--
rename : image/DrawResult.h => image/ImgDrawResult.h
extra : rebase_source : dbf645574aff7eefe65fa81809d6c07cb5800ec6
2017-12-11 15:37:59 +00:00
Ciure Andrei
b8d4330b53 Backed out changeset 8e33d0ce108c (bug 1351447) for failing /builds/worker/workspace/build/src/widget/cocoa/nsCocoaUtils on OS X r=backout a=backout on a CLOSED TREE
--HG--
rename : image/ImgDrawResult.h => image/DrawResult.h
2017-12-12 09:49:59 +02:00
Samathy Barratt
0749baf2d8 Bug 1351447 - Rename imagelib's DrawResult to ImgDrawResult r=tnikkel
Renamed to imgDrawResult

MozReview-Commit-ID: 5ESSgIhhU41

--HG--
rename : image/DrawResult.h => image/ImgDrawResult.h
extra : rebase_source : 4fba109b84ef456126d50e0d5e525f29f944a46d
2017-12-11 15:37:59 +00:00
Daniel Holbert
680815cd6e Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Louis Chang
1a9594b12b Bug 1385745 Part 1 - Add BBoxFlags::eIncludeOnlyCurrentFrameForNonSVGElement to determine whether include all continuations while computing bbox of a html frame. r=cjku,heycam
MozReview-Commit-ID: Fx11LjhBcrM

--HG--
extra : rebase_source : 6a46553d77f940186d4e7ff2c744b1ccd19e3dad
2017-08-17 09:52:17 +08:00
cku
4790d4da73 Bug 1351440 - Part 4. Pass imgDrawingParams to nsSVGPaintServerFrame::GetPaintServerPattern. r=jwatt
The reason of this change is the same as for Part 2, except that this commit fixes
nsSVGPaintServerFrame::GetPaintServerPattern rather than PaintSVG.

Commit-ID: 691YrKZ0Lm9
MozReview-Commit-ID: KSnFhCndFUk
2017-05-18 22:03:50 +02:00
cku
51288e6cfe Bug 1351440 - Part 3. Pass imgDrawingParams to nsSVGMaskFrame::GetMaskForMaskedFrame. r=jwatt
The reason of this change is the same as for Part 2, except this commit fixes
nsSVGMaskFrame::GetMaskForMaskedFrame rather than PaintSVG.

MozReview-Commit-ID: DS0eG6eKDgs
2017-05-18 22:03:45 +02:00
cku
d85d3ab378 Bug 1351440 - Part 2. Encapsulate DrawResult and imgIContainer::FLAG_* into imgDrawingParams, and pass it to PaintSVG. r=jwatt
The DrawResult return was not in fact anything to do with the success or
failure of that method, but was actually passing out a very specific piece of information
about the success or failure of any imagelib drawing that may not have occurred
under the various PaintSVG calls.

The signature of PaintSVG is changed from
  DrawResult PaintSVG(...., uint32 flags);
to
  void PaintSVG(...., imgDrawingParams& aPackage);

imgDrawingParams wraps DrawResult and imgIContainer::FLAG_* as a pack, pass through
PaintSVG to imagelib draw calls under beneath.

MozReview-Commit-ID: IOq2evUAOQF
2017-05-18 22:03:41 +02:00
Sebastian Hengst
41f1727bf4 Backed out changeset f3460d42d23c (bug 1351440) 2017-05-18 21:15:35 +02:00
Sebastian Hengst
635d32e534 Backed out changeset 3240cd94bf4b (bug 1351440) 2017-05-18 21:15:30 +02:00
Sebastian Hengst
00458fa236 Backed out changeset 2ea1279576d2 (bug 1351440) 2017-05-18 21:15:26 +02:00
cku
c412dd10b9 Bug 1351440 - Part 4. Pass imgDrawingParams to nsSVGPaintServerFrame::GetPaintServerPattern. r=jwatt
The reason of this change is the same as for Part 2, except that this commit fixes
nsSVGPaintServerFrame::GetPaintServerPattern rather than PaintSVG.

Commit-ID: 691YrKZ0Lm9
MozReview-Commit-ID: KSnFhCndFUk

--HG--
extra : rebase_source : 3397613129fff6023833cdc3bd639f0d2b151652
extra : source : fa29f1920a88d88bcf0f5239462d32ee8955895c
2017-05-09 02:14:08 +08:00
cku
0fcc7571b7 Bug 1351440 - Part 3. Pass imgDrawingParams to nsSVGMaskFrame::GetMaskForMaskedFrame. r=jwatt
The reason of this change is the same as for Part 2, except this commit fixes
nsSVGMaskFrame::GetMaskForMaskedFrame rather than PaintSVG.

MozReview-Commit-ID: DS0eG6eKDgs

--HG--
extra : rebase_source : 696bf495edc98a390f49ff0638165724521460b1
extra : source : 95f38c2c8b57134504e7fbe03d1637866e3e65ba
2017-05-08 21:27:20 +08:00
cku
eaa4406688 Bug 1351440 - Part 2. Encapsulate DrawResult and imgIContainer::FLAG_* into imgDrawingParams, and pass it to PaintSVG. r=jwatt
The DrawResult return was not in fact anything to do with the success or
failure of that method, but was actually passing out a very specific piece of information
about the success or failure of any imagelib drawing that may not have occurred
under the various PaintSVG calls.

The signature of PaintSVG is changed from
  DrawResult PaintSVG(...., uint32 flags);
to
  void PaintSVG(...., imgDrawingParams& aPackage);

imgDrawingParams wraps DrawResult and imgIContainer::FLAG_* as a pack, pass through
PaintSVG to imagelib draw calls under beneath.

MozReview-Commit-ID: IOq2evUAOQF

--HG--
extra : rebase_source : 66c9a9e391c2f9e142575f42fd47b37334ec5752
extra : source : 97a08873177c0f18edffdb1b5589c77843a50553
2017-05-05 17:19:43 +08:00
cku
8abb48b629 Bug 877661 - Part 1. Pass decode flag down to GetMaskForMaskedFrame. r=tnikkel
MozReview-Commit-ID: 9KhIWp1rHzb

--HG--
extra : rebase_source : 8c3d3c95ba7ada05673ba637cd542f41e9ce9f90
2017-03-27 11:10:48 +08:00
cku
2d91b08fdf Bug 1224207 - Part 6. Move GetCSSPxToDevPxMatrix to nsSVGUtils. r=mstange
To use GetCSSPxToDevPxMatrix in nsFilterInstance, pull this untility function down
to nsSVGUtils; Otherwise, we have to include nsSVGIntegrationUtils header in
nsFilterIntance, which is ok but not good I think.

MozReview-Commit-ID: 6SGtwj4EE1S

--HG--
extra : rebase_source : f75c904602f7f0f4ad0e4bdb5786c3a405a86be6
2017-01-24 23:22:43 +08:00
Iris Hsiao
6fbbd6b7c2 Backed out 8 changesets (bug 1224207) for Win8 Reftest failures
Backed out changeset 2fce8d53b105 (bug 1224207)
Backed out changeset c31e96bf56d0 (bug 1224207)
Backed out changeset 587cde853b75 (bug 1224207)
Backed out changeset 7faefd871e00 (bug 1224207)
Backed out changeset 15f62c3ec366 (bug 1224207)
Backed out changeset 9448e628569e (bug 1224207)
Backed out changeset 958379e4f61c (bug 1224207)
Backed out changeset d23079bc188e (bug 1224207)
2017-02-08 17:53:07 +08:00
cku
0faeebe858 Bug 1224207 - Part 6. Move GetCSSPxToDevPxMatrix to nsSVGUtils. r=mstange
To use GetCSSPxToDevPxMatrix in nsFilterInstance, pull this untility function down
to nsSVGUtils; Otherwise, we have to include nsSVGIntegrationUtils header in
nsFilterIntance, which is ok but not good I think.

MozReview-Commit-ID: 6SGtwj4EE1S

--HG--
extra : rebase_source : ff6c6173c599afe630aa8b16330a0d1fc667ced8
2017-01-24 23:22:43 +08:00
Daniel Holbert
b054aefef7 Bug 1321056: Add includes/namespaces to fix latent unified bustage in layout/svg. r=TYLin
MozReview-Commit-ID: 8k3FSpKeKOa

--HG--
extra : rebase_source : 8a75ab94142f53181fa484ab5fd9750038993ef5
2016-11-29 11:41:16 -08:00
cku
282a24594a Bug 1250490 - Part 2. Remove DetermineMaskUsage and ComputeOpacity from nsSVGIntegrationUtils. r=mstange
MozReview-Commit-ID: 4gHW7PyMNhd

--HG--
extra : rebase_source : 68507df64232ebef68535e85cc9934833a428456
2016-11-03 11:16:46 +08:00
cku
4d9495cf77 Bug 1234485 - Part 3. Implement nsSVGIntegrationUtils::PaintMask. r=mstange
Unlike nsSVGIntegrationUtils::PaintMaskAndClipPath, which paints masked content
onto aParam.ctx, nsSVGIntegrationUtils::PaintMask paints only mask, no content,
onto aParams.ctx.

MozReview-Commit-ID: BaRbtHpoHzj

--HG--
extra : rebase_source : 4a258b7332ba7a7edbffdc13c7f4b065fbe5eaa4
2016-10-19 17:31:36 +08:00
cku
999ca66251 Bug 1234485 - Part 2. Implement nsSVGIntegrationUtils::IsMaskResourceReady. r=mstange
We need this new function to determine whether paint mask onto mask layer.
MozReview-Commit-ID: IeEamPi9S8v

--HG--
extra : rebase_source : 993ae4bbe31c2c21704813c318f5328719194930
2016-10-30 21:41:06 +08:00
cku
882c5bf086 Bug 1234485 - Part 1. Extract DetermineMaskUsage from PaintMaskAndClipPath. r=mstange
Two reasons that we should do this:
1. Make PaintMaskAndClipPath even simpler.
2. We need this new function to determine LayerState of a nsDisplayMask later.

MozReview-Commit-ID: 2ga0VFOs6u3

--HG--
extra : rebase_source : 8a8c4da05acf5aa1cf13eb7366116944df9c8409
2016-10-19 13:38:35 +08:00
cku
0d557e384c Bug 1299715 - Part 6. Move ComputeMaskGeometry from nsSVGIntegrationUtils to nsDisplayMask. r=mstange
MozReview-Commit-ID: 4uLfaGDXGyE

--HG--
extra : rebase_source : f6a72f1067d32287e68b3cc7a84dd5a0c8384e1a
2016-10-11 13:12:00 +08:00
Sebastian Hengst
f984f3a888 Backed out changeset b91db6687d19 (bug 1299715) 2016-10-12 18:02:18 +02:00
cku
faa1874701 Bug 1299715 - Part 6. Move ComputeMaskGeometry from nsSVGIntegrationUtils to nsDisplayMask. r=mstange
MozReview-Commit-ID: 4uLfaGDXGyE

--HG--
extra : rebase_source : 136a87f3b23578d6a3a2cf95474463edb6a53708
2016-10-11 13:12:00 +08:00
cku
069847c2be Bug 1295094 - Part 15. (follow up) Correct comments.(DONTBUILD) r=me
MozReview-Commit-ID: Kw8rrduASI2

--HG--
extra : rebase_source : c67b6b09563f223434889124d2c9f68e8a8fe9a9
extra : amend_source : dcb23bf43c12e527550f130793d61f10e4a395c1
2016-09-09 11:24:15 +08:00
cku
86c378df38 Bug 1300401 - Part 1. Handle opacity in nsDisplayFilter. r=mstange
MozReview-Commit-ID: D4JXkDm64fN

--HG--
extra : rebase_source : 44ce4f92c2257a2303de2702af2ade3d8173c358
2016-09-05 11:47:18 +08:00
cku
78ca020a31 Bug 1295094 - Part 10. nsDisplayMask creation flow. r=mstange
MozReview-Commit-ID: Jk9B54WtThK

--HG--
extra : rebase_source : 199b71fef0cce209b048dc362f89ecd700fda3e9
2016-08-16 13:56:11 +08:00
cku
40076dcfa1 Bug 1295094 - Part 8. Implement nsSVGIntegrationUtils::PaintMaskAndClipPath r=mstange
MozReview-Commit-ID: EbIUVDXuHa0

--HG--
extra : rebase_source : f9c76291cfc78352268f9cf3a32376fcac96d018
2016-08-16 01:07:57 +08:00
cku
949553410d Bug 1295094 - Part 7. Implement nsSVGIntegrationUtils::PaintFilter. r=mstange
MozReview-Commit-ID: DTcNsc2UNdu

--HG--
extra : rebase_source : 1370d3aa9f4d23086c0bc17d14a9c1fadb4d4db8
2016-08-16 00:59:35 +08:00
cku
0e37181d38 Bug 1258510 - Part 1. Use the return value of nsCSSRendering::PaintBackgroundWithSC. r=mstange
MozReview-Commit-ID: D1gKBng8hnJ

--HG--
extra : rebase_source : 430c41d7bf5754169d5e485ea43ca96c8490efdd
2016-07-12 01:22:54 +08:00
Carsten "Tomcat" Book
32a806d5a1 Backed out changeset af828ca7cc58 (bug 1258510) on developers request 2016-07-13 08:37:37 +02:00
cku
eed3cc3db3 Bug 1258510 - Part 1. Use the return value of nsCSSRendering::PaintBackgroundWithSC. r=mstange
MozReview-Commit-ID: D1gKBng8hnJ

--HG--
extra : rebase_source : 8eea6e07c30fcccaae8eb4a1876b3c23686bdb5d
2016-07-12 01:22:54 +08:00
Jonathan Watt
b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Matt Woodrow
565f5ee9a1 Bug 1263829 - Part 2: Don't apply opacity in PaintFramesWithEffects if we created an nsDisplayOpacity. r=jwatt 2016-06-08 17:12:35 +12:00
CJKu
b4f5e64881 Bug 1228280 - Part 2. Change the parameters of nsSVGIntegrationUtils::PaintFramesWithEffects;
MozReview-Commit-ID: CaOINlG7HD6
2016-05-19 15:43:32 +08:00