[webkit-changes] [WebKit/WebKit] e72901: Remove back/forward cache state from `HistoryItem`

Charlie Wolfe noreply at github.com
Tue Oct 15 17:26:31 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e72901245a13f0e051a65f1b15bb08fcae0f39a8
      https://github.com/WebKit/WebKit/commit/e72901245a13f0e051a65f1b15bb08fcae0f39a8
  Author: Charlie Wolfe <charliew at apple.com>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M Source/WebCore/history/BackForwardCache.cpp
    M Source/WebCore/history/BackForwardCache.h
    M Source/WebCore/history/CachedPage.h
    M Source/WebCore/history/HistoryItem.cpp
    M Source/WebCore/history/HistoryItem.h

  Log Message:
  -----------
  Remove back/forward cache state from `HistoryItem`
https://bugs.webkit.org/show_bug.cgi?id=281467
rdar://137923224

Reviewed by Alex Christensen.

To prepare for site isolation, most history state is being moved to the UI process rather than being
stored in the history item maps within the web process, which will eventually be removed. Since the
back/forward cache state on `HistoryItem` cannot be stored in the UI process, it should be moved into
maps on `BackForwardCache`.

Modify `m_items` to store a `BackForwardItemIdentifier`, and add `m_cachedPageMap` to store the pruning
reason when an item is removed from the back/forward cache.

* Source/WebCore/history/BackForwardCache.cpp:
(WebCore::BackForwardCache::dump const):
(WebCore::BackForwardCache::frameCount):
(WebCore::BackForwardCache::markPagesForDeviceOrPageScaleChanged):
(WebCore::BackForwardCache::markPagesForContentsSizeChanged):
(WebCore::BackForwardCache::markPagesForCaptionPreferencesChanged):
(WebCore::BackForwardCache::addIfCacheable):
(WebCore::BackForwardCache::take):
(WebCore::BackForwardCache::removeAllItemsForPage):
(WebCore::BackForwardCache::get):
(WebCore::BackForwardCache::remove):
(WebCore::BackForwardCache::prune):
(WebCore::BackForwardCache::clearEntriesForOrigins):
(WebCore::BackForwardCache::isInBackForwardCache const):
(WebCore::BackForwardCache::hasCachedPageExpired const):
(WebCore::BackForwardCache::frameCount const):
* Source/WebCore/history/BackForwardCache.h:
* Source/WebCore/history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem):
(WebCore::HistoryItem::~HistoryItem):
(WebCore::HistoryItem::isInBackForwardCache const):
(WebCore::HistoryItem::hasCachedPageExpired const):
(WebCore::HistoryItem::setCachedPage): Deleted.
(WebCore::HistoryItem::takeCachedPage): Deleted.
* Source/WebCore/history/HistoryItem.h:
(WebCore::HistoryItem::isInBackForwardCache const): Deleted.
* Source/WebCore/history/CachedPage.h:

Canonical link: https://commits.webkit.org/285233@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list