Title: [218256] trunk/Source/WebKit/win
Revision
218256
Author
[email protected]
Date
2017-06-14 08:15:23 -0700 (Wed, 14 Jun 2017)

Log Message

[Win] WebKit fails to paint the bottom lines of the window at 125% scale.
https://bugs.webkit.org/show_bug.cgi?id=173318

Reviewed by Darin Adler.

The logical frame size is currently calculated by scaling the frame size in pixels,
and rounding the coordinates to the nearest integers. The computed logical frame
size will in some cases be smaller than the scaled frame size in pixels, since it is
represented as an IntSize. In these cases, the bottom line will not be painted.
Instead of calculating the logical frame size by rounding the scaled frame in
pixels, find the enclosing rectangle of the scaled frame rectangle in pixels.

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::transitionToCommittedForNewPage):

Modified Paths

Diff

Modified: trunk/Source/WebKit/win/ChangeLog (218255 => 218256)


--- trunk/Source/WebKit/win/ChangeLog	2017-06-14 14:56:43 UTC (rev 218255)
+++ trunk/Source/WebKit/win/ChangeLog	2017-06-14 15:15:23 UTC (rev 218256)
@@ -1,3 +1,20 @@
+2017-06-14  Per Arne Vollan  <[email protected]>
+
+        [Win] WebKit fails to paint the bottom lines of the window at 125% scale.
+        https://bugs.webkit.org/show_bug.cgi?id=173318
+
+        Reviewed by Darin Adler.
+
+        The logical frame size is currently calculated by scaling the frame size in pixels,
+        and rounding the coordinates to the nearest integers. The computed logical frame
+        size will in some cases be smaller than the scaled frame size in pixels, since it is
+        represented as an IntSize. In these cases, the bottom line will not be painted.
+        Instead of calculating the logical frame size by rounding the scaled frame in
+        pixels, find the enclosing rectangle of the scaled frame rectangle in pixels.
+
+        * WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebFrameLoaderClient::transitionToCommittedForNewPage):
+
 2017-06-13  Daniel Bates  <[email protected]>
 
         Implement W3C Secure Contexts Draft Specification

Modified: trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp (218255 => 218256)


--- trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp	2017-06-14 14:56:43 UTC (rev 218255)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp	2017-06-14 15:15:23 UTC (rev 218256)
@@ -987,9 +987,9 @@
     view->frameRect(&pixelRect);
     bool transparent = view->transparent();
     Color backgroundColor = transparent ? Color::transparent : Color::white;
-    IntRect logicalFrame(pixelRect);
+    FloatRect logicalFrame(pixelRect);
     logicalFrame.scale(1.0f / view->deviceScaleFactor());
-    core(m_webFrame)->createView(logicalFrame.size(), backgroundColor, transparent);
+    core(m_webFrame)->createView(enclosingIntRect(logicalFrame).size(), backgroundColor, transparent);
 }
 
 void WebFrameLoaderClient::didSaveToPageCache()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to