blob: 652a20d0aa6c3ce08987fa262dd355e47a53c783 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* @fileoverview Selector for picking an MR extension to use.
*/
goog.provide('mr.ExtensionId');
goog.provide('mr.ExtensionSelector');
/**
* @enum {string}
*/
mr.ExtensionId = {
PUBLIC: 'pkedcjkdefgpdelpbcmbmeomcjbeemfm',
DEV: 'enhhojjnijigcajfphajepfemndkmdlo'
};
/**
* @return {Promise} Resolves if this extension should start itself,
* rejects otherwise.
*/
mr.ExtensionSelector.shouldStart = function() {
return new Promise((resolve, reject) => {
switch (window.location.host) {
case mr.ExtensionId.DEV:
resolve();
break;
case mr.ExtensionId.PUBLIC:
chrome.management.get(mr.ExtensionId.DEV, result => {
if (chrome.runtime.lastError || !result.enabled) {
resolve();
} else {
reject(Error('Dev extension is enabled'));
}
});
break;
default:
reject(Error('Unknown extension id'));
}
});
};