Bug 1382291 - Intermittent browser/components/places/tests/browser/browser_markPageAsFollowedLink.js. r=adw draft
authorMarco Bonardo <mbonardo@mozilla.com>
Wed, 26 Jul 2017 13:52:24 +0200
changeset 615846 bcad7bf7011f510f574c49b168bb4b4ccf5cc8f2
parent 615841 75b2ad7b1bdaa57ee038b2d98ec08709fdb51596
child 639297 de8a1ea17ecc9ea7ad025c4441e50f19c2c9919b
push id70494
push usermak77@bonardo.net
push dateWed, 26 Jul 2017 11:59:38 +0000
reviewersadw
bugs1382291
milestone56.0a1
Bug 1382291 - Intermittent browser/components/places/tests/browser/browser_markPageAsFollowedLink.js. r=adw MozReview-Commit-ID: KBukQFU9WPn
browser/components/places/tests/browser/browser_markPageAsFollowedLink.js
toolkit/components/places/History.jsm
--- a/browser/components/places/tests/browser/browser_markPageAsFollowedLink.js
+++ b/browser/components/places/tests/browser/browser_markPageAsFollowedLink.js
@@ -45,23 +45,19 @@ add_task(async function test() {
 
   // Wait for the right frame visit to be registered.
   info("Waiting right frame visit");
   await deferredRightFrameVisit.promise;
 
   await BrowserTestUtils.removeTab(tab);
 });
 
-async function getTransitionForUrl(url) {
-  // Ensure all the transactions completed.
-  await PlacesTestUtils.promiseAsyncUpdates();
-  let db = await PlacesUtils.promiseDBConnection();
-  let rows = await db.execute(`
-    SELECT visit_type
-    FROM moz_historyvisits
-    JOIN moz_places h ON place_id = h.id
-    WHERE url_hash = hash(:url) AND url = :url`,
-    { url });
-  if (rows.length) {
-    return rows[0].getResultByName("visit_type");
-  }
-  return null;
+function getTransitionForUrl(url) {
+  return PlacesUtils.withConnectionWrapper("browser_markPageAsFollowedLink", async db => {
+    let rows = await db.execute(`
+      SELECT visit_type
+      FROM moz_historyvisits
+      JOIN moz_places h ON place_id = h.id
+      WHERE url_hash = hash(:url) AND url = :url
+      `, { url });
+    return rows.length ? rows[0].getResultByName("visit_type") : null;
+  });
 }
--- a/toolkit/components/places/History.jsm
+++ b/toolkit/components/places/History.jsm
@@ -541,20 +541,20 @@ this.History = Object.freeze({
     }
 
     guidOrURI = PlacesUtils.normalizeToURLOrGUID(guidOrURI);
     let isGuid = typeof guidOrURI == "string";
     let sqlFragment = isGuid ? "guid = :val"
                              : "url_hash = hash(:val) AND url = :val "
 
     return PlacesUtils.promiseDBConnection().then(async db => {
-      let rows = await db.execute(`SELECT 1 FROM moz_places
-                                    WHERE ${sqlFragment}
-                                      AND last_visit_date NOTNULL`,
-                                  { val: isGuid ? guidOrURI : guidOrURI.href });
+      let rows = await db.executeCached(`SELECT 1 FROM moz_places
+                                         WHERE ${sqlFragment}
+                                         AND last_visit_date NOTNULL`,
+                                        { val: isGuid ? guidOrURI : guidOrURI.href });
       return !!rows.length;
     });
   },
 
   /**
    * Clear all history.
    *
    * @return (Promise)