[X2Go-Commits] [pale-moon] 134/294: Issue #756 - Remove Contextual Identity from UnifiedComplete

git-admin at x2go.org git-admin at x2go.org
Sat Apr 27 08:57:59 CEST 2019


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch upstream/28.5.0
in repository pale-moon.

commit 2d20c38f8395871facc2b23058770156c30611f5
Author: Gaming4JC <g4jc at bulletmail.org>
Date:   Mon Mar 18 18:38:30 2019 -0400

    Issue #756 - Remove Contextual Identity from UnifiedComplete
    
    reverts m-c 1287866
---
 toolkit/components/places/UnifiedComplete.js       | 80 +++++++---------------
 .../components/places/mozIPlacesAutoComplete.idl   |  8 +--
 toolkit/components/places/nsPlacesTables.h         |  4 +-
 toolkit/components/places/nsPlacesTriggers.h       |  3 +-
 .../tests/unifiedcomplete/head_autocomplete.js     |  8 +--
 .../tests/unifiedcomplete/test_tab_matches.js      | 53 ++------------
 6 files changed, 40 insertions(+), 116 deletions(-)

diff --git a/toolkit/components/places/UnifiedComplete.js b/toolkit/components/places/UnifiedComplete.js
index 2efae9c..ec5f911 100644
--- a/toolkit/components/places/UnifiedComplete.js
+++ b/toolkit/components/places/UnifiedComplete.js
@@ -124,9 +124,7 @@ function defaultQuery(conditions = "") {
             h.visit_count, h.typed, h.id, t.open_count, h.frecency
      FROM moz_places h
      LEFT JOIN moz_favicons f ON f.id = h.favicon_id
-     LEFT JOIN moz_openpages_temp t
-            ON t.url = h.url
-           AND t.userContextId = :userContextId
+     LEFT JOIN moz_openpages_temp t ON t.url = h.url
      WHERE h.frecency <> 0
        AND AUTOCOMPLETE_MATCH(:searchString, h.url,
                               CASE WHEN bookmarked THEN
@@ -150,7 +148,6 @@ const SQL_SWITCHTAB_QUERY =
    FROM moz_openpages_temp t
    LEFT JOIN moz_places h ON h.url_hash = hash(t.url) AND h.url = t.url
    WHERE h.id IS NULL
-     AND t.userContextId = :userContextId
      AND AUTOCOMPLETE_MATCH(:searchString, t.url, t.url, NULL,
                             NULL, NULL, NULL, t.open_count,
                             :matchBehavior, :searchBehavior)
@@ -170,9 +167,7 @@ const SQL_ADAPTIVE_QUERY =
    ) AS i
    JOIN moz_places h ON h.id = i.place_id
    LEFT JOIN moz_favicons f ON f.id = h.favicon_id
-   LEFT JOIN moz_openpages_temp t
-          ON t.url = h.url
-         AND t.userContextId = :userContextId
+   LEFT JOIN moz_openpages_temp t ON t.url = h.url
    WHERE AUTOCOMPLETE_MATCH(NULL, h.url,
                             IFNULL(btitle, h.title), tags,
                             h.visit_count, h.typed, bookmarked,
@@ -301,17 +296,15 @@ XPCOMUtils.defineLazyServiceGetter(this, "textURIService",
 XPCOMUtils.defineLazyGetter(this, "SwitchToTabStorage", () => Object.seal({
   _conn: null,
   // Temporary queue used while the database connection is not available.
-  _queue: new Map(),
+  _queue: new Set(),
   initDatabase: Task.async(function* (conn) {
     // To reduce IO use an in-memory table for switch-to-tab tracking.
     // Note: this should be kept up-to-date with the definition in
     //       nsPlacesTables.h.
     yield conn.execute(
       `CREATE TEMP TABLE moz_openpages_temp (
-         url TEXT,
-         userContextId INTEGER,
-         open_count INTEGER,
-         PRIMARY KEY (url, userContextId)
+         url TEXT PRIMARY KEY,
+         open_count INTEGER
        )`);
 
     // Note: this should be kept up-to-date with the definition in
@@ -322,64 +315,44 @@ XPCOMUtils.defineLazyGetter(this, "SwitchToTabStorage", () => Object.seal({
        WHEN NEW.open_count = 0
        BEGIN
          DELETE FROM moz_openpages_temp
-         WHERE url = NEW.url
-           AND userContextId = NEW.userContextId;
+         WHERE url = NEW.url;
        END`);
 
     this._conn = conn;
 
     // Populate the table with the current cache contents...
-    for (let [userContextId, uris] of this._queue) {
-      for (let uri of uris) {
-        this.add(uri, userContextId);
-      }
-    }
+    this._queue.forEach(this.add, this);
 
     // ...then clear it to avoid double additions.
     this._queue.clear();
   }),
 
-  add(uri, userContextId) {
+  add: function (uri) {
     if (!this._conn) {
-      if (!this._queue.has(userContextId)) {
-        this._queue.set(userContextId, new Set());
-      }
-      this._queue.get(userContextId).add(uri);
+      this._queue.add(uri);
       return;
     }
     this._conn.executeCached(
-      `INSERT OR REPLACE INTO moz_openpages_temp (url, userContextId, open_count)
-         VALUES ( :url,
-                  :userContextId,
-                  IFNULL( ( SELECT open_count + 1
-                            FROM moz_openpages_temp
-                            WHERE url = :url
-                            AND userContextId = :userContextId ),
-                          1
-                        )
+      `INSERT OR REPLACE INTO moz_openpages_temp (url, open_count)
+         VALUES ( :url, IFNULL( (SELECT open_count + 1
+                                  FROM moz_openpages_temp
+                                  WHERE url = :url),
+                                  1
+                              )
                 )`
-    , { url: uri.spec, userContextId });
+    , { url: uri.spec });
   },
 
-  delete(uri, userContextId) {
+  delete: function (uri) {
     if (!this._conn) {
-      // This should not happen.
-      if (!this._queue.has(userContextId)) {
-        throw new Error("Unknown userContextId!");
-      }
-
-      this._queue.get(userContextId).delete(uri);
-      if (this._queue.get(userContextId).size == 0) {
-        this._queue.delete(userContextId);
-      }
+      this._queue.delete(uri);
       return;
     }
     this._conn.executeCached(
       `UPDATE moz_openpages_temp
        SET open_count = open_count - 1
-       WHERE url = :url
-       AND userContextId = :userContextId`
-    , { url: uri.spec, userContextId });
+       WHERE url = :url`
+    , { url: uri.spec });
   },
 
   shutdown: function () {
@@ -1781,7 +1754,6 @@ Search.prototype = {
         // We only want to search the tokens that we are left with - not the
         // original search string.
         searchString: this._searchTokens.join(" "),
-        userContextId: this._userContextId,
         // Limit the query to the the maximum number of desired results.
         // This way we can avoid doing more work than needed.
         maxResults: Prefs.maxRichResults
@@ -1805,7 +1777,6 @@ Search.prototype = {
         // We only want to search the tokens that we are left with - not the
         // original search string.
         searchString: this._searchTokens.join(" "),
-        userContextId: this._userContextId,
         maxResults: Prefs.maxRichResults
       }
     ];
@@ -1825,8 +1796,7 @@ Search.prototype = {
         search_string: this._searchString,
         query_type: QUERYTYPE_FILTERED,
         matchBehavior: this._matchBehavior,
-        searchBehavior: this._behavior,
-        userContextId: this._userContextId,
+        searchBehavior: this._behavior
       }
     ];
   },
@@ -2010,12 +1980,12 @@ UnifiedComplete.prototype = {
 
   // mozIPlacesAutoComplete
 
-  registerOpenPage(uri, userContextId) {
-    SwitchToTabStorage.add(uri, userContextId);
+  registerOpenPage: function PAC_registerOpenPage(uri) {
+    SwitchToTabStorage.add(uri);
   },
 
-  unregisterOpenPage(uri, userContextId) {
-    SwitchToTabStorage.delete(uri, userContextId);
+  unregisterOpenPage: function PAC_unregisterOpenPage(uri) {
+    SwitchToTabStorage.delete(uri);
   },
 
   // nsIAutoCompleteSearch
diff --git a/toolkit/components/places/mozIPlacesAutoComplete.idl b/toolkit/components/places/mozIPlacesAutoComplete.idl
index 7f3247f..6ff82e6 100644
--- a/toolkit/components/places/mozIPlacesAutoComplete.idl
+++ b/toolkit/components/places/mozIPlacesAutoComplete.idl
@@ -116,10 +116,8 @@ interface mozIPlacesAutoComplete : nsISupports
    *
    * @param aURI
    *        The URI to register as an open page.
-   * @param aUserContextId
-   *        The Container Id of the tab.
    */
-  void registerOpenPage(in nsIURI aURI, in uint32_t aUserContextId);
+  void registerOpenPage(in nsIURI aURI);
 
   /**
    * Mark a page as no longer being open (either by closing the window or tab,
@@ -131,8 +129,6 @@ interface mozIPlacesAutoComplete : nsISupports
    *
    * @param aURI
    *        The URI to unregister as an open page.
-   * @param aUserContextId
-   *        The Container Id of the tab.
    */
-  void unregisterOpenPage(in nsIURI aURI, in uint32_t aUserContextId);
+  void unregisterOpenPage(in nsIURI aURI);
 };
diff --git a/toolkit/components/places/nsPlacesTables.h b/toolkit/components/places/nsPlacesTables.h
index aca9273..0b6e414 100644
--- a/toolkit/components/places/nsPlacesTables.h
+++ b/toolkit/components/places/nsPlacesTables.h
@@ -133,10 +133,8 @@
 //       nsPlacesAutoComplete.js.
 #define CREATE_MOZ_OPENPAGES_TEMP NS_LITERAL_CSTRING( \
   "CREATE TEMP TABLE moz_openpages_temp (" \
-    "  url TEXT" \
-    ", userContextId INTEGER" \
+    "  url TEXT PRIMARY KEY" \
     ", open_count INTEGER" \
-    ", PRIMARY KEY (url, userContextId)" \
   ")" \
 )
 
diff --git a/toolkit/components/places/nsPlacesTriggers.h b/toolkit/components/places/nsPlacesTriggers.h
index d5b45ff..37871a3 100644
--- a/toolkit/components/places/nsPlacesTriggers.h
+++ b/toolkit/components/places/nsPlacesTriggers.h
@@ -192,8 +192,7 @@
   "WHEN NEW.open_count = 0 " \
   "BEGIN " \
     "DELETE FROM moz_openpages_temp " \
-    "WHERE url = NEW.url " \
-      "AND userContextId = NEW.userContextId;" \
+    "WHERE url = NEW.url;" \
   "END" \
 )
 
diff --git a/toolkit/components/places/tests/unifiedcomplete/head_autocomplete.js b/toolkit/components/places/tests/unifiedcomplete/head_autocomplete.js
index 11e917e..bc252ef 100644
--- a/toolkit/components/places/tests/unifiedcomplete/head_autocomplete.js
+++ b/toolkit/components/places/tests/unifiedcomplete/head_autocomplete.js
@@ -286,19 +286,19 @@ var addBookmark = Task.async(function* (aBookmarkObj) {
   }
 });
 
-function addOpenPages(aUri, aCount=1, aUserContextId=0) {
+function addOpenPages(aUri, aCount=1) {
   let ac = Cc["@mozilla.org/autocomplete/search;1?name=unifiedcomplete"]
              .getService(Ci.mozIPlacesAutoComplete);
   for (let i = 0; i < aCount; i++) {
-    ac.registerOpenPage(aUri, aUserContextId);
+    ac.registerOpenPage(aUri);
   }
 }
 
-function removeOpenPages(aUri, aCount=1, aUserContextId=0) {
+function removeOpenPages(aUri, aCount=1) {
   let ac = Cc["@mozilla.org/autocomplete/search;1?name=unifiedcomplete"]
              .getService(Ci.mozIPlacesAutoComplete);
   for (let i = 0; i < aCount; i++) {
-    ac.unregisterOpenPage(aUri, aUserContextId);
+    ac.unregisterOpenPage(aUri);
   }
 }
 
diff --git a/toolkit/components/places/tests/unifiedcomplete/test_tab_matches.js b/toolkit/components/places/tests/unifiedcomplete/test_tab_matches.js
index 740b8d8..646519c 100644
--- a/toolkit/components/places/tests/unifiedcomplete/test_tab_matches.js
+++ b/toolkit/components/places/tests/unifiedcomplete/test_tab_matches.js
@@ -11,11 +11,9 @@ add_task(function* test_tab_matches() {
   let uri2 = NetUtil.newURI("http://xyz.net/");
   let uri3 = NetUtil.newURI("about:mozilla");
   let uri4 = NetUtil.newURI("data:text/html,test");
-  let uri5 = NetUtil.newURI("http://foobar.org");
   yield PlacesTestUtils.addVisits([
     { uri: uri1, title: "ABC rocks" },
-    { uri: uri2, title: "xyz.net - we're better than ABC" },
-    { uri: uri5, title: "foobar.org - much better than ABC, definitely better than XYZ" }
+    { uri: uri2, title: "xyz.net - we're better than ABC" }
   ]);
   addOpenPages(uri1, 1);
   // Pages that cannot be registered in history.
@@ -37,8 +35,7 @@ add_task(function* test_tab_matches() {
     searchParam: "enable-actions",
     matches: [ makeSearchMatch("abc", { heuristic: true }),
                makeSwitchToTabMatch("http://abc.com/", { title: "ABC rocks" }),
-               { uri: uri2, title: "xyz.net - we're better than ABC", style: [ "favicon" ] },
-               { uri: uri5, title: "foobar.org - much better than ABC, definitely better than XYZ", style: [ "favicon" ] } ]
+               { uri: uri2, title: "xyz.net - we're better than ABC", style: [ "favicon" ] } ]
   });
 
   do_print("three results, both normal results are tab matches");
@@ -48,39 +45,7 @@ add_task(function* test_tab_matches() {
     searchParam: "enable-actions",
     matches: [ makeSearchMatch("abc", { heuristic: true }),
                makeSwitchToTabMatch("http://abc.com/", { title: "ABC rocks" }),
-               makeSwitchToTabMatch("http://xyz.net/", { title: "xyz.net - we're better than ABC" }),
-               { uri: uri5, title: "foobar.org - much better than ABC, definitely better than XYZ", style: [ "favicon" ] } ]
-  });
-
-  do_print("a container tab is not visible in 'switch to tab'");
-  addOpenPages(uri5, 1, /* userContextId: */ 3);
-  yield check_autocomplete({
-    search: "abc",
-    searchParam: "enable-actions",
-    matches: [ makeSearchMatch("abc", { heuristic: true }),
-               makeSwitchToTabMatch("http://abc.com/", { title: "ABC rocks" }),
-               makeSwitchToTabMatch("http://xyz.net/", { title: "xyz.net - we're better than ABC" }),
-               { uri: uri5, title: "foobar.org - much better than ABC, definitely better than XYZ", style: [ "favicon" ] } ]
-  });
-
-  do_print("a container tab should not see 'switch to tab' for other container tabs");
-  yield check_autocomplete({
-    search: "abc",
-    searchParam: "enable-actions user-context-id:3",
-    matches: [ makeSearchMatch("abc", { heuristic: true }),
-               makeSwitchToTabMatch("http://foobar.org/", { title: "foobar.org - much better than ABC, definitely better than XYZ" }),
-               { uri: uri1, title: "ABC rocks", style: [ "favicon" ] },
-               { uri: uri2, title: "xyz.net - we're better than ABC", style: [ "favicon" ] } ]
-  });
-
-  do_print("a different container tab should not see any 'switch to tab'");
-  yield check_autocomplete({
-    search: "abc",
-    searchParam: "enable-actions user-context-id:2",
-    matches: [ makeSearchMatch("abc", { heuristic: true }),
-               { uri: uri1, title: "ABC rocks", style: [ "favicon" ] },
-               { uri: uri2, title: "xyz.net - we're better than ABC", style: [ "favicon" ] },
-               { uri: uri5, title: "foobar.org - much better than ABC, definitely better than XYZ", style: [ "favicon" ] } ]
+               makeSwitchToTabMatch("http://xyz.net/", { title: "xyz.net - we're better than ABC" }) ]
   });
 
   do_print("three results, both normal results are tab matches, one has multiple tabs");
@@ -90,8 +55,7 @@ add_task(function* test_tab_matches() {
     searchParam: "enable-actions",
     matches: [ makeSearchMatch("abc", { heuristic: true }),
                makeSwitchToTabMatch("http://abc.com/", { title: "ABC rocks" }),
-               makeSwitchToTabMatch("http://xyz.net/", { title: "xyz.net - we're better than ABC" }),
-               { uri: uri5, title: "foobar.org - much better than ABC, definitely better than XYZ", style: [ "favicon" ] } ]
+               makeSwitchToTabMatch("http://xyz.net/", { title: "xyz.net - we're better than ABC" }) ]
   });
 
   do_print("three results, no tab matches (disable-private-actions)");
@@ -100,8 +64,7 @@ add_task(function* test_tab_matches() {
     searchParam: "enable-actions disable-private-actions",
     matches: [ makeSearchMatch("abc", { heuristic: true }),
                { uri: uri1, title: "ABC rocks", style: [ "favicon" ] },
-               { uri: uri2, title: "xyz.net - we're better than ABC", style: [ "favicon" ] },
-               { uri: uri5, title: "foobar.org - much better than ABC, definitely better than XYZ", style: [ "favicon" ] } ]
+               { uri: uri2, title: "xyz.net - we're better than ABC", style: [ "favicon" ] } ]
   });
 
   do_print("two results (actions disabled)");
@@ -109,8 +72,7 @@ add_task(function* test_tab_matches() {
     search: "abc",
     searchParam: "",
     matches: [ { uri: uri1, title: "ABC rocks", style: [ "favicon" ] },
-               { uri: uri2, title: "xyz.net - we're better than ABC", style: [ "favicon" ] },
-               { uri: uri5, title: "foobar.org - much better than ABC, definitely better than XYZ", style: [ "favicon" ] } ]
+               { uri: uri2, title: "xyz.net - we're better than ABC", style: [ "favicon" ] } ]
   });
 
   do_print("three results, no tab matches");
@@ -121,8 +83,7 @@ add_task(function* test_tab_matches() {
     searchParam: "enable-actions",
     matches: [ makeSearchMatch("abc", { heuristic: true }),
                { uri: uri1, title: "ABC rocks", style: [ "favicon" ] },
-               { uri: uri2, title: "xyz.net - we're better than ABC", style: [ "favicon" ] },
-               { uri: uri5, title: "foobar.org - much better than ABC, definitely better than XYZ", style: [ "favicon" ] } ]
+               { uri: uri2, title: "xyz.net - we're better than ABC", style: [ "favicon" ] } ]
   });
 
   do_print("tab match search with restriction character");

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/pale-moon.git


More information about the x2go-commits mailing list