File: navigation_discard_reason.h

package info (click to toggle)
chromium 120.0.6099.224-1~deb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 6,112,112 kB
  • sloc: cpp: 32,907,025; ansic: 8,148,123; javascript: 3,679,536; python: 2,031,248; asm: 959,718; java: 804,675; xml: 617,256; sh: 111,417; objc: 100,835; perl: 88,443; cs: 53,032; makefile: 29,579; fortran: 24,137; php: 21,162; tcl: 21,147; sql: 20,809; ruby: 17,735; pascal: 12,864; yacc: 8,045; lisp: 3,388; lex: 1,323; ada: 727; awk: 329; jsp: 267; csh: 117; exp: 43; sed: 37
file content (36 lines) | stat: -rw-r--r-- 1,837 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CONTENT_BROWSER_RENDERER_HOST_NAVIGATION_DISCARD_REASON_H_
#define CONTENT_BROWSER_RENDERER_HOST_NAVIGATION_DISCARD_REASON_H_

// Used to annotate the reason for calling into methods that delete speculative
// RenderFrameHosts or ongoing NavigationRequests. Purely informational for now,
// but in the future, intended to serve as a signal for how a caller of the
// functions should handle cases when the speculative RenderFrameHost cannot be
// promptly discarded. See https://crbug.com/1220337 for more info.
enum class NavigationDiscardReason {
  // A new navigation will start and replace a pre-existing navigation. This
  // resets any NavigationRequest and speculative RenderFrameHost on the
  // targeted FrameTreeNode.
  kNewNavigation,
  // The FrameTreeNode the navigation targets is being removed, e.g. user closed
  // the tab or script removed the frame owner element from its container
  // document.
  kWillRemoveFrame,
  // Ongoing navigations have been cancelled, e.g. the user clicked Stop.
  kCancelled,
  // In certain cases when a navigation commits in a FrameTreeNode, other
  // navigation attempts targeting the same FrameTreeNode are cancelled.
  kCommittedNavigation,
  // The render process is gone, typically due to a crash.
  kRenderProcessGone,
  // The RenderFrameHost containing the NavigationRequest is destructed.
  // This is only used by the RenderFrameHost destructor, and typically other
  // navigation cancellations will cancel the navigations on the RFH separately
  // with a more specific reason before destructing the RenderFrameHost.
  kRenderFrameHostDestruction,
};

#endif  // CONTENT_BROWSER_RENDERER_HOST_NAVIGATION_DISCARD_REASON_H_