Backed out changeset f173e3210edf (bug 1277803)
authorIris Hsiao <ihsiao@mozilla.com>
Fri, 07 Oct 2016 11:23:22 +0800
changeset 316916 773ced366e56acb4d804961ef9759f048e2b4ffd
parent 316915 a0176b536d5a2edb3b0dc86122a26cfed92da7e2
child 316917 ae8e64903b30454bf610ac09ecbf91762198f6af
push id30787
push userryanvm@gmail.com
push dateFri, 07 Oct 2016 13:42:34 +0000
treeherdermozilla-central@ea8624a9b11e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1277803
milestone52.0a1
backs outf173e3210edf84139e7e0df9959ab5e9f4421817
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset f173e3210edf (bug 1277803) CLOSED TREE
browser/components/originattributes/test/browser/browser.ini
browser/components/originattributes/test/browser/browser_favicon_userContextId.js
browser/components/originattributes/test/browser/file_favicon.html
browser/components/originattributes/test/browser/file_favicon.png
browser/components/originattributes/test/browser/file_favicon.png^headers^
browser/components/originattributes/test/browser/file_favicon_thirdParty.html
--- a/browser/components/originattributes/test/browser/browser.ini
+++ b/browser/components/originattributes/test/browser/browser.ini
@@ -1,17 +1,13 @@
 [DEFAULT]
 skip-if = buildapp == "mulet"
 tags = usercontextid firstpartyisolation originattributes
 support-files =
   dummy.html
-  file_favicon.html
-  file_favicon.png
-  file_favicon.png^headers^
-  file_favicon_thirdParty.html
   file_firstPartyBasic.html
   file_sharedworker.html
   file_sharedworker.js
   head.js
   test.js
   test.js^headers^
   test.html
   test2.html
@@ -23,15 +19,14 @@ support-files =
   test_firstParty_http_redirect.html
   test_firstParty_http_redirect.html^headers^
   test_firstParty_iframe_http_redirect.html
   test_firstParty_postMessage.html
   window.html
   worker_blobify.js
   worker_deblobify.js
 
-[browser_favicon_userContextId.js]
 [browser_firstPartyIsolation.js]
 [browser_localStorageIsolation.js]
 [browser_blobURLIsolation.js]
 [browser_imageCacheIsolation.js]
 [browser_sharedworker.js]
 [browser_httpauth.js]
deleted file mode 100644
--- a/browser/components/originattributes/test/browser/browser_favicon_userContextId.js
+++ /dev/null
@@ -1,192 +0,0 @@
-/**
- * Bug 1277803 - A test caes for testing favicon loading across different userContextId.
- */
-
-const { classes: Cc, Constructor: CC, interfaces: Ci, utils: Cu } = Components;
-
-XPCOMUtils.defineLazyModuleGetter(this, "Promise",
-  "resource://gre/modules/Promise.jsm");
-
-const TEST_SITE = "http://mochi.test:8888";
-
-const TEST_PAGE = TEST_SITE + "/browser/browser/components/originattributes/" +
-                  "test/browser/file_favicon.html";
-const FAVICON_URI = TEST_SITE + "/browser/browser/components/originattributes/" +
-                    "test/browser/file_favicon.png";
-const TEST_THIRD_PARTY_PAGE = "http://example.com/browser/browser/components/" +
-                              "originattributes/test/browser/file_favicon_thirdParty.html";
-
-const USER_CONTEXT_ID_PERSONAL = 1;
-const USER_CONTEXT_ID_WORK     = 2;
-
-let systemPrincipal = Services.scriptSecurityManager.getSystemPrincipal();
-let makeURI = Cu.import("resource://gre/modules/BrowserUtils.jsm", {}).BrowserUtils.makeURI;
-
-function clearAllImageCaches() {
-  var tools = SpecialPowers.Cc["@mozilla.org/image/tools;1"]
-                             .getService(SpecialPowers.Ci.imgITools);
-  var imageCache = tools.getImgCacheForDocument(window.document);
-  imageCache.clearCache(true);  // true=chrome
-  imageCache.clearCache(false); // false=content
-}
-
-function FaviconObserver(aUserContextId, aExpectedCookie, aPageURI) {
-  this.reset(aUserContextId, aExpectedCookie, aPageURI);
-}
-
-FaviconObserver.prototype = {
-  observe(aSubject, aTopic, aData) {
-    // Make sure that the topic is 'http-on-modify-request'.
-    if (aTopic === "http-on-modify-request") {
-      // We check the userContextId for the originAttributes of the loading
-      // channel. All requests for the favicon should contain the correct
-      // userContextId. There are two requests for a favicon loading, one
-      // from the Places library and one from the XUL image. The difference
-      // of them is the loading principal. The Places will use the content
-      // principal and the XUL image will use the system principal.
-
-      let httpChannel = aSubject.QueryInterface(Ci.nsIHttpChannel);
-      let reqLoadInfo = httpChannel.loadInfo;
-      let loadingPrincipal;
-      let triggeringPrincipal;
-
-      // Make sure this is a favicon request.
-      if (httpChannel.URI.spec !== FAVICON_URI) {
-        return;
-      }
-
-      if (reqLoadInfo) {
-        loadingPrincipal = reqLoadInfo.loadingPrincipal;
-        triggeringPrincipal = reqLoadInfo.triggeringPrincipal;
-      }
-
-      // Check the userContextId.
-      is(reqLoadInfo.originAttributes.userContextId, this._curUserContextId,
-        "The loadInfo has correct userContextId");
-
-      if (loadingPrincipal.equals(systemPrincipal)) {
-        this._faviconReqXUL = true;
-        ok(triggeringPrincipal.equals(this._expectedPrincipal),
-          "The triggeringPrincipal of favicon loading from XUL should be the content principal.");
-      } else {
-        this._faviconReqPlaces = true;
-        ok(loadingPrincipal.equals(this._expectedPrincipal),
-          "The loadingPrincipal of favicon loading from Places should be the content prinicpal");
-      }
-
-      let faviconCookie = httpChannel.getRequestHeader("cookie");
-
-      is(faviconCookie, this._expectedCookie, "The cookie of the favicon loading is correct.");
-    } else {
-      ok(false, "Received unexpected topic: ", aTopic);
-    }
-
-    if (this._faviconReqXUL && this._faviconReqPlaces) {
-      this._faviconLoaded.resolve();
-    }
-  },
-
-  reset(aUserContextId, aExpectedCookie, aPageURI) {
-    this._curUserContextId = aUserContextId;
-    this._expectedCookie = aExpectedCookie;
-    this._expectedPrincipal = Services.scriptSecurityManager
-                                      .createCodebasePrincipal(aPageURI, { userContextId: aUserContextId });
-    this._faviconReqXUL = false;
-    this._faviconReqPlaces = false;
-    this._faviconLoaded = new Promise.defer();
-  },
-
-  get promise() {
-    return this._faviconLoaded.promise;
-  }
-};
-
-function* generateCookies() {
-  // we generate two different cookies for two userContextIds.
-  let cookies = [];
-  cookies.push(Math.random().toString());
-  cookies.push(Math.random().toString());
-
-  // Then, we add cookies into the site for 'personal' and 'work'.
-  let tabInfoA = yield openTabInUserContext(TEST_SITE, USER_CONTEXT_ID_PERSONAL);
-  let tabInfoB = yield openTabInUserContext(TEST_SITE, USER_CONTEXT_ID_WORK);
-
-  yield ContentTask.spawn(tabInfoA.browser, cookies[0], function* (value) {
-    content.document.cookie = value;
-  });
-
-  yield ContentTask.spawn(tabInfoB.browser, cookies[1], function* (value) {
-    content.document.cookie = value;
-  });
-
-  yield BrowserTestUtils.removeTab(tabInfoA.tab);
-  yield BrowserTestUtils.removeTab(tabInfoB.tab);
-
-  return cookies;
-}
-
-function* doTest(aTestPage) {
-  let cookies = yield generateCookies();
-  let pageURI = makeURI(aTestPage);
-
-  // Create the observer object for observing request channels of the personal
-  // container.
-  let observer = new FaviconObserver(USER_CONTEXT_ID_PERSONAL, cookies[0], pageURI);
-
-  Services.obs.addObserver(observer, "http-on-modify-request", false);
-
-  // Open the tab with the personal container.
-  let tabInfo = yield openTabInUserContext(aTestPage, USER_CONTEXT_ID_PERSONAL);
-
-  // Waiting for favicon requests are all made.
-  yield observer.promise;
-  // Close the tab.
-  yield BrowserTestUtils.removeTab(tabInfo.tab);
-
-  // Reset the observer for observing requests for the work container.
-  observer.reset(USER_CONTEXT_ID_WORK, cookies[1], pageURI);
-  tabInfo = yield openTabInUserContext(aTestPage, USER_CONTEXT_ID_WORK);
-
-  // Waiting for favicon requests are all made.
-  yield observer.promise;
-
-  Services.obs.removeObserver(observer, "http-on-modify-request", false);
-
-  yield BrowserTestUtils.removeTab(tabInfo.tab);
-}
-
-add_task(function* setup() {
-  // Make sure userContext is enabled.
-  yield SpecialPowers.pushPrefEnv({"set": [
-      ["privacy.userContext.enabled", true]
-  ]});
-});
-
-// A clean up function to prevent affecting other tests.
-registerCleanupFunction(() => {
-  // Clear all cookies.
-  let cookieMgr = Cc["@mozilla.org/cookiemanager;1"]
-                     .getService(Ci.nsICookieManager);
-  cookieMgr.removeAll();
-
-  // Clear all image caches and network caches.
-  clearAllImageCaches();
-
-  let networkCache = Cc["@mozilla.org/netwerk/cache-storage-service;1"]
-                        .getService(Ci.nsICacheStorageService);
-  networkCache.clear();
-});
-
-add_task(function* test_favicon_userContextId() {
-  // Clear all image caches before running the test.
-  clearAllImageCaches();
-
-  yield doTest(TEST_PAGE);
-});
-
-add_task(function* test_thirdPartyFavicon_userContextId() {
-  // Clear all image caches before running the test.
-  clearAllImageCaches();
-
-  yield doTest(TEST_THIRD_PARTY_PAGE);
-});
deleted file mode 100644
--- a/browser/components/originattributes/test/browser/file_favicon.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-  <head>
-    <meta charset='utf-8'>
-    <title>Favicon Test for originAttributes</title>
-    <link rel="icon" type="image/png" href="file_favicon.png" />
-  </head>
-  <body>
-    Favicon!!
-  </body>
-</html>
\ No newline at end of file
deleted file mode 100644
index 5535363c94df7314765551f65311ec6f98729d8e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
--- a/browser/components/originattributes/test/browser/file_favicon.png^headers^
+++ /dev/null
@@ -1,1 +0,0 @@
-Cache-Control: no-cache
deleted file mode 100644
--- a/browser/components/originattributes/test/browser/file_favicon_thirdParty.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-  <head>
-    <meta charset='utf-8'>
-    <title>Favicon Test for originAttributes</title>
-    <link rel="icon" type="image/png" href="http://mochi.test:8888/browser/browser/components/originattributes/test/browser/file_favicon.png" />
-  </head>
-  <body>
-    Third Party Favicon!!
-  </body>
-</html>
\ No newline at end of file