74 lines
2.2 KiB
C++
74 lines
2.2 KiB
C++
// Copyright (c) 2014 The Chromium Embedded Framework Authors. All rights
|
|
// reserved. Use of this source code is governed by a BSD-style license that
|
|
// can be found in the LICENSE file.
|
|
|
|
#include "libcef/browser/navigation_entry_impl.h"
|
|
|
|
#include "libcef/browser/ssl_status_impl.h"
|
|
#include "libcef/common/time_util.h"
|
|
|
|
#include "content/public/browser/navigation_entry.h"
|
|
#include "url/gurl.h"
|
|
|
|
CefNavigationEntryImpl::CefNavigationEntryImpl(content::NavigationEntry* value)
|
|
: CefValueBase<CefNavigationEntry, content::NavigationEntry>(
|
|
value,
|
|
nullptr,
|
|
kOwnerNoDelete,
|
|
false,
|
|
new CefValueControllerNonThreadSafe()) {
|
|
// Indicate that this object owns the controller.
|
|
SetOwnsController();
|
|
}
|
|
|
|
bool CefNavigationEntryImpl::IsValid() {
|
|
return !detached();
|
|
}
|
|
|
|
CefString CefNavigationEntryImpl::GetURL() {
|
|
CEF_VALUE_VERIFY_RETURN(false, CefString());
|
|
return mutable_value()->GetURL().spec();
|
|
}
|
|
|
|
CefString CefNavigationEntryImpl::GetDisplayURL() {
|
|
CEF_VALUE_VERIFY_RETURN(false, CefString());
|
|
return mutable_value()->GetVirtualURL().spec();
|
|
}
|
|
|
|
CefString CefNavigationEntryImpl::GetOriginalURL() {
|
|
CEF_VALUE_VERIFY_RETURN(false, CefString());
|
|
return mutable_value()->GetUserTypedURL().spec();
|
|
}
|
|
|
|
CefString CefNavigationEntryImpl::GetTitle() {
|
|
CEF_VALUE_VERIFY_RETURN(false, CefString());
|
|
return mutable_value()->GetTitle();
|
|
}
|
|
|
|
CefNavigationEntry::TransitionType CefNavigationEntryImpl::GetTransitionType() {
|
|
CEF_VALUE_VERIFY_RETURN(false, TT_EXPLICIT);
|
|
return static_cast<TransitionType>(mutable_value()->GetTransitionType());
|
|
}
|
|
|
|
bool CefNavigationEntryImpl::HasPostData() {
|
|
CEF_VALUE_VERIFY_RETURN(false, false);
|
|
return mutable_value()->GetHasPostData();
|
|
}
|
|
|
|
CefTime CefNavigationEntryImpl::GetCompletionTime() {
|
|
CefTime time;
|
|
CEF_VALUE_VERIFY_RETURN(false, time);
|
|
cef_time_from_basetime(mutable_value()->GetTimestamp(), time);
|
|
return time;
|
|
}
|
|
|
|
int CefNavigationEntryImpl::GetHttpStatusCode() {
|
|
CEF_VALUE_VERIFY_RETURN(false, 0);
|
|
return mutable_value()->GetHttpStatusCode();
|
|
}
|
|
|
|
CefRefPtr<CefSSLStatus> CefNavigationEntryImpl::GetSSLStatus() {
|
|
CEF_VALUE_VERIFY_RETURN(false, nullptr);
|
|
return new CefSSLStatusImpl(mutable_value()->GetSSL());
|
|
}
|