<!doctype html>
<html>
<head>
  <meta charset=utf-8>
  <title>helper iframe for matching cookie path tests</title>
  <meta name=help href="http://tools.ietf.org/html/rfc6265#section-5.1.4">
</head>
<body>
<script>
window.setCookie = function (name, path) {
  document.cookie = name + '=1; Path=' + path + ';';
}
window.fetchCookieThen = function (name, path) {
  return fetch("/cookies/resources/set-cookie.py?name=" + encodeURIComponent(name) + "&path=" + encodeURIComponent(path), {'credentials': 'include'});
};
window.isCookieSet = function (name, path) {
  return document.cookie.match(name + '=1');
};
window.expireCookie = function (name, path) {
  document.cookie = name + '=0; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=' + path + ';';
};
</script>
</body>
</html>
