Skip to content
  • simon.fraser@apple.com's avatar
    3D transforms are flattened in WebKit2 snapshots · 0e0d547b
    simon.fraser@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=68276
    
    Reviewed by Anders Carlsson.
    
    The WKImage passed from the WebProcess when pixel dumping is created by painting compositing layers
    flattened, which flattens 3D transforms. Instead, use CGWindowListCreateImage() to get a snapshot of
    the window when doing pixel tests.
    
    Also allow the window to auto-display, so that Core Animation layers are rendered, and animate.
    
    * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: TestInvocationCG became a .mm file
    * WebKitTestRunner/cg/TestInvocationCG.mm: Renamed from Tools/WebKitTestRunner/cg/TestInvocationCG.cpp.
    (WTR::createBitmapCGContext): Utility function to create a bitmap context.
    (WTR::computeMD5HashStringForContext):
    (WTR::dumpBitmap):
    (WTR::paintRepaintRectOverlay):
    (WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Use CGWindowListCreateImage() to
    grap a snapshot of the window, rather than relying on the WKImage which was passed from the web process.
    * WebKitTestRunner/mac/PlatformWebViewMac.mm:
    (WTR::PlatformWebView::PlatformWebView): Remove the line that turned off autoDisplay for the NSWindow.
    We need the window to autodisplay for Core Animation to render layers and start animations.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@97082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    0e0d547b