117 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<!--
 | 
						|
Copyright 2012 Mozilla Foundation
 | 
						|
 | 
						|
Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
you may not use this file except in compliance with the License.
 | 
						|
You may obtain a copy of the License at
 | 
						|
 | 
						|
    http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 | 
						|
Unless required by applicable law or agreed to in writing, software
 | 
						|
distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
See the License for the specific language governing permissions and
 | 
						|
limitations under the License.
 | 
						|
-->
 | 
						|
<html>
 | 
						|
  <head>
 | 
						|
    <meta charset="utf-8">
 | 
						|
    <title>Required features testing for PDF.js</title>
 | 
						|
    <style>
 | 
						|
    body { font-family: sans-serif; }
 | 
						|
    #tests { width: 920px; border-collapse:collapse; margin: 20px 0;  }
 | 
						|
    #tests td, #tests th { border: 1px solid black; }
 | 
						|
    .name { text-align: left; }
 | 
						|
    .test, .emu, .impact, .area { text-align: center; }
 | 
						|
    .test-Skipped { background-color: #C0C0C0; }
 | 
						|
    .test-Success { background-color: #C0FFC0; }
 | 
						|
    .test-Failed { background-color: #FFC0C0; }
 | 
						|
    .test-Failed.emu-Yes { background-color: #FFFFC0; }
 | 
						|
    </style>
 | 
						|
    <style id="fontFaces">
 | 
						|
    @font-face { font-family: 'plus'; src: url(data:font/opentype;base64,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); }
 | 
						|
    </style>
 | 
						|
    <script src="tests.js"></script>
 | 
						|
  </head>
 | 
						|
  <body>
 | 
						|
    <h1>Required Features for PDF.js</h1>
 | 
						|
    <div>User Agent: <span id="userAgent"></span></div>
 | 
						|
    <script>
 | 
						|
      document.getElementById('userAgent').innerHTML = navigator.userAgent;
 | 
						|
    </script>
 | 
						|
 | 
						|
    <table id="tests">
 | 
						|
      <caption>Tests Results</caption>
 | 
						|
      <thead>
 | 
						|
        <tr><th class="name">Name</th><th class="test">Test</th><th class="impact">Impact</th><th class="area">Area</th><th class="emu">Emulated</th><th></th></tr>
 | 
						|
      </thead>
 | 
						|
      <tbody id="output">
 | 
						|
      </tbody>
 | 
						|
    </table>
 | 
						|
    <div id="canvasHolder" style="display: none;">
 | 
						|
    </div>
 | 
						|
    <div id="plusfontusage" style="font-family: plus; visibility: hidden;">`</div>
 | 
						|
 | 
						|
    <script>
 | 
						|
    var wikiPageBase = 'https://github.com/mozilla/pdf.js/wiki/Required-Browser-Features#wiki-';
 | 
						|
    var output = document.getElementById('output');
 | 
						|
    // for some browser textContent is absent using innerHTML :/
 | 
						|
    for (var i = 0; i < tests.length; i++) {
 | 
						|
      var test = tests[i];
 | 
						|
      var row = document.createElement('tr');
 | 
						|
      row.id = 'test-results-' + test.id;
 | 
						|
      var nameTd = document.createElement('td');
 | 
						|
      nameTd.className = 'name';
 | 
						|
      nameTd.innerHTML = test.name;
 | 
						|
      row.appendChild(nameTd);
 | 
						|
      var testTd = document.createElement('td');
 | 
						|
      testTd.className = 'test';
 | 
						|
      testTd.innerHTML = 'Running...';
 | 
						|
      row.appendChild(testTd);
 | 
						|
      var impactTd = document.createElement('td');
 | 
						|
      impactTd.className = 'impact';
 | 
						|
      impactTd.innerHTML = test.impact;
 | 
						|
      row.appendChild(impactTd);
 | 
						|
      var areaTd = document.createElement('td');
 | 
						|
      areaTd.className = 'area';
 | 
						|
      areaTd.innerHTML = test.area;
 | 
						|
      row.appendChild(areaTd);
 | 
						|
      var emulatedTd = document.createElement('td');
 | 
						|
      emulatedTd.className = 'emu';
 | 
						|
      row.appendChild(emulatedTd);
 | 
						|
      output.appendChild(row);
 | 
						|
      var infoTd = document.createElement('td');
 | 
						|
      infoTd.className = 'emu';
 | 
						|
      var infoA = document.createElement('a');
 | 
						|
      infoA.href = wikiPageBase + test.id;
 | 
						|
      infoA.innerHTML = 'info';
 | 
						|
      infoTd.appendChild(infoA);
 | 
						|
      row.appendChild(infoTd);
 | 
						|
      output.appendChild(row);
 | 
						|
 | 
						|
      var publish = (function(row, testTd, emulatedTd) {
 | 
						|
        return function (result) {
 | 
						|
          row.className = 'test-' + result.output + ' emu-' + result.emulated;
 | 
						|
          testTd.innerHTML = result.output;
 | 
						|
          emulatedTd.innerHTML = result.emulated;
 | 
						|
        };
 | 
						|
      })(row, testTd, emulatedTd);
 | 
						|
 | 
						|
      var result;
 | 
						|
      try {
 | 
						|
        result = test.run();
 | 
						|
      } catch (e) {
 | 
						|
        console.error('test run failed: ' + e); 
 | 
						|
        result = { output: 'Failed', emulated: '?' };
 | 
						|
      }
 | 
						|
      if (result.then)
 | 
						|
        result.then(publish);
 | 
						|
      else
 | 
						|
        publish(result);
 | 
						|
    }
 | 
						|
    </script>
 | 
						|
    
 | 
						|
  </body>
 | 
						|
</html>
 |