This directory contains DOM checker, a tool to help automatically validate
domain security policy enforcement. This tool will check cross-domain DOM
accesses, JavaScript cookies, XMLHttpRequest calls, and more.

DOM checker was written by Michal Zalewski and Filipe Almeida of Google.

Version: 1.01

Modifications:
  - Modified dom_config.js to work with the test configuration setup.
  - Added automation.js to do any needed bookkeeping and other miscellany
    necessary to help automate the test. The intent is to put most of the extra
    code into this file to mitigate the number of changes that need to be made
    to DOM checker.
  - Included json2.js, a parser/stringifier for JSON in JavaScript, in
    dom_checker.html. This is used to stringify results for consumption by the
    test automation.
  - Modified dom_checker.html to not complain when running the test on a
    specified port other than the default port.
  - Modified dom_checker.html to start the tests immediately on page load,
    rather than waiting for the user to click on a button.
  - Removed trailing whitespace in all files.
  - Added expected_failures-http.txt and expected_failures-file.txt to contain
    a list of expected failures for HTTP and file:// mode, respectively. A test
    is considered "passing" if there are no failures not in its expected
    failure list.
