|
| 1 | +2017-03-09 Simon Fraser < [email protected]> |
| 2 | + |
| 3 | + [iOS WK2] Layer content blurry with nested perspective and transforms |
| 4 | + https://bugs.webkit.org/show_bug.cgi?id=169457 |
| 5 | + rdar://problem/29879484 |
| 6 | + |
| 7 | + Reviewed by Tim Horton. |
| 8 | + |
| 9 | + We set rasterizationScale on CALayers to the same values as contentsScale, to |
| 10 | + avoid blurry layers when CA rasterizes, which often happens with nested perspective |
| 11 | + transforms. |
| 12 | + |
| 13 | + However, in UI-side compositing, if the page is not zoomed, we never applied the |
| 14 | + rasterizationScale in the UI process. This happened because the PlatformCALayerRemote |
| 15 | + constructor set m_properties.contentsScale, but did not set the dirty bit that |
| 16 | + triggers the application of contentsScale and rasterizationScale in RemoteLayerTreePropertyApplier. |
| 17 | + The fix is to set this dirty bit. |
| 18 | + |
| 19 | + The rest of the changes are for testing. Internals now exposes layerIDForElement() |
| 20 | + for returns an internal (non-stable-across-loads) layerID, which can be passed |
| 21 | + to UIScriptController.propertiesOfLayerWithID() in the UI process, which inspects |
| 22 | + the built layer (UIView) hierarchy. propertiesOfLayerWithID() returns a dictionary |
| 23 | + which the test can dump as JSON, or pull values out of. |
| 24 | + |
| 25 | + A few #pragma once cleanups also. |
| 26 | + |
| 27 | + Tests: compositing/ios/basic-layer-properties.html |
| 28 | + compositing/ios/rasterization-scale.html |
| 29 | + |
| 30 | + * testing/Internals.cpp: |
| 31 | + (WebCore::Internals::layerIDForElement): |
| 32 | + * testing/Internals.h: |
| 33 | + * testing/Internals.idl: |
| 34 | + |
1 | 35 | 2017-03-10 Commit Queue < [email protected]>
|
2 | 36 |
|
3 | 37 | Unreviewed, rolling out r213618.
|
|
0 commit comments