Title: [111886] trunk/Source/WebCore
Revision
111886
Author
e...@google.com
Date
2012-03-23 12:24:40 -0700 (Fri, 23 Mar 2012)

Log Message

[chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
https://bugs.webkit.org/show_bug.cgi?id=82066

Reviewed by James Robinson.

With threaded compositing, OSX will crash and Windows will have black
scrollbars. Fix that by reverting to the previosu behavior of updating
scrollbars on the main thread instead.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::scrollbarLayerDidChange):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (111885 => 111886)


--- trunk/Source/WebCore/ChangeLog	2012-03-23 18:40:16 UTC (rev 111885)
+++ trunk/Source/WebCore/ChangeLog	2012-03-23 19:24:40 UTC (rev 111886)
@@ -1,3 +1,17 @@
+2012-03-23  Adrienne Walker  <e...@google.com>
+
+        [chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
+        https://bugs.webkit.org/show_bug.cgi?id=82066
+
+        Reviewed by James Robinson.
+
+        With threaded compositing, OSX will crash and Windows will have black
+        scrollbars. Fix that by reverting to the previosu behavior of updating
+        scrollbars on the main thread instead.
+
+        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+        (WebCore::scrollbarLayerDidChange):
+
 2012-03-23  Dan Bernstein  <m...@apple.com>
 
         <rdar://problem/7883987> ASSERTION FAILED: ASSERT(input == AnimationStateInputEndTimerFired || input == AnimationStateInputPlayStatePaused) in AnimationBase::updateStateMachine causing multiple "crashes" on Lion Intel Debug WebKit testers

Modified: trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp (111885 => 111886)


--- trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp	2012-03-23 18:40:16 UTC (rev 111885)
+++ trunk/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp	2012-03-23 19:24:40 UTC (rev 111886)
@@ -98,7 +98,14 @@
     if (!scrollbarGraphicsLayer->contentsOpaque())
         scrollbarGraphicsLayer->setContentsOpaque(isOpaqueRootScrollbar);
 
-    if (scrollbar->isCustomScrollbar() || !CCProxy::hasImplThread()) {
+    // Only certain platforms support the way that scrollbars are currently
+    // being painted on the impl thread. For example, Cocoa is not threadsafe.
+    bool platformSupported = false;
+#if OS(LINUX)
+    platformSupported = true;
+#endif
+
+    if (scrollbar->isCustomScrollbar() || !CCProxy::hasImplThread() || !platformSupported) {
         scrollbarGraphicsLayer->setContentsToMedia(0);
         scrollbarGraphicsLayer->setDrawsContent(true);
         return;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to