gecko-dev/layout/svg
Robert O'Callahan a1480fca87 Bug 1048752. Part 19: Create nsCaret::GetPaintGeometry to call during painting. r=tn
This is the start of the changes to caret-drawing proper.

The idea is to combine GetCaretFrame and GetCaretRect into a method
GetPaintGeometry which looks like GetGeometry but returns values
needed for painting (i.e. including bidi decorations, and returning
a null frame if we're not supposed to paint due to specific caret
state, e.g. in the "off" phase of the blink cycle).

Mostly a straightforward refactoring but there are a few interesting changes:
-- nsDisplayCaret stores its bounds instead of getting them from nsCaret on
demand. Eventually those bounds will not be stored in nsCaret at all.
-- nsDisplayCaret::GetBounds returns true for aSnap. nsCaret draws snapped
rects, so why not.
-- I removed "if (caretRect.Intersects(aDirtyRect))" in EnterPresShell.
As far as I can tell, this check is incorrect because it doesn't take
transforms into account. Since there's at most one drawn caret per window,
hence we do this at most once per paint, I don't think there's any real
performance advantage to having this check.

--HG--
extra : rebase_source : c98d3a5994478b482d19cc2e2ac83ab51bd17e00
2014-08-06 17:19:28 +12:00
..
crashtests Bug 1028512 - Remove {lower,upper}-{roman,alpha} from CSS keywords. r=jfkthame 2014-06-22 13:28:51 +01:00
resources/content
tests
moz.build Bug 948265 - Add nsCSSFilterInstance with support for adding CSS blur filters to filter graphs. r=mstange 2014-08-06 10:48:47 -07:00
nsCSSFilterInstance.cpp Bug 948265 - Add NOT_IMPLEMENTED return value for each CSS filter in nsCSSFilterInstance. r=longsonr 2014-08-15 10:43:42 -07:00
nsCSSFilterInstance.h Bug 948265 - Add CSS drop-shadow filter to nsCSSFilterInstance. r=mstange 2014-08-14 11:29:56 -07:00
nsFilterInstance.cpp Bug 948265 - Add CSS drop-shadow filter to nsCSSFilterInstance. r=mstange 2014-08-14 11:29:56 -07:00
nsFilterInstance.h Bug 948265 - Add nsCSSFilterInstance with support for adding CSS blur filters to filter graphs. r=mstange 2014-08-06 10:48:47 -07:00
nsISVGChildFrame.h Bug 1049256, part 2 - Get rid of nsISVGChildFrame::FOR_HIT_TESTING. r=longsonr 2014-08-07 08:09:34 +01:00
nsISVGSVGFrame.h
nsSVGAFrame.cpp Bug 1049256, part 2 - Get rid of nsISVGChildFrame::FOR_HIT_TESTING. r=longsonr 2014-08-07 08:09:34 +01:00
nsSVGClipPathFrame.cpp Bug 1052913 - Clean up some nsSVGClipPathFrame code and add some documentation to make it clearer. r=dholbert 2014-08-13 13:36:32 +01:00
nsSVGClipPathFrame.h Bug 1052913 - Clean up some nsSVGClipPathFrame code and add some documentation to make it clearer. r=dholbert 2014-08-13 13:36:32 +01:00
nsSVGContainerFrame.cpp Bug 1049256, part 1 - Convert SVG hit-testing to act on an SVG user space point instead of calling nsSVGUtils::GetCanvasTM(). r=longsonr 2014-08-07 08:09:31 +01:00
nsSVGContainerFrame.h Bug 1049256, part 1 - Convert SVG hit-testing to act on an SVG user space point instead of calling nsSVGUtils::GetCanvasTM(). r=longsonr 2014-08-07 08:09:31 +01:00
nsSVGEffects.cpp (no bug) Drop end-of-line whitespace in SVG filter code. (whitespace-only, so DONTBUILD) 2014-07-31 17:37:35 -07:00
nsSVGEffects.h Bug 1050009 - Initialize pldhash tables with a length, not a capacity. r=roc. 2014-08-06 06:31:21 -07:00
nsSVGFilterFrame.cpp Bug 1052910 - Clean up some includes. r=dholbert 2014-08-13 13:34:53 +01:00
nsSVGFilterFrame.h Bug 1052910 - Clean up some includes. r=dholbert 2014-08-13 13:34:53 +01:00
nsSVGFilterInstance.cpp Bug 1052910 - Clean up some includes. r=dholbert 2014-08-13 13:34:53 +01:00
nsSVGFilterInstance.h Bug 1052910 - Clean up some includes. r=dholbert 2014-08-13 13:34:53 +01:00
nsSVGFilterPaintCallback.h bug 875329 - don't ignore transforms when rendering SVG-in-OT glyphs. r=heycam 2013-09-11 08:27:45 +01:00
nsSVGForeignObjectFrame.cpp Bug 1052999 - Stop using FOR_PAINTING in nsSVGForeignObjectFrame::GetInvalidRegion. r=longsonr 2014-08-13 13:36:41 +01:00
nsSVGForeignObjectFrame.h Bug 1049256, part 1 - Convert SVG hit-testing to act on an SVG user space point instead of calling nsSVGUtils::GetCanvasTM(). r=longsonr 2014-08-07 08:09:31 +01:00
nsSVGGenericContainerFrame.cpp Bug 1049256, part 2 - Get rid of nsISVGChildFrame::FOR_HIT_TESTING. r=longsonr 2014-08-07 08:09:34 +01:00
nsSVGGenericContainerFrame.h Bug 919806 followup: Reindent method declarations affected by NS_IMETHOD-removal. (whitespace-only; no review) DONTBUILD 2014-02-18 00:36:33 -08:00
nsSVGGFrame.cpp Bug 1049256, part 2 - Get rid of nsISVGChildFrame::FOR_HIT_TESTING. r=longsonr 2014-08-07 08:09:34 +01:00
nsSVGGFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsSVGGradientFrame.cpp Bug 1025553, part 6 - Remove gfxMatrix::Multiply(). r=Bas 2014-07-11 08:07:07 +01:00
nsSVGGradientFrame.h Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsSVGImageFrame.cpp Bug 1049256, part 1 - Convert SVG hit-testing to act on an SVG user space point instead of calling nsSVGUtils::GetCanvasTM(). r=longsonr 2014-08-07 08:09:31 +01:00
nsSVGInnerSVGFrame.cpp Bug 1049256, part 2 - Get rid of nsISVGChildFrame::FOR_HIT_TESTING. r=longsonr 2014-08-07 08:09:34 +01:00
nsSVGInnerSVGFrame.h Bug 1049256, part 1 - Convert SVG hit-testing to act on an SVG user space point instead of calling nsSVGUtils::GetCanvasTM(). r=longsonr 2014-08-07 08:09:31 +01:00
nsSVGIntegrationUtils.cpp Bug 1052913 - Clean up some nsSVGClipPathFrame code and add some documentation to make it clearer. r=dholbert 2014-08-13 13:36:32 +01:00
nsSVGIntegrationUtils.h Bug 1000382 - Don't simplify the invalidation region before calling nsSVGIntegrationUtils::AdjustInvalidAreaForSVGEffects. r=roc 2014-04-24 10:25:17 +02:00
nsSVGMarkerFrame.cpp Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsSVGMarkerFrame.h Bug 508665 - part 15, s/mParent/GetParent()/ in a bunch of nsIFrame sub-classes. r=roc 2014-05-24 22:20:41 +00:00
nsSVGMaskFrame.cpp Bug 1025553, part 3 - Give gfxMatrix::Invert() the same semantics as Moz2D's Matrix::Invert(). r=Bas 2014-07-11 08:06:39 +01:00
nsSVGMaskFrame.h Bug 987194 - Convert SVG masking to Moz2D. r=mattwoodrow 2014-06-23 05:45:31 +01:00
nsSVGOuterSVGFrame.cpp Bug 1049256, part 2 - Get rid of nsISVGChildFrame::FOR_HIT_TESTING. r=longsonr 2014-08-07 08:09:34 +01:00
nsSVGOuterSVGFrame.h bug 1031241 pt 1 - Rename Get{Min,Pref}Width to Get{Min,Pref}ISize throughout layout. r=dbaron,smontagu 2014-07-24 18:03:25 +01:00
nsSVGPaintServerFrame.cpp Bug 933019, part 7 - Remove code for handling Thebes backed gfxContext from various files under layout/. r=Bas 2014-07-10 10:58:07 +01:00
nsSVGPaintServerFrame.h Bug 956311 - Remove nsSVGGeometryFrame. r=dholbert 2014-01-04 08:29:02 +00:00
nsSVGPathGeometryFrame.cpp Bug 1049256, part 2 - Get rid of nsISVGChildFrame::FOR_HIT_TESTING. r=longsonr 2014-08-07 08:09:34 +01:00
nsSVGPathGeometryFrame.h Bug 1049256, part 1 - Convert SVG hit-testing to act on an SVG user space point instead of calling nsSVGUtils::GetCanvasTM(). r=longsonr 2014-08-07 08:09:31 +01:00
nsSVGPatternFrame.cpp Bug 1025553, part 3 - Give gfxMatrix::Invert() the same semantics as Moz2D's Matrix::Invert(). r=Bas 2014-07-11 08:06:39 +01:00
nsSVGPatternFrame.h Bug 932198 - Convert nsSVGPatternFrame from using gfxASurface to using Moz2D APIs. r=longsonr 2014-06-18 01:07:21 +01:00
nsSVGStopFrame.cpp Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
nsSVGSwitchFrame.cpp Bug 1049256, part 1 - Convert SVG hit-testing to act on an SVG user space point instead of calling nsSVGUtils::GetCanvasTM(). r=longsonr 2014-08-07 08:09:31 +01:00
nsSVGUseFrame.cpp bug 1016545 - Provide an iterator that iterates over all children of an element r=bz 2014-07-16 14:41:57 -04:00
nsSVGUtils.cpp Bug 1052913 - Clean up some nsSVGClipPathFrame code and add some documentation to make it clearer. r=dholbert 2014-08-13 13:36:32 +01:00
nsSVGUtils.h Bug 1049256, part 1 - Convert SVG hit-testing to act on an SVG user space point instead of calling nsSVGUtils::GetCanvasTM(). r=longsonr 2014-08-07 08:09:31 +01:00
svg.css Bug 1019555 - Treat newlines and tabs as space characters in SVG xml:space="preserve" text. r=roc 2014-06-05 13:25:15 +10:00
SVGFEContainerFrame.cpp Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
SVGFEImageFrame.cpp Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
SVGFELeafFrame.cpp Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00
SVGFEUnstyledLeafFrame.cpp Bug 974687 - Part 1: Add about 300 MOZ_OVERRIDE in layout/. r=dholbert 2014-02-24 09:41:56 -05:00
SVGImageContext.h Backed out changesets 950a3afc2b15 and dfb5303af6f9 (bug 1028288) for being incorrect 2014-08-06 15:43:25 -07:00
SVGTextFrame.cpp Bug 1048752. Part 19: Create nsCaret::GetPaintGeometry to call during painting. r=tn 2014-08-06 17:19:28 +12:00
SVGTextFrame.h Bug 1049256, part 1 - Convert SVG hit-testing to act on an SVG user space point instead of calling nsSVGUtils::GetCanvasTM(). r=longsonr 2014-08-07 08:09:31 +01:00
SVGViewFrame.cpp Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param. r=roc 2014-05-24 22:20:40 +00:00