Title: [111886] trunk/Source/WebCore
Revision
111886
Author
[email protected]
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  <[email protected]>
+
+        [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  <[email protected]>
 
         <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
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to