From f783ddc9c86cc3bcbaece725deeb2e83f2f219af Mon Sep 17 00:00:00 2001 From: Brian Dukes Date: Fri, 24 Oct 2014 10:45:58 -0500 Subject: [PATCH] Add HTML5Shiv package --- InstallPackages/html5shiv_3.7.2.zip | Bin 0 -> 7355 bytes html5shiv/html5shiv_3.7.2/CHANGES.htm | 67 +++ html5shiv/html5shiv_3.7.2/LICENSE.htm | 1 + .../html5shiv_3.7.2/html5shiv-printshiv.js | 520 ++++++++++++++++++ html5shiv/html5shiv_3.7.2/html5shiv.dnn | 39 ++ 5 files changed, 627 insertions(+) create mode 100644 InstallPackages/html5shiv_3.7.2.zip create mode 100644 html5shiv/html5shiv_3.7.2/CHANGES.htm create mode 100644 html5shiv/html5shiv_3.7.2/LICENSE.htm create mode 100644 html5shiv/html5shiv_3.7.2/html5shiv-printshiv.js create mode 100644 html5shiv/html5shiv_3.7.2/html5shiv.dnn diff --git a/InstallPackages/html5shiv_3.7.2.zip b/InstallPackages/html5shiv_3.7.2.zip new file mode 100644 index 0000000000000000000000000000000000000000..2bdfc63d9b0beb5edf667cbdb157142d187aa381 GIT binary patch literal 7355 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 +

+ v 3.3

+ +

complete refactoring by jdalton

+ +
    +
  • huge performance improvement on createElement (more than 10 times faster compared to 3.2)
  • +
  • improved inline documentation
  • +

+ v 3.1/3.2

+ +
    +
  • fixed issue with vml elements
  • +
  • small performance improvement for createElement (1.6 times faster compared to 3.0)
  • +

+ v 3.0

+ +

Complete rewrite by jonathantneal

+ +
    +
  • print iframe fix
  • +
  • includes normalized styles for unknown elements
  • +
  • fixes createElement/createDocumentFragement for unknown elements
  • +

+ As of April 18th, 2011, html5shim, html5shiv, modernizr all have been updated to use iepp v2.

+ +

+ v2 changelog

+ +

here is the list of fixed issues and made changes. I have also added a list of known issues (The first one is really critical, but needs a lot work...).

+ +

+ Fixes:

+ +
    +
  • print error on second print/print preview
  • +
  • allow styling through body id (i.e.: body#some-id article)
  • +
  • wrong selector parsing in IE8 (subbug: @media print { } blocks in media=all stylesheets are ignored, but fixed a lot more than just that)
  • +
  • alternate/disabled stylesheets aren't parsed (can solve problems with mediaqueries polyfills/styleswitchers)
  • +
  • styles with multiple media declaration or mediaqueries (i.e.:media="screen, projection", media="only screen...") are not used as print styles (unless, they have print or all medium) (this also fixes a lot of slowness and crashes)
  • +
  • reset default media type to "all", with every new stylesheet (fixes errors, if a stylesheet had no media attribute, but the previous had a non-print media-attribute)
  • +

+ Features:

+ +

+ Configuration:

+ +
    +
  • iepp.html5elements: override shimed html5elements (developer can add additional html5elements or reduce the elements)
  • +
  • iepp.disablePP: disables print protection without disabling standard shiv (in case, print protection causes too much trouble, it's still a big hack)
  • +

+ Extras:

+ +
    +
  • simple testsuite
  • +
  • [unofficial] API (created for testing, but can be used for monkey patching)
  • +

+ Known issues:

+ +
    +
  • + @media screen {} blocks in media all are treated as print-styles (This would need a big rewrite)
  • +
  • selector order (Currently, this seems "by design", but should be changed. Also needs a big rewrite)
  • +
  • change of selector specificity (.iepp_article <-> article) (Currently this seems "by design", but for IE7 and IE8, it can be changed to[data-iepp-elem="article"]<-> article)
  • +

Before someone is looking into the first two known issues, we should create good performance tests. Fixing last issue only makes sense, if we also fix the selector order...

+ \ No newline at end of file diff --git a/html5shiv/html5shiv_3.7.2/LICENSE.htm b/html5shiv/html5shiv_3.7.2/LICENSE.htm new file mode 100644 index 00000000..7552c80f --- /dev/null +++ b/html5shiv/html5shiv_3.7.2/LICENSE.htm @@ -0,0 +1 @@ +

Dual licensed as MIT and GPL2

\ No newline at end of file diff --git a/html5shiv/html5shiv_3.7.2/html5shiv-printshiv.js b/html5shiv/html5shiv_3.7.2/html5shiv-printshiv.js new file mode 100644 index 00000000..c2913b51 --- /dev/null +++ b/html5shiv/html5shiv_3.7.2/html5shiv-printshiv.js @@ -0,0 +1,520 @@ +/** +* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +;(function(window, document) { +/*jshint evil:true */ + /** version */ + var version = '3.7.2'; + + /** Preset options */ + var options = window.html5 || {}; + + /** Used to skip problem elements */ + var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i; + + /** Not all elements can be cloned in IE **/ + var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i; + + /** Detect whether the browser supports default html5 styles */ + var supportsHtml5Styles; + + /** Name of the expando, to work with multiple documents or to re-shiv one document */ + var expando = '_html5shiv'; + + /** The id for the the documents expando */ + var expanID = 0; + + /** Cached data for each document */ + var expandoData = {}; + + /** Detect whether the browser supports unknown elements */ + var supportsUnknownElements; + + (function() { + try { + var a = document.createElement('a'); + a.innerHTML = ''; + //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles + supportsHtml5Styles = ('hidden' in a); + + supportsUnknownElements = a.childNodes.length == 1 || (function() { + // assign a false positive if unable to shiv + (document.createElement)('a'); + var frag = document.createDocumentFragment(); + return ( + typeof frag.cloneNode == 'undefined' || + typeof frag.createDocumentFragment == 'undefined' || + typeof frag.createElement == 'undefined' + ); + }()); + } catch(e) { + // assign a false positive if detection fails => unable to shiv + supportsHtml5Styles = true; + supportsUnknownElements = true; + } + + }()); + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a style sheet with the given CSS text and adds it to the document. + * @private + * @param {Document} ownerDocument The document. + * @param {String} cssText The CSS text. + * @returns {StyleSheet} The style element. + */ + function addStyleSheet(ownerDocument, cssText) { + var p = ownerDocument.createElement('p'), + parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement; + + p.innerHTML = 'x'; + return parent.insertBefore(p.lastChild, parent.firstChild); + } + + /** + * Returns the value of `html5.elements` as an array. + * @private + * @returns {Array} An array of shived element node names. + */ + function getElements() { + var elements = html5.elements; + return typeof elements == 'string' ? elements.split(' ') : elements; + } + + /** + * Extends the built-in list of html5 elements + * @memberOf html5 + * @param {String|Array} newElements whitespace separated list or array of new element names to shiv + * @param {Document} ownerDocument The context document. + */ + function addElements(newElements, ownerDocument) { + var elements = html5.elements; + if(typeof elements != 'string'){ + elements = elements.join(' '); + } + if(typeof newElements != 'string'){ + newElements = newElements.join(' '); + } + html5.elements = elements +' '+ newElements; + shivDocument(ownerDocument); + } + + /** + * Returns the data associated to the given document + * @private + * @param {Document} ownerDocument The document. + * @returns {Object} An object of data. + */ + function getExpandoData(ownerDocument) { + var data = expandoData[ownerDocument[expando]]; + if (!data) { + data = {}; + expanID++; + ownerDocument[expando] = expanID; + expandoData[expanID] = data; + } + return data; + } + + /** + * returns a shived element for the given nodeName and document + * @memberOf html5 + * @param {String} nodeName name of the element + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived element. + */ + function createElement(nodeName, ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createElement(nodeName); + } + if (!data) { + data = getExpandoData(ownerDocument); + } + var node; + + if (data.cache[nodeName]) { + node = data.cache[nodeName].cloneNode(); + } else if (saveClones.test(nodeName)) { + node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode(); + } else { + node = data.createElem(nodeName); + } + + // Avoid adding some elements to fragments in IE < 9 because + // * Attributes like `name` or `type` cannot be set/changed once an element + // is inserted into a document/fragment + // * Link elements with `src` attributes that are inaccessible, as with + // a 403 response, will cause the tab/window to crash + // * Script elements appended to fragments will execute when their `src` + // or `text` property is set + return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node; + } + + /** + * returns a shived DocumentFragment for the given document + * @memberOf html5 + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived DocumentFragment. + */ + function createDocumentFragment(ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createDocumentFragment(); + } + data = data || getExpandoData(ownerDocument); + var clone = data.frag.cloneNode(), + i = 0, + elems = getElements(), + l = elems.length; + for(;i+~])(' + getElements().join('|') + ')(?=[[\\s,>+~#.:]|$)', 'gi'), + replacement = '$1' + shivNamespace + '\\:$2'; + + while (index--) { + pair = parts[index] = parts[index].split('}'); + pair[pair.length - 1] = pair[pair.length - 1].replace(reElements, replacement); + parts[index] = pair.join('}'); + } + return parts.join('{'); + } + + /** + * Removes the given wrappers, leaving the original elements. + * @private + * @params {Array} wrappers An array of printable wrappers. + */ + function removeWrappers(wrappers) { + var index = wrappers.length; + while (index--) { + wrappers[index].removeNode(); + } + } + + /*--------------------------------------------------------------------------*/ + + /** + * Shivs the given document for print. + * @memberOf html5 + * @param {Document} ownerDocument The document to shiv. + * @returns {Document} The shived document. + */ + function shivPrint(ownerDocument) { + var shivedSheet, + wrappers, + data = getExpandoData(ownerDocument), + namespaces = ownerDocument.namespaces, + ownerWindow = ownerDocument.parentWindow; + + if (!supportsShivableSheets || ownerDocument.printShived) { + return ownerDocument; + } + if (typeof namespaces[shivNamespace] == 'undefined') { + namespaces.add(shivNamespace); + } + + function removeSheet() { + clearTimeout(data._removeSheetTimer); + if (shivedSheet) { + shivedSheet.removeNode(true); + } + shivedSheet= null; + } + + ownerWindow.attachEvent('onbeforeprint', function() { + + removeSheet(); + + var imports, + length, + sheet, + collection = ownerDocument.styleSheets, + cssText = [], + index = collection.length, + sheets = Array(index); + + // convert styleSheets collection to an array + while (index--) { + sheets[index] = collection[index]; + } + // concat all style sheet CSS text + while ((sheet = sheets.pop())) { + // IE does not enforce a same origin policy for external style sheets... + // but has trouble with some dynamically created stylesheets + if (!sheet.disabled && reMedia.test(sheet.media)) { + + try { + imports = sheet.imports; + length = imports.length; + } catch(er){ + length = 0; + } + + for (index = 0; index < length; index++) { + sheets.push(imports[index]); + } + + try { + cssText.push(sheet.cssText); + } catch(er){} + } + } + + // wrap all HTML5 elements with printable elements and add the shived style sheet + cssText = shivCssText(cssText.reverse().join('')); + wrappers = addWrappers(ownerDocument); + shivedSheet = addStyleSheet(ownerDocument, cssText); + + }); + + ownerWindow.attachEvent('onafterprint', function() { + // remove wrappers, leaving the original elements, and remove the shived style sheet + removeWrappers(wrappers); + clearTimeout(data._removeSheetTimer); + data._removeSheetTimer = setTimeout(removeSheet, 500); + }); + + ownerDocument.printShived = true; + return ownerDocument; + } + + /*--------------------------------------------------------------------------*/ + + // expose API + html5.type += ' print'; + html5.shivPrint = shivPrint; + + // shiv for print + shivPrint(document); + +}(this, document)); diff --git a/html5shiv/html5shiv_3.7.2/html5shiv.dnn b/html5shiv/html5shiv_3.7.2/html5shiv.dnn new file mode 100644 index 00000000..7d10fd3c --- /dev/null +++ b/html5shiv/html5shiv_3.7.2/html5shiv.dnn @@ -0,0 +1,39 @@ + + + + HTML5 Shiv + + The HTML5 Shiv enables use of HTML5 sectioning elements in legacy Internet Explorer and provides basic HTML5 styling for Internet Explorer 6-9, Safari 4.x (and iPhone 3.x), and Firefox 3.x. + This also includes the print shiv, a mechanism allowing HTML5 elements to be styled and contain children while being printed in IE 6-8. + + + Engage Software + Engage Software + http://www.engagesoftware.com + support@engagesoftware.com + + + + true + + + + html5shiv + html5shiv-printshiv.js + html5 + PageHead + https://cdn.jsdelivr.net/html5shiv/3.7.2/html5shiv-printshiv.min.js + + + + + html5shiv + + html5shiv-printshiv.js + + + + + + + \ No newline at end of file