<!DOCTYPE HTML>
<html>
<!--
Bug 965872 - Storage inspector actor with cookies, local storage and session storage.
-->
<head>
  <meta charset="utf-8">
  <title>Storage inspector blank html for tests</title>
</head>
<body>
<script type="application/javascript">
"use strict";
window.addCookie = function(name, value, path, domain, expires, secure) {
  let cookieString = name + "=" + value + ";";
  if (path) {
    cookieString += "path=" + path + ";";
  }
  if (domain) {
    cookieString += "domain=" + domain + ";";
  }
  if (expires) {
    cookieString += "expires=" + expires + ";";
  }
  if (secure) {
    cookieString += "secure=true;";
  }
  document.cookie = cookieString;
};

window.removeCookie = function(name, path) {
  document.cookie =
    name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=" + path;
};

/**
 * We keep this method here even though these items are automatically cleared
 * after the test is complete. this is so that the store-objects-cleared event
 * can be tested.
 */
window.clear = function() {
  localStorage.clear();
  dump("removed localStorage from " + document.location + "\n");

  sessionStorage.clear();
  dump("removed sessionStorage from " + document.location + "\n");
};

window.onload = function() {
  window.addCookie("c1", "1.2.3.4.5.6.7", "/browser");
  window.addCookie("c2", "foobar", "/browser");

  // Some keys have to be set to strings that JSON.parse can parse successfully
  // instead of throwings (to verify the issue fixed by Bug 1578447 doesn't regress).
  localStorage.setItem("1", "testing");
  localStorage.setItem("2", "testing");
  localStorage.setItem("3", "testing");
  localStorage.setItem("4", "testing");
  localStorage.setItem("5", "testing");
  localStorage.setItem("null", "testing");
  localStorage.setItem("non-json-parsable", "testing");

  sessionStorage.setItem("ss1", "foobar");
  sessionStorage.setItem("ss2", "foobar");
  sessionStorage.setItem("ss3", "foobar");
};
</script>
</body>
</html>
