Title: [146650] trunk/Tools
Revision
146650
Author
timothy_hor...@apple.com
Date
2013-03-22 13:34:53 -0700 (Fri, 22 Mar 2013)

Log Message

Make it possible to run layout tests on Retina MBP
https://bugs.webkit.org/show_bug.cgi?id=93673

Reviewed by Ryosuke Niwa.

Use NSWindow SPI and override -backingScaleFactor so that WKTR and DRT
windows on 2x machines still run at 1x.

* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
Reset the window resolution to 1x on creation.
* DumpRenderTree/mac/DumpRenderTreeWindow.h: Add NSWindow details.
* DumpRenderTree/mac/DumpRenderTreeWindow.mm:
(-[DumpRenderTreeWindow backingScaleFactor]): Override, always return 1.
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(-[WebKitTestRunnerWindow backingScaleFactor]): Override, always return 1.
(WTR::PlatformWebView::PlatformWebView):
Add NSWindow details, reset the window resolution to 1x on creation.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (146649 => 146650)


--- trunk/Tools/ChangeLog	2013-03-22 20:30:15 UTC (rev 146649)
+++ trunk/Tools/ChangeLog	2013-03-22 20:34:53 UTC (rev 146650)
@@ -1,3 +1,24 @@
+2013-03-22  Tim Horton  <timothy_hor...@apple.com>
+
+        Make it possible to run layout tests on Retina MBP
+        https://bugs.webkit.org/show_bug.cgi?id=93673
+
+        Reviewed by Ryosuke Niwa.
+
+        Use NSWindow SPI and override -backingScaleFactor so that WKTR and DRT
+        windows on 2x machines still run at 1x.
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (createWebViewAndOffscreenWindow):
+        Reset the window resolution to 1x on creation.
+        * DumpRenderTree/mac/DumpRenderTreeWindow.h: Add NSWindow details.
+        * DumpRenderTree/mac/DumpRenderTreeWindow.mm:
+        (-[DumpRenderTreeWindow backingScaleFactor]): Override, always return 1.
+        * WebKitTestRunner/mac/PlatformWebViewMac.mm:
+        (-[WebKitTestRunnerWindow backingScaleFactor]): Override, always return 1.
+        (WTR::PlatformWebView::PlatformWebView):
+        Add NSWindow details, reset the window resolution to 1x on creation.
+
 2013-03-19  Ryosuke Niwa  <rn...@webkit.org>
 
         Leak bots shouldn't build

Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (146649 => 146650)


--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2013-03-22 20:30:15 UTC (rev 146649)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2013-03-22 20:34:53 UTC (rev 146650)
@@ -554,6 +554,7 @@
     [[window contentView] addSubview:webView];
     [window orderBack:nil];
     [window setAutodisplay:NO];
+    [window _setWindowResolution:1 displayIfChanged:YES];
 
     [window startListeningForAcceleratedCompositingChanges];
     

Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.h (146649 => 146650)


--- trunk/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.h	2013-03-22 20:30:15 UTC (rev 146649)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.h	2013-03-22 20:34:53 UTC (rev 146650)
@@ -32,6 +32,12 @@
 
 @class WebView;
 
+@interface NSWindow (Details)
+
+- (void)_setWindowResolution:(CGFloat)resolution displayIfChanged:(BOOL)displayIfChanged;
+
+@end
+
 @interface DumpRenderTreeWindow : NSWindow
 {
 }

Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.mm (146649 => 146650)


--- trunk/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.mm	2013-03-22 20:30:15 UTC (rev 146649)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.mm	2013-03-22 20:34:53 UTC (rev 146650)
@@ -120,4 +120,9 @@
         [self setAutodisplay:YES];
 }
 
+- (CGFloat)backingScaleFactor
+{
+    return 1;
+}
+
 @end

Modified: trunk/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm (146649 => 146650)


--- trunk/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm	2013-03-22 20:30:15 UTC (rev 146649)
+++ trunk/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm	2013-03-22 20:34:53 UTC (rev 146650)
@@ -101,8 +101,19 @@
     return NSMakeRect(_fakeOrigin.x, _fakeOrigin.y, currentFrame.size.width, currentFrame.size.height);
 }
 
+- (CGFloat)backingScaleFactor
+{
+    return 1;
+}
+
 @end
 
+@interface NSWindow (Details)
+
+- (void)_setWindowResolution:(CGFloat)resolution displayIfChanged:(BOOL)displayIfChanged;
+
+@end
+
 namespace WTR {
 
 PlatformWebView::PlatformWebView(WKContextRef contextRef, WKPageGroupRef pageGroupRef, WKDictionaryRef options)
@@ -125,6 +136,7 @@
     [[m_window contentView] addSubview:m_view];
     [m_window orderBack:nil];
     [m_window setReleasedWhenClosed:NO];
+    [m_window _setWindowResolution:1 displayIfChanged:YES];
 }
 
 void PlatformWebView::resizeTo(unsigned width, unsigned height)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to