mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-11 14:14:36 +08:00
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
32 lines
1.4 KiB
JavaScript
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);
|
|
}
|
|
}
|
|
};
|