Better zooming
Created attachment 229217 [details] patch
<rdar://problem/16383851>
Comment on attachment 229217 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=229217&action=review > Source/WebCore/platform/graphics/ca/mac/TileController.mm:520 > + count += m_zoomedOutTileGrid->numberOfUnparentedTiles(); extra space here after "+="
Comment on attachment 229217 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=229217&action=review > Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:2999 > + if (m_isPageTiledBackingLayer) > + m_uncommittedChanges |= ChildrenChanged; Do we need to do this always? Is it bad if we do?
> Do we need to do this always? Is it bad if we do? We don't but I don't think it ends up doing significant amount of actual work if nothing changes (it just re-adds the layers that are already there).
https://trac.webkit.org/r167256
Comment on attachment 229217 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=229217&action=review >> Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:2999 >> + m_uncommittedChanges |= ChildrenChanged; > > Do we need to do this always? Is it bad if we do? Yeah, I would prefer that we don't always do this. It will result in extra remote layer tree transaction thrash. tiledBacking() should have a: bool contentsScaleChangeRequiresSublayerUpdate(float) or something. > Source/WebCore/platform/graphics/ca/mac/TileController.mm:135 > + return tileGrid().scale() * m_deviceScaleFactor; I hope the scale /= deviceScaleFactor; and this math don't result in floating-point rounding issues that cause us to compare the contentsScale as different somewhere. > Source/WebCore/platform/graphics/ca/mac/TileGrid.h:-62 > - typedef unsigned TileValidationPolicyFlags; Why did you remove this? I prefer strongly typed bitfield types. > Source/WebCore/platform/graphics/ca/mac/TileGrid.mm:340 > +void TileGrid::revalidateTiles(unsigned validationPolicy) :(