// Copyright © 2014 The CefSharp Authors. All rights reserved. // // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. using System; namespace CefSharp { /// /// Transition type for a request. Made up of one source value and 0 or more qualifiers. /// [Flags] public enum TransitionType : uint { /// /// Source is a link click or the JavaScript window.open function. This is /// also the default value for requests like sub-resource loads that are not navigations. /// LinkClicked = 0, /// /// Source is some other "explicit" navigation. This is the default value for /// navigations where the actual type is unknown. See also . /// Explicit = 1, /// /// User got to this page through a suggestion in the UI (for example, via the /// destinations page). Chrome runtime only. /// AutoBookmark = 2, /// /// Source is a subframe navigation. This is any content that is automatically /// loaded in a non-toplevel frame. For example, if a page consists of several /// frames containing ads, those ad URLs will have this transition type. /// The user may not even realize the content in these pages is a separate /// frame, so may not care about the URL. /// AutoSubFrame = 3, /// /// Source is a subframe navigation explicitly requested by the user that will /// generate new navigation entries in the back/forward list. These are /// probably more important than frames that were automatically loaded in /// the background because the user probably cares about the fact that this /// link was loaded. /// ManualSubFrame = 4, /// /// User got to this page by typing in the URL bar and selecting an entry /// that did not look like a URL. For example, a match might have the URL /// of a Google search result page, but appear like "Search Google for ...". /// These are not quite the same as EXPLICIT navigations because the user /// didn't type or see the destination URL. Chrome runtime only. /// See also TT_KEYWORD. /// Generated = 5, /// /// This is a toplevel navigation. This is any content that is automatically /// loaded in a toplevel frame. For example, opening a tab to show the ASH /// screen saver, opening the devtools window, opening the NTP after the safe /// browsing warning, opening web-based dialog boxes are examples of /// AUTO_TOPLEVEL navigations. Chrome runtime only. /// AutoToplevel = 6, /// /// Source is a form submission by the user. NOTE: In some situations /// submitting a form does not result in this transition type. This can happen /// if the form uses a script to submit the contents. /// FormSubmit = 7, /// /// Source is a "reload" of the page via the Reload function or by re-visiting /// the same URL. NOTE: This is distinct from the concept of whether a /// particular load uses "reload semantics" (i.e. bypasses cached data). /// Reload = 8, /// /// The url was generated from a replaceable keyword other than the default /// search provider. If the user types a keyword (which also applies to /// tab-to-search) in the omnibox this qualifier is applied to the transition /// type of the generated url. TemplateURLModel then may generate an /// additional visit with a transition type of TT_KEYWORD_GENERATED against the /// url 'http://' + keyword. For example, if you do a tab-to-search against /// wikipedia the generated url has a transition qualifer of TT_KEYWORD, and /// TemplateURLModel generates a visit for 'wikipedia.org' with a transition /// type of TT_KEYWORD_GENERATED. Chrome runtime only. /// Keyword = 9, /// /// Corresponds to a visit generated for a keyword. See description of /// TT_KEYWORD for more details. Chrome runtime only. /// KeywordGenerated = 10, /// /// General mask defining the bits used for the source values. /// SourceMask = 0xFF, /// /// Attempted to visit a URL but was blocked. /// Blocked = 0x00800000, /// /// Used the Forward or Back function to navigate among browsing history. /// Will be ORed to the transition type for the original load. /// ForwardBack = 0x01000000, /// /// Loaded a URL directly via CreateBrowser, LoadURL or LoadRequest. /// DirectLoad = 0x02000000, /// /// User is navigating to the home page. Chrome runtime only. /// HomePage = 0x04000000, /// /// The transition originated from an external application; the exact /// definition of this is embedder dependent. Chrome runtime and /// extension system only. /// FromApi = 0x08000000, /// /// The beginning of a navigation chain. /// ChainStart = 0x10000000, /// /// The last transition in a redirect chain. /// ChainEnd = 0x20000000, /// /// Redirects caused by JavaScript or a meta refresh tag on the page. /// ClientRedirect = 0x40000000, /// /// Redirects sent from the server by HTTP headers. /// ServerRedirect = 0x80000000, /// /// Used to test whether a transition involves a redirect. /// IsRedirect = 0xC0000000, /// /// General mask defining the bits used for the qualifiers. /// QualifierMask = 0xFFFFFF00 }; }