Bug 1277668 - NewTabSearchProvider observing unknown topic showing up on console when adding search engines and in test draft
authorUrsula Sarracini
Wed, 29 Jun 2016 10:22:55 -0400
changeset 382307 22a821151604ce3ae5d9cedf48e226448ddbd704
parent 382301 dc77b6514b806fab46ca71c91d22d520612d40e0
child 524169 f18f9ac020b7169bc22cd3fe8b015dc6f8227b20
push id21696
push userusarracini@mozilla.com
push dateWed, 29 Jun 2016 14:35:32 +0000
bugs1277668
milestone50.0a1
Bug 1277668 - NewTabSearchProvider observing unknown topic showing up on console when adding search engines and in test MozReview-Commit-ID: 5pgiGy5HGqT
browser/components/newtab/NewTabSearchProvider.jsm
--- a/browser/components/newtab/NewTabSearchProvider.jsm
+++ b/browser/components/newtab/NewTabSearchProvider.jsm
@@ -22,37 +22,28 @@ XPCOMUtils.defineLazyGetter(this, "Event
 
 function SearchProvider() {
   EventEmitter.decorate(this);
 }
 
 SearchProvider.prototype = {
 
   observe(subject, topic, data) { // jshint unused:false
-    switch (data) {
-      case "engine-current":
-        if (topic === CURRENT_ENGINE) {
-          Task.spawn(function* () {
-            try {
-              let state = yield ContentSearch.currentStateObj(true);
-              let engine = state.currentEngine;
-              this.emit(CURRENT_ENGINE, engine);
-            } catch (e) {
-              Cu.reportError(e);
-            }
-          }.bind(this));
+    // all other topics are not relevant to content searches and can be
+    // ignored by NewTabSearchProvider
+    if (data === "engine-current" && topic === CURRENT_ENGINE) {
+      Task.spawn(function* () {
+        try {
+          let state = yield ContentSearch.currentStateObj(true);
+          let engine = state.currentEngine;
+          this.emit(CURRENT_ENGINE, engine);
+        } catch (e) {
+          Cu.reportError(e);
         }
-        break;
-      case "engine-default":
-        // engine-default is always sent with engine-current and isn't
-        // relevant to content searches.
-        break;
-      default:
-        Cu.reportError(new Error("NewTabSearchProvider observing unknown topic"));
-        break;
+      }.bind(this));
     }
   },
 
   init() {
     try {
       Services.obs.addObserver(this, CURRENT_ENGINE, true);
     } catch (e) {
       Cu.reportError(e);