From e44d45ee1be1b75f2dc803900b79390ba62b40e2 Mon Sep 17 00:00:00 2001 From: "Brian R. Bondy" Date: Wed, 22 Jun 2016 23:13:05 -0400 Subject: [PATCH] Don't save site info wrong sometimes Fix #1646. Fix #2114 Auditors: @aekeus --- js/components/frame.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/js/components/frame.js b/js/components/frame.js index 75a4420459f..5454caf6637 100644 --- a/js/components/frame.js +++ b/js/components/frame.js @@ -548,7 +548,7 @@ class Frame extends ImmutableComponent { this.webview.executeJavaScript('Navigator.prototype.__defineGetter__("doNotTrack", () => {return 1});') } } - const loadEnd = () => { + const loadEnd = (savePage) => { windowActions.onWebviewLoadEnd( this.props.frame, this.webview.getURL()) @@ -556,7 +556,7 @@ class Frame extends ImmutableComponent { const parsedUrl = urlParse(this.props.frame.get('location')) const protocol = parsedUrl.protocol const isError = this.props.frame.getIn(['aboutDetails', 'errorCode']) - if (!this.props.frame.get('isPrivate') && (protocol === 'http:' || protocol === 'https:') && !isError) { + if (!this.props.frame.get('isPrivate') && this.props.frame.get('provisionalLocation') === this.props.frame.get('location') && (protocol === 'http:' || protocol === 'https:') && !isError && savePage) { // Register the site for recent history for navigation bar appActions.addSite(siteUtil.getDetailFromFrame(this.props.frame)) } @@ -622,22 +622,22 @@ class Frame extends ImmutableComponent { }) this.webview.addEventListener('did-fail-provisional-load', (e) => { if (e.isMainFrame) { - loadEnd() + loadEnd(false) loadFail(e) } }) this.webview.addEventListener('did-fail-load', (e) => { if (e.isMainFrame) { - loadEnd() + loadEnd(false) loadFail(e) } }) this.webview.addEventListener('did-finish-load', () => { - loadEnd() + loadEnd(true) }) this.webview.addEventListener('did-navigate-in-page', (e) => { windowActions.setNavigated(e.url, this.props.frame.get('key'), true) - loadEnd() + loadEnd(true) }) this.webview.addEventListener('enter-html-full-screen', () => { windowActions.setFullScreen(this.props.frame, true, true)