Add `isMainFrame` as last argument to WebContents `did-fail-load` event.
Fixes #5013.
This commit is contained in:
Родитель
fa27120429
Коммит
f12f87d6f0
|
@ -541,7 +541,12 @@ void WebContents::DidFailProvisionalLoad(
|
|||
int error_code,
|
||||
const base::string16& error_description,
|
||||
bool was_ignored_by_handler) {
|
||||
Emit("did-fail-provisional-load", error_code, error_description, url);
|
||||
bool is_main_frame = !render_frame_host->GetParent();
|
||||
Emit("did-fail-provisional-load",
|
||||
error_code,
|
||||
error_description,
|
||||
url,
|
||||
is_main_frame);
|
||||
}
|
||||
|
||||
void WebContents::DidFailLoad(content::RenderFrameHost* render_frame_host,
|
||||
|
@ -549,7 +554,12 @@ void WebContents::DidFailLoad(content::RenderFrameHost* render_frame_host,
|
|||
int error_code,
|
||||
const base::string16& error_description,
|
||||
bool was_ignored_by_handler) {
|
||||
Emit("did-fail-load", error_code, error_description, validated_url);
|
||||
bool is_main_frame = !render_frame_host->GetParent();
|
||||
Emit("did-fail-load",
|
||||
error_code,
|
||||
error_description,
|
||||
validated_url,
|
||||
is_main_frame);
|
||||
}
|
||||
|
||||
void WebContents::DidStartLoading() {
|
||||
|
@ -705,7 +715,8 @@ void WebContents::LoadURL(const GURL& url, const mate::Dictionary& options) {
|
|||
Emit("did-fail-load",
|
||||
static_cast<int>(net::ERR_INVALID_URL),
|
||||
net::ErrorToShortString(net::ERR_INVALID_URL),
|
||||
url.possibly_invalid_spec());
|
||||
url.possibly_invalid_spec(),
|
||||
true);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ var requestId = 0
|
|||
var WEB_VIEW_EVENTS = {
|
||||
'load-commit': ['url', 'isMainFrame'],
|
||||
'did-finish-load': [],
|
||||
'did-fail-load': ['errorCode', 'errorDescription', 'validatedURL'],
|
||||
'did-fail-load': ['errorCode', 'errorDescription', 'validatedURL', 'isMainFrame'],
|
||||
'did-frame-finish-load': ['isMainFrame'],
|
||||
'did-start-loading': [],
|
||||
'did-stop-loading': [],
|
||||
|
|
|
@ -102,21 +102,31 @@ describe('browser-window module', function () {
|
|||
})
|
||||
|
||||
it('should emit did-fail-load event for files that do not exist', function (done) {
|
||||
w.webContents.on('did-fail-load', function (event, code) {
|
||||
w.webContents.on('did-fail-load', function (event, code, desc, url, isMainFrame) {
|
||||
assert.equal(code, -6)
|
||||
assert.equal(isMainFrame, true)
|
||||
done()
|
||||
})
|
||||
w.loadURL('file://a.txt')
|
||||
})
|
||||
|
||||
it('should emit did-fail-load event for invalid URL', function (done) {
|
||||
w.webContents.on('did-fail-load', function (event, code, desc) {
|
||||
w.webContents.on('did-fail-load', function (event, code, desc, url, isMainFrame) {
|
||||
assert.equal(desc, 'ERR_INVALID_URL')
|
||||
assert.equal(code, -300)
|
||||
assert.equal(isMainFrame, true)
|
||||
done()
|
||||
})
|
||||
w.loadURL('http://example:port')
|
||||
})
|
||||
|
||||
it('should set `mainFrame = false` on did-fail-load events in iframes', function (done) {
|
||||
w.webContents.on('did-fail-load', function (event, code, desc, url, isMainFrame) {
|
||||
assert.equal(isMainFrame, false)
|
||||
done()
|
||||
})
|
||||
w.loadURL('file://' + path.join(fixtures, 'api', 'did-fail-load-iframe.html'))
|
||||
})
|
||||
})
|
||||
|
||||
describe('BrowserWindow.show()', function () {
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
<html>
|
||||
<body>
|
||||
<iframe src="file://a.txt"></iframe>
|
||||
</body>
|
||||
</html>
|
Загрузка…
Ссылка в новой задаче