Fix navigation to debug URLs

This commit is contained in:
Marshall Greenblatt
2020-02-14 16:58:58 -05:00
parent 71768ea6c3
commit a141082b91
6 changed files with 57 additions and 26 deletions

View File

@@ -381,7 +381,8 @@ CefRefPtr<CefBrowserHostImpl> CefBrowserHostImpl::Create(
create_params.extension_host_type);
} else if (!create_params.url.is_empty()) {
browser->LoadMainFrameURL(create_params.url.spec(), content::Referrer(),
ui::PAGE_TRANSITION_TYPED, std::string());
CefFrameHostImpl::kPageTransitionExplicit,
std::string());
}
return browser.get();

View File

@@ -158,13 +158,13 @@ void CefFrameHostImpl::GetText(CefRefPtr<CefStringVisitor> visitor) {
}
void CefFrameHostImpl::LoadRequest(CefRefPtr<CefRequest> request) {
CefNavigateParams params(GURL(), ui::PAGE_TRANSITION_TYPED);
CefNavigateParams params(GURL(), kPageTransitionExplicit);
static_cast<CefRequestImpl*>(request.get())->Get(params);
Navigate(params);
}
void CefFrameHostImpl::LoadURL(const CefString& url) {
LoadURLWithExtras(url, content::Referrer(), ui::PAGE_TRANSITION_TYPED,
LoadURLWithExtras(url, content::Referrer(), kPageTransitionExplicit,
std::string());
}
@@ -533,6 +533,11 @@ const int64_t CefFrameHostImpl::kFocusedFrameId = -2;
const int64_t CefFrameHostImpl::kUnspecifiedFrameId = -3;
const int64_t CefFrameHostImpl::kInvalidFrameId = -4;
// This equates to (TT_EXPLICIT | TT_DIRECT_LOAD_FLAG).
const ui::PageTransition CefFrameHostImpl::kPageTransitionExplicit =
static_cast<ui::PageTransition>(ui::PAGE_TRANSITION_TYPED |
ui::PAGE_TRANSITION_FROM_ADDRESS_BAR);
int64 CefFrameHostImpl::GetFrameId() const {
base::AutoLock lock_scope(state_lock_);
return is_main_frame_ ? kMainFrameId : frame_id_;

View File

@@ -138,6 +138,11 @@ class CefFrameHostImpl : public CefFrame {
static const int64_t kUnspecifiedFrameId;
static const int64_t kInvalidFrameId;
// PageTransition type for explicit navigations. This must pass the check in
// ContentBrowserClient::IsExplicitNavigation for debug URLs (HandleDebugURL)
// to work as expected.
static const ui::PageTransition kPageTransitionExplicit;
private:
int64 GetFrameId() const;
CefRefPtr<CefBrowserHostImpl> GetBrowserHostImpl() const;