mirror of
https://github.com/Polymer/polymer.git
synced 2026-08-19 01:14:44 -05:00
Merge branch 'master' into legacy-undefined-noBatch
This commit is contained in:
@@ -380,7 +380,8 @@ export const ElementMixin = dedupingMixin(base => {
|
||||
*/
|
||||
static createProperties(props) {
|
||||
for (let p in props) {
|
||||
createPropertyFromConfig(this.prototype, p, props[p], props);
|
||||
createPropertyFromConfig(
|
||||
/** @type {?} */ (this.prototype), p, props[p], props);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -473,6 +474,7 @@ export const ElementMixin = dedupingMixin(base => {
|
||||
* Set the template.
|
||||
*
|
||||
* @param {!HTMLTemplateElement|string} value Template to set.
|
||||
* @nocollapse
|
||||
*/
|
||||
static set template(value) {
|
||||
this._template = value;
|
||||
|
||||
@@ -154,7 +154,7 @@ export const PropertiesMixin = dedupingMixin(superClass => {
|
||||
static _finalizeClass() {
|
||||
const props = ownProperties(/** @type {!PropertiesMixinConstructor} */(this));
|
||||
if (props) {
|
||||
this.createProperties(props);
|
||||
/** @type {?} */ (this).createProperties(props);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@ export const PropertyAccessors = dedupingMixin(superClass => {
|
||||
* @nocollapse
|
||||
*/
|
||||
static createPropertiesForAttributes() {
|
||||
let a$ = this.observedAttributes;
|
||||
let a$ = /** @type {?} */ (this).observedAttributes;
|
||||
for (let i=0; i < a$.length; i++) {
|
||||
this.prototype._createPropertyAccessor(dashToCamelCase(a$[i]));
|
||||
}
|
||||
|
||||
@@ -199,13 +199,16 @@ export const TemplateStamp = dedupingMixin(
|
||||
static _parseTemplate(template, outerTemplateInfo) {
|
||||
// since a template may be re-used, memo-ize metadata
|
||||
if (!template._templateInfo) {
|
||||
let templateInfo = template._templateInfo = {};
|
||||
// TODO(rictic): fix typing
|
||||
let /** ? */ templateInfo = template._templateInfo = {};
|
||||
templateInfo.nodeInfoList = [];
|
||||
templateInfo.nestedTemplate = Boolean(outerTemplateInfo);
|
||||
templateInfo.stripWhiteSpace =
|
||||
(outerTemplateInfo && outerTemplateInfo.stripWhiteSpace) ||
|
||||
template.hasAttribute('strip-whitespace');
|
||||
this._parseTemplateContent(template, templateInfo, {parent: null});
|
||||
// TODO(rictic): fix typing
|
||||
this._parseTemplateContent(
|
||||
template, templateInfo, /** @type {?} */ ({parent: null}));
|
||||
}
|
||||
return template._templateInfo;
|
||||
}
|
||||
@@ -238,8 +241,8 @@ export const TemplateStamp = dedupingMixin(
|
||||
* @nocollapse
|
||||
*/
|
||||
static _parseTemplateNode(node, templateInfo, nodeInfo) {
|
||||
let noted;
|
||||
let element = /** @type {Element} */(node);
|
||||
let noted = false;
|
||||
let element = /** @type {!HTMLTemplateElement} */ (node);
|
||||
if (element.localName == 'template' && !element.hasAttribute('preserve-content')) {
|
||||
noted = this._parseTemplateNestedTemplate(element, templateInfo, nodeInfo) || noted;
|
||||
} else if (element.localName === 'slot') {
|
||||
@@ -247,7 +250,7 @@ export const TemplateStamp = dedupingMixin(
|
||||
templateInfo.hasInsertionPoint = true;
|
||||
}
|
||||
if (element.firstChild) {
|
||||
noted = this._parseTemplateChildNodes(element, templateInfo, nodeInfo) || noted;
|
||||
this._parseTemplateChildNodes(element, templateInfo, nodeInfo);
|
||||
}
|
||||
if (element.hasAttributes && element.hasAttributes()) {
|
||||
noted = this._parseTemplateNodeAttributes(element, templateInfo, nodeInfo) || noted;
|
||||
@@ -296,9 +299,10 @@ export const TemplateStamp = dedupingMixin(
|
||||
continue;
|
||||
}
|
||||
}
|
||||
let childInfo = { parentIndex, parentInfo: nodeInfo };
|
||||
let childInfo =
|
||||
/** @type {!NodeInfo} */ ({parentIndex, parentInfo: nodeInfo});
|
||||
if (this._parseTemplateNode(node, templateInfo, childInfo)) {
|
||||
childInfo.infoIndex = templateInfo.nodeInfoList.push(/** @type {!NodeInfo} */(childInfo)) - 1;
|
||||
childInfo.infoIndex = templateInfo.nodeInfoList.push(childInfo) - 1;
|
||||
}
|
||||
// Increment if not removed
|
||||
if (node.parentNode) {
|
||||
@@ -326,10 +330,12 @@ export const TemplateStamp = dedupingMixin(
|
||||
* @nocollapse
|
||||
*/
|
||||
static _parseTemplateNestedTemplate(node, outerTemplateInfo, nodeInfo) {
|
||||
let templateInfo = this._parseTemplate(node, outerTemplateInfo);
|
||||
// TODO(rictic): the type of node should be non-null
|
||||
let element = /** @type {!HTMLTemplateElement} */ (node);
|
||||
let templateInfo = this._parseTemplate(element, outerTemplateInfo);
|
||||
let content = templateInfo.content =
|
||||
node.content.ownerDocument.createDocumentFragment();
|
||||
content.appendChild(node.content);
|
||||
element.content.ownerDocument.createDocumentFragment();
|
||||
content.appendChild(element.content);
|
||||
nodeInfo.templateInfo = templateInfo;
|
||||
return true;
|
||||
}
|
||||
@@ -339,8 +345,9 @@ export const TemplateStamp = dedupingMixin(
|
||||
* for nodes of interest.
|
||||
*
|
||||
* @param {Element} node Node to parse
|
||||
* @param {TemplateInfo} templateInfo Template metadata for current template
|
||||
* @param {NodeInfo} nodeInfo Node metadata for current template.
|
||||
* @param {!TemplateInfo} templateInfo Template metadata for current
|
||||
* template
|
||||
* @param {!NodeInfo} nodeInfo Node metadata for current template.
|
||||
* @return {boolean} `true` if the visited node added node-specific
|
||||
* metadata to `nodeInfo`
|
||||
* @nocollapse
|
||||
|
||||
Generated
+778
-965
File diff suppressed because it is too large
Load Diff
+3
-3
@@ -20,7 +20,7 @@
|
||||
"eslint-plugin-html": "^4.0.6",
|
||||
"fs-extra": "^5.0.0",
|
||||
"google-closure-compiler": "^20180204.0.0",
|
||||
"gulp": "^4.0.0",
|
||||
"gulp": "^4.0.2",
|
||||
"gulp-babel": "^6.1.2",
|
||||
"gulp-eslint": "^4.0.0",
|
||||
"gulp-if": "^2.0.1",
|
||||
@@ -30,8 +30,8 @@
|
||||
"lazypipe": "^1.0.2",
|
||||
"merge-stream": "^1.0.1",
|
||||
"parse5": "^4.0.0",
|
||||
"polymer-build": "^3.1.3",
|
||||
"polymer-cli": "^1.9.8",
|
||||
"polymer-build": "^3.1.4",
|
||||
"polymer-cli": "^1.9.9",
|
||||
"through2": "^2.0.0",
|
||||
"typescript": "^2.9.2",
|
||||
"wct-browser-legacy": "^1.0.2"
|
||||
|
||||
Reference in New Issue
Block a user