Skip to content
Permalink
Browse files
[Win] WebKit fails to paint the bottom lines of the window at 125% sc…
…ale.

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):


Canonical link: https://commits.webkit.org/190232@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218256 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
pvollan committed Jun 14, 2017
1 parent 337cb56 commit c10a039fbdb4f5288254c695d0299aa20c6f8cdb
Showing 2 changed files with 19 additions and 2 deletions.
@@ -1,3 +1,20 @@
2017-06-14 Per Arne Vollan <pvollan@apple.com>

[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 <dabates@apple.com>

Implement W3C Secure Contexts Draft Specification
@@ -987,9 +987,9 @@ void WebFrameLoaderClient::transitionToCommittedForNewPage()
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()

0 comments on commit c10a039

Please sign in to comment.