blob: bea3a77dec0ff4d2040604b950ef19bd7658b82e [file] [log] [blame]
// Copyright 2021 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.
#ifndef SERVICES_NETWORK_RADIO_MONITOR_ANDROID_H_
#define SERVICES_NETWORK_RADIO_MONITOR_ANDROID_H_
#include "base/component_export.h"
#include "services/network/public/mojom/host_resolver.mojom-forward.h"
namespace net {
struct NetworkTrafficAnnotationTag;
} // namespace net
namespace network {
struct ResourceRequest;
constexpr char kUmaNamePossibleWakeupTriggerURLLoaderAnnotationId[] =
"Network.Radio.PossibleWakeupTrigger.URLLoaderAnnotationId2";
constexpr char kUmaNamePossibleWakeupTriggerURLLoaderRequestDestination[] =
"Network.Radio.PossibleWakeupTrigger.URLLoaderRequestDestination";
constexpr char kUmaNamePossibleWakeupTriggerURLLoaderRequestPriority[] =
"Network.Radio.PossibleWakeupTrigger.URLLoaderRequestPriority";
constexpr char kUmaNamePossibleWakeupTriggerURLLoaderRequestIsPrefetch[] =
"Network.Radio.PossibleWakeupTrigger.URLLoaderRequestIsPrefetch";
constexpr char kUmaNamePossibleWakeupTriggerResolveHost[] =
"Network.Radio.PossibleWakeupTrigger.ResolveHostPurpose2";
// Records UMAs when a network request initiated by a URLLoader likely
// wake-ups radio.
COMPONENT_EXPORT(NETWORK_SERVICE)
void MaybeRecordURLLoaderCreationForWakeupTrigger(
const ResourceRequest& request,
const net::NetworkTrafficAnnotationTag& traffic_annotation);
// Records a host resolve request when the request likely wake-ups radio.
COMPONENT_EXPORT(NETWORK_SERVICE)
void MaybeRecordResolveHostForWakeupTrigger(
const mojom::ResolveHostParametersPtr& parameters);
} // namespace network
#endif // SERVICES_NETWORK_RADIO_MONITOR_ANDROID_H_