gecko-dev/layout
Alexis Beingessner ffcc426ce5 Bug 1554499 - change ComputePerFrameKey to be a static method. r=mattwoodrow
This static method is assumed to have the same signature as the type's constructor,
and so we must have an implementation of ComputePerFrameKey for each constructor
a display item provides that is called by MakeDisplayItem. Notably this excludes
the MakeClone constructor for a lot of items.

There is a default varargs implementation on nsDisplayItem which everyone
inherits by default, so types which previously didn't overload this method
still don't need to.

Providing an implementation of ComputePerFrameKey on some display item type
shadows the varargs implementation, so one doesn't need to worry about overloading
one constructor but forgetting about another -- if you do, the compiler will only
see the overload and complain that the signature doesn't match.

One slightly annoying result of this is that display items which previously
inherited an overloaded implementation from a superclass now must provide
their own manual implementations. Although as far as I could tell, all of
those cases had a trivial implementation of key=0 (the super class supported
custom keys but the subclasses didn't make use of it).

In those cases I just hardcoded key=0, but it's possible that it would be
better to call into the superclass' implementation to be more robust to changes.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 15:08:53 +00:00
..
base Bug 1506842 - Always restyle / repaint when a visited query finishes. r=dholbert 2019-11-04 16:55:33 +00:00
build Bug 1579367 - Initialize XPCJSContext explicitly, after loading user prefs. r=kmag 2019-11-05 06:29:13 +00:00
doc
forms Bug 1581537 - Avoid several browser language leaks r=smaug 2019-11-04 16:56:27 +00:00
generic Bug 1554499 - change ComputePerFrameKey to be a static method. r=mattwoodrow 2019-11-05 15:08:53 +00:00
inspector Bug 1590639 part 6: Fix non-unified build issues in layout/inspector. r=emilio 2019-10-24 17:15:32 +00:00
ipc Bug 1556548 - Rename RenderFrame to RemoteLayerTreeOwner. r=mattwoodrow 2019-06-02 13:51:33 -04:00
mathml Bug 1554499 - change ComputePerFrameKey to be a static method. r=mattwoodrow 2019-11-05 15:08:53 +00:00
media
painting Bug 1554499 - change ComputePerFrameKey to be a static method. r=mattwoodrow 2019-11-05 15:08:53 +00:00
printing Bug 1593793. Move and rename nsPrintData::mBrandName to nsPrintJob::mFallbackDocTitle. r=bobowen 2019-11-04 20:02:03 +00:00
reftests Backed out changeset 4c4b65f3e7fb (bug 1575258) for causing wrench bustages. CLOSED TREE 2019-11-05 15:54:39 +02:00
style Bug 1526268 Part 1 - Make AccessibleCaret's #text-overlay and #image children be normal in-flow elements. r=mats 2019-11-01 22:16:08 +00:00
svg Bug 1590639 part 5: Fix non-unified build issues in layout/svg. r=emilio 2019-10-23 08:16:45 +00:00
tables Bug 1591546 Part 1 - Add WritingMode::IsBidiRTL(). r=jfkthame 2019-10-28 09:33:05 +00:00
tools Bug 1592608 - Add more fields to ReftestManifest test descriptions; r=ahal,froydnj 2019-11-05 17:09:41 +00:00
xul Bug 1554499 - change ComputePerFrameKey to be a static method. r=mattwoodrow 2019-11-05 15:08:53 +00:00
moz.build