Title: [183144] branches/safari-600.7-branch/Source/WebKit2
- Revision
- 183144
- Author
- [email protected]
- Date
- 2015-04-22 15:41:23 -0700 (Wed, 22 Apr 2015)
Log Message
Merge r182084. rdar://problem/20557359
Modified Paths
Diff
Modified: branches/safari-600.7-branch/Source/WebKit2/ChangeLog (183143 => 183144)
--- branches/safari-600.7-branch/Source/WebKit2/ChangeLog 2015-04-22 22:34:36 UTC (rev 183143)
+++ branches/safari-600.7-branch/Source/WebKit2/ChangeLog 2015-04-22 22:41:23 UTC (rev 183144)
@@ -1,5 +1,34 @@
2015-04-22 Matthew Hanson <[email protected]>
+ Merge r182084. rdar://problem/20557359
+
+ 2015-03-27 Andreas Kling <[email protected]>
+
+ WebProcessProxy should not retain WebBackForwardListItems forever.
+ <https://webkit.org/b/143152>
+ <rdar://problem/19925709>
+
+ Reviewed by Anders Carlsson.
+
+ Have WebProcessProxy actually forget about a WebBackForwardListItem after it's removed from
+ the WebBackForwardList.
+
+ This ensures that we don't accumulate too many of these objects, which can get quite large
+ due to the session state encoded in them.
+
+ We already have graceful handling of the case where an incoming IPC message references
+ a removed back/forward list item.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::didRemoveItem):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::backForwardRemovedItem):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::removeBackForwardItem):
+ * UIProcess/WebProcessProxy.h:
+
+2015-04-22 Matthew Hanson <[email protected]>
+
Merge r181991. rdar://problem/20545332
2015-03-25 Chris Dumez <[email protected]>
Modified: branches/safari-600.7-branch/Source/WebKit2/UIProcess/WebBackForwardList.cpp (183143 => 183144)
--- branches/safari-600.7-branch/Source/WebKit2/UIProcess/WebBackForwardList.cpp 2015-04-22 22:34:36 UTC (rev 183143)
+++ branches/safari-600.7-branch/Source/WebKit2/UIProcess/WebBackForwardList.cpp 2015-04-22 22:41:23 UTC (rev 183144)
@@ -432,7 +432,6 @@
void WebBackForwardList::didRemoveItem(WebBackForwardListItem& backForwardListItem)
{
- // FIXME: This should really also delete the item from the map.
m_page->backForwardRemovedItem(backForwardListItem.itemID());
backForwardListItem.setSnapshot(nullptr);
Modified: branches/safari-600.7-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp (183143 => 183144)
--- branches/safari-600.7-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp 2015-04-22 22:34:36 UTC (rev 183143)
+++ branches/safari-600.7-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp 2015-04-22 22:41:23 UTC (rev 183144)
@@ -4852,6 +4852,7 @@
void WebPageProxy::backForwardRemovedItem(uint64_t itemID)
{
+ m_process->removeBackForwardItem(itemID);
m_process->send(Messages::WebPage::DidRemoveBackForwardItem(itemID), m_pageID);
}
Modified: branches/safari-600.7-branch/Source/WebKit2/UIProcess/WebProcessProxy.cpp (183143 => 183144)
--- branches/safari-600.7-branch/Source/WebKit2/UIProcess/WebProcessProxy.cpp 2015-04-22 22:34:36 UTC (rev 183143)
+++ branches/safari-600.7-branch/Source/WebKit2/UIProcess/WebProcessProxy.cpp 2015-04-22 22:41:23 UTC (rev 183144)
@@ -281,6 +281,11 @@
m_backForwardListItemMap.set(item->itemID(), item);
}
+void WebProcessProxy::removeBackForwardItem(uint64_t itemID)
+{
+ m_backForwardListItemMap.remove(itemID);
+}
+
void WebProcessProxy::assumeReadAccessToBaseURL(const String& urlString)
{
URL url(URL(), urlString);
Modified: branches/safari-600.7-branch/Source/WebKit2/UIProcess/WebProcessProxy.h (183143 => 183144)
--- branches/safari-600.7-branch/Source/WebKit2/UIProcess/WebProcessProxy.h 2015-04-22 22:34:36 UTC (rev 183143)
+++ branches/safari-600.7-branch/Source/WebKit2/UIProcess/WebProcessProxy.h 2015-04-22 22:41:23 UTC (rev 183144)
@@ -108,6 +108,7 @@
void updateTextCheckerState();
void registerNewWebBackForwardListItem(WebBackForwardListItem*);
+ void removeBackForwardItem(uint64_t);
void willAcquireUniversalFileReadSandboxExtension() { m_mayHaveUniversalFileReadSandboxExtension = true; }
void assumeReadAccessToBaseURL(const String&);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes