Title: [197927] trunk/Source/WebKit2
- Revision
- 197927
- Author
- [email protected]
- Date
- 2016-03-09 23:13:48 -0800 (Wed, 09 Mar 2016)
Log Message
[GTK] Artifacts when using web view background color
https://bugs.webkit.org/show_bug.cgi?id=155229
Reviewed by Mario Sanchez Prada.
This is because when using a web view color, we fill with the
color every rectangle updated by the web process, but we should
always fill the entire backing store before rendering the actual
contents on top.
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::display): Ensure the web process always
renders the whole visible rectangle when background is rendered by
the UI process.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (197926 => 197927)
--- trunk/Source/WebKit2/ChangeLog 2016-03-10 06:15:25 UTC (rev 197926)
+++ trunk/Source/WebKit2/ChangeLog 2016-03-10 07:13:48 UTC (rev 197927)
@@ -1,3 +1,20 @@
+2016-03-09 Carlos Garcia Campos <[email protected]>
+
+ [GTK] Artifacts when using web view background color
+ https://bugs.webkit.org/show_bug.cgi?id=155229
+
+ Reviewed by Mario Sanchez Prada.
+
+ This is because when using a web view color, we fill with the
+ color every rectangle updated by the web process, but we should
+ always fill the entire backing store before rendering the actual
+ contents on top.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::display): Ensure the web process always
+ renders the whole visible rectangle when background is rendered by
+ the UI process.
+
2016-03-09 Simon Fraser <[email protected]>
Font antialiasing (smoothing) changes when elements are rendered into compositing layers
Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp (197926 => 197927)
--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp 2016-03-10 06:15:25 UTC (rev 197926)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp 2016-03-10 07:13:48 UTC (rev 197927)
@@ -636,7 +636,8 @@
updateInfo.viewSize = m_webPage.size();
updateInfo.deviceScaleFactor = m_webPage.corePage()->deviceScaleFactor();
- IntRect bounds = m_dirtyRegion.bounds();
+ // Always render the whole page when we don't render the background.
+ IntRect bounds = m_webPage.drawsBackground() ? m_dirtyRegion.bounds() : m_webPage.bounds();
ASSERT(m_webPage.bounds().contains(bounds));
IntSize bitmapSize = bounds.size();
@@ -649,12 +650,16 @@
if (!bitmap->createHandle(updateInfo.bitmapHandle))
return;
- Vector<IntRect> rects = m_dirtyRegion.rects();
+ Vector<IntRect> rects;
+ if (m_webPage.drawsBackground()) {
+ rects = m_dirtyRegion.rects();
- if (shouldPaintBoundsRect(bounds, rects)) {
- rects.clear();
+ if (shouldPaintBoundsRect(bounds, rects)) {
+ rects.clear();
+ rects.append(bounds);
+ }
+ } else
rects.append(bounds);
- }
updateInfo.scrollRect = m_scrollRect;
updateInfo.scrollOffset = m_scrollOffset;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes