blob: c7cece026036d76398bebe1e397b9643c46fa26f [file] [log] [blame]
// Copyright (c) 2012 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.
import {addSingletonGetter, sendWithPromise} from 'chrome://resources/js/cr.m.js';
/**
* This class provides a "bridge" for communicating between the javascript and
* the browser.
*/
export class BrowserBridge {
constructor() {}
//--------------------------------------------------------------------------
// Messages sent to the browser
//--------------------------------------------------------------------------
sendReloadProxySettings() {
chrome.send('reloadProxySettings');
}
sendClearBadProxies() {
chrome.send('clearBadProxies');
}
sendClearHostResolverCache() {
chrome.send('clearHostResolverCache');
}
sendHSTSQuery(domain) {
return sendWithPromise('hstsQuery', domain);
}
sendHSTSAdd(domain, sts_include_subdomains) {
chrome.send('hstsAdd', [domain, sts_include_subdomains]);
}
sendDomainSecurityPolicyDelete(domain) {
chrome.send('domainSecurityPolicyDelete', [domain]);
}
sendExpectCTQuery(domain) {
return sendWithPromise('expectCTQuery', domain);
}
sendExpectCTAdd(domain, report_uri, enforce) {
chrome.send('expectCTAdd', [domain, report_uri, enforce]);
}
sendExpectCTTestReport(report_uri) {
return sendWithPromise('expectCTTestReport', report_uri);
}
sendCloseIdleSockets() {
chrome.send('closeIdleSockets');
}
sendFlushSocketPools() {
chrome.send('flushSocketPools');
}
setNetworkDebugMode(subsystem) {
chrome.send('setNetworkDebugMode', [subsystem]);
}
}
addSingletonGetter(BrowserBridge);