Bug 1571837. Don't call FlushItem for hit test items. r=mstange

We already skip painting hit test items. We can do even better
by not including them in the recording at all.

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

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Jeff Muizelaar 2019-08-06 19:05:20 +00:00
Родитель ed26ad726a
Коммит bc8f976c10
1 изменённых файлов: 24 добавлений и 22 удалений

Просмотреть файл

@ -836,10 +836,11 @@ struct DIGroup {
aResources);
} else {
nsPaintedDisplayItem* paintedItem = item->AsPaintedDisplayItem();
if (dirty && paintedItem &&
if (paintedItem &&
// Hit test items don't have anything to paint so skip them.
// Ideally we would drop these items earlier...
item->GetType() != DisplayItemType::TYPE_COMPOSITOR_HITTEST_INFO) {
if (dirty) {
// What should the clip settting strategy be? We can set the full clip
// everytime. this is probably easiest for now. An alternative would
// be to put the push and the pop into separate items and let
@ -869,6 +870,7 @@ struct DIGroup {
}
}
}
}
~DIGroup() {
GP("Group destruct\n");