Title: [107991] trunk/Source/WebKit/blackberry
Revision
107991
Author
[email protected]
Date
2012-02-16 16:04:23 -0800 (Thu, 16 Feb 2012)

Log Message

2012-02-16  Antonio Gomes  <[email protected]>

        Crash @WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableNodeAfterInRegionScrolling MKS_2986818
        https://bugs.webkit.org/show_bug.cgi?id=78845

        Reviewed by Rob Buis.

        We were trying to operate on a cached Node when its page/frame/document
        were gone to PageCache already. To avoid such problems, lets clean up
        any document data we have cached when the Frame goes into the cache.

        * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
        (WebCore::FrameLoaderClientBlackBerry::didSaveToPageCache):
        (WebCore):
        * WebCoreSupport/FrameLoaderClientBlackBerry.h:
        (FrameLoaderClientBlackBerry):

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/ChangeLog (107990 => 107991)


--- trunk/Source/WebKit/blackberry/ChangeLog	2012-02-17 00:04:11 UTC (rev 107990)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2012-02-17 00:04:23 UTC (rev 107991)
@@ -1,5 +1,22 @@
 2012-02-16  Antonio Gomes  <[email protected]>
 
+        Crash @WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableNodeAfterInRegionScrolling MKS_2986818
+        https://bugs.webkit.org/show_bug.cgi?id=78845
+
+        Reviewed by Rob Buis.
+
+        We were trying to operate on a cached Node when its page/frame/document
+        were gone to PageCache already. To avoid such problems, lets clean up
+        any document data we have cached when the Frame goes into the cache.
+
+        * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
+        (WebCore::FrameLoaderClientBlackBerry::didSaveToPageCache):
+        (WebCore):
+        * WebCoreSupport/FrameLoaderClientBlackBerry.h:
+        (FrameLoaderClientBlackBerry):
+
+2012-02-16  Antonio Gomes  <[email protected]>
+
         [BlackBerry] Upstream touch handling related classes
         https://bugs.webkit.org/show_bug.cgi?id=78509
 

Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp (107990 => 107991)


--- trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp	2012-02-17 00:04:11 UTC (rev 107990)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp	2012-02-17 00:04:23 UTC (rev 107991)
@@ -1209,6 +1209,13 @@
     return true;
 }
 
+void FrameLoaderClientBlackBerry::didSaveToPageCache()
+{
+    // When page goes into PageCache, clean up any possible
+    // document data cache we might have.
+    m_webPagePrivate->clearDocumentData(m_frame->document());
+}
+
 void FrameLoaderClientBlackBerry::provisionalLoadStarted()
 {
     // We would like to hide the virtual keyboard before it navigates to another page

Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.h (107990 => 107991)


--- trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.h	2012-02-17 00:04:11 UTC (rev 107990)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.h	2012-02-17 00:04:23 UTC (rev 107991)
@@ -143,7 +143,7 @@
     virtual void transitionToCommittedFromCachedFrame(CachedFrame*) { notImplemented(); }
     virtual void transitionToCommittedForNewPage();
     virtual bool canCachePage() const;
-    virtual void didSaveToPageCache() { }
+    virtual void didSaveToPageCache();
     virtual void didRestoreFromPageCache();
     virtual void dispatchDidBecomeFrameset(bool) { }
     virtual void download(ResourceHandle*, const ResourceRequest&, const ResourceRequest&, const ResourceResponse&);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to