| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // This file defines stubs for tracing-related classes which are used by net |
| // but are not available in Cronet builds (where tracing is disabled to reduce |
| // binary size). |
| // Even though these stubs are part of the base::trace_event namespace, they're |
| // technically not required by base. So, implement them here to make that |
| // explicit. |
| |
| #ifndef NET_BASE_TRACE_EVENT_STUB_H_ |
| #define NET_BASE_TRACE_EVENT_STUB_H_ |
| |
| #include "base/base_export.h" |
| #include "base/memory/weak_ptr.h" |
| #include "base/trace_event/trace_event_stub.h" |
| |
| namespace base::trace_event { |
| |
| class BASE_EXPORT TraceLog { |
| public: |
| class BASE_EXPORT AsyncEnabledStateObserver { |
| public: |
| virtual ~AsyncEnabledStateObserver() = default; |
| |
| virtual void OnTraceLogEnabled() = 0; |
| virtual void OnTraceLogDisabled() = 0; |
| }; |
| |
| static TraceLog* GetInstance() { |
| static TraceLog obj; |
| return &obj; |
| } |
| |
| bool IsEnabled() { return false; } |
| |
| void AddAsyncEnabledStateObserver(WeakPtr<AsyncEnabledStateObserver>) {} |
| void RemoveAsyncEnabledStateObserver(AsyncEnabledStateObserver*) {} |
| }; |
| |
| } // namespace base::trace_event |
| |
| #endif // NET_BASE_TRACE_EVENT_STUB_H_ |