Commit Graph

1458 Commits

Author SHA1 Message Date
Markus Stange
2d595cf6e4 Bug 1000382 - Don't simplify the invalidation region before calling nsSVGIntegrationUtils::AdjustInvalidAreaForSVGEffects. r=roc
--HG--
extra : rebase_source : a0eb465b54735c13e7b1934c3f6379ef74fd3f35
2014-04-24 10:25:17 +02:00
Markus Stange
0fdc4e2df4 Bug 997735 - Invalidate when reflowing SVG containers. r=roc
Without this patch, when changing the x/y attributes of svg:use, innerSVG and foreignObject, we were relying on the transform changes of the children to trigger the right invalidations. However, changes to those attributes can also change the filter region. And there's a difference between moving children in a fixed filter region and moving the filter region along with the children: In the first case, we wouldn't need to invalidate anything outside the old filter region, because those parts of the children would be clipped away anyway. But when the filter region changes, we need to invalidate both the old and the new filter region. Also, when the filter has primitives without inputs, e.g. flood or turbulence, the filtered frame needs to be invalidate even if it has no children.
2014-04-23 11:48:07 +02:00
Markus Stange
7cfec060c6 Bug 997735 - Use consistent offset both in nsSVGIntegrationUtils::PaintFramesWithEffects and in nsFilterInstance::GetUserSpaceToFrameSpaceInCSSPxTransform. r=roc 2014-04-23 11:47:54 +02:00
Markus Stange
c8d362ffad Bug 997735 - Add nsSVGUtils::FrameSpaceInCSSPxToUserSpaceOffset. r=roc
This function calculates the offset between "bounding box frame space" and "user space" for SVG frames. For non-SVG frames it returns no offset.

It's crucial that this is consistent with what nsSVGUtils::GetBBox does.

nsFilterInstance has several methods that are called by consumers before the actual painting, e.g. to calculate post filter extents or invalidation regions. Those nsFilterInstance APIs have their input and output values in "bounding box frame space" coordinates, but if the filter units are "objectBoundingBox", then those methods also do calculations involving the result of nsSVGUtils::GetBBox. So a consistent conversion is very important.
2014-04-23 11:47:42 +02:00
Markus Stange
185d706431 Bug 997735 - Rename nsSVGIntegrationUtils::GetOffsetToUserSpace to GetOffsetToBoundingBox. r=roc
There are three spaces that nsSVGIntegrationUtils needs to convert between. I'll call them "frame space", "bounding box frame space" and "user space".

"Bounding box frame space" has its origin at the top left of the union of a frame's border boxes over all continuations.

For SVG frames, "frame space" and "bounding box frame space" are the same because SVG frames don't have multiple continuations.

For non-SVG frames, "bounding box frame space" and "user space" are the same.

However, for SVG frames, "bounding box frame space" and "user space" are different! For example, for a <rect x="100" y="100">, the point 0,0 in frame space is at the rect's top left corner, but the point 0,0 in user space is 100,100 pixels away from the rect's corner.

nsSVGIntegrationUtils::GetOffsetToUserSpace took the non-SVG viewpoint, but it's misleading for SVG frames.
2014-04-23 11:47:31 +02:00
Jonathan Watt
61a8971526 Bug 996901 - Remove lots of gfxASurface.h and gfxImageSurface.h includes and forward declarations that are no longer needed. r=mattwoodrow 2014-04-16 01:41:40 +01:00
Daniel Holbert
727250afa8 Bug 991285 part 1: Consistently allocate nsRenderingContext instances on the heap. r=roc 2014-04-15 12:54:10 -07:00
Daniel Holbert
50d14afe31 Bug 996351: Rename nsPresShell::GetReferenceRenderingContext() to CreateReferenceRenderingContext(), to reduce implication of fallibility. r=roc 2014-04-14 21:30:25 -07:00
Jonathan Watt
75b02d7954 Bug 993443 - Relax the assertion in ConstrainToCoordValues to allow aSize to also be zero. r=longsonr 2014-04-13 11:07:10 +01:00
John Daggett
2d1be2e695 Bug 950526 - don't dump textruns within nsTextFrame::DidSetStyleContext. r=dbaron 2014-04-08 14:13:28 +09:00
Jonathan Watt
ecdb8cca65 Bug 988818 - Stop creating a Thebes (gfxASurface) backed gfxContext in nsSVGImageFrame (Moz2D migration). r=longsonr 2014-03-31 12:53:54 +01:00
Max Vujovic
5727154044 Bug 948265 - Rename intermediate space to filter space and change filter space origin to user space origin. r=mstange, r=longsonr 2014-03-26 16:21:48 -07:00
Birunthan Mohanathas
7ac995a949 Bug 987320 - Remove unnecessary null checks for do_QueryFrame arguments. r=bz 2014-03-25 11:36:49 -04:00
Gorman Ho
f829937556 Bug 983285 - Add a generic destructor for property values allocated with new. r=kats, r=bz 2014-03-25 09:25:47 -04:00
Jonathan Watt
d195236d65 Bug 959128 - Fix transforms of clipPath content for clipPath being used within SVG-in-OpenType glyph. r=heycam 2014-03-25 08:51:10 +00:00
Jonathan Watt
bffb9388c5 Bug 985470 - Replace the Moz2D Matrix().Translate() calls with Matrix::Translation() for better perf. r=mattwoodrow
--HG--
extra : rebase_source : 7181564bdaa57a970a256e9676857a7195874631
2014-03-22 07:56:11 +08:00
Carsten "Tomcat" Book
94e9995102 Backed out changeset 1d12ab8bf5fe (bug 950526) for android reftest failures on a CLOSED TREE 2014-03-20 10:00:24 +01:00
John Daggett
328447eda5 Bug 950526 - don't dump textruns within nsTextFrame::DidSetStyleContext. r=dbaron 2014-03-20 14:43:29 +08:00
Markus Stange
cb1ed17792 Bug 984761 - Use a typed enum for ColorSpace and AlphaModel. r=bjacob 2014-03-20 10:12:43 +08:00
Jonathan Watt
c47047aab1 Bug 984280 - Convert DOMSVGPoint from Thebes to Moz2d. r=heycam 2014-03-19 09:13:18 +08:00
Max Vujovic
c3c7c622ad Bug 948265 - Fix user space to filter space transformation and example in nsSVGFilterInstance. r=mstange 2014-03-15 17:08:04 -04:00
Max Vujovic
78610ff689 Bug 948265 - Introduce an "intermediate" coordinate space to share across chained filters. r=roc 2014-03-12 08:42:19 -04:00
Gregory Szorc
1d7ac7ea19 Bug 980174 - Remove some empty Makefile.in; r=mshal
--HG--
extra : rebase_source : eada340aed8daebbfc3bf7d4218bca980d654cef
2014-03-05 19:56:56 -08:00
Max Vujovic
38ada69883 Bug 948265 - Remove deprecated filterRes attribute from SVG filters. r=roc, r=hsivonen 2014-03-10 08:55:25 -04:00
Jonathan Kew
d65fad3678 bug 735577 - followup 1 (v2) - allow reflow-state to be passed to the reflow-metrics constructor to get the writing mode. r=roc 2013-12-31 13:50:31 +00:00
Robert Longson
f082c2fae8 Bug 979407 - Fix ASSERTION: viewport height must be nonnegative, with negative markerHeight or markerWidth attribute. r=dholbert 2014-03-05 21:28:12 +00:00
Markus Stange
c431a14625 Bug 963086 - Detect filter rect XMost()/YMost() overflow and protect against out-of-range data acess. f=dholbert, r=Bas 2014-03-05 18:41:19 +01:00
Markus Stange
6d0e5d3a43 Bug 975773 - Filter primitives in error states can have inputs. r=roc 2014-03-03 14:31:27 +01:00
Wes Kocher
78e44d681b Backed out changeset c14980a16210 (bug 948265) so it can address review comments first, despite the CLOSED TREE 2014-02-28 14:48:31 -08:00
Max Vujovic
d66505e413 Bug 948265 - Remove deprecated filterRes attribute from SVG filters. r=roc 2014-02-28 16:40:14 -05:00
Max Vujovic
313661e692 Bug 948265 - Connect the filter graphs of chained SVG filters. r=roc 2014-02-28 16:40:00 -05:00
Reuben Morais
b672cdc604 Bug 458300 - Rename nsINameSpaceManager.h to nsNameSpaceManager.h. r=jst r=hsivonen
--HG--
rename : content/base/public/nsINameSpaceManager.h => content/base/public/nsNameSpaceManager.h
2014-02-27 20:04:46 -03:00
Reuben Morais
5e62e712f6 Bug 458300 - Remove some unneeded includes of nsINameSpaceManager.h. r=jst 2014-02-27 20:04:45 -03:00
Matt Woodrow
1b36d8270d Bug 976812 - Mark nsDisplaySVGText as using component alpha. r=heycam 2014-02-27 15:57:45 +13:00
L. David Baron
dfb9ad9186 Bug 976350 patch 1: Move the contents of nsTraceRefcnt.h into nsISupportsImpl.h. r=bsmedberg
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
2014-02-26 13:36:35 -08:00
Robert Longson
cb2b08415c Bug 975206 - Elements with non-existent clip-path URLs do not fire events. r=jwatt
--HG--
rename : content/svg/content/test/test_pointer-events-2.xhtml => content/svg/content/test/test_pointer-events-5.xhtml
2014-02-26 20:40:07 +00:00
Max Vujovic
9e4b8fc70d Bug 948265 - Split out rendering code from nsSVGFilterInstance into nsFilterInstance. r=roc
--HG--
rename : layout/svg/nsSVGFilterInstance.cpp => layout/svg/nsFilterInstance.cpp
rename : layout/svg/nsSVGFilterInstance.h => layout/svg/nsFilterInstance.h
2014-02-24 10:22:58 -05:00
Max Vujovic
04fbe6b40b Bug 948265 - Pass an nsStyleFilter chain instead of an nsSVGFilterFrame into nsSVGFilterInstance. r=roc 2014-02-24 10:22:58 -05:00
Arnaud Sourioux
02b48ee29a Bug 974687 - Part 2: Fix more than 80cols issues caused by MOZ_OVERRIDE annotation. r=dholbert 2014-02-24 09:41:56 -05:00
Arnaud Sourioux
94fd6d0fd6 Bug 974687 - Part 1: Add about 300 MOZ_OVERRIDE in layout/. r=dholbert 2014-02-24 09:41:56 -05:00
Robert Longson
c9b9c9fa72 Bug 974746 - Fix rotated zero width or height pattern crash. r=jwatt 2014-02-20 20:49:14 +00:00
Arnaud Sourioux
9e20b29b45 Bug 974135: Get rid of NS_IMETHOD in nsISVGChildFrame.h and its implementations r=dholbert 2014-02-19 14:34:31 -08:00
Robert Longson
63d690f950 Bug 974347 - Improve bounds handling of non-rendered elements. r=jwatt 2014-02-19 20:46:43 +00:00
Robert Longson
28340364f9 Bug 970356 - neither getSubStringLength, nor selectSubString should throw if nchars is too large. r=cam 2014-02-18 14:29:27 +00:00
Daniel Holbert
bea5535e10 Bug 919806 followup: Reindent method declarations affected by NS_IMETHOD-removal. (whitespace-only; no review) DONTBUILD 2014-02-18 00:36:33 -08:00
Arnaud Sourioux
d4e37270b8 Bug 919806: Get rid of NS_IMETHOD in nsIFrame.h and its implementations r=dholbert 2014-02-17 23:47:48 -08:00
L. David Baron
c3109dc9e2 Bug 480888 patch 1: Rename ComputeOutlineAndEffectsRect to ComputeEffectsRect. r=roc 2014-02-14 21:29:12 -08:00
Max Vujovic
2b722685f9 Bug 948265 - [CSS Filters] Change nsSVGFilterProperty to track an nsStyleFilter chain instead of a single nsIURI and nsSVGFilterFrame. r=roc 2014-02-09 20:31:03 -08:00
Brian O'Keefe
e3f6084e7a Bug 772828 - Part b: use RESOURCE_FILES in moz.build instead of manual rules in Makefile.in; r=mshal 2013-11-05 13:37:54 -05:00
Ms2ger
b995cb3325 Bug 952033 - Part b: Use IntSize in CreateOffscreenSurface; r=roc 2014-02-09 09:04:38 +01:00