// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import {$} from 'chrome://resources/js/util.js';
import {BrowserBridge} from './browser_bridge.js';
import {DivView} from './view.js';
/** @type {?ProxyView} */
let instance = null;
/**
* This view displays information on the proxy setup:
*
* - Has a button to reload these settings.
* - Has a button to clear the cached bad proxies.
*/
export class ProxyView extends DivView {
constructor() {
// Call superclass's constructor.
super(ProxyView.MAIN_BOX_ID);
// Hook up the UI components.
$(ProxyView.RELOAD_SETTINGS_BUTTON_ID).onclick = () => {
BrowserBridge.getInstance().sendReloadProxySettings();
};
$(ProxyView.CLEAR_BAD_PROXIES_BUTTON_ID).onclick = () => {
BrowserBridge.getInstance().sendClearBadProxies();
};
}
static getInstance() {
return instance || (instance = new ProxyView());
}
}
ProxyView.TAB_ID = 'tab-handle-proxy';
ProxyView.TAB_NAME = 'Proxy';
ProxyView.TAB_HASH = '#proxy';
// IDs for special HTML elements in proxy_view.html
ProxyView.MAIN_BOX_ID = 'proxy-view-tab-content';
ProxyView.RELOAD_SETTINGS_BUTTON_ID = 'proxy-view-reload-settings';
ProxyView.CLEAR_BAD_PROXIES_BUTTON_ID = 'proxy-view-clear-bad-proxies';