Bug 1317317 - Await for popup menu to exist for container long press button r?Gijs draft
authorJonathan Kingston <jkt@mozilla.com>
Mon, 14 Nov 2016 19:52:00 +0000
changeset 440016 665703fd4709373754391d535cb2f0ee82352a68
parent 440015 f99c3a999e81a017ca3f6026b1e75fe4ec31a50a
child 537296 63444ac4c8400842d0f582e248130f8add0208f4
push id36143
push userjkingston@mozilla.com
push dateWed, 16 Nov 2016 22:20:38 +0000
reviewersGijs
bugs1317317
milestone52.0a2
Bug 1317317 - Await for popup menu to exist for container long press button r?Gijs MozReview-Commit-ID: 2QW0meqYbEt
browser/base/content/tabbrowser.xml
browser/components/contextualidentity/test/browser/browser.ini
browser/components/contextualidentity/test/browser/browser_newtabButton.js
--- a/browser/base/content/tabbrowser.xml
+++ b/browser/base/content/tabbrowser.xml
@@ -5368,16 +5368,18 @@
                   parent.setAttribute("type", "menu");
                 }
               } else {
                 for (let parent of [newTab, newTab2]) {
                   if (!parent)
                     continue;
                   gClickAndHoldListenersOnElement.remove(parent);
                   parent.removeAttribute("type");
+                  if (!parent.firstChild)
+                    continue;
                   parent.firstChild.remove();
                 }
               }
 
               break;
           }
         ]]></body>
       </method>
--- a/browser/components/contextualidentity/test/browser/browser.ini
+++ b/browser/components/contextualidentity/test/browser/browser.ini
@@ -10,17 +10,16 @@ support-files =
 [browser_aboutURLs.js]
 [browser_eme.js]
 [browser_favicon.js]
 [browser_forgetaboutsite.js]
 [browser_forgetAPI_cookie_getCookiesWithOriginAttributes.js]
 [browser_forgetAPI_EME_forgetThisSite.js]
 [browser_forgetAPI_quota_clearStoragesForPrincipal.js]
 [browser_newtabButton.js]
-skip-if = true # bug 1317317
 [browser_usercontext.js]
 [browser_usercontextid_tabdrop.js]
 skip-if = os == "mac" || os == "win" # Intermittent failure - bug 1268276
 [browser_windowName.js]
 tags = openwindow
 [browser_windowOpen.js]
 tags = openwindow
 [browser_serviceworkers.js]
--- a/browser/components/contextualidentity/test/browser/browser_newtabButton.js
+++ b/browser/components/contextualidentity/test/browser/browser_newtabButton.js
@@ -7,16 +7,17 @@ add_task(function* test() {
   yield SpecialPowers.pushPrefEnv({"set": [
       ["privacy.userContext.enabled", true]
   ]});
 
   let newTab = document.getElementById('tabbrowser-tabs');
   let newTabButton = document.getAnonymousElementByAttribute(newTab, "anonid", "tabs-newtab-button");
   ok(newTabButton, "New tab button exists");
   ok(!newTabButton.hidden, "New tab button is visible");
+  yield BrowserTestUtils.waitForCondition(() => !!document.getAnonymousElementByAttribute(newTab, "anonid", "newtab-popup"), "Wait for popup to exist");
   let popup = document.getAnonymousElementByAttribute(newTab, "anonid", "newtab-popup");
 
   for (let i = 1; i <= 4; i++) {
     let popupShownPromise = BrowserTestUtils.waitForEvent(popup, "popupshown");
     EventUtils.synthesizeMouseAtCenter(newTabButton, {type: "mousedown"});
 
     yield popupShownPromise;
     let contextIdItem = popup.querySelector(`menuitem[data-usercontextid="${i}"]`);