Make sure a page is still PageCache-able after firing the 'pagehide' events and abort if it isn't. This should improve robustness and it is easy for pagehide event handlers to do things that would make a Page no longer PageCache-able and this leads to bugs that are difficult to investigate.
Created attachment 269802 [details] Patch
Created attachment 269803 [details] Patch
<rdar://problem/24335880>
Comment on attachment 269803 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=269803&action=review > Source/WebCore/history/PageCache.cpp:423 > + if (!canCache(page)) { I am planning to add diagnostic logging for this in a follow-up patch so we can see how often this happens.
Comment on attachment 269803 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=269803&action=review r=me > Source/WebCore/history/PageCache.cpp:402 > + // Create the CachedFrames for all Frames in the FrameTree. > + for (RefPtr<Frame> child = frame.tree().firstChild(); child; child = child->tree().nextSibling()) > + firePageHideEventRecursively(*child); This comment doesn't make sense here.
Created attachment 269896 [details] Patch
Comment on attachment 269896 [details] Patch Clearing flags on attachment: 269896 Committed r195605: <http://trac.webkit.org/changeset/195605>
All reviewed patches have been landed. Closing bug.