blob: ef25721aa64a131e9f179036b7771ad115e10057 [file] [log] [blame]
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module blink.mojom;
// This enum lists eviction reasons from the renderer.
enum RendererEvictionReason {
// JavaScript execution ocurrs.
kJavaScriptExecution,
// Datapipe for reading network requests is already drained upon bfcache entrance.
kNetworkRequestDatapipeDrained,
// Network request is redirected.
kNetworkRequestRedirected,
// Network request is open for too long.
kNetworkRequestTimeout,
// Network request buffers too much data.
kNetworkExceedsBufferLimit,
};
//
// This interface defines back-forward cache related methods that will be
// invoked from the renderer process.
//
// Calls to any of the methods defined in this interface must be allowed while
// the frame is in the back-forward cache. Calls to other (associated) interface
// methods while the frame is in the back-forward cache are disallowed and may
// trigger a renderer kill, depending on policy.
interface BackForwardCacheControllerHost {
// Evicts the page from the back/forward cache due to e.g., JavaScript
// execution and network request redirect.
EvictFromBackForwardCache(RendererEvictionReason reason);
};