Bug 1446913 beta-only workaround microtask on content clicking, r?kmag draft
authorShane Caraveo <scaraveo@mozilla.com>
Thu, 29 Mar 2018 12:05:36 -0500
changeset 774838 64cc86d7fd87691053076f5dc4dffadeaf299d64
parent 774837 1c3281bb5a1f15440d7ab6c5df97728044194e5b
push id104524
push usermixedpuppy@gmail.com
push dateThu, 29 Mar 2018 17:06:27 +0000
reviewerskmag
bugs1446913
milestone60.0
Bug 1446913 beta-only workaround microtask on content clicking, r?kmag Fixes TabOpen/TabMove event handling during content clicks. MozReview-Commit-ID: EZMIJyjee0D
browser/modules/ContentClick.jsm
--- a/browser/modules/ContentClick.jsm
+++ b/browser/modules/ContentClick.jsm
@@ -15,17 +15,21 @@ ChromeUtils.defineModuleGetter(this, "Pl
 ChromeUtils.defineModuleGetter(this, "PrivateBrowsingUtils",
                                "resource://gre/modules/PrivateBrowsingUtils.jsm");
 
 var ContentClick = {
   // Listeners are added in nsBrowserGlue.js
   receiveMessage(message) {
     switch (message.name) {
       case "Content:Click":
-        this.contentAreaClick(message.json, message.target);
+        // Bug 1446913 - Ensure this happens in the next tick so TabOpen/TabMove
+        // events are processed correctly in webextensions.
+        Promise.resolve().then(() => {
+          this.contentAreaClick(message.json, message.target);
+        });
         break;
     }
   },
 
   /**
    * Handles clicks in the content area.
    *
    * @param json {Object} JSON object that looks like an Event