Skip to content

Commit 9aa7730

Browse files
authored
Replace contents of html5.js
1 parent fcde7c1 commit 9aa7730

File tree

1 file changed

+1
-326
lines changed
  • src/wp-content/themes/twentysixteen/js

1 file changed

+1
-326
lines changed
Lines changed: 1 addition & 326 deletions
Original file line numberDiff line numberDiff line change
@@ -1,326 +1 @@
1-
/**
2-
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
3-
*/
4-
;(function(window, document) {
5-
/*jshint evil:true */
6-
/** version */
7-
var version = '3.7.3';
8-
9-
/** Preset options */
10-
var options = window.html5 || {};
11-
12-
/** Used to skip problem elements */
13-
var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
14-
15-
/** Not all elements can be cloned in IE **/
16-
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;
17-
18-
/** Detect whether the browser supports default html5 styles */
19-
var supportsHtml5Styles;
20-
21-
/** Name of the expando, to work with multiple documents or to re-shiv one document */
22-
var expando = '_html5shiv';
23-
24-
/** The id for the the documents expando */
25-
var expanID = 0;
26-
27-
/** Cached data for each document */
28-
var expandoData = {};
29-
30-
/** Detect whether the browser supports unknown elements */
31-
var supportsUnknownElements;
32-
33-
(function() {
34-
try {
35-
var a = document.createElement('a');
36-
a.innerHTML = '<xyz></xyz>';
37-
//if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
38-
supportsHtml5Styles = ('hidden' in a);
39-
40-
supportsUnknownElements = a.childNodes.length == 1 || (function() {
41-
// assign a false positive if unable to shiv
42-
(document.createElement)('a');
43-
var frag = document.createDocumentFragment();
44-
return (
45-
typeof frag.cloneNode == 'undefined' ||
46-
typeof frag.createDocumentFragment == 'undefined' ||
47-
typeof frag.createElement == 'undefined'
48-
);
49-
}());
50-
} catch(e) {
51-
// assign a false positive if detection fails => unable to shiv
52-
supportsHtml5Styles = true;
53-
supportsUnknownElements = true;
54-
}
55-
56-
}());
57-
58-
/*--------------------------------------------------------------------------*/
59-
60-
/**
61-
* Creates a style sheet with the given CSS text and adds it to the document.
62-
* @private
63-
* @param {Document} ownerDocument The document.
64-
* @param {String} cssText The CSS text.
65-
* @returns {StyleSheet} The style element.
66-
*/
67-
function addStyleSheet(ownerDocument, cssText) {
68-
var p = ownerDocument.createElement('p'),
69-
parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
70-
71-
p.innerHTML = 'x<style>' + cssText + '</style>';
72-
return parent.insertBefore(p.lastChild, parent.firstChild);
73-
}
74-
75-
/**
76-
* Returns the value of `html5.elements` as an array.
77-
* @private
78-
* @returns {Array} An array of shived element node names.
79-
*/
80-
function getElements() {
81-
var elements = html5.elements;
82-
return typeof elements == 'string' ? elements.split(' ') : elements;
83-
}
84-
85-
/**
86-
* Extends the built-in list of html5 elements
87-
* @memberOf html5
88-
* @param {String|Array} newElements whitespace separated list or array of new element names to shiv
89-
* @param {Document} ownerDocument The context document.
90-
*/
91-
function addElements(newElements, ownerDocument) {
92-
var elements = html5.elements;
93-
if(typeof elements != 'string'){
94-
elements = elements.join(' ');
95-
}
96-
if(typeof newElements != 'string'){
97-
newElements = newElements.join(' ');
98-
}
99-
html5.elements = elements +' '+ newElements;
100-
shivDocument(ownerDocument);
101-
}
102-
103-
/**
104-
* Returns the data associated to the given document
105-
* @private
106-
* @param {Document} ownerDocument The document.
107-
* @returns {Object} An object of data.
108-
*/
109-
function getExpandoData(ownerDocument) {
110-
var data = expandoData[ownerDocument[expando]];
111-
if (!data) {
112-
data = {};
113-
expanID++;
114-
ownerDocument[expando] = expanID;
115-
expandoData[expanID] = data;
116-
}
117-
return data;
118-
}
119-
120-
/**
121-
* returns a shived element for the given nodeName and document
122-
* @memberOf html5
123-
* @param {String} nodeName name of the element
124-
* @param {Document|DocumentFragment} ownerDocument The context document.
125-
* @returns {Object} The shived element.
126-
*/
127-
function createElement(nodeName, ownerDocument, data){
128-
if (!ownerDocument) {
129-
ownerDocument = document;
130-
}
131-
if(supportsUnknownElements){
132-
return ownerDocument.createElement(nodeName);
133-
}
134-
if (!data) {
135-
data = getExpandoData(ownerDocument);
136-
}
137-
var node;
138-
139-
if (data.cache[nodeName]) {
140-
node = data.cache[nodeName].cloneNode();
141-
} else if (saveClones.test(nodeName)) {
142-
node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
143-
} else {
144-
node = data.createElem(nodeName);
145-
}
146-
147-
// Avoid adding some elements to fragments in IE < 9 because
148-
// * Attributes like `name` or `type` cannot be set/changed once an element
149-
// is inserted into a document/fragment
150-
// * Link elements with `src` attributes that are inaccessible, as with
151-
// a 403 response, will cause the tab/window to crash
152-
// * Script elements appended to fragments will execute when their `src`
153-
// or `text` property is set
154-
return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
155-
}
156-
157-
/**
158-
* returns a shived DocumentFragment for the given document
159-
* @memberOf html5
160-
* @param {Document} ownerDocument The context document.
161-
* @returns {Object} The shived DocumentFragment.
162-
*/
163-
function createDocumentFragment(ownerDocument, data){
164-
if (!ownerDocument) {
165-
ownerDocument = document;
166-
}
167-
if(supportsUnknownElements){
168-
return ownerDocument.createDocumentFragment();
169-
}
170-
data = data || getExpandoData(ownerDocument);
171-
var clone = data.frag.cloneNode(),
172-
i = 0,
173-
elems = getElements(),
174-
l = elems.length;
175-
for(;i<l;i++){
176-
clone.createElement(elems[i]);
177-
}
178-
return clone;
179-
}
180-
181-
/**
182-
* Shivs the `createElement` and `createDocumentFragment` methods of the document.
183-
* @private
184-
* @param {Document|DocumentFragment} ownerDocument The document.
185-
* @param {Object} data of the document.
186-
*/
187-
function shivMethods(ownerDocument, data) {
188-
if (!data.cache) {
189-
data.cache = {};
190-
data.createElem = ownerDocument.createElement;
191-
data.createFrag = ownerDocument.createDocumentFragment;
192-
data.frag = data.createFrag();
193-
}
194-
195-
196-
ownerDocument.createElement = function(nodeName) {
197-
//abort shiv
198-
if (!html5.shivMethods) {
199-
return data.createElem(nodeName);
200-
}
201-
return createElement(nodeName, ownerDocument, data);
202-
};
203-
204-
ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
205-
'var n=f.cloneNode(),c=n.createElement;' +
206-
'h.shivMethods&&(' +
207-
// unroll the `createElement` calls
208-
getElements().join().replace(/[\w\-:]+/g, function(nodeName) {
209-
data.createElem(nodeName);
210-
data.frag.createElement(nodeName);
211-
return 'c("' + nodeName + '")';
212-
}) +
213-
');return n}'
214-
)(html5, data.frag);
215-
}
216-
217-
/*--------------------------------------------------------------------------*/
218-
219-
/**
220-
* Shivs the given document.
221-
* @memberOf html5
222-
* @param {Document} ownerDocument The document to shiv.
223-
* @returns {Document} The shived document.
224-
*/
225-
function shivDocument(ownerDocument) {
226-
if (!ownerDocument) {
227-
ownerDocument = document;
228-
}
229-
var data = getExpandoData(ownerDocument);
230-
231-
if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
232-
data.hasCSS = !!addStyleSheet(ownerDocument,
233-
// corrects block display not defined in IE6/7/8/9
234-
'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
235-
// adds styling not present in IE6/7/8/9
236-
'mark{background:#FF0;color:#000}' +
237-
// hides non-rendered elements
238-
'template{display:none}'
239-
);
240-
}
241-
if (!supportsUnknownElements) {
242-
shivMethods(ownerDocument, data);
243-
}
244-
return ownerDocument;
245-
}
246-
247-
/*--------------------------------------------------------------------------*/
248-
249-
/**
250-
* The `html5` object is exposed so that more elements can be shived and
251-
* existing shiving can be detected on iframes.
252-
* @type Object
253-
* @example
254-
*
255-
* // options can be changed before the script is included
256-
* html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
257-
*/
258-
var html5 = {
259-
260-
/**
261-
* An array or space separated string of node names of the elements to shiv.
262-
* @memberOf html5
263-
* @type Array|String
264-
*/
265-
'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video',
266-
267-
/**
268-
* current version of html5shiv
269-
*/
270-
'version': version,
271-
272-
/**
273-
* A flag to indicate that the HTML5 style sheet should be inserted.
274-
* @memberOf html5
275-
* @type Boolean
276-
*/
277-
'shivCSS': (options.shivCSS !== false),
278-
279-
/**
280-
* Is equal to true if a browser supports creating unknown/HTML5 elements
281-
* @memberOf html5
282-
* @type boolean
283-
*/
284-
'supportsUnknownElements': supportsUnknownElements,
285-
286-
/**
287-
* A flag to indicate that the document's `createElement` and `createDocumentFragment`
288-
* methods should be overwritten.
289-
* @memberOf html5
290-
* @type Boolean
291-
*/
292-
'shivMethods': (options.shivMethods !== false),
293-
294-
/**
295-
* A string to describe the type of `html5` object ("default" or "default print").
296-
* @memberOf html5
297-
* @type String
298-
*/
299-
'type': 'default',
300-
301-
// shivs the document according to the specified `html5` object options
302-
'shivDocument': shivDocument,
303-
304-
//creates a shived element
305-
createElement: createElement,
306-
307-
//creates a shived documentFragment
308-
createDocumentFragment: createDocumentFragment,
309-
310-
//extends list of elements
311-
addElements: addElements
312-
};
313-
314-
/*--------------------------------------------------------------------------*/
315-
316-
// expose html5
317-
window.html5 = html5;
318-
319-
// shiv the document
320-
shivDocument(document);
321-
322-
if(typeof module == 'object' && module.exports){
323-
module.exports = html5;
324-
}
325-
326-
}(typeof window !== "undefined" ? window : this, document));
1+
// This theme does not support Internet Explorer since version 3.7.

0 commit comments

Comments
 (0)