blob: 042c38a5882def90b790e79a7a42d0cabf83be94 [file] [log] [blame]
// Copyright 2013 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.
/**
* Handles the Extension ID -> SyncStatus tab for syncfs-internals.
*/
import {sendWithPromise} from 'chrome://resources/js/cr.m.js';
import {$} from 'chrome://resources/js/util.m.js';
import {createElementFromText} from './utils.js';
/**
* Get initial map of extension statuses (pending batch sync, enabled and
* disabled).
*/
function refreshExtensionStatuses() {
sendWithPromise('getExtensionStatuses').then(onGetExtensionStatuses);
}
/**
* Handles callback from onGetExtensionStatuses.
* @param {!Array<!{
* extensionName: string,
* extensionID: string,
* status: string,
* }>} extensionStatuses
*/
function onGetExtensionStatuses(extensionStatuses) {
const itemContainer = $('extension-entries');
itemContainer.textContent = '';
for (let i = 0; i < extensionStatuses.length; i++) {
const originEntry = extensionStatuses[i];
const tr = document.createElement('tr');
tr.appendChild(createElementFromText('td', originEntry.extensionName));
tr.appendChild(createElementFromText('td', originEntry.extensionID));
tr.appendChild(createElementFromText('td', originEntry.status));
itemContainer.appendChild(tr);
}
}
function main() {
refreshExtensionStatuses();
$('refresh-extensions-statuses')
.addEventListener('click', refreshExtensionStatuses);
}
document.addEventListener('DOMContentLoaded', main);