MCPcopy Index your code
hub / github.com/ampproject/amphtml / reloadExtension

Method reloadExtension

src/service/extensions-impl.js:255–275  ·  view source on GitHub ↗

* Reloads the new version of the extension. * @param {string} extensionId * @param {string} version * @param {boolean} latest * @return {!Promise<!ExtensionDef>}

(extensionId, version, latest)

Source from the content-addressed store, hash-verified

253 * @return {!Promise<!ExtensionDef>}
254 */
255 reloadExtension(extensionId, version, latest) {
256 // Ignore inserted script elements to prevent recursion.
257 const els = getExtensionScripts(
258 this.win,
259 extensionId,
260 version,
261 latest,
262 /* includeInserted */ false
263 );
264 // The previously awaited extension loader must not have finished or
265 // failed.
266 const holder = this.extensions_[extensionKey(extensionId, version)];
267 if (holder) {
268 devAssert(!holder.loaded && !holder.error);
269 holder.scriptPresent = false;
270 }
271 els.forEach((el) =>
272 el.setAttribute('i-amphtml-loaded-new-version', extensionId)
273 );
274 return this.preloadExtension(extensionId, version);
275 }
276
277 /**
278 * @param {!Window} win

Callers 2

test-extensions.jsFile · 0.80
maybeLoadCorrectVersionFunction · 0.80

Calls 6

preloadExtensionMethod · 0.95
getExtensionScriptsFunction · 0.90
devAssertFunction · 0.90
extensionKeyFunction · 0.85
forEachMethod · 0.45
setAttributeMethod · 0.45

Tested by

no test coverage detected