Title: [103419] trunk/Source/WebCore
Revision
103419
Author
ander...@apple.com
Date
2011-12-21 11:28:55 -0800 (Wed, 21 Dec 2011)

Log Message

Don't recreate scrollbar layers whenever the frame view size changes
https://bugs.webkit.org/show_bug.cgi?id=75018

Reviewed by Darin Adler and Simon Fraser.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (103418 => 103419)


--- trunk/Source/WebCore/ChangeLog	2011-12-21 19:09:43 UTC (rev 103418)
+++ trunk/Source/WebCore/ChangeLog	2011-12-21 19:28:55 UTC (rev 103419)
@@ -1,3 +1,13 @@
+2011-12-21  Anders Carlsson  <ander...@apple.com>
+
+        Don't recreate scrollbar layers whenever the frame view size changes
+        https://bugs.webkit.org/show_bug.cgi?id=75018
+
+        Reviewed by Darin Adler and Simon Fraser.
+
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
+
 2011-12-20  Andrey Kosyakov  <ca...@chromium.org>
 
         Web Inspector: [Extension API] refactor extension API build code, expose experimental APIs conditionally in chromium

Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (103418 => 103419)


--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2011-12-21 19:09:43 UTC (rev 103418)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2011-12-21 19:28:55 UTC (rev 103419)
@@ -1702,12 +1702,14 @@
 #endif
 
     if (requiresHorizontalScrollbarLayer()) {
-        m_layerForHorizontalScrollbar = GraphicsLayer::create(this);
-#ifndef NDEBUG
-        m_layerForHorizontalScrollbar->setName("horizontal scrollbar");
-#endif
-        m_overflowControlsHostLayer->addChild(m_layerForHorizontalScrollbar.get());
-        layersChanged = true;
+        if (!m_layerForHorizontalScrollbar) {
+            m_layerForHorizontalScrollbar = GraphicsLayer::create(this);
+    #ifndef NDEBUG
+            m_layerForHorizontalScrollbar->setName("horizontal scrollbar");
+    #endif
+            m_overflowControlsHostLayer->addChild(m_layerForHorizontalScrollbar.get());
+            layersChanged = true;
+        }
     } else if (m_layerForHorizontalScrollbar) {
         m_layerForHorizontalScrollbar->removeFromParent();
         m_layerForHorizontalScrollbar = nullptr;
@@ -1715,12 +1717,14 @@
     }
 
     if (requiresVerticalScrollbarLayer()) {
-        m_layerForVerticalScrollbar = GraphicsLayer::create(this);
-#ifndef NDEBUG
-        m_layerForVerticalScrollbar->setName("vertical scrollbar");
-#endif
-        m_overflowControlsHostLayer->addChild(m_layerForVerticalScrollbar.get());
-        layersChanged = true;
+        if (!m_layerForVerticalScrollbar) {
+            m_layerForVerticalScrollbar = GraphicsLayer::create(this);
+    #ifndef NDEBUG
+            m_layerForVerticalScrollbar->setName("vertical scrollbar");
+    #endif
+            m_overflowControlsHostLayer->addChild(m_layerForVerticalScrollbar.get());
+            layersChanged = true;
+        }
     } else if (m_layerForVerticalScrollbar) {
         m_layerForVerticalScrollbar->removeFromParent();
         m_layerForVerticalScrollbar = nullptr;
@@ -1728,12 +1732,14 @@
     }
 
     if (requiresScrollCornerLayer()) {
-        m_layerForScrollCorner = GraphicsLayer::create(this);
-#ifndef NDEBUG
-        m_layerForScrollCorner->setName("scroll corner");
-#endif
-        m_overflowControlsHostLayer->addChild(m_layerForScrollCorner.get());
-        layersChanged = true;
+        if (!m_layerForScrollCorner) {
+            m_layerForScrollCorner = GraphicsLayer::create(this);
+    #ifndef NDEBUG
+            m_layerForScrollCorner->setName("scroll corner");
+    #endif
+            m_overflowControlsHostLayer->addChild(m_layerForScrollCorner.get());
+            layersChanged = true;
+        }
     } else if (m_layerForScrollCorner) {
         m_layerForScrollCorner->removeFromParent();
         m_layerForScrollCorner = nullptr;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to