Title: [126167] trunk/Source/WebKit/blackberry
Revision
126167
Author
[email protected]
Date
2012-08-21 10:02:59 -0700 (Tue, 21 Aug 2012)

Log Message

[BlackBerry] Accelerated In-Region Scrolling does not render correctly on rotation
https://bugs.webkit.org/show_bug.cgi?id=94608
PR #194754

Reviewed by Goerge Staikos.
Patch by Antonio Gomes <[email protected]>

When one translates/scrolls a HW accelerated scrollable layer, it makes use of
the OVERRIDE mechanism. Suppose the following scenario:

- In landscape, the overflow menu is scrollable. Then the user scrolls it so
that is has scroll position of 0, -100.
- when he rotates to portrait, the menus fit well to the available space but it
still has the OVERRIDE set, so it keeps the layer translated at 0, -100.

Fix is simple: clear the override when we stop scrolling a HW accelerated layer,
when we destroy the objects.

* WebKitSupport/InRegionScrollableArea.cpp:
(BlackBerry::WebKit::InRegionScrollableArea::~InRegionScrollableArea):

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/ChangeLog (126166 => 126167)


--- trunk/Source/WebKit/blackberry/ChangeLog	2012-08-21 17:02:28 UTC (rev 126166)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2012-08-21 17:02:59 UTC (rev 126167)
@@ -1,5 +1,27 @@
 2012-08-21  Antonio Gomes  <[email protected]>
 
+        [BlackBerry] Accelerated In-Region Scrolling does not render correctly on rotation
+        https://bugs.webkit.org/show_bug.cgi?id=94608
+        PR #194754
+
+        Reviewed by Goerge Staikos.
+
+        When one translates/scrolls a HW accelerated scrollable layer, it makes use of
+        the OVERRIDE mechanism. Suppose the following scenario:
+
+        - In landscape, the overflow menu is scrollable. Then the user scrolls it so
+        that is has scroll position of 0, -100.
+        - when he rotates to portrait, the menus fit well to the available space but it
+        still has the OVERRIDE set, so it keeps the layer translated at 0, -100.
+
+        Fix is simple: clear the override when we stop scrolling a HW accelerated layer,
+        when we destroy the objects.
+
+        * WebKitSupport/InRegionScrollableArea.cpp:
+        (BlackBerry::WebKit::InRegionScrollableArea::~InRegionScrollableArea):
+
+2012-08-21  Antonio Gomes  <[email protected]>
+
         [BlackBerry] Properly notify WebKit when Client stops in-region scrolling
         https://bugs.webkit.org/show_bug.cgi?id=94603
         PR #195813

Modified: trunk/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp (126166 => 126167)


--- trunk/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp	2012-08-21 17:02:28 UTC (rev 126166)
+++ trunk/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp	2012-08-21 17:02:59 UTC (rev 126167)
@@ -42,6 +42,8 @@
 
 InRegionScrollableArea::~InRegionScrollableArea()
 {
+    if (m_cachedCompositedScrollableLayer)
+        m_cachedCompositedScrollableLayer->clearOverride();
 }
 
 InRegionScrollableArea::InRegionScrollableArea(WebPagePrivate* webPage, RenderLayer* layer)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to