Files
react-native-devtools-frontend/front_end/mobile_throttling/NetworkPanelIndicator.js
T
Paul Irish ae64797437 DevTools: Add tooltip hint about overrides
Change-Id: If85c60d7f52cdc0a3acc8addf9d7e1995195295b
Reviewed-on: https://chromium-review.googlesource.com/1046106
Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
Commit-Queue: Paul Irish <paulirish@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#557194}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1ff264e59b1379b2d3d34be77303d029cd2d4f6f
2018-05-09 15:42:16 +00:00

32 lines
1.4 KiB
JavaScript

// 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.
MobileThrottling.NetworkPanelIndicator = class {
constructor() {
// TODO: we should not access network from other modules.
if (!UI.inspectorView.hasPanel('network'))
return;
const manager = SDK.multitargetNetworkManager;
manager.addEventListener(SDK.MultitargetNetworkManager.Events.ConditionsChanged, updateVisibility);
manager.addEventListener(SDK.MultitargetNetworkManager.Events.BlockedPatternsChanged, updateVisibility);
manager.addEventListener(SDK.MultitargetNetworkManager.Events.InterceptorsChanged, updateVisibility);
updateVisibility();
function updateVisibility() {
let icon = null;
if (manager.isThrottling()) {
icon = UI.Icon.create('smallicon-warning');
icon.title = Common.UIString('Network throttling is enabled');
} else if (SDK.multitargetNetworkManager.isIntercepting()) {
icon = UI.Icon.create('smallicon-warning');
icon.title = Common.UIString('Requests may be rewritten by local overrides');
} else if (manager.isBlocking()) {
icon = UI.Icon.create('smallicon-warning');
icon.title = Common.UIString('Requests may be blocked');
}
UI.inspectorView.setPanelIcon('network', icon);
}
}
};