cc: Replace empty tile size with max content scale for mask layers.
Mask layers use a single tile, so the content bounds of a tiling can't
exceed the max_texture_size for the current renderer.
Previously we always created a tiling at the ideal scale and then just
didn't put a tile in it if the tiling was too big (by returning an empty
size from PictureLayerImpl::CalculateTileSize).
Instead, introduce a MaximumContentsScale() similar to the
MinimumContentsScale() on PictureLayerImpl, which is used for mask
layers to ensure a tiling is not made at a scale larger than is ok for
the max_texture_size. And if no tiling is possible then CanHaveTilings()
is false and the layer has no tilings.
This changes the behaviour for mask layers that are huge (like > 100k
pixels tall/wide), in that instead of the mask just completely
disappearing, it's scale will downgrade making the mask become less sharp
instead.
Also removes the SyncTilings(ForTesting) method from
PictureLayerTilingSet and the tests for it, replacing them with better
tests for the new non-syncing-tilings world.
R=enne, vmpstr
BUG=387116
Review URL: https://codereview.chromium.org/
819433002
Cr-Commit-Position: refs/heads/master@{#309076}