From b6ad7a47ed94ee15930114d5dbdc73c840fee05b Mon Sep 17 00:00:00 2001 From: Daisuke Akatsuka Date: Mon, 15 Feb 2021 08:04:16 +0000 Subject: [PATCH] Bug 1678618: Avoid firing extra events in NewTabUtils. r=mak Depends on D101118 Differential Revision: https://phabricator.services.mozilla.com/D101119 --- toolkit/modules/NewTabUtils.jsm | 54 ++++++--------------------------- 1 file changed, 10 insertions(+), 44 deletions(-) diff --git a/toolkit/modules/NewTabUtils.jsm b/toolkit/modules/NewTabUtils.jsm index 280b4d7198d6..9f5e86e1a796 100644 --- a/toolkit/modules/NewTabUtils.jsm +++ b/toolkit/modules/NewTabUtils.jsm @@ -599,13 +599,7 @@ var PlacesProvider = { this.handlePlacesEvents.bind(this) ); PlacesObservers.addListener( - [ - "page-visited", - "page-title-changed", - "history-cleared", - "pages-rank-changed", - "page-removed", - ], + ["page-visited", "page-title-changed", "pages-rank-changed"], this._placesObserver ); }, @@ -707,55 +701,28 @@ var PlacesProvider = { switch (event.type) { case "page-visited": { if (event.visitCount == 1 && event.lastKnownTitle) { - this.onTitleChanged( - event.url, - event.lastKnownTitle, - event.pageGuid - ); + this._callObservers("onLinkChanged", { + url: event.url, + title: event.lastKnownTitle, + }); } break; } case "page-title-changed": { - this.onTitleChanged(event.url, event.title, event.pageGuid); - break; - } - case "history-cleared": { - this.onClearHistory(); + this._callObservers("onLinkChanged", { + url: event.url, + title: event.title, + }); break; } case "pages-rank-changed": { - this.onManyFrecenciesChanged(); - break; - } - case "page-removed": { - if (event.isRemovedFromStore) { - this.onDeleteURI(event.url, event.pageGuid, event.reason); - } + this._callObservers("onManyLinksChanged"); break; } } } }, - onDeleteURI: function PlacesProvider_onDeleteURI(aURI, aGUID, aReason) { - // let observers remove sensetive data associated with deleted visit - this._callObservers("onDeleteURI", { - url: aURI.spec, - }); - }, - - onClearHistory() { - this._callObservers("onClearHistory"); - }, - - onManyFrecenciesChanged() { - this._callObservers("onManyLinksChanged"); - }, - - onTitleChanged(url, title, guid) { - this._callObservers("onLinkChanged", { url, title }); - }, - _callObservers: function PlacesProvider__callObservers(aMethodName, aArg) { for (let obs of this._observers) { if (obs[aMethodName]) { @@ -2378,7 +2345,6 @@ var NewTabUtils = { allPages: AllPages, pinnedLinks: PinnedLinks, blockedLinks: BlockedLinks, - placesProvider: PlacesProvider, activityStreamLinks: ActivityStreamLinks, activityStreamProvider: ActivityStreamProvider, };