WebKit Bugzilla
Attachment 359395 Details for
Bug 173152
: [Win][HighDPI] Repaint glitches when scrolling.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-173152-20190117112614.patch (text/plain), 2.30 KB, created by
Per Arne Vollan
on 2019-01-17 11:26:15 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Per Arne Vollan
Created:
2019-01-17 11:26:15 PST
Size:
2.30 KB
patch
obsolete
>Index: Source/WebKitLegacy/win/ChangeLog >=================================================================== >--- Source/WebKitLegacy/win/ChangeLog (revision 240120) >+++ Source/WebKitLegacy/win/ChangeLog (working copy) >@@ -1,3 +1,18 @@ >+2019-01-17 Per Arne Vollan <pvollan@apple.com> >+ >+ [Win][HighDPI] Repaint glitches when scrolling. >+ https://bugs.webkit.org/show_bug.cgi?id=173152 >+ <rdar://problem/45269953> >+ >+ Reviewed by Brent Fulgham. >+ >+ Non-integral device scale factors are causing repaint glitches, because the computation of the scroll >+ delta in pixel coordinates from the scroll delta in logical coordinates will not always be correct. >+ Instead of blitting the scroll rectangle, repaint the entire region affected by scrolling. >+ >+ * WebView.cpp: >+ (WebView::scrollBackingStore): >+ > 2019-01-17 Alex Christensen <achristensen@webkit.org> > > Stop using NetworkStorageSession::storageSession in WebCore >Index: Source/WebKitLegacy/win/WebView.cpp >=================================================================== >--- Source/WebKitLegacy/win/WebView.cpp (revision 240117) >+++ Source/WebKitLegacy/win/WebView.cpp (working copy) >@@ -953,6 +953,19 @@ void WebView::addToDirtyRegion(GDIObject > > void WebView::scrollBackingStore(FrameView* frameView, int logicalDx, int logicalDy, const IntRect& logicalScrollViewRect, const IntRect& logicalClipRect) > { >+ if (deviceScaleFactor() != static_cast<int>(deviceScaleFactor())) { >+ // Non-integral device scale factors are causing repaint glitches, because the computation of the scroll >+ // delta in pixel coordinates from the scroll delta in logical coordinates will not always be correct. >+ // Instead of blitting the scroll rectangle, repaint the entire region affected by scrolling. >+ // FIXME: This is inefficient, we should be able to blit the scroll rectangle in this case as well, >+ // see https://bugs.webkit.org/show_bug.cgi?id=193542. >+ IntRect repaintRect = logicalScrollViewRect; >+ repaintRect.move(logicalDx, logicalDy); >+ repaintRect.unite(logicalScrollViewRect); >+ repaint(repaintRect, true); >+ return; >+ } >+ > m_needsDisplay = true; > > // Dimensions passed to us from WebCore are in logical units. We must convert to pixels:
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 173152
:
312426
| 359395