• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
2 // reserved. Use of this source code is governed by a BSD-style license that
3 // can be found in the LICENSE file.
4 
5 #include "libcef/browser/navigation_entry_impl.h"
6 
7 #include "libcef/browser/ssl_status_impl.h"
8 #include "libcef/common/time_util.h"
9 
10 #include "content/public/browser/navigation_entry.h"
11 #include "url/gurl.h"
12 
CefNavigationEntryImpl(content::NavigationEntry * value)13 CefNavigationEntryImpl::CefNavigationEntryImpl(content::NavigationEntry* value)
14     : CefValueBase<CefNavigationEntry, content::NavigationEntry>(
15           value,
16           nullptr,
17           kOwnerNoDelete,
18           false,
19           new CefValueControllerNonThreadSafe()) {
20   // Indicate that this object owns the controller.
21   SetOwnsController();
22 }
23 
IsValid()24 bool CefNavigationEntryImpl::IsValid() {
25   return !detached();
26 }
27 
GetURL()28 CefString CefNavigationEntryImpl::GetURL() {
29   CEF_VALUE_VERIFY_RETURN(false, CefString());
30   return mutable_value()->GetURL().spec();
31 }
32 
GetDisplayURL()33 CefString CefNavigationEntryImpl::GetDisplayURL() {
34   CEF_VALUE_VERIFY_RETURN(false, CefString());
35   return mutable_value()->GetVirtualURL().spec();
36 }
37 
GetOriginalURL()38 CefString CefNavigationEntryImpl::GetOriginalURL() {
39   CEF_VALUE_VERIFY_RETURN(false, CefString());
40   return mutable_value()->GetUserTypedURL().spec();
41 }
42 
GetTitle()43 CefString CefNavigationEntryImpl::GetTitle() {
44   CEF_VALUE_VERIFY_RETURN(false, CefString());
45   return mutable_value()->GetTitle();
46 }
47 
GetTransitionType()48 CefNavigationEntry::TransitionType CefNavigationEntryImpl::GetTransitionType() {
49   CEF_VALUE_VERIFY_RETURN(false, TT_EXPLICIT);
50   return static_cast<TransitionType>(mutable_value()->GetTransitionType());
51 }
52 
HasPostData()53 bool CefNavigationEntryImpl::HasPostData() {
54   CEF_VALUE_VERIFY_RETURN(false, false);
55   return mutable_value()->GetHasPostData();
56 }
57 
GetCompletionTime()58 CefTime CefNavigationEntryImpl::GetCompletionTime() {
59   CefTime time;
60   CEF_VALUE_VERIFY_RETURN(false, time);
61   cef_time_from_basetime(mutable_value()->GetTimestamp(), time);
62   return time;
63 }
64 
GetHttpStatusCode()65 int CefNavigationEntryImpl::GetHttpStatusCode() {
66   CEF_VALUE_VERIFY_RETURN(false, 0);
67   return mutable_value()->GetHttpStatusCode();
68 }
69 
GetSSLStatus()70 CefRefPtr<CefSSLStatus> CefNavigationEntryImpl::GetSSLStatus() {
71   CEF_VALUE_VERIFY_RETURN(false, nullptr);
72   return new CefSSLStatusImpl(mutable_value()->GetSSL());
73 }
74