Merge branch 'master' into legacy-undefined-noBatch

This commit is contained in:
Daniel Freedman
2019-05-22 11:26:39 -07:00
6 changed files with 805 additions and 983 deletions
+3 -1
View File
@@ -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;
+1 -1
View File
@@ -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);
}
}
+1 -1
View File
@@ -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]));
}
+19 -12
View File
@@ -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
+778 -965
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -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"