Merge "Load default site theme synchronously"
This commit is contained in:
@@ -34,11 +34,13 @@
|
|||||||
const jsPlugins = this._handleMigrations(plugins.js_resource_paths || [],
|
const jsPlugins = this._handleMigrations(plugins.js_resource_paths || [],
|
||||||
htmlPlugins);
|
htmlPlugins);
|
||||||
const defaultTheme = config.default_theme;
|
const defaultTheme = config.default_theme;
|
||||||
|
Gerrit._setPluginsCount(
|
||||||
|
jsPlugins.length + htmlPlugins.length + (defaultTheme ? 1 : 0));
|
||||||
if (defaultTheme) {
|
if (defaultTheme) {
|
||||||
// Make theme first to be first to load.
|
// Make theme first to be first to load.
|
||||||
htmlPlugins.unshift(defaultTheme);
|
// Load sync to work around rare theme loading race condition.
|
||||||
|
this._importHtmlPlugins([defaultTheme], true);
|
||||||
}
|
}
|
||||||
Gerrit._setPluginsCount(jsPlugins.length + htmlPlugins.length);
|
|
||||||
this._loadJsPlugins(jsPlugins);
|
this._loadJsPlugins(jsPlugins);
|
||||||
this._importHtmlPlugins(htmlPlugins);
|
this._importHtmlPlugins(htmlPlugins);
|
||||||
},
|
},
|
||||||
@@ -58,13 +60,16 @@
|
|||||||
* @suppress {checkTypes}
|
* @suppress {checkTypes}
|
||||||
* States that it expects no more than 3 parameters, but that's not true.
|
* States that it expects no more than 3 parameters, but that's not true.
|
||||||
* @todo (beckysiegel) check Polymer annotations and submit change.
|
* @todo (beckysiegel) check Polymer annotations and submit change.
|
||||||
|
* @param {Array} plugins
|
||||||
|
* @param {boolean=} opt_sync
|
||||||
*/
|
*/
|
||||||
_importHtmlPlugins(plugins) {
|
_importHtmlPlugins(plugins, opt_sync) {
|
||||||
|
const async = !opt_sync;
|
||||||
for (const url of plugins) {
|
for (const url of plugins) {
|
||||||
// onload (second param) needs to be a function. When null or undefined
|
// onload (second param) needs to be a function. When null or undefined
|
||||||
// were passed, plugins were not loaded correctly.
|
// were passed, plugins were not loaded correctly.
|
||||||
this.importHref(
|
this.importHref(
|
||||||
this._urlFor(url), () => {}, Gerrit._pluginInstalled, true);
|
this._urlFor(url), () => {}, Gerrit._pluginInstalled, async);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -164,7 +164,7 @@ limitations under the License.
|
|||||||
assert.equal(element.importHref.firstCall.args[0], '/oof');
|
assert.equal(element.importHref.firstCall.args[0], '/oof');
|
||||||
assert.equal(element.importHref.firstCall.args[2],
|
assert.equal(element.importHref.firstCall.args[2],
|
||||||
Gerrit._pluginInstalled);
|
Gerrit._pluginInstalled);
|
||||||
assert.isTrue(element.importHref.firstCall.args[3]);
|
assert.isFalse(element.importHref.firstCall.args[3]);
|
||||||
|
|
||||||
assert.equal(element.importHref.secondCall.args[0], '/some');
|
assert.equal(element.importHref.secondCall.args[0], '/some');
|
||||||
assert.equal(element.importHref.secondCall.args[2],
|
assert.equal(element.importHref.secondCall.args[2],
|
||||||
|
|||||||
Reference in New Issue
Block a user