Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(116)

Unified Diff: polymer_1.0.4/bower_components/webcomponentsjs/CustomElements.js

Issue 1205703007: Add polymer 1.0 to npm_modules (Closed) Base URL: https://chromium.googlesource.com/infra/third_party/npm_modules.git@master
Patch Set: Renamed folder to 1.0.4 Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: polymer_1.0.4/bower_components/webcomponentsjs/CustomElements.js
diff --git a/polymer_0.5.4/bower_components/webcomponentsjs/CustomElements.js b/polymer_1.0.4/bower_components/webcomponentsjs/CustomElements.js
similarity index 90%
copy from polymer_0.5.4/bower_components/webcomponentsjs/CustomElements.js
copy to polymer_1.0.4/bower_components/webcomponentsjs/CustomElements.js
index 530a0e1c3042481ea55fdf3b80821efd8738da2b..ae4af3b5b1e95e6e7c3a1811964b219ba3d93dad 100644
--- a/polymer_0.5.4/bower_components/webcomponentsjs/CustomElements.js
+++ b/polymer_1.0.4/bower_components/webcomponentsjs/CustomElements.js
@@ -7,7 +7,7 @@
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
*/
-// @version 0.5.4
+// @version 0.7.5
if (typeof WeakMap === "undefined") {
(function() {
var defineProperty = Object.defineProperty;
@@ -315,7 +315,6 @@ if (typeof WeakMap === "undefined") {
this.addTransientObserver(e.target);
case "DOMNodeInserted":
- var target = e.relatedNode;
var changedNode = e.target;
var addedNodes, removedNodes;
if (e.type === "DOMNodeInserted") {
@@ -327,12 +326,12 @@ if (typeof WeakMap === "undefined") {
}
var previousSibling = changedNode.previousSibling;
var nextSibling = changedNode.nextSibling;
- var record = getRecord("childList", target);
+ var record = getRecord("childList", e.target.parentNode);
record.addedNodes = addedNodes;
record.removedNodes = removedNodes;
record.previousSibling = previousSibling;
record.nextSibling = nextSibling;
- forEachAncestorAndObserverEnqueueRecord(target, function(options) {
+ forEachAncestorAndObserverEnqueueRecord(e.relatedNode, function(options) {
if (!options.childList) return;
return record;
});
@@ -362,11 +361,11 @@ window.CustomElements = window.CustomElements || {
scope.addModule = addModule;
scope.initializeModules = initializeModules;
scope.hasNative = Boolean(document.registerElement);
- scope.useNative = !flags.register && scope.hasNative && !window.ShadowDOMPolyfill && (!window.HTMLImports || HTMLImports.useNative);
-})(CustomElements);
+ scope.useNative = !flags.register && scope.hasNative && !window.ShadowDOMPolyfill && (!window.HTMLImports || window.HTMLImports.useNative);
+})(window.CustomElements);
-CustomElements.addModule(function(scope) {
- var IMPORT_LINK_TYPE = window.HTMLImports ? HTMLImports.IMPORT_LINK_TYPE : "none";
+window.CustomElements.addModule(function(scope) {
+ var IMPORT_LINK_TYPE = window.HTMLImports ? window.HTMLImports.IMPORT_LINK_TYPE : "none";
function forSubtree(node, cb) {
findAllElements(node, function(e) {
if (cb(e)) {
@@ -399,14 +398,11 @@ CustomElements.addModule(function(scope) {
root = root.olderShadowRoot;
}
}
- var processingDocuments;
function forDocumentTree(doc, cb) {
- processingDocuments = [];
- _forDocumentTree(doc, cb);
- processingDocuments = null;
+ _forDocumentTree(doc, cb, []);
}
- function _forDocumentTree(doc, cb) {
- doc = wrap(doc);
+ function _forDocumentTree(doc, cb, processingDocuments) {
+ doc = window.wrap(doc);
if (processingDocuments.indexOf(doc) >= 0) {
return;
}
@@ -414,7 +410,7 @@ CustomElements.addModule(function(scope) {
var imports = doc.querySelectorAll("link[rel=" + IMPORT_LINK_TYPE + "]");
for (var i = 0, l = imports.length, n; i < l && (n = imports[i]); i++) {
if (n.import) {
- _forDocumentTree(n.import, cb);
+ _forDocumentTree(n.import, cb, processingDocuments);
}
}
cb(doc);
@@ -423,7 +419,7 @@ CustomElements.addModule(function(scope) {
scope.forSubtree = forSubtree;
});
-CustomElements.addModule(function(scope) {
+window.CustomElements.addModule(function(scope) {
var flags = scope.flags;
var forSubtree = scope.forSubtree;
var forDocumentTree = scope.forDocumentTree;
@@ -521,7 +517,7 @@ CustomElements.addModule(function(scope) {
if (p == doc) {
return true;
}
- p = p.parentNode || p.host;
+ p = p.parentNode || p.nodeType === Node.DOCUMENT_FRAGMENT_NODE && p.host;
}
}
function watchShadow(node) {
@@ -568,9 +564,9 @@ CustomElements.addModule(function(scope) {
flags.dom && console.groupEnd();
}
function takeRecords(node) {
- node = wrap(node);
+ node = window.wrap(node);
if (!node) {
- node = wrap(document);
+ node = window.wrap(document);
}
while (node.parentNode) {
node = node.parentNode;
@@ -594,7 +590,7 @@ CustomElements.addModule(function(scope) {
inRoot.__observer = observer;
}
function upgradeDocument(doc) {
- doc = wrap(doc);
+ doc = window.wrap(doc);
flags.dom && console.group("upgradeDocument: ", doc.baseURI.split("/").pop());
addedNode(doc);
observe(doc);
@@ -604,11 +600,13 @@ CustomElements.addModule(function(scope) {
forDocumentTree(doc, upgradeDocument);
}
var originalCreateShadowRoot = Element.prototype.createShadowRoot;
- Element.prototype.createShadowRoot = function() {
- var root = originalCreateShadowRoot.call(this);
- CustomElements.watchShadow(this);
- return root;
- };
+ if (originalCreateShadowRoot) {
+ Element.prototype.createShadowRoot = function() {
+ var root = originalCreateShadowRoot.call(this);
+ window.CustomElements.watchShadow(this);
+ return root;
+ };
+ }
scope.watchShadow = watchShadow;
scope.upgradeDocumentTree = upgradeDocumentTree;
scope.upgradeSubtree = addedSubtree;
@@ -617,7 +615,7 @@ CustomElements.addModule(function(scope) {
scope.takeRecords = takeRecords;
});
-CustomElements.addModule(function(scope) {
+window.CustomElements.addModule(function(scope) {
var flags = scope.flags;
function upgrade(node) {
if (!node.__upgraded__ && node.nodeType === Node.ELEMENT_NODE) {
@@ -677,9 +675,10 @@ CustomElements.addModule(function(scope) {
scope.implementPrototype = implementPrototype;
});
-CustomElements.addModule(function(scope) {
+window.CustomElements.addModule(function(scope) {
+ var isIE11OrOlder = scope.isIE11OrOlder;
var upgradeDocumentTree = scope.upgradeDocumentTree;
- var upgrade = scope.upgrade;
+ var upgradeAll = scope.upgradeAll;
var upgradeWithDefinition = scope.upgradeWithDefinition;
var implementPrototype = scope.implementPrototype;
var useNative = scope.useNative;
@@ -808,6 +807,12 @@ CustomElements.addModule(function(scope) {
}
}
function createElement(tag, typeExtension) {
+ if (tag) {
+ tag = tag.toLowerCase();
+ }
+ if (typeExtension) {
+ typeExtension = typeExtension.toLowerCase();
+ }
var definition = getRegisteredDefinition(typeExtension || tag);
if (definition) {
if (tag == definition.tag && typeExtension == definition.is) {
@@ -829,14 +834,8 @@ CustomElements.addModule(function(scope) {
}
return element;
}
- function cloneNode(deep) {
- var n = domCloneNode.call(this, deep);
- upgrade(n);
- return n;
- }
var domCreateElement = document.createElement.bind(document);
var domCreateElementNS = document.createElementNS.bind(document);
- var domCloneNode = Node.prototype.cloneNode;
var isInstance;
if (!Object.__proto__ && !useNative) {
isInstance = function(obj, ctor) {
@@ -854,10 +853,34 @@ CustomElements.addModule(function(scope) {
return obj instanceof base;
};
}
+ function wrapDomMethodToForceUpgrade(obj, methodName) {
+ var orig = obj[methodName];
+ obj[methodName] = function() {
+ var n = orig.apply(this, arguments);
+ upgradeAll(n);
+ return n;
+ };
+ }
+ wrapDomMethodToForceUpgrade(Node.prototype, "cloneNode");
+ wrapDomMethodToForceUpgrade(document, "importNode");
+ if (isIE11OrOlder) {
+ (function() {
+ var importNode = document.importNode;
+ document.importNode = function() {
+ var n = importNode.apply(document, arguments);
+ if (n.nodeType == n.DOCUMENT_FRAGMENT_NODE) {
+ var f = document.createDocumentFragment();
+ f.appendChild(n);
+ return f;
+ } else {
+ return n;
+ }
+ };
+ })();
+ }
document.registerElement = register;
document.createElement = createElement;
document.createElementNS = createElementNS;
- Node.prototype.cloneNode = cloneNode;
scope.registry = registry;
scope.instanceof = isInstance;
scope.reservedTagList = reservedTagList;
@@ -886,8 +909,8 @@ CustomElements.addModule(function(scope) {
var upgradeDocumentTree = scope.upgradeDocumentTree;
if (!window.wrap) {
if (window.ShadowDOMPolyfill) {
- window.wrap = ShadowDOMPolyfill.wrapIfNeeded;
- window.unwrap = ShadowDOMPolyfill.unwrapIfNeeded;
+ window.wrap = window.ShadowDOMPolyfill.wrapIfNeeded;
+ window.unwrap = window.ShadowDOMPolyfill.unwrapIfNeeded;
} else {
window.wrap = window.unwrap = function(node) {
return node;
@@ -895,17 +918,17 @@ CustomElements.addModule(function(scope) {
}
}
function bootstrap() {
- upgradeDocumentTree(wrap(document));
+ upgradeDocumentTree(window.wrap(document));
if (window.HTMLImports) {
- HTMLImports.__importsParsingHook = function(elt) {
+ window.HTMLImports.__importsParsingHook = function(elt) {
upgradeDocumentTree(wrap(elt.import));
};
}
- CustomElements.ready = true;
+ window.CustomElements.ready = true;
setTimeout(function() {
- CustomElements.readyTime = Date.now();
+ window.CustomElements.readyTime = Date.now();
if (window.HTMLImports) {
- CustomElements.elapsed = CustomElements.readyTime - HTMLImports.readyTime;
+ window.CustomElements.elapsed = window.CustomElements.readyTime - window.HTMLImports.readyTime;
}
document.dispatchEvent(new CustomEvent("WebComponentsReady", {
bubbles: true
@@ -917,6 +940,13 @@ CustomElements.addModule(function(scope) {
params = params || {};
var e = document.createEvent("CustomEvent");
e.initCustomEvent(inType, Boolean(params.bubbles), Boolean(params.cancelable), params.detail);
+ e.preventDefault = function() {
+ Object.defineProperty(this, "defaultPrevented", {
+ get: function() {
+ return true;
+ }
+ });
+ };
return e;
};
window.CustomEvent.prototype = window.Event.prototype;
@@ -926,7 +956,8 @@ CustomElements.addModule(function(scope) {
} else if (document.readyState === "interactive" && !window.attachEvent && (!window.HTMLImports || window.HTMLImports.ready)) {
bootstrap();
} else {
- var loadEvent = window.HTMLImports && !HTMLImports.ready ? "HTMLImportsLoaded" : "DOMContentLoaded";
+ var loadEvent = window.HTMLImports && !window.HTMLImports.ready ? "HTMLImportsLoaded" : "DOMContentLoaded";
window.addEventListener(loadEvent, bootstrap);
}
+ scope.isIE11OrOlder = isIE11OrOlder;
})(window.CustomElements);

Powered by Google App Engine
This is Rietveld 408576698