Bug 1107969 - don't take content screenshots when the message manager has shut down. r?mconley draft
authorMike de Boer <mdeboer@mozilla.com>
Tue, 13 Dec 2016 12:58:09 +0100
changeset 448960 ff611bb3f54e366f6f11f8f174e912457c327ee9
parent 448717 f46f85dcfbc2b3098ea758825d18be6fab33cbc6
child 539438 2567bd98f1338f868fa9defe93f2f5adde52eb98
push id38505
push usermdeboer@mozilla.com
push dateTue, 13 Dec 2016 12:01:55 +0000
reviewersmconley
bugs1107969
milestone53.0a1
Bug 1107969 - don't take content screenshots when the message manager has shut down. r?mconley MozReview-Commit-ID: 4n6EQ9tCu25
toolkit/components/thumbnails/PageThumbs.jsm
--- a/toolkit/components/thumbnails/PageThumbs.jsm
+++ b/toolkit/components/thumbnails/PageThumbs.jsm
@@ -250,17 +250,24 @@ this.PageThumbs = {
     }
     if (aBrowser.isRemoteBrowser) {
       let mm = aBrowser.messageManager;
       let resultFunc = function(aMsg) {
         mm.removeMessageListener("Browser:Thumbnail:CheckState:Response", resultFunc);
         aCallback(aMsg.data.result);
       }
       mm.addMessageListener("Browser:Thumbnail:CheckState:Response", resultFunc);
-      mm.sendAsyncMessage("Browser:Thumbnail:CheckState");
+      try {
+        mm.sendAsyncMessage("Browser:Thumbnail:CheckState");
+      } catch (ex) {
+        Cu.reportError(ex);
+        // If the message manager is not able send our message, taking a content
+        // screenshot is also not going to work: return false.
+        resultFunc({ data: { result: false } });
+      }
     } else {
       aCallback(PageThumbUtils.shouldStoreContentThumbnail(aBrowser.contentDocument,
                                                            aBrowser.docShell));
     }
   },
 
   // The background thumbnail service captures to canvas but doesn't want to
   // participate in this service's telemetry, which is why this method exists.