<rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050 WebKit2...
authorbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 16 Apr 2012 18:01:30 +0000 (18:01 +0000)
committerbeidson@apple.com <beidson@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 16 Apr 2012 18:01:30 +0000 (18:01 +0000)
commit3cb62d046f936eb849c52e0679234d04ec403f94
tree5cab3147a76d88df413a63a55609fade82fb14b1
parentd420ea02fe3b5ff7b219e5f32193edcf016a6cc8
<rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050 WebKit2 back/forward items in the page cache are never removed when the page is closed

Reviewed by Jessie Berlin and unofficially reviewed by Jon Lee.

Source/WebCore:

* WebCore.exp.in: Export PageCache::remove()

Source/WebKit2:

Individual WebBackForwardListProxy's had no idea which items are associated with them.
This adds that association and makes sure the proxy removes all associated items from the PageCache when it closes.

* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::removeItem): Remove the item from the PageCache in case it was in it.
(WebKit::WebBackForwardListProxy::addItem): Add the item ID to this back/forward list's set of associated IDs.
(WebKit::WebBackForwardListProxy::close): Remove each associated item from the PageCache.
* WebProcess/WebPage/WebBackForwardListProxy.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/WebCore.exp.in
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp
Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.h