gecko-dev/layout
Jeff Muizelaar 0471905a26 Bug 845874. Switch to Y-X banded regions. r=roc
Previously our region code was just a simple y,x sorted list of
non-intersecting rectangles. This can cause us to have simple regions
represented in a complex unoptimizable way.

Switching to pixman regions gives us a canonical region implementation.

There are some cases when this can cause performance regressions.

For example, with the old region code we end up with this region:
http://people.mozilla.org/~jmuizelaar/region-pre.html
which is represented like this:
http://people.mozilla.org/~jmuizelaar/region-post.html
with the new code.

We call SimplifyOutward(4) on this. With old regions we can't simplify it so we
end up taking the bounds and get 1 rect. With the new regions we have only 3
rects to start and so we do nothing. The difference between 3 rects and 1 rect
cause D2D to do a PushLayer() instead of a ClipRect() and that seems to be the
causes for the regression.

--HG--
extra : rebase_source : 65e0d29d67b51a3780448eaecfde33dbcb6b99b1
2013-11-18 13:01:54 -05:00
..
analysis
base Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps 2013-11-19 11:50:54 +09:00
build Bug 939074 - Remove most LIBXUL_LIBRARY. rs=gps 2013-11-19 11:48:10 +09:00
doc Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert 2013-02-16 13:51:02 -08:00
forms Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps 2013-11-19 11:50:54 +09:00
generic Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps 2013-11-19 11:50:54 +09:00
inspector Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps 2013-11-19 11:50:54 +09:00
ipc Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps 2013-11-19 11:50:54 +09:00
mathml Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps 2013-11-19 11:50:54 +09:00
media Bug 845874. Switch to Y-X banded regions. r=roc 2013-11-18 13:01:54 -05:00
printing Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps 2013-11-19 11:50:54 +09:00
reftests Bug 913264 - add reftest for none value of font-variant-ligatures. r=jfkthame 2013-11-19 13:30:25 +09:00
style Bug 913264 - add none value to font-variant-ligatures. r=dbaron 2013-11-19 13:30:25 +09:00
svg Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps 2013-11-19 11:50:54 +09:00
tables Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps 2013-11-19 11:50:54 +09:00
tools Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps 2013-11-19 11:50:54 +09:00
xul Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps 2013-11-19 11:50:54 +09:00
moz.build Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00