Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(878)

Unified Diff: third_party/WebKit/LayoutTests/external/wpt/clear-site-data/support/test_utils.js

Issue 2913553004: Add the 'cache' datatype to the clear-site-data WPT (Closed)
Patch Set: Formatting Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/LayoutTests/external/wpt/clear-site-data/support/get-resource-to-cache.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/LayoutTests/external/wpt/clear-site-data/support/test_utils.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/clear-site-data/support/test_utils.js b/third_party/WebKit/LayoutTests/external/wpt/clear-site-data/support/test_utils.js
index 6aff373f23a46d1887689618104c86c144cef108..ff19b17d0f30c89c6b58ae6c0318f0e6e8ed94c7 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/clear-site-data/support/test_utils.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/clear-site-data/support/test_utils.js
@@ -6,6 +6,9 @@ var TestUtils = (function() {
return result;
};
+ /** @string The base URL this test. */
+ var base_url = location.origin + "/clear-site-data/";
Mike West 2017/05/30 07:45:17 Can you add cross-origin tests as well, since I th
msramek 2017/05/30 09:11:12 Of course, but I'd like to do that in a separate C
Mike West 2017/05/30 11:01:30 Sure. Happy to see more CLs. :)
+
/**
* Representation of one datatype.
* @typedef Datatype
@@ -51,7 +54,36 @@ var TestUtils = (function() {
resolve(!localStorage.length);
});
}
- }
+ },
+ {
+ "name": "cache",
+ "add": function() {
+ // Request a resource from the get_resource_to_cache.py server.
+ // The server is instructed to return a high "CacheControl: max-age"
Mike West 2017/05/30 07:45:17 Nit: `cache-control`
msramek 2017/05/30 09:11:12 Done. Also capitalized it here and elsewhere for c
+ // header value, to ensure that this resource will really be added
+ // to the cache.
+ return fetch(base_url + "support/get-resource-to-cache.py");
+ },
+ "isEmpty": function() {
+ return new Promise(function(resolve, reject) {
+ // Request the resource with the "Cache-Control: only-if-cached"
+ // header. If the request suceeds, the resource must have been found
+ // in the cache. Since not all user agents support this header value,
+ // the get-resource-to-cache.py server is instructed to respond with
+ // status code 500 if it sees such a request.
+ var fetch_options = {
+ "headers": new Headers({ "cache-control": "only-if-cached" }),
+ };
+
+ fetch(base_url + "support/get-resource-to-cache.py", fetch_options)
+ .then(function(response) {
+ resolve(response.status == 500 /* Internal server error. */);
+ }).catch(function() {
+ resolve(true);
Mike West 2017/05/30 07:45:17 Why would you resolve with `true` if the fetch fai
msramek 2017/05/30 09:11:12 If the fetch fails, it means that we're dealing wi
Mike West 2017/05/30 11:01:31 Ah. I see. A comment to that effect might be helpf
+ });
+ });
+ }
+ },
];
/**
@@ -82,7 +114,7 @@ var TestUtils = (function() {
*/
TestUtils.getClearSiteDataUrl = function(datatypes) {
names = datatypes.map(function(e) { return e.name });
- return "support/echo-clear-site-data.py?" + names.join("&");
+ return base_url + "support/echo-clear-site-data.py?" + names.join("&");
}
return TestUtils;
« no previous file with comments | « third_party/WebKit/LayoutTests/external/wpt/clear-site-data/support/get-resource-to-cache.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698