Title: [121201] trunk/Source/WebCore
- Revision
- 121201
- Author
- [email protected]
- Date
- 2012-06-25 17:29:20 -0700 (Mon, 25 Jun 2012)
Log Message
[chromium] Make CCThreadProxy not draw a frame mid-commit
https://bugs.webkit.org/show_bug.cgi?id=89905
Reviewed by James Robinson.
If commitComplete is not called before the next frame goes up, then
then the max scroll position on the root scroll layer is not updated.
This causes the compositor-side scrollbar to have an incorrect
visibleSize, causing the thumbRect to become stretched, relative to
when it was originally painted.
CCScheduler::setVisible has the side effect of kicking off a frame, so
move it last.
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::scheduledActionCommit):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (121200 => 121201)
--- trunk/Source/WebCore/ChangeLog 2012-06-26 00:18:30 UTC (rev 121200)
+++ trunk/Source/WebCore/ChangeLog 2012-06-26 00:29:20 UTC (rev 121201)
@@ -1,3 +1,22 @@
+2012-06-25 Adrienne Walker <[email protected]>
+
+ [chromium] Make CCThreadProxy not draw a frame mid-commit
+ https://bugs.webkit.org/show_bug.cgi?id=89905
+
+ Reviewed by James Robinson.
+
+ If commitComplete is not called before the next frame goes up, then
+ then the max scroll position on the root scroll layer is not updated.
+ This causes the compositor-side scrollbar to have an incorrect
+ visibleSize, causing the thumbRect to become stretched, relative to
+ when it was originally painted.
+
+ CCScheduler::setVisible has the side effect of kicking off a frame, so
+ move it last.
+
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::scheduledActionCommit):
+
2012-06-25 Pablo Flouret <[email protected]>
EventSource: Events should not be dispatched after close()
Modified: trunk/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp (121200 => 121201)
--- trunk/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp 2012-06-26 00:18:30 UTC (rev 121200)
+++ trunk/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp 2012-06-26 00:29:20 UTC (rev 121201)
@@ -621,7 +621,6 @@
m_layerTreeHost->beginCommitOnImplThread(m_layerTreeHostImpl.get());
m_layerTreeHost->finishCommitOnImplThread(m_layerTreeHostImpl.get());
- m_schedulerOnImplThread->setVisible(m_layerTreeHostImpl->visible());
m_layerTreeHostImpl->commitComplete();
@@ -629,6 +628,9 @@
m_commitCompletionEventOnImplThread->signal();
m_commitCompletionEventOnImplThread = 0;
+
+ // SetVisible kicks off the next scheduler action, so this must be last.
+ m_schedulerOnImplThread->setVisible(m_layerTreeHostImpl->visible());
}
void CCThreadProxy::scheduledActionBeginContextRecreation()
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes