Changes in DisplayItemClient for spv2 paint invalidation
1. Save PaintInvalidationReason into the m_cacheGeneration field.
This is for SPv2 rect-based paint invalidation after
PaintController commit. See https://docs.google.com/document/d/1M669yu7nsF9Wrkm7nQFi3Pp2r-QmCMqm4K7fPPo-doA/edit#
for details.
2. Let it implement cache control directly to avoid the macros.
Used the macros to keep the class a pure interface to avoid
multiple inheritance of non-interfaces. However, with
DisplayItemClient being a non-interface, there is only
one real multiple inheritance (Scrollbar from Widget and
DisplayItemClient) which looks no harm.
BUG=510908
Review-Url: https://codereview.chromium.org/2095013003
Cr-Commit-Position: refs/heads/master@{#402384}
18 files changed