Title: [172199] trunk/Source/WebKit2
Revision
172199
Author
[email protected]
Date
2014-08-06 19:43:35 -0700 (Wed, 06 Aug 2014)

Log Message

[iOS WK2] www.france24.com doesn't always load the page, sections stay white
https://bugs.webkit.org/show_bug.cgi?id=135684
<rdar://problem/17931712>

Reviewed by Tim Horton.

It's possible for a UIScrollView for overflow to move between one scrolling tree node
and another. When this happens, we need to avoid unconditionally clearing the delegate
on the node that's being destroyed, because the new node will already have set the
UIScrollView delegate to its own delegate.

* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::~ScrollingTreeOverflowScrollingNodeIOS):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (172198 => 172199)


--- trunk/Source/WebKit2/ChangeLog	2014-08-07 00:59:47 UTC (rev 172198)
+++ trunk/Source/WebKit2/ChangeLog	2014-08-07 02:43:35 UTC (rev 172199)
@@ -1,3 +1,19 @@
+2014-08-06  Simon Fraser  <[email protected]>
+
+        [iOS WK2] www.france24.com doesn't always load the page, sections stay white
+        https://bugs.webkit.org/show_bug.cgi?id=135684
+        <rdar://problem/17931712>
+
+        Reviewed by Tim Horton.
+        
+        It's possible for a UIScrollView for overflow to move between one scrolling tree node
+        and another. When this happens, we need to avoid unconditionally clearing the delegate
+        on the node that's being destroyed, because the new node will already have set the
+        UIScrollView delegate to its own delegate.
+
+        * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
+        (WebKit::ScrollingTreeOverflowScrollingNodeIOS::~ScrollingTreeOverflowScrollingNodeIOS):
+
 2014-08-06  Dean Jackson  <[email protected]>
 
         ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED is not used anywhere. Remove it.

Modified: trunk/Source/WebKit2/UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm (172198 => 172199)


--- trunk/Source/WebKit2/UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm	2014-08-07 00:59:47 UTC (rev 172198)
+++ trunk/Source/WebKit2/UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm	2014-08-07 02:43:35 UTC (rev 172199)
@@ -111,7 +111,9 @@
     BEGIN_BLOCK_OBJC_EXCEPTIONS
     if (UIScrollView *scrollView = (UIScrollView *)[scrollLayer() delegate]) {
         ASSERT([scrollView isKindOfClass:[UIScrollView self]]);
-        scrollView.delegate = nil;
+        // The scrollView may have been adopted by another node, so only clear the delegate if it's ours.
+        if (scrollView.delegate == m_scrollViewDelegate.get())
+            scrollView.delegate = nil;
     }
     END_BLOCK_OBJC_EXCEPTIONS
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to