diff --git a/Required-Browser-Features.md b/Required-Browser-Features.md index 6d949dd..e3bfc26 100644 --- a/Required-Browser-Features.md +++ b/Required-Browser-Features.md @@ -9,6 +9,26 @@ The required features tests can be run at http://mozilla.github.com/pdf.js/featu Support of the CANVAS element and 2D context is required feature for PDF.js. No emulation of the CANVAS element is provided for the browsers that do not support it. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## get-literal properties @@ -22,12 +42,52 @@ var obj = { The browsers that don't understand this syntax will not be able to execute the code. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## addEventListener is present The `addEventListener` method is used to bind event listeners for DOM elements. No emulation of the `addEventListener` method is provided in the browsers that do not support it. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## Typed arrays are present @@ -37,64 +97,305 @@ Only `subarray`, `buffer`, `set` and `byteLength` are similated. The `subarray` If the `Float32Array` native implementation exists and the `Float64Array` is absent, then the `Float32Array` will be used instead of `Float64Array`. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
+ ## Object.create() is present The `Object.create` method will be added to the `Object` function if the native implementation is absent. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## Object.defineProperty() is present The `Object.defineProperty` method will be added to the `Object` function if the native implementation is absent. The `__defineGetter__` / `__defineSetter__` will be used instead. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## Object.defineProperty() can be used with DOM objects Some browsers do not allow using the `Object.defineProperty` with DOM objects. In this case, the `Object.defineProperty` be replaced by the artificial one. See [Object.defineProperty() is present](#Object-defineProperty). + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## Defined via get-literal properties can be redefined Some browsers does not allow redefine properties defined with get literal by the `Object.defineProperty`. In this case, the `Object.defineProperty` be replaced by the artificial one. See [Object.defineProperty() is present](#Object-defineProperty). + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## Object.keys() is present The `Object.keys` method will be added to the `Object` function if the native implementation is absent. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## FileReader is present The `FileReader` allows PDF.js read the file data provided in the input[type=file] HTML element. The live PDF.js demo will not be able to read local file, if the `FileReader` object is not supported. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## FileReader.prototype.readAsArrayBuffer() is present Older browsers has no `readAsArrayBuffer` method implementation: the `readAsBinaryString` will be used to emulate its functionality. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## XMLHttpRequest.prototype.overrideMimeType() is present The empty `overrideMimeType` method will be added to the `XMLHttpRequest.prototype`, if the browser does not support it. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## XMLHttpRequest.prototype.response is present The `response` getter will be added to the `XMLHttpRequest.prototype`, if the browser does not support it. This is important for retrieving the binary PDF data using XHR. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## btoa() is present The `btoa` will be added to the window object, if the browser does not support it. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## Function.prototype.bind is present The `bind` method will be added to the `Function.prototype`, if the browser does not support it. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## dataset is present for HTML element @@ -102,68 +403,334 @@ The `dataset` property will be added to the `HTMLElement.prototype`, if the brow This is important for specifying addition information (e.g. for text selection layer) attached to specific HTML DOM element. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## classList is present for HTML element The `classList` property will be added to the `HTMLElement.prototype`, if the browser does not support it. This is important to simplify the viewer implementation. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## console object is present The `console` object will be added to the window object with empty `log` and `error` methods, if the browser does not support it. This is important for output of the error message and diagnostic information. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## console.log is a bind-able function The `console.log` and `console.error` functions will be replaced, if the browser does not allow to use the bind method with these functions. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
+ ## Function.prototype.apply accepts typed array The core code relies on the `Function.prototype.apply` method to accept the typed array as the second argument. No emulation is provided in browsers that do not support it. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
+ ## navigator.language is present The language getter will be added to the window.navigator object, if the browser does not support it. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## evenodd fill rule is supported Some PDF content is using "even-odd" fill rule/method. The content will not be displayed properly (example: [#2351](https://github.com/mozilla/pdf.js/issues/2351)) if this feature is not supported. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
+ ## dashed line style is supported Some PDF content is using custom dash line styles. The content will not be displayed properly if this feature is not supported. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## @font-face is supported/enabled Most of PDF documents are using embedded fonts. If the browser does not support `@font-face` style rule, the document will not be displayed property. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## @font-face loading completion detection The PDF.js shall wait some time before using fonts with CANVAS, if the browser cannot tell if fonts are loaded and can be used. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
## Worker is supported/enabled The PDF.js will execute all code (even long running) on the main thread, if the browser does not support web workers. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
+ ## Worker can receive/send typed arrays The PDF.js will execute all code on the main thread, if the browser cannot send (large) typed arrays to web workers. + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
+ ## XMLHttpRequest supports the response property in web workers The PDF.js will execute all code on the main thread, if the browser cannot request network binary data from web workers. + + + + + + + + + + + + + + + + + + + + +
ChromeFirefox (Gecko)Internet ExplorerOperaSafari
?????
\ No newline at end of file