parsepatch 0.3.1

Parse git patch.
Documentation

# HG changeset patch
# User Tooru Fujisawa <arai_a@mac.com>
# Date 1511620436 -32400
# Node ID c58e9e70f971a1a17384984dce52aec6de7ac3bb
# Parent  0a9114d2b98858fc53e087428a467b6f568cc57b
Bug 1416153 - followup: Fix browser_report_site_issue.js to wait for events in right order. r=me

diff --git a/browser/extensions/webcompat-reporter/test/browser/browser_report_site_issue.js b/browser/extensions/webcompat-reporter/test/browser/browser_report_site_issue.js
--- a/browser/extensions/webcompat-reporter/test/browser/browser_report_site_issue.js
+++ b/browser/extensions/webcompat-reporter/test/browser/browser_report_site_issue.js
@@ -6,22 +6,29 @@ add_task(async function test_screenshot(
   // ./head.js sets the value for PREF_WC_REPORTER_ENDPOINT
   await SpecialPowers.pushPrefEnv({set: [[PREF_WC_REPORTER_ENDPOINT, NEW_ISSUE_PAGE]]});
 
   let tab1 = await BrowserTestUtils.openNewForegroundTab(gBrowser, TEST_PAGE);
 
   let webcompatButton = document.getElementById(WC_PAGE_ACTION_ID);
   ok(webcompatButton, "Report Site Issue button exists.");
 
-  let newTabPromise = BrowserTestUtils.waitForNewTab(gBrowser);
+  let screenshotPromise;
+  let newTabPromise = new Promise(resolve => {
+    gBrowser.tabContainer.addEventListener("TabOpen", event => {
+      let tab = event.target;
+      screenshotPromise = BrowserTestUtils.waitForContentEvent(
+        tab.linkedBrowser, "ScreenshotReceived", false, null, true);
+      resolve(tab);
+    }, { once: true });
+  });
   openPageActions();
   webcompatButton.click();
   let tab2 = await newTabPromise;
-
-  await BrowserTestUtils.waitForContentEvent(tab2.linkedBrowser, "ScreenshotReceived", false, null, true);
+  await screenshotPromise;
 
   await ContentTask.spawn(tab2.linkedBrowser, {TEST_PAGE}, function(args) {
     let doc = content.document;
     let urlParam = doc.getElementById("url").innerText;
     let preview = doc.getElementById("screenshot-preview");
     is(urlParam, args.TEST_PAGE, "Reported page is correctly added to the url param");
 
     is(preview.innerText, "Pass", "A Blob object was successfully transferred to the test page.");