Commit 516aaf99 authored by Pavel Feldman's avatar Pavel Feldman Committed by Commit Bot

DevTools: always return from Page.navigate.

Change-Id: I856dbeb0da04d6242dc5eb02722aed95a56b5d03
Reviewed-on: https://chromium-review.googlesource.com/809948Reviewed-by: default avatarDmitry Gozman <dgozman@chromium.org>
Commit-Queue: Pavel Feldman <pfeldman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522028}
parent f3bc4512
......@@ -355,14 +355,18 @@ void PageHandler::Navigate(const std::string& url,
Referrer(GURL(referrer.fromMaybe("")), blink::kWebReferrerPolicyDefault),
type, std::string());
if (IsBrowserSideNavigationEnabled()) {
std::string frame_id =
web_contents->GetMainFrame()->GetDevToolsFrameToken().ToString();
if (navigate_callback_) {
std::string frame_id =
web_contents->GetMainFrame()->GetDevToolsFrameToken().ToString();
std::string error_string = net::ErrorToString(net::ERR_ABORTED);
navigate_callback_->sendSuccess(frame_id, Maybe<std::string>(),
Maybe<std::string>(error_string));
}
navigate_callback_ = std::move(callback);
if (web_contents->GetMainFrame()->frame_tree_node()->navigation_request())
navigate_callback_ = std::move(callback);
else
callback->sendSuccess(frame_id, Maybe<std::string>(),
Maybe<std::string>());
return;
}
callback->fallThrough();
......
......@@ -25,7 +25,7 @@ var TestRunner = class {
this._log.call(null, item);
}
_logObject(object, title, stabilizeNames = ['id', 'nodeId', 'objectId', 'scriptId', 'timestamp', 'backendNodeId', 'parentId', 'frameId', 'baseURL', 'documentURL']) {
_logObject(object, title, stabilizeNames = ['id', 'nodeId', 'objectId', 'scriptId', 'timestamp', 'backendNodeId', 'parentId', 'frameId', 'loaderId', 'baseURL', 'documentURL']) {
var lines = [];
function dumpValue(value, prefix, prefixWithName) {
......
Tests Page.navigate returns for fragment navigation.
{
id : <number>
result : {
frameId : <string>
loaderId : <string>
}
}
{
id : <number>
result : {
frameId : <string>
loaderId : <string>
}
}
(async function(testRunner) {
var {page, session, dp} = await testRunner.startBlank('Tests Page.navigate returns for fragment navigation.');
await dp.Page.enable();
let result = await dp.Page.navigate({url: testRunner.url('../resources/blank.html')});
testRunner.log(result);
result = await dp.Page.navigate({url: testRunner.url('../resources/blank.html#fragment')});
testRunner.log(result);
testRunner.completeTest();
})
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment