Skip to content

Commit

Permalink
Fix custom-element double registration tests (#5014)
Browse files Browse the repository at this point in the history
  • Loading branch information
dvoytenko authored Sep 15, 2016
1 parent 6997184 commit f6c073e
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/element-stub.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export class ElementStub extends BaseElement {
const name = element.tagName.toLowerCase();
if (!loadingChecked[name]) {
loadingChecked[name] = true;
extensionsFor(this.win).loadExtension(name);
extensionsFor(this.win).loadExtension(name, /* stubElement */ false);
}
stubbedElements.push(this);
}
Expand Down
12 changes: 8 additions & 4 deletions src/service/extensions-impl.js
Original file line number Diff line number Diff line change
Expand Up @@ -208,14 +208,15 @@ export class Extensions {
* Returns the promise that will be resolved when the extension has been
* loaded. If necessary, adds the extension script to the page.
* @param {string} extensionId
* @param {boolean=} stubElement
* @return {!Promise<!ExtensionDef>}
*/
loadExtension(extensionId) {
loadExtension(extensionId, stubElement = true) {
if (extensionId == 'amp-embed') {
extensionId = 'amp-ad';
}
const holder = this.getExtensionHolder_(extensionId);
this.insertExtensionScriptIfNeeded_(extensionId, holder);
this.insertExtensionScriptIfNeeded_(extensionId, holder, stubElement);
return this.waitFor_(holder);
}

Expand Down Expand Up @@ -397,14 +398,17 @@ export class Extensions {
* Ensures that the script has already been injected in the page.
* @param {string} extensionId
* @param {!ExtensionHolderDef} holder
* @param {boolean} stubElement
* @private
*/
insertExtensionScriptIfNeeded_(extensionId, holder) {
insertExtensionScriptIfNeeded_(extensionId, holder, stubElement) {
if (this.isExtensionScriptRequired_(extensionId, holder)) {
const scriptElement = this.createExtensionScript_(extensionId);
this.win.document.head.appendChild(scriptElement);
holder.scriptPresent = true;
stubElementIfNotKnown(this.win, extensionId);
if (stubElement) {
stubElementIfNotKnown(this.win, extensionId);
}
}
}

Expand Down

0 comments on commit f6c073e

Please sign in to comment.