Put common code of OpenURLFromTab to CommonWebContentsDelegate
This commit is contained in:
parent
8f9a109fa6
commit
af62b7b5c9
4 changed files with 30 additions and 26 deletions
|
@ -195,19 +195,7 @@ content::WebContents* WebContents::OpenURLFromTab(
|
||||||
if (Emit("will-navigate", params.url))
|
if (Emit("will-navigate", params.url))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
content::NavigationController::LoadURLParams load_url_params(params.url);
|
return CommonWebContentsDelegate::OpenURLFromTab(source, params);
|
||||||
load_url_params.referrer = params.referrer;
|
|
||||||
load_url_params.transition_type = params.transition;
|
|
||||||
load_url_params.extra_headers = params.extra_headers;
|
|
||||||
load_url_params.should_replace_current_entry =
|
|
||||||
params.should_replace_current_entry;
|
|
||||||
load_url_params.is_renderer_initiated = params.is_renderer_initiated;
|
|
||||||
load_url_params.transferred_global_request_id =
|
|
||||||
params.transferred_global_request_id;
|
|
||||||
load_url_params.should_clear_history_list = true;
|
|
||||||
|
|
||||||
web_contents()->GetController().LoadURLWithParams(load_url_params);
|
|
||||||
return web_contents();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebContents::HandleKeyboardEvent(
|
void WebContents::HandleKeyboardEvent(
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include "content/public/browser/child_process_security_policy.h"
|
#include "content/public/browser/child_process_security_policy.h"
|
||||||
#include "content/public/browser/render_process_host.h"
|
#include "content/public/browser/render_process_host.h"
|
||||||
#include "content/public/browser/render_view_host.h"
|
#include "content/public/browser/render_view_host.h"
|
||||||
|
#include "content/public/common/renderer_preferences.h"
|
||||||
#include "storage/browser/fileapi/isolated_context.h"
|
#include "storage/browser/fileapi/isolated_context.h"
|
||||||
|
|
||||||
namespace atom {
|
namespace atom {
|
||||||
|
@ -101,6 +102,12 @@ void CommonWebContentsDelegate::InitWithWebContents(
|
||||||
owner_window_ = owner_window;
|
owner_window_ = owner_window;
|
||||||
web_contents->SetDelegate(this);
|
web_contents->SetDelegate(this);
|
||||||
|
|
||||||
|
// Tell renderer to handle all navigations in browser.
|
||||||
|
auto preferences = web_contents->GetMutableRendererPrefs();
|
||||||
|
preferences->browser_handles_non_local_top_level_requests = true;
|
||||||
|
preferences->browser_handles_all_top_level_requests = true;
|
||||||
|
web_contents->GetRenderViewHost()->SyncRendererPrefs();
|
||||||
|
|
||||||
// Create InspectableWebContents.
|
// Create InspectableWebContents.
|
||||||
web_contents_.reset(brightray::InspectableWebContents::Create(web_contents));
|
web_contents_.reset(brightray::InspectableWebContents::Create(web_contents));
|
||||||
web_contents_->SetDelegate(this);
|
web_contents_->SetDelegate(this);
|
||||||
|
@ -123,6 +130,24 @@ CommonWebContentsDelegate::GetDevToolsWebContents() const {
|
||||||
return web_contents_->GetDevToolsWebContents();
|
return web_contents_->GetDevToolsWebContents();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
content::WebContents* CommonWebContentsDelegate::OpenURLFromTab(
|
||||||
|
content::WebContents* source,
|
||||||
|
const content::OpenURLParams& params) {
|
||||||
|
content::NavigationController::LoadURLParams load_url_params(params.url);
|
||||||
|
load_url_params.referrer = params.referrer;
|
||||||
|
load_url_params.transition_type = params.transition;
|
||||||
|
load_url_params.extra_headers = params.extra_headers;
|
||||||
|
load_url_params.should_replace_current_entry =
|
||||||
|
params.should_replace_current_entry;
|
||||||
|
load_url_params.is_renderer_initiated = params.is_renderer_initiated;
|
||||||
|
load_url_params.transferred_global_request_id =
|
||||||
|
params.transferred_global_request_id;
|
||||||
|
load_url_params.should_clear_history_list = true;
|
||||||
|
|
||||||
|
source->GetController().LoadURLWithParams(load_url_params);
|
||||||
|
return source;
|
||||||
|
}
|
||||||
|
|
||||||
void CommonWebContentsDelegate::RequestToLockMouse(
|
void CommonWebContentsDelegate::RequestToLockMouse(
|
||||||
content::WebContents* web_contents,
|
content::WebContents* web_contents,
|
||||||
bool user_gesture,
|
bool user_gesture,
|
||||||
|
|
|
@ -48,6 +48,9 @@ class CommonWebContentsDelegate
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// content::WebContentsDelegate:
|
// content::WebContentsDelegate:
|
||||||
|
content::WebContents* OpenURLFromTab(
|
||||||
|
content::WebContents* source,
|
||||||
|
const content::OpenURLParams& params) override;
|
||||||
void RequestToLockMouse(content::WebContents* web_contents,
|
void RequestToLockMouse(content::WebContents* web_contents,
|
||||||
bool user_gesture,
|
bool user_gesture,
|
||||||
bool last_unlocked_by_target) override;
|
bool last_unlocked_by_target) override;
|
||||||
|
|
|
@ -542,19 +542,7 @@ content::WebContents* NativeWindow::OpenURLFromTab(
|
||||||
if (prevent_default)
|
if (prevent_default)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
content::NavigationController::LoadURLParams load_url_params(params.url);
|
return CommonWebContentsDelegate::OpenURLFromTab(source, params);
|
||||||
load_url_params.referrer = params.referrer;
|
|
||||||
load_url_params.transition_type = params.transition;
|
|
||||||
load_url_params.extra_headers = params.extra_headers;
|
|
||||||
load_url_params.should_replace_current_entry =
|
|
||||||
params.should_replace_current_entry;
|
|
||||||
load_url_params.is_renderer_initiated = params.is_renderer_initiated;
|
|
||||||
load_url_params.transferred_global_request_id =
|
|
||||||
params.transferred_global_request_id;
|
|
||||||
load_url_params.should_clear_history_list = true;
|
|
||||||
|
|
||||||
source->GetController().LoadURLWithParams(load_url_params);
|
|
||||||
return source;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void NativeWindow::RenderViewCreated(
|
void NativeWindow::RenderViewCreated(
|
||||||
|
|
Loading…
Reference in a new issue