[tbb-commits] [tor-browser/tor-browser-38.6.1esr-6.0-1] squash! Bug #13749.2: Regression tests for first-party isolation of cache
gk at torproject.org
gk at torproject.org
Fri Feb 19 09:09:48 UTC 2016
commit df2cdeb77b7133ea672920caa8c2eac5d69f71c6
Author: Arthur Edelstein <arthuredelstein at gmail.com>
Date: Wed Feb 17 22:19:31 2016 -0800
squash! Bug #13749.2: Regression tests for first-party isolation of cache
Also checks first-party isolation of favicons:
https://bugs.torproject.org/16728
---
netwerk/test/browser/browser.ini | 1 +
netwerk/test/browser/browser_cacheFirstParty.js | 21 ++++++++++++---------
netwerk/test/browser/firstPartyGrandParent.html | 4 +++-
netwerk/test/browser/firstPartyParent.html | 4 +++-
netwerk/test/browser/thirdPartyChild.favicon.ico | Bin 0 -> 1150 bytes
5 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/netwerk/test/browser/browser.ini b/netwerk/test/browser/browser.ini
index ca711b7..5ab1546 100644
--- a/netwerk/test/browser/browser.ini
+++ b/netwerk/test/browser/browser.ini
@@ -14,6 +14,7 @@ support-files =
thirdPartyChild.worker.xhr.html
thirdPartyChild.xhr.html
thirdPartyChild.track.vtt
+ thirdPartyChild.favicon.ico
[browser_cacheFirstParty.js]
[browser_NetUtil.js]
diff --git a/netwerk/test/browser/browser_cacheFirstParty.js b/netwerk/test/browser/browser_cacheFirstParty.js
index c23f669..c1b5ee6 100644
--- a/netwerk/test/browser/browser_cacheFirstParty.js
+++ b/netwerk/test/browser/browser_cacheFirstParty.js
@@ -4,12 +4,13 @@
// ("privacy.thirdparty.isolate" pref is set to 2) then when a loaded file is cached,
// it is indexed by the URL-bar domain.
-// In this test, a number of files are loaded (via IFRAME, LINK, SCRIPT, IMG, OBJECT,
-// EMBED, AUDIO, VIDEO, TRACK and XMLHttpRequest) by parent pages with different URL bar
-// domains. When isolation is active, we test to confirm that a separate copy of each file
-// is cached for each different parent domain. We also test to make sure that when
-// isolation is inactive, a single copy of the child page is cached and reused for all
-// parent domains.
+// In this test, a number of files are loaded (via IFRAME, LINK [both CSS
+// and Favicon], SCRIPT, IMG, OBJECT, EMBED, AUDIO, VIDEO, TRACK and
+// XMLHttpRequest) by parent pages with different URL bar domains. When
+// isolation is active, we test to confirm that a separate copy of each file is
+// cached for each different parent domain. We also test to make sure that when
+// isolation is inactive, a single copy of the child page is cached
+// and reused for all parent domains.
// In this file, functions are defined in call stack order (later functions call earlier
// functions). Comments are formatted for docco.
@@ -104,13 +105,15 @@ let privacyPref = "privacy.thirdparty.isolate",
// share cached embedded objects.
duplicatedDomains = [].concat(domains, domains),
// We will check cache for example.net content from
- // iframe, link, script, img, object, embed, xhr, audio, video, track
+ // iframe, link (css), script, img, object, embed, xhr, audio, video,
+ // track, favicon
suffixes = ["iframe.html", "link.css", "script.js", "img.png", "object.png",
- "embed.png", "xhr.html", "worker.xhr.html", "audio.ogg", "video.ogv", "track.vtt" ];
+ "embed.png", "xhr.html", "worker.xhr.html", "audio.ogg",
+ "video.ogv", "track.vtt", "favicon.ico" ];
// __checkCachePopulation(pref, numberOfDomains)__.
// Check if the number of entries found in the cache for each
-// embedded file type matches the number we expect, given the
+// embedded file type matches the number we expect, given the
// number of domains and the isolation state.
let checkCachePopulation = function* (pref, numberOfDomains) {
let expectedEntryCount = (pref === 2) ? numberOfDomains : 1;
diff --git a/netwerk/test/browser/firstPartyGrandParent.html b/netwerk/test/browser/firstPartyGrandParent.html
index c990831..969b429 100644
--- a/netwerk/test/browser/firstPartyGrandParent.html
+++ b/netwerk/test/browser/firstPartyGrandParent.html
@@ -1,7 +1,9 @@
<!DOCTYPE html>
<html>
<head>
-<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+ <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
+ <link rel="icon" type="image/ico"
+ href="http://example.net/browser/netwerk/test/browser/thirdPartyChild.favicon.ico">
</head>
<frameset cols="50%,50%">
<frame src="http://example.net/browser/netwerk/test/browser/firstPartyParent.html">
diff --git a/netwerk/test/browser/firstPartyParent.html b/netwerk/test/browser/firstPartyParent.html
index 7f2f5c8..fa29a74 100644
--- a/netwerk/test/browser/firstPartyParent.html
+++ b/netwerk/test/browser/firstPartyParent.html
@@ -5,6 +5,8 @@
<head>
<link rel="stylesheet" type="text/css"
href="http://example.net/browser/netwerk/test/browser/thirdPartyChild.link.css">
+ <link rel="icon" type="image/ico"
+ href="http://example.net/browser/netwerk/test/browser/thirdPartyChild.favicon.ico">
</head>
<body>
<div>firstPartyParent.html</div>
@@ -26,7 +28,7 @@
<source src="http://example.net/browser/netwerk/test/browser/thirdPartyChild.audio.ogg"
type="audio/ogg">
<track src="http://example.net/browser/netwerk/test/browser/thirdPartyChild.track.vtt"
- kind="subtitles">
+ kind="subtitles">
</audio>
<video id="video"
diff --git a/netwerk/test/browser/thirdPartyChild.favicon.ico b/netwerk/test/browser/thirdPartyChild.favicon.ico
new file mode 100644
index 0000000..48060b1
Binary files /dev/null and b/netwerk/test/browser/thirdPartyChild.favicon.ico differ
More information about the tbb-commits
mailing list