#include "content/browser/renderer_host/navigation_transitions/navigation_entry_screenshot_cache.h"
#include "base/memory/ptr_util.h"
#include "content/browser/renderer_host/navigation_controller_impl.h"
#include "content/browser/renderer_host/navigation_request.h"
#include "content/browser/renderer_host/navigation_transitions/navigation_entry_screenshot.h"
#include "content/browser/renderer_host/navigation_transitions/navigation_entry_screenshot_manager.h"
#include "content/browser/renderer_host/navigation_transitions/navigation_transition_config.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/navigation_entry.h"
namespace content {
namespace {
NavigationEntryScreenshotCache::CompressedCallback& GetTestCallback() { … }
std::unique_ptr<NavigationEntryScreenshot> RemoveScreenshotFromEntry(
NavigationEntry* entry) { … }
}
void NavigationEntryScreenshotCache::SetCompressedCallbackForTesting(
CompressedCallback callback) { … }
NavigationEntryScreenshotCache::NavigationEntryScreenshotCache(
base::SafeRef<NavigationEntryScreenshotManager> manager,
NavigationControllerImpl* nav_controller)
: … { … }
NavigationEntryScreenshotCache::~NavigationEntryScreenshotCache() { … }
void NavigationEntryScreenshotCache::SetScreenshot(
base::WeakPtr<NavigationRequest> navigation_request,
std::unique_ptr<NavigationEntryScreenshot> screenshot,
bool is_copied_from_embedder) { … }
void NavigationEntryScreenshotCache::OnNavigationFinished(
const NavigationRequest& navigation_request) { … }
void NavigationEntryScreenshotCache::SetVisible(bool visible) { … }
void NavigationEntryScreenshotCache::SetScreenshotInternal(
std::unique_ptr<NavigationEntryScreenshot> screenshot,
bool is_copied_from_embedder) { … }
std::unique_ptr<NavigationEntryScreenshot>
NavigationEntryScreenshotCache::RemoveScreenshot(
NavigationEntry* navigation_entry) { … }
void NavigationEntryScreenshotCache::OnNavigationEntryGone(
int navigation_entry_id) { … }
void NavigationEntryScreenshotCache::OnScreenshotCompressed(
int navigation_entry_id,
size_t new_size) { … }
void NavigationEntryScreenshotCache::EvictScreenshotsUntilUnderBudgetOrEmpty() { … }
void NavigationEntryScreenshotCache::Purge(PurgeReason reason) { … }
void NavigationEntryScreenshotCache::PurgeInternal(
std::optional<PurgeReason> reason) { … }
bool NavigationEntryScreenshotCache::IsEmpty() const { … }
std::optional<base::TimeTicks>
NavigationEntryScreenshotCache::GetLastVisibleTime() const { … }
void NavigationEntryScreenshotCache::SetNewScreenshotCachedCallbackForTesting(
NewScreenshotCachedCallbackForTesting callback) { … }
NavigationEntryScreenshotCache::PendingScreenshot::PendingScreenshot() =
default;
NavigationEntryScreenshotCache::PendingScreenshot::PendingScreenshot(
std::unique_ptr<NavigationEntryScreenshot> screenshot,
bool is_copied_from_embedder)
: … { … }
NavigationEntryScreenshotCache::PendingScreenshot::~PendingScreenshot() =
default;
NavigationEntryScreenshotCache::PendingScreenshot::PendingScreenshot(
PendingScreenshot&& other) = default;
NavigationEntryScreenshotCache::PendingScreenshot&
NavigationEntryScreenshotCache::PendingScreenshot::operator=(
PendingScreenshot&& other) = default;
}