making sync more efficient. using new connector features. found lots of small bugs

This commit is contained in:
DadaMonad
2015-01-06 10:29:50 +00:00
parent d2fa906b50
commit d898136f64
28 changed files with 683 additions and 432 deletions

View File

@@ -1,7 +1,7 @@
{
"name": "webcomponentsjs",
"main": "webcomponents.js",
"version": "0.5.1",
"version": "0.5.2",
"homepage": "http://webcomponents.org",
"authors": [
"The Polymer Authors"
@@ -11,13 +11,14 @@
],
"license": "BSD",
"ignore": [],
"_release": "0.5.1",
"_release": "0.5.2",
"_resolution": {
"type": "version",
"tag": "0.5.1",
"commit": "89c466eb29642c3e5ba2594e9330eb62ade1dbab"
"tag": "0.5.2",
"commit": "4f469f65d3fa3c03a44326d138331003fa340337"
},
"_source": "git://github.com/Polymer/webcomponentsjs.git",
"_target": "^0.5.0",
"_originalSource": "Polymer/webcomponentsjs"
"_target": "~0.5.2",
"_originalSource": "webcomponentsjs",
"_direct": true
}

View File

@@ -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.1
// @version 0.5.1-1
if (typeof WeakMap === "undefined") {
(function() {
var defineProperty = Object.defineProperty;
@@ -47,7 +47,7 @@ if (typeof WeakMap === "undefined") {
(function(global) {
var registrationsTable = new WeakMap();
var setImmediate;
if (/Trident/.test(navigator.userAgent)) {
if (/Trident|Edge/.test(navigator.userAgent)) {
setImmediate = setTimeout;
} else if (window.setImmediate) {
setImmediate = window.setImmediate;
@@ -868,6 +868,7 @@ CustomElements.addModule(function(scope) {
(function(scope) {
var useNative = scope.useNative;
var initializeModules = scope.initializeModules;
var isIE11OrOlder = /Trident/.test(navigator.userAgent);
if (useNative) {
var nop = function() {};
scope.watchShadow = nop;
@@ -911,7 +912,7 @@ CustomElements.addModule(function(scope) {
}));
});
}
if (typeof window.CustomEvent !== "function") {
if (isIE11OrOlder && typeof window.CustomEvent !== "function") {
window.CustomEvent = function(inType, params) {
params = params || {};
var e = document.createEvent("CustomEvent");

File diff suppressed because one or more lines are too long

View File

@@ -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.1
// @version 0.5.1-1
if (typeof WeakMap === "undefined") {
(function() {
var defineProperty = Object.defineProperty;
@@ -47,7 +47,7 @@ if (typeof WeakMap === "undefined") {
(function(global) {
var registrationsTable = new WeakMap();
var setImmediate;
if (/Trident/.test(navigator.userAgent)) {
if (/Trident|Edge/.test(navigator.userAgent)) {
setImmediate = setTimeout;
} else if (window.setImmediate) {
setImmediate = window.setImmediate;
@@ -365,7 +365,7 @@ window.HTMLImports = window.HTMLImports || {
};
Object.defineProperty(document, "_currentScript", currentScriptDescriptor);
Object.defineProperty(rootDocument, "_currentScript", currentScriptDescriptor);
var isIE = /Trident/.test(navigator.userAgent);
var isIE = /Trident|Edge/.test(navigator.userAgent);
function whenReady(callback, doc) {
doc = doc || rootDocument;
whenDocumentReady(function() {
@@ -787,12 +787,7 @@ HTMLImports.addModule(function(scope) {
},
addElementToDocument: function(elt) {
var port = this.rootImportForElement(elt.__importElement || elt);
var l = port.__insertedElements = port.__insertedElements || 0;
var refNode = port.nextElementSibling;
for (var i = 0; i < l; i++) {
refNode = refNode && refNode.nextElementSibling;
}
port.parentNode.insertBefore(elt, refNode);
port.parentNode.insertBefore(elt, port);
},
trackElement: function(elt, callback) {
var self = this;
@@ -972,7 +967,9 @@ HTMLImports.addModule(function(scope) {
var base = doc.createElement("base");
base.setAttribute("href", url);
if (!doc.baseURI) {
doc.baseURI = url;
Object.defineProperty(doc, "baseURI", {
value: url
});
}
var meta = doc.createElement("meta");
meta.setAttribute("charset", "utf-8");
@@ -1031,16 +1028,19 @@ HTMLImports.addModule(function(scope) {
});
(function(scope) {
initializeModules = scope.initializeModules;
var initializeModules = scope.initializeModules;
var isIE = scope.isIE;
if (scope.useNative) {
return;
}
if (typeof window.CustomEvent !== "function") {
window.CustomEvent = function(inType, dictionary) {
var e = document.createEvent("HTMLEvents");
e.initEvent(inType, dictionary.bubbles === false ? false : true, dictionary.cancelable === false ? false : true, dictionary.detail);
if (isIE && typeof window.CustomEvent !== "function") {
window.CustomEvent = function(inType, params) {
params = params || {};
var e = document.createEvent("CustomEvent");
e.initCustomEvent(inType, Boolean(params.bubbles), Boolean(params.cancelable), params.detail);
return e;
};
window.CustomEvent.prototype = window.Event.prototype;
}
initializeModules();
var rootDocument = scope.rootDocument;

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
webcomponents.js
================
A suite of polyfills supporting the HTML web components specs:
A suite of polyfills supporting the [Web Components](http://webcomponents.org) specs:
**Custom Elements**: allows authors to define their own custom tags ([spec](https://w3c.github.io/webcomponents/spec/custom/)).
@@ -14,7 +14,7 @@ This also folds in polyfills for `MutationObserver` and `WeakMap`.
## Releases
Pre-built (concatenated & minified) versions of the polyfills are maintained in the [tagged versions](https://github.com/Polymer/webcomponentsjs/releases) of this repo. There are two variants:
Pre-built (concatenated & minified) versions of the polyfills are maintained in the [tagged versions](https://github.com/webcomponents/webcomponentsjs/releases) of this repo. There are two variants:
`webcomponents.js` includes all of the polyfills.
@@ -36,3 +36,9 @@ Now you are ready to build the polyfills with:
gulp build
The builds will be placed into the `dist/` directory.
## Contribute
See the [contributing guide](CONTRIBUTING.md)

View File

@@ -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.1
// @version 0.5.1-1
if (typeof WeakMap === "undefined") {
(function() {
var defineProperty = Object.defineProperty;
@@ -1726,7 +1726,7 @@ window.ShadowDOMPolyfill = {};
var originalInsertBefore = OriginalNode.prototype.insertBefore;
var originalRemoveChild = OriginalNode.prototype.removeChild;
var originalReplaceChild = OriginalNode.prototype.replaceChild;
var isIe = /Trident/.test(navigator.userAgent);
var isIe = /Trident|Edge/.test(navigator.userAgent);
var removeChildOriginalHelper = isIe ? function(parent, child) {
try {
originalRemoveChild.call(parent, child);

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
{
"name": "webcomponentsjs",
"main": "webcomponents.js",
"version": "0.5.1",
"version": "0.5.2",
"homepage": "http://webcomponents.org",
"authors": [
"The Polymer Authors"

View File

@@ -0,0 +1,31 @@
BUILD LOG
---------
Build Time: 2014-12-11T12:45:39-0800
NODEJS INFORMATION
==================
nodejs: v0.10.33
gulp: 3.8.10
gulp-audit: 1.0.0
gulp-concat: 2.4.2
gulp-header: 1.2.2
gulp-uglify: 1.0.2
run-sequence: 1.0.2
web-component-tester: 2.0.1
REPO REVISIONS
==============
webcomponentsjs: d83cc676df65dc61db22bca47d33da679391f5a0
BUILD HASHES
============
CustomElements.js: b221f7741515b570df70fd1c50b398bb8f731b81
CustomElements.min.js: 6a55999d9f4895525d35c5248e2f409f176162a6
HTMLImports.js: 72dd4ea891dc3c5256c569992288eca9f5c5e450
HTMLImports.min.js: 1677819e83722c7d163a571598d8d36cdc8ae690
ShadowDOM.js: a1cce2304031d5acb440978761b346b98d06e1a4
ShadowDOM.min.js: 9371908d889872eb7e8e320e8877c394eb906732
webcomponents-lite.js: 7b6c8fbd7f67a2bd04b797a72e808b16ab54518f
webcomponents-lite.min.js: 41b033fa7e52bf612686f222d5a496d48bd2909c
webcomponents.js: 523f45c65c94d71543729f7e3d32ec4b7a48ae5b
webcomponents.min.js: 645b22d4c22bf6eaf470bc03d819d396661ac439

View File

@@ -0,0 +1,31 @@
{
"name": "webcomponents.js",
"version": "0.5.1-1",
"description": "webcomponents.js",
"main": "gulpfile.js",
"directories": {
"test": "tests"
},
"repository": {
"type": "git",
"url": "https://github.com/webcomponents/webcomponentsjs.git"
},
"author": "The Polymer Authors",
"license": {
"type": "BSD-3-Clause",
"url": "http://polymer.github.io/LICENSE.txt"
},
"bugs": {
"url": "https://github.com/webcomponents/webcomponentsjs/issues"
},
"homepage": "http://webcomponents.org",
"devDependencies": {
"gulp": "^3.8.8",
"gulp-audit": "^1.0.0",
"gulp-concat": "^2.4.1",
"gulp-header": "^1.1.1",
"gulp-uglify": "^1.0.1",
"run-sequence": "^1.0.1",
"web-component-tester": "*"
}
}

View File

@@ -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.1
// @version 0.5.1-1
window.WebComponents = window.WebComponents || {};
(function(scope) {
@@ -91,7 +91,7 @@ if (typeof WeakMap === "undefined") {
(function(global) {
var registrationsTable = new WeakMap();
var setImmediate;
if (/Trident/.test(navigator.userAgent)) {
if (/Trident|Edge/.test(navigator.userAgent)) {
setImmediate = setTimeout;
} else if (window.setImmediate) {
setImmediate = window.setImmediate;
@@ -409,7 +409,7 @@ window.HTMLImports = window.HTMLImports || {
};
Object.defineProperty(document, "_currentScript", currentScriptDescriptor);
Object.defineProperty(rootDocument, "_currentScript", currentScriptDescriptor);
var isIE = /Trident/.test(navigator.userAgent);
var isIE = /Trident|Edge/.test(navigator.userAgent);
function whenReady(callback, doc) {
doc = doc || rootDocument;
whenDocumentReady(function() {
@@ -831,12 +831,7 @@ HTMLImports.addModule(function(scope) {
},
addElementToDocument: function(elt) {
var port = this.rootImportForElement(elt.__importElement || elt);
var l = port.__insertedElements = port.__insertedElements || 0;
var refNode = port.nextElementSibling;
for (var i = 0; i < l; i++) {
refNode = refNode && refNode.nextElementSibling;
}
port.parentNode.insertBefore(elt, refNode);
port.parentNode.insertBefore(elt, port);
},
trackElement: function(elt, callback) {
var self = this;
@@ -1016,7 +1011,9 @@ HTMLImports.addModule(function(scope) {
var base = doc.createElement("base");
base.setAttribute("href", url);
if (!doc.baseURI) {
doc.baseURI = url;
Object.defineProperty(doc, "baseURI", {
value: url
});
}
var meta = doc.createElement("meta");
meta.setAttribute("charset", "utf-8");
@@ -1075,16 +1072,19 @@ HTMLImports.addModule(function(scope) {
});
(function(scope) {
initializeModules = scope.initializeModules;
var initializeModules = scope.initializeModules;
var isIE = scope.isIE;
if (scope.useNative) {
return;
}
if (typeof window.CustomEvent !== "function") {
window.CustomEvent = function(inType, dictionary) {
var e = document.createEvent("HTMLEvents");
e.initEvent(inType, dictionary.bubbles === false ? false : true, dictionary.cancelable === false ? false : true, dictionary.detail);
if (isIE && typeof window.CustomEvent !== "function") {
window.CustomEvent = function(inType, params) {
params = params || {};
var e = document.createEvent("CustomEvent");
e.initCustomEvent(inType, Boolean(params.bubbles), Boolean(params.cancelable), params.detail);
return e;
};
window.CustomEvent.prototype = window.Event.prototype;
}
initializeModules();
var rootDocument = scope.rootDocument;
@@ -1622,6 +1622,7 @@ CustomElements.addModule(function(scope) {
(function(scope) {
var useNative = scope.useNative;
var initializeModules = scope.initializeModules;
var isIE11OrOlder = /Trident/.test(navigator.userAgent);
if (useNative) {
var nop = function() {};
scope.watchShadow = nop;
@@ -1665,7 +1666,7 @@ CustomElements.addModule(function(scope) {
}));
});
}
if (typeof window.CustomEvent !== "function") {
if (isIE11OrOlder && typeof window.CustomEvent !== "function") {
window.CustomEvent = function(inType, params) {
params = params || {};
var e = document.createEvent("CustomEvent");
@@ -1684,6 +1685,32 @@ CustomElements.addModule(function(scope) {
}
})(window.CustomElements);
if (typeof HTMLTemplateElement === "undefined") {
(function() {
var TEMPLATE_TAG = "template";
HTMLTemplateElement = function() {};
HTMLTemplateElement.prototype = Object.create(HTMLElement.prototype);
HTMLTemplateElement.decorate = function(template) {
if (!template.content) {
template.content = template.ownerDocument.createDocumentFragment();
var child;
while (child = template.firstChild) {
template.content.appendChild(child);
}
}
};
HTMLTemplateElement.bootstrap = function(doc) {
var templates = doc.querySelectorAll(TEMPLATE_TAG);
for (var i = 0, l = templates.length, t; i < l && (t = templates[i]); i++) {
HTMLTemplateElement.decorate(t);
}
};
addEventListener("DOMContentLoaded", function() {
HTMLTemplateElement.bootstrap(document);
});
})();
}
(function(scope) {
var style = document.createElement("style");
style.textContent = "" + "body {" + "transition: opacity ease-in 0.2s;" + " } \n" + "body[unresolved] {" + "opacity: 0; display: block; overflow: hidden; position: relative;" + " } \n";

File diff suppressed because one or more lines are too long

View File

@@ -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.1
// @version 0.5.1-1
window.WebComponents = window.WebComponents || {};
(function(scope) {
@@ -1760,7 +1760,7 @@ if (WebComponents.flags.shadow) {
var originalInsertBefore = OriginalNode.prototype.insertBefore;
var originalRemoveChild = OriginalNode.prototype.removeChild;
var originalReplaceChild = OriginalNode.prototype.replaceChild;
var isIe = /Trident/.test(navigator.userAgent);
var isIe = /Trident|Edge/.test(navigator.userAgent);
var removeChildOriginalHelper = isIe ? function(parent, child) {
try {
originalRemoveChild.call(parent, child);
@@ -4695,7 +4695,7 @@ if (WebComponents.flags.shadow) {
(function(global) {
var registrationsTable = new WeakMap();
var setImmediate;
if (/Trident/.test(navigator.userAgent)) {
if (/Trident|Edge/.test(navigator.userAgent)) {
setImmediate = setTimeout;
} else if (window.setImmediate) {
setImmediate = window.setImmediate;
@@ -5013,7 +5013,7 @@ window.HTMLImports = window.HTMLImports || {
};
Object.defineProperty(document, "_currentScript", currentScriptDescriptor);
Object.defineProperty(rootDocument, "_currentScript", currentScriptDescriptor);
var isIE = /Trident/.test(navigator.userAgent);
var isIE = /Trident|Edge/.test(navigator.userAgent);
function whenReady(callback, doc) {
doc = doc || rootDocument;
whenDocumentReady(function() {
@@ -5435,12 +5435,7 @@ HTMLImports.addModule(function(scope) {
},
addElementToDocument: function(elt) {
var port = this.rootImportForElement(elt.__importElement || elt);
var l = port.__insertedElements = port.__insertedElements || 0;
var refNode = port.nextElementSibling;
for (var i = 0; i < l; i++) {
refNode = refNode && refNode.nextElementSibling;
}
port.parentNode.insertBefore(elt, refNode);
port.parentNode.insertBefore(elt, port);
},
trackElement: function(elt, callback) {
var self = this;
@@ -5620,7 +5615,9 @@ HTMLImports.addModule(function(scope) {
var base = doc.createElement("base");
base.setAttribute("href", url);
if (!doc.baseURI) {
doc.baseURI = url;
Object.defineProperty(doc, "baseURI", {
value: url
});
}
var meta = doc.createElement("meta");
meta.setAttribute("charset", "utf-8");
@@ -5679,16 +5676,19 @@ HTMLImports.addModule(function(scope) {
});
(function(scope) {
initializeModules = scope.initializeModules;
var initializeModules = scope.initializeModules;
var isIE = scope.isIE;
if (scope.useNative) {
return;
}
if (typeof window.CustomEvent !== "function") {
window.CustomEvent = function(inType, dictionary) {
var e = document.createEvent("HTMLEvents");
e.initEvent(inType, dictionary.bubbles === false ? false : true, dictionary.cancelable === false ? false : true, dictionary.detail);
if (isIE && typeof window.CustomEvent !== "function") {
window.CustomEvent = function(inType, params) {
params = params || {};
var e = document.createEvent("CustomEvent");
e.initCustomEvent(inType, Boolean(params.bubbles), Boolean(params.cancelable), params.detail);
return e;
};
window.CustomEvent.prototype = window.Event.prototype;
}
initializeModules();
var rootDocument = scope.rootDocument;
@@ -6226,6 +6226,7 @@ CustomElements.addModule(function(scope) {
(function(scope) {
var useNative = scope.useNative;
var initializeModules = scope.initializeModules;
var isIE11OrOlder = /Trident/.test(navigator.userAgent);
if (useNative) {
var nop = function() {};
scope.watchShadow = nop;
@@ -6269,7 +6270,7 @@ CustomElements.addModule(function(scope) {
}));
});
}
if (typeof window.CustomEvent !== "function") {
if (isIE11OrOlder && typeof window.CustomEvent !== "function") {
window.CustomEvent = function(inType, params) {
params = params || {};
var e = document.createEvent("CustomEvent");

File diff suppressed because one or more lines are too long