1 // Copyright (c) 2014 Marshall A. Greenblatt. All rights reserved.
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions are
7 // * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 // * Redistributions in binary form must reproduce the above
10 // copyright notice, this list of conditions and the following disclaimer
11 // in the documentation and/or other materials provided with the
13 // * Neither the name of Google Inc. nor the name Chromium Embedded
14 // Framework nor the names of its contributors may be used to endorse
15 // or promote products derived from this software without specific prior
16 // written permission.
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 // ---------------------------------------------------------------------------
32 // The contents of this file must follow a specific format in order to
33 // support the CEF translator tool. See the translator.README.txt file in the
34 // tools directory for more information.
37 #ifndef CEF_INCLUDE_CEF_NAVIGATION_ENTRY_H_
38 #define CEF_INCLUDE_CEF_NAVIGATION_ENTRY_H_
41 #include "include/cef_base.h"
44 // Class used to represent an entry in navigation history.
46 /*--cef(source=library)--*/
47 class CefNavigationEntry : public virtual CefBase {
49 typedef cef_transition_type_t TransitionType;
52 // Returns true if this object is valid. Do not call any other methods if this
53 // function returns false.
56 virtual bool IsValid() =0;
59 // Returns the actual URL of the page. For some pages this may be data: URL or
60 // similar. Use GetDisplayURL() to return a display-friendly version.
63 virtual CefString GetURL() =0;
66 // Returns a display-friendly version of the URL.
69 virtual CefString GetDisplayURL() =0;
72 // Returns the original URL that was entered by the user before any redirects.
75 virtual CefString GetOriginalURL() =0;
78 // Returns the title set by the page. This value may be empty.
81 virtual CefString GetTitle() =0;
84 // Returns the transition type which indicates what the user did to move to
85 // this page from the previous page.
87 /*--cef(default_retval=TT_EXPLICIT)--*/
88 virtual TransitionType GetTransitionType() =0;
91 // Returns true if this navigation includes post data.
94 virtual bool HasPostData() =0;
97 // Returns the name of the sub-frame that navigated or an empty value if the
98 // main frame navigated.
101 virtual CefString GetFrameName() =0;
104 // Returns the time for the last known successful navigation completion. A
105 // navigation may be completed more than once if the page is reloaded. May be
106 // 0 if the navigation has not yet completed.
109 virtual CefTime GetCompletionTime() =0;
112 // Returns the HTTP status code for the last known successful navigation
113 // response. May be 0 if the response has not yet been received or if the
114 // navigation has not yet completed.
117 virtual int GetHttpStatusCode() =0;
120 #endif // CEF_INCLUDE_CEF_NAVIGATION_ENTRY_H_