Title: [203341] trunk/Source/WebKit2
- Revision
- 203341
- Author
- [email protected]
- Date
- 2016-07-17 23:53:52 -0700 (Sun, 17 Jul 2016)
Log Message
REGRESSION(r202855): [GTK] ASSERTION FAILED: m_webPage.bounds().contains(bounds)
https://bugs.webkit.org/show_bug.cgi?id=159806
Reviewed by Žan Doberšek.
The problem is that since r202855, in case of non accelerated mode, the dirty region is updated too late when
updating backing store state.
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::updateBackingStoreState): Update the dirty region to the new size when not in
accelerated compositing mode.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setSize): Update the WebPage size before resizing the frame and calling setNeedsDisplay() to
ensure that any call to setNeedsDisplay() uses the new web page bounds. This is actually a regression introduced
in r143472, where setNeedsDisplay was changed to use the web page bounds as directy rectangle. Before r143472
the dirty rectangle was passed to setNeedsDisplay and it passed the right one.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (203340 => 203341)
--- trunk/Source/WebKit2/ChangeLog 2016-07-18 06:13:28 UTC (rev 203340)
+++ trunk/Source/WebKit2/ChangeLog 2016-07-18 06:53:52 UTC (rev 203341)
@@ -1,3 +1,22 @@
+2016-07-17 Carlos Garcia Campos <[email protected]>
+
+ REGRESSION(r202855): [GTK] ASSERTION FAILED: m_webPage.bounds().contains(bounds)
+ https://bugs.webkit.org/show_bug.cgi?id=159806
+
+ Reviewed by Žan Doberšek.
+
+ The problem is that since r202855, in case of non accelerated mode, the dirty region is updated too late when
+ updating backing store state.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::updateBackingStoreState): Update the dirty region to the new size when not in
+ accelerated compositing mode.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setSize): Update the WebPage size before resizing the frame and calling setNeedsDisplay() to
+ ensure that any call to setNeedsDisplay() uses the new web page bounds. This is actually a regression introduced
+ in r143472, where setNeedsDisplay was changed to use the web page bounds as directy rectangle. Before r143472
+ the dirty rectangle was passed to setNeedsDisplay and it passed the right one.
+
2016-07-16 Sam Weinig <[email protected]>
[WebKit API] Add SPI to track multiple navigations caused by a single user gesture
Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp (203340 => 203341)
--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp 2016-07-18 06:13:28 UTC (rev 203340)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp 2016-07-18 06:53:52 UTC (rev 203341)
@@ -212,10 +212,10 @@
void DrawingAreaImpl::updateBackingStoreState(uint64_t stateID, bool respondImmediately, float deviceScaleFactor, const WebCore::IntSize& size, const WebCore::IntSize& scrollOffset)
{
- bool shouldUpdateDirtyRegion = stateID != m_backingStoreStateID && !m_layerTreeHost;
+ if (stateID != m_backingStoreStateID && !m_layerTreeHost)
+ m_dirtyRegion = IntRect(IntPoint(), size);
+
AcceleratedDrawingArea::updateBackingStoreState(stateID, respondImmediately, deviceScaleFactor, size, scrollOffset);
- if (shouldUpdateDirtyRegion)
- m_dirtyRegion = m_webPage.bounds();
if (m_forceRepaintAfterBackingStoreStateUpdate)
forceRepaint();
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (203340 => 203341)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2016-07-18 06:13:28 UTC (rev 203340)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2016-07-18 06:53:52 UTC (rev 203341)
@@ -1350,11 +1350,10 @@
if (m_viewSize == viewSize)
return;
+ m_viewSize = viewSize;
FrameView* view = m_page->mainFrame().view();
view->resize(viewSize);
m_drawingArea->setNeedsDisplay();
-
- m_viewSize = viewSize;
#if USE(COORDINATED_GRAPHICS)
if (view->useFixedLayout())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes