From 5e976be43bcf459c2ce8f5283609a464cf6da865 Mon Sep 17 00:00:00 2001 From: deepak1556 Date: Wed, 5 Apr 2017 16:57:33 +0530 Subject: [PATCH] remove page-title-updated workaround for #3380 --- atom/browser/api/atom_api_web_contents.cc | 6 ++---- lib/browser/api/browser-window.js | 6 +----- lib/browser/api/web-contents.js | 7 ------- spec/api-browser-window-spec.js | 5 +++++ 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/atom/browser/api/atom_api_web_contents.cc b/atom/browser/api/atom_api_web_contents.cc index 70af26290eca..4dd3d51fe0a2 100644 --- a/atom/browser/api/atom_api_web_contents.cc +++ b/atom/browser/api/atom_api_web_contents.cc @@ -829,10 +829,8 @@ void WebContents::DidFinishNavigation( void WebContents::TitleWasSet(content::NavigationEntry* entry, bool explicit_set) { - if (entry) - Emit("-page-title-updated", entry->GetTitle(), explicit_set); - else - Emit("-page-title-updated", "", explicit_set); + auto title = entry ? entry->GetTitle() : base::string16(); + Emit("page-title-updated", title, explicit_set); } void WebContents::DidUpdateFaviconURL( diff --git a/lib/browser/api/browser-window.js b/lib/browser/api/browser-window.js index 4b3f70139f0d..49a134f39415 100644 --- a/lib/browser/api/browser-window.js +++ b/lib/browser/api/browser-window.js @@ -76,13 +76,9 @@ BrowserWindow.prototype._init = function () { // Change window title to page title. this.webContents.on('page-title-updated', (event, title) => { - // The page-title-updated event is not emitted immediately (see #3645), so - // when the callback is called the BrowserWindow might have been closed. - if (this.isDestroyed()) return - // Route the event to BrowserWindow. this.emit('page-title-updated', event, title) - if (!event.defaultPrevented) this.setTitle(title) + if (!this.isDestroyed() && !event.defaultPrevented) this.setTitle(title) }) // Sometimes the webContents doesn't get focus when window is shown, so we diff --git a/lib/browser/api/web-contents.js b/lib/browser/api/web-contents.js index 6af96e175715..c49c1be8ba64 100644 --- a/lib/browser/api/web-contents.js +++ b/lib/browser/api/web-contents.js @@ -268,13 +268,6 @@ WebContents.prototype._init = function () { this.reload() }) - // Delays the page-title-updated event to next tick. - this.on('-page-title-updated', function (...args) { - setImmediate(() => { - this.emit('page-title-updated', ...args) - }) - }) - app.emit('web-contents-created', {}, this) } diff --git a/spec/api-browser-window-spec.js b/spec/api-browser-window-spec.js index 86bf9bdcc880..34db4a6ae79a 100644 --- a/spec/api-browser-window-spec.js +++ b/spec/api-browser-window-spec.js @@ -104,6 +104,10 @@ describe('BrowserWindow module', function () { response.statusCode = '200' response.end('hello') break + case '/title': + response.statusCode = '200' + response.end('Hello') + break default: done('unsupported endpoint') } @@ -148,6 +152,7 @@ describe('BrowserWindow module', function () { { name: 'did-get-redirect-request', url: `${server.url}/301` }, { name: 'did-get-response-details', url: `${server.url}/200` }, { name: 'dom-ready', url: `${server.url}/200` }, + { name: 'page-title-updated', url: `${server.url}/title` }, { name: 'did-stop-loading', url: `${server.url}/200` }, { name: 'did-finish-load', url: `${server.url}/200` }, { name: 'did-frame-finish-load', url: `${server.url}/200` },