mirror of
https://github.com/kkapsner/CanvasBlocker
synced 2024-12-22 04:40:20 +01:00
107 lines
3.4 KiB
HTML
107 lines
3.4 KiB
HTML
<!DOCTYPE html>
|
|
<script src="firstPossibleCall.js"></script>
|
|
<html>
|
|
<head>
|
|
<title>Canvas test</title>
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
<link href="testIcon.svg" type="image/png" rel="icon">
|
|
<link href="testIcon.svg" type="image/png" rel="shortcut icon">
|
|
<link rel="stylesheet" href="../default.css" type="text/css">
|
|
<style type="text/css">
|
|
.hash {
|
|
font-size: 70%;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>Canvas test</h1>
|
|
<h2>Expected result</h2>
|
|
<ul>
|
|
<li>all the hashes should be equal for each test</li>
|
|
<li>the hash before and after the "/" do not have to match</li>
|
|
<li>if "refresh" is clicked the hash must not change</li>
|
|
<li>upon page reload the hash changes (depending on CanvasBlocker settings - e.g. not in the stealth preset)</li>
|
|
</ul>
|
|
<h2>Tests</h2>
|
|
<div id="top">
|
|
<h3>top Test</h3>
|
|
<img class="display"><br>
|
|
Hash: <span class="hash"></span> (isPointInPath: <span class="isPointInPath"></span>)
|
|
<button>refresh</button>
|
|
</div>
|
|
<div id="getImageDataTest">
|
|
<h3>getimageData Test</h3>
|
|
<canvas class="display"></canvas><br>
|
|
Hash: <span class="hash"></span> (isPointInPath: <span class="isPointInPath"></span>)
|
|
<button>refresh</button>
|
|
</div>
|
|
<div id="iframe">
|
|
<h3>iFrame Test. Thanks to DocumentRoot.</h3>
|
|
<img class="display"><br>
|
|
Hash: <span class="hash"></span> (isPointInPath: <span class="isPointInPath"></span>)
|
|
<iframe sandbox="allow-same-origin" style="display:none"></iframe>
|
|
<button>refresh</button>
|
|
</div>
|
|
</div>
|
|
<div id="iframe2">
|
|
<h3>iFrame Test 2 - with URL</h3>
|
|
<img class="display"><br>
|
|
Hash: <span class="hash"></span> (isPointInPath: <span class="isPointInPath"></span>)
|
|
<iframe src="?" sandbox="allow-same-origin" style="display:none"></iframe>
|
|
<button>refresh</button>
|
|
</div>
|
|
</div>
|
|
<div id="iframe3">
|
|
<h3>iFrame Test 3 - violating SOP</h3>
|
|
<img class="display"><br>
|
|
Hash: <span class="hash"></span> (isPointInPath: <span class="isPointInPath"></span>)
|
|
<iframe src="//example.org" style="display:none"></iframe>
|
|
<button>refresh</button>
|
|
</div>
|
|
<div id="iframe4">
|
|
<h3>iFrame Test 4 - different access 1</h3>
|
|
<img class="display"><br>
|
|
Hash: <span class="hash"></span> (isPointInPath: <span class="isPointInPath"></span>)
|
|
<button>refresh</button>
|
|
</div>
|
|
<div id="iframe5">
|
|
<h3>iFrame Test 5 - different access 2</h3>
|
|
<img class="display"><br>
|
|
Hash: <span class="hash"></span> (isPointInPath: <span class="isPointInPath"></span>)
|
|
<button>refresh</button>
|
|
</div>
|
|
<div id="iframe6">
|
|
<h3>iFrame Test 6 - different access 3</h3>
|
|
<img class="display"><br>
|
|
Hash: <span class="hash"></span> (isPointInPath: <span class="isPointInPath"></span>)
|
|
<button>refresh</button>
|
|
</div>
|
|
<div id="windowOpen">
|
|
<h3>window.open Test</h3>
|
|
<img class="display"><br>
|
|
Hash: <span class="hash"><i>click anywhere to populate</i></span> (isPointInPath: <span class="isPointInPath"></span>)
|
|
<button>refresh</button>
|
|
</div>
|
|
<div id="blob">
|
|
<h3>blob Test</h3>
|
|
<img class="display"><br>
|
|
Hash: <span class="hash"></span>
|
|
<button>refresh</button>
|
|
</div>
|
|
<div id="offscreen">
|
|
<h3>offscreen Test</h3>
|
|
<img class="display"><br>
|
|
Hash: <span class="hash"></span>
|
|
<button>refresh</button>
|
|
</div>
|
|
<div id="offscreenWorker">
|
|
<h3>offscreen Worker Test</h3>
|
|
<img class="display"><br>
|
|
Hash: <span class="hash"></span>
|
|
<button>refresh</button>
|
|
</div>
|
|
<script src="testAPI.js"></script>
|
|
<script src="canvasAPI.js"></script>
|
|
<script src="iframeAPI.js"></script>
|
|
<script src="test.js"></script>
|
|
</body></html> |