Bug 1380575 - Fix aListItem is undefined when uninstalling from Androud about:addons page. draft
authorLuca Greco <lgreco@mozilla.com>
Fri, 28 Jul 2017 14:56:18 +0200
changeset 617493 758a925a8699b4718f21168991e20e190aa40e38
parent 617492 8735c6cacf758d431086faf742e7d08ea50d84f5
child 617494 7f1e2f5b55d85d2a8b848c347f80587c4eacbe24
child 617591 adecb018e758ad3033317745e2581914e7fd913c
push id71054
push userluca.greco@alcacoop.it
push dateFri, 28 Jul 2017 13:48:47 +0000
bugs1380575
milestone56.0a1
Bug 1380575 - Fix aListItem is undefined when uninstalling from Androud about:addons page. MozReview-Commit-ID: HrJ17Tu81Hm
mobile/android/chrome/content/aboutAddons.js
--- a/mobile/android/chrome/content/aboutAddons.js
+++ b/mobile/android/chrome/content/aboutAddons.js
@@ -117,17 +117,23 @@ function openLink(url) {
   let BrowserApp = gChromeWin.BrowserApp;
   BrowserApp.addTab(url, { selected: true, parentId: BrowserApp.selectedTab.id });
 }
 
 function onPopState(aEvent) {
   // Called when back/forward is used to change the state of the page
   if (aEvent.state) {
     // Show the detail page for an addon
-    Addons.showDetails(Addons._getElementForAddon(aEvent.state.id));
+    const listItem = Addons._getElementForAddon(aEvent.state.id);
+    if (listItem) {
+      Addons.showDetails(listItem);
+    } else {
+      // If the addon doesn't exist anymore, go back in the history.
+      history.back();
+    }
   } else {
     // Clear any previous detail addon
     let detailItem = document.querySelector("#addons-details > .addon-item");
     detailItem.addon = null;
 
     showAddons();
   }
 }