Commit Graph

198 Commits

Author SHA1 Message Date
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Markus Stange
dee805a312 Bug 1142211 - Add layerization testing mechanisms to reftest. r=roc
This adds support for class="reftest-opaque-layer" and for
reftest-assigned-layer="some-layer-name" to the reftest harness.

From reftest/README.txt:

Opaque Layer Tests: class="reftest-opaque-layer"
================================================

If an element should be assigned to a PaintedLayer that's opaque, set the class
"reftest-opaque-layer" on it. This checks whether the layer is opaque during
the last paint of the test, and it works whether your test is an invalidation
test or not. In order to pass the test, the element has to have a primary
frame, and that frame's display items must all be assigned to a single painted
layer and no other layers, so it can't be used on elements that create stacking
contexts (active or inactive).

Layerization Tests: reftest-assigned-layer="layer-name"
=======================================================

If two elements should be assigned to the same PaintedLayer, choose any string
value as the layer name and set the attribute reftest-assigned-layer="yourname"
on both elements. Reftest will check whether all elements with the same
reftest-assigned-layer value share the same layer. It will also test whether
elements with different reftest-assigned-layer values are assigned to different
layers.
The same restrictions as with class="reftest-opaque-layer" apply: All elements
must have a primary frame, and that frame's display items must all be assigned
to the same PaintedLayer and no other layers. If these requirements are not
met, the test will fail.
2015-03-11 14:51:59 -04:00
Markus Stange
253c09b332 Bug 913443 - Remove unused aItemVisibleRect argument. r=roc
--HG--
extra : rebase_source : 57c555b1e7c3aafa0ea1659cdb00b4daba0e1723
2015-03-03 16:57:30 -05:00
Markus Stange
511a39c19d Bug 961887 - Find uniform opaque background colors under ContainerLayers. r=roc
--HG--
extra : rebase_source : 7b5877bc9336e3b01ec43732a5697fba7994c465
2015-02-25 11:47:22 -05:00
Wes Kocher
84d0eb7968 Backed out 3 changesets (bug 961887) for reftest failures on a CLOSED TREE
Backed out changeset 1684d29858e1 (bug 961887)
Backed out changeset 97c8184c3058 (bug 961887)
Backed out changeset f02c5c1f7704 (bug 961887)
2015-02-24 17:32:37 -08:00
Markus Stange
9b0240a85b Bug 961887 - Find uniform opaque background colors under ContainerLayers. r=roc 2015-02-24 14:35:46 -05:00
Seth Fowler
347d961b26 Bug 1128225 (Part 3) - Add infrastructure for tracking draw results in geometry items. r=tn 2015-02-04 13:50:56 -08:00
Jonathan Watt
712f521262 Bug 1127138 - Remove the declarations of a couple of dead FrameLayerBuilder methods. r=mattwoodrow 2015-01-23 09:17:14 +00:00
Kartikaya Gupta
5b15a36695 Bug 1119942 - Hoist nsDisplayScrollInfoLayer items out of inactive layermanagers into their parent. r=tnikkel,mattwoodrow 2015-01-20 09:49:30 -05:00
Benoit Girard
98b7cc0e56 Bug 1113837 - Build display-list dumping without MOZ_DUMP_PAINTING. r=mstange 2014-12-31 15:17:39 -05:00
Markus Stange
3efef60534 Bug 1073103 - SReplace 'Thebes' with 'Painted' in some more places. r=roc 2014-09-26 13:07:06 -04:00
Markus Stange
7d5a3be591 Bug 1073103 - Rename ThebesLayer to PaintedLayer. r=roc
--HG--
rename : gfx/layers/basic/BasicThebesLayer.cpp => gfx/layers/basic/BasicPaintedLayer.cpp
rename : gfx/layers/basic/BasicThebesLayer.h => gfx/layers/basic/BasicPaintedLayer.h
rename : gfx/layers/client/ClientThebesLayer.cpp => gfx/layers/client/ClientPaintedLayer.cpp
rename : gfx/layers/client/ClientThebesLayer.h => gfx/layers/client/ClientPaintedLayer.h
rename : gfx/layers/client/ClientTiledThebesLayer.cpp => gfx/layers/client/ClientTiledPaintedLayer.cpp
rename : gfx/layers/client/ClientTiledThebesLayer.h => gfx/layers/client/ClientTiledPaintedLayer.h
rename : gfx/layers/composite/ThebesLayerComposite.cpp => gfx/layers/composite/PaintedLayerComposite.cpp
rename : gfx/layers/composite/ThebesLayerComposite.h => gfx/layers/composite/PaintedLayerComposite.h
rename : gfx/layers/d3d10/ThebesLayerD3D10.cpp => gfx/layers/d3d10/PaintedLayerD3D10.cpp
rename : gfx/layers/d3d10/ThebesLayerD3D10.h => gfx/layers/d3d10/PaintedLayerD3D10.h
rename : gfx/layers/d3d9/ThebesLayerD3D9.cpp => gfx/layers/d3d9/PaintedLayerD3D9.cpp
rename : gfx/layers/d3d9/ThebesLayerD3D9.h => gfx/layers/d3d9/PaintedLayerD3D9.h
2014-09-26 13:06:08 -04:00
Robert O'Callahan
0de1b9e514 Bug 1048752. Part 10: Remove FrameLayerBuilder.h from nsDisplayList.h. r=tn
I was inspired by the previous patch to remove FrameLayerBuilder.h from
nsDisplayList.h too.

--HG--
extra : rebase_source : b34a01bea5865da4737817e2396b98d54cc6d1bf
2014-08-06 17:19:25 +12:00
Matt Woodrow
f81382dd80 Bug 1019693 - Always use tiled thebes layers when we're a descendant of a layer with a critical display port so that the low-resolution drawing area is handled correctly. r=tn
--HG--
extra : rebase_source : 0dabb9c73d65414979945d0cc46ba8c89d86b90e
2014-08-08 09:12:01 +12:00
Ehsan Akhgari
2b84010cb8 Bug 1048246 - Fix more bad implicit constructors in layout; r=roc
--HG--
extra : rebase_source : ed828993139bc70232508364a9f046e38b7d3e06
2014-08-07 19:48:38 -04:00
David Zbarsky
dcd4a14940 Bug 952977: More gfx::Matrix cleanup in FrameLayerBuilder r=nical 2014-08-01 08:31:49 -04:00
Wes Kocher
3c155637a3 Backed out 11 changesets (bug 952977) for reftest-no-accel failures
Backed out changeset ea2367c19da3 (bug 952977)
Backed out changeset c401c8748eb3 (bug 952977)
Backed out changeset a93e9ff1043b (bug 952977)
Backed out changeset 765b7f67163e (bug 952977)
Backed out changeset 3d8cf4f5777f (bug 952977)
Backed out changeset 8993710a3ab3 (bug 952977)
Backed out changeset 1298c39b745a (bug 952977)
Backed out changeset be0b899fbe5e (bug 952977)
Backed out changeset f69bea1f1feb (bug 952977)
Backed out changeset 1a745777f07e (bug 952977)
Backed out changeset 5ad1d18dfe17 (bug 952977)
2014-07-29 18:58:46 -07:00
David Zbarsky
6cf4dc1afd Bug 952977: More gfx::Matrix cleanup in FrameLayerBuilder r=nical 2014-07-29 19:18:52 -04:00
Matt Woodrow
b38affe776 Bug 1039926 - Exclude clips that have been converted to a mask layer from invalidation. r=roc 2014-07-23 18:03:52 +12:00
Matt Woodrow
8bae8c6efc Bug 1039926 - Refactor display list invalidation so that the majority happens after we've finished assigning items to ThebesLayers. r=roc 2014-07-23 18:03:24 +12:00
Robert O'Callahan
d49884afea Bug 1022612. Part 31: Perform layer-level occlusion culling in FrameLayerBuilder. r=mattwoodrow
We need this to avoid constructing and painting unncecessarily large
ThebesLayers.

--HG--
extra : rebase_source : 22b1fbbd8b561bd68831ac1fb957d2d1901f3297
2014-06-23 16:24:00 +12:00
Robert O'Callahan
f454ea8959 Bug 1022612. Part 10: Implement merging and flattening in ProcessDisplayItems. r=mattwoodrow
BuildContainerLayerFor now has to be able to mutate the passed-in display item
list.

--HG--
extra : rebase_source : a3cf9106703d4946a49a73ef60a605f72b2afee3
2014-06-09 16:48:00 +12:00
Ryan VanderMeulen
df23fd9dde Backed out 46 changesets (bug 1022612) for B2G mochitest permafails on a CLOSED TREE.
Backed out changeset 34b3014a3112 (bug 1022612)
Backed out changeset 6ae9316fd909 (bug 1022612)
Backed out changeset b8f3749c95eb (bug 1022612)
Backed out changeset caab10bf6ca3 (bug 1022612)
Backed out changeset 0c57c620c898 (bug 1022612)
Backed out changeset fac64141a00a (bug 1022612)
Backed out changeset bf0df1c9d68b (bug 1022612)
Backed out changeset b42054800020 (bug 1022612)
Backed out changeset 667793b21194 (bug 1022612)
Backed out changeset f14ada64fe1b (bug 1022612)
Backed out changeset 75b837686bdf (bug 1022612)
Backed out changeset 66de53183a22 (bug 1022612)
Backed out changeset 0ff86ced4d46 (bug 1022612)
Backed out changeset 18eecc5b1ef7 (bug 1022612)
Backed out changeset 2763c4878de5 (bug 1022612)
Backed out changeset b72413ecc385 (bug 1022612)
Backed out changeset b23f1081afb8 (bug 1022612)
Backed out changeset f7e2c6a72043 (bug 1022612)
Backed out changeset 959917c9027d (bug 1022612)
Backed out changeset 0268a46f4880 (bug 1022612)
Backed out changeset 3388856a80ad (bug 1022612)
Backed out changeset e4b17cf0f806 (bug 1022612)
Backed out changeset 2f4e9da0e4b6 (bug 1022612)
Backed out changeset 489f6a7c0c03 (bug 1022612)
Backed out changeset 8369d9ad7ad3 (bug 1022612)
Backed out changeset 0758d2a06002 (bug 1022612)
Backed out changeset f2ae9cb22edb (bug 1022612)
Backed out changeset 9c48c6ee5dc2 (bug 1022612)
Backed out changeset fe7134400f08 (bug 1022612)
Backed out changeset cc2c5397ca8b (bug 1022612)
Backed out changeset a3d1a3e8b39d (bug 1022612)
Backed out changeset 8974b74b0eb0 (bug 1022612)
Backed out changeset 75f7dbb5a2a6 (bug 1022612)
Backed out changeset 2aa04a071e60 (bug 1022612)
Backed out changeset f2ab1bcd4c39 (bug 1022612)
Backed out changeset da9152b6ea29 (bug 1022612)
Backed out changeset 58abf5b0e148 (bug 1022612)
Backed out changeset 797058a09ad2 (bug 1022612)
Backed out changeset ea3e99a92ff0 (bug 1022612)
Backed out changeset adc4a4a7aa73 (bug 1022612)
Backed out changeset 7b18dedd1505 (bug 1022612)
Backed out changeset 055dd1921e8e (bug 1022612)
Backed out changeset 42fa2c97e989 (bug 1022612)
Backed out changeset cd594236388f (bug 1022612)
Backed out changeset 9eadc5fee43d (bug 1022612)
Backed out changeset 5cc8d30ff7c9 (bug 1022612)
2014-07-17 11:24:47 -04:00
Robert O'Callahan
eff9ade093 Bug 1022612. Part 31: Perform layer-level occlusion culling in FrameLayerBuilder. r=mattwoodrow
We need this to avoid constructing and painting unncecessarily large
ThebesLayers.

--HG--
extra : rebase_source : fd56072f7932fa9c39f314c4d95cdd0d1ad13de3
2014-06-23 16:24:00 +12:00
Robert O'Callahan
d143dbdffc Bug 1022612. Part 10: Implement merging and flattening in ProcessDisplayItems. r=mattwoodrow
BuildContainerLayerFor now has to be able to mutate the passed-in display item
list.

--HG--
extra : rebase_source : c242006445d90372f6c7941d909f30945422321b
2014-06-09 16:48:00 +12:00
Carsten "Tomcat" Book
26a5361c4e Backed out changeset 3bf33a32bfe0 (bug 1022612) 2014-07-15 10:30:38 +02:00
Carsten "Tomcat" Book
d9ba3f2e23 Backed out changeset f8b488c389e9 (bug 1022612) 2014-07-15 10:30:04 +02:00
Robert O'Callahan
d43195c660 Bug 1022612. Part 31: Perform layer-level occlusion culling in FrameLayerBuilder. r=mattwoodrow
We need this to avoid constructing and painting unncecessarily large
ThebesLayers.

--HG--
extra : rebase_source : 38cbd0b0dd7724cfdb98f3e215bd0f220a687f3c
2014-06-23 16:24:00 +12:00
Robert O'Callahan
88afa39f1c Bug 1022612. Part 10: Implement merging and flattening in ProcessDisplayItems. r=mattwoodrow
BuildContainerLayerFor now has to be able to mutate the passed-in display item
list.

--HG--
extra : rebase_source : 6a9727998a5ffb01896a4a2bbdd8d30a24c89dcd
2014-06-09 16:48:00 +12:00
Benoit Girard
19effe56b7 Bug 1027496 - Stream display list and layers dump. r=mattwoodrow 2014-06-19 18:36:25 -04:00
Benoit Jacob
15b208d7f3 Bug 1027251 - Fix or whitelist dangerous public destructors in layout/ - r=dbaron 2014-06-18 22:28:59 -04:00
Kyle Huey
384121563d Bug 991812: Remove uses of RefCounted<T> that live in Gecko. r=ehsan
--HG--
extra : rebase_source : 239ff77ec3765a3f190ed75b1645c6011e5d1dbd
2014-04-14 12:04:24 -07:00
Ryan VanderMeulen
d3859c597c Backed out changesets ddbac34527fe and fa82f32d0c39 (bug 991812) for B2G bustage.
CLOSED TREE
2014-04-14 16:16:18 -04:00
Kyle Huey
675439ca71 Bug 991812: Remove uses of RefCounted<T> that live in Gecko. r=ehsan 2014-04-14 12:04:24 -07:00
Kyle Huey
39e8ea0778 Back out bug 991812 for bustage on a CLOSED TREE. r=me 2014-04-08 17:26:33 -07:00
Kyle Huey
d098e8c228 Bug 991812: Remove uses of RefCounted in code that lives solely in Gecko. r=ehsan 2014-04-08 16:37:05 -07:00
Daniel Holbert
501666c627 Bug 984786 part 1: Add MOZ_FINAL and private destructors to some refcounted classes in layout. r=dbaron 2014-03-21 09:16:20 +08:00
Ehsan Akhgari
9a39fcfd00 Bug 935778 - Part 0.3: Spray some more MOZ_DECLARE_REFCOUNTED_TYPENAME across the tree 2014-02-20 23:07:24 -05:00
Matt Woodrow
a3449e66b6 Bug 946952 - Run a 'compressed' paint up to 1 second after skipping the ColorLayer optimization. r=roc 2014-01-30 18:41:17 +13:00
Robert O'Callahan
54a2b48649 Bug 945203. Part 8: Add FrameLayerBuilder support for capturing nsDisplayEventRegions data into ThebesLayers. r=mattwoodrow
--HG--
extra : rebase_source : e61c1bcfa700ac88523fb34eab7c6afd470d0d68
2013-12-17 01:16:24 +13:00
Robert O'Callahan
f994dec6df Bug 919144. Part 9: Move FrameLayerBuilder::ContainerParameters to mozilla::ContainerLayerParameters. r=mattwoodrow
This is to avoid having to #include FrameLayerBuilder.h in nsLayoutUtils.h in the next patch.

--HG--
extra : rebase_source : 5f3c3ae2785267949766ae094414781133d4ce44
2013-09-27 18:01:16 +12:00
Robert O'Callahan
fd9ce678dc Bug 919144. Part 1: Rename identifiers from 'active scroll(ed) root' to 'animated geometry root'. r=mattwoodrow
Also sneaks in a couple of other refactorings:

--HG--
extra : rebase_source : 8b0e0729f26231d98ed069b54dd4f7c1e51b10b5
2013-09-26 09:07:26 +12:00
Matt Woodrow
1077db1b3c Bug 934860 - Don't paint display items that don't intersect the current invalid rects. r=roc 2013-11-07 08:10:50 +13:00
Matt Woodrow
43199694b8 Bug 934860 - Move paint region clipping into DrawThebesLayer. r=roc 2013-11-07 08:10:50 +13:00
Matt Woodrow
485862da70 Bug 934860 - Move some parts of FrameLayerBuilder::DrawThebesLayer into helper functions. r=roc 2013-11-07 08:10:49 +13:00
Matt Woodrow
d89f0d8a75 Bug 934860 - Start and finish transactions with temporary layer managers each time we use them to ensure that these are paired. r=roc 2013-11-07 08:10:49 +13:00
Robert O'Callahan
03e7828db2 Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Ehsan Akhgari
2621b190f1 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
Robert O'Callahan
613ea8adbd Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow
This patch does several things. Sorry.

In BuildDisplayList implementations, instead of wrapping display items in nsDisplayClip, we
push clip state onto the nsDisplayListBuilder and give the display items an
explicit clip when they're created.

In FrameLayerBuilder, we use the explicit clips we find on display items instead of
computing our own.

We remove nsDisplayClip and everything that depends on it.

We remove ExplodeAnonymousChildLists. With nsDisplayClip gone, and
nsDisplayOptionEventGrabber removed in a previous patch, there are no
anonymous child lists.

nsDisplayItem::TryMerge implementations need to make sure they have the same
clip before being merged.

I ripped out the part of PruneDisplayListForExtraPage that adjusts clip rects.
As far as I can tell, it isn't actually necessary.

--HG--
extra : rebase_source : 6f3988b385d0ac54ab26fad10b12173884441f48
2013-03-04 22:56:02 +13:00
Robert O'Callahan
e6d799410e Bug 841192. Part 2: Move FrameLayerBuilder::Clip to DisplayItemClip. r=mattwoodrow
--HG--
extra : rebase_source : 2950e5dd64e217a406ede2dc9f6682b5e0540975
2013-03-04 22:55:59 +13:00