| Index: content/browser/tracing/background_tracing_manager_impl.h
|
| diff --git a/content/browser/tracing/background_tracing_manager_impl.h b/content/browser/tracing/background_tracing_manager_impl.h
|
| index 637c70d0b51d26893b38fe3c380599706016608e..4e329a3f978c35173b61a03026a0b7a1bdcb998f 100644
|
| --- a/content/browser/tracing/background_tracing_manager_impl.h
|
| +++ b/content/browser/tracing/background_tracing_manager_impl.h
|
| @@ -23,7 +23,24 @@ class TracingDelegate;
|
|
|
| class BackgroundTracingManagerImpl : public BackgroundTracingManager {
|
| public:
|
| - static CONTENT_EXPORT BackgroundTracingManagerImpl* GetInstance();
|
| + // Enabled state observers get a callback when the state of background tracing
|
| + // changes.
|
| + class CONTENT_EXPORT EnabledStateObserver {
|
| + public:
|
| + // Called when the activation of a background tracing scenario is
|
| + // successful.
|
| + virtual void OnScenarioActivated(
|
| + const BackgroundTracingConfigImpl* config) = 0;
|
| +
|
| + // Called after tracing is enabled on all processes because the rule was
|
| + // triggered.
|
| + virtual void OnTracingEnabled(
|
| + BackgroundTracingConfigImpl::CategoryPreset preset) = 0;
|
| +
|
| + virtual ~EnabledStateObserver() = default;
|
| + };
|
| +
|
| + CONTENT_EXPORT static BackgroundTracingManagerImpl* GetInstance();
|
|
|
| bool SetActiveScenario(std::unique_ptr<BackgroundTracingConfig>,
|
| const ReceiveCallback&,
|
| @@ -40,10 +57,15 @@ class BackgroundTracingManagerImpl : public BackgroundTracingManager {
|
| void AbortScenario();
|
| bool HasActiveScenario() override;
|
|
|
| + void OnStartTracingDone(BackgroundTracingConfigImpl::CategoryPreset preset);
|
| +
|
| + // Add/remove EnabledStateObserver.
|
| + CONTENT_EXPORT void AddEnabledStateObserver(EnabledStateObserver* observer);
|
| + CONTENT_EXPORT void RemoveEnabledStateObserver(
|
| + EnabledStateObserver* observer);
|
| +
|
| // For tests
|
| void InvalidateTriggerHandlesForTesting() override;
|
| - void SetTracingEnabledCallbackForTesting(
|
| - const base::Closure& callback) override;
|
| CONTENT_EXPORT void SetRuleTriggeredCallbackForTesting(
|
| const base::Closure& callback);
|
| void FireTimerForTesting() override;
|
| @@ -103,6 +125,8 @@ class BackgroundTracingManagerImpl : public BackgroundTracingManager {
|
|
|
| TriggerHandle triggered_named_event_handle_;
|
|
|
| + std::vector<EnabledStateObserver*> background_tracing_observer_list_;
|
| +
|
| IdleCallback idle_callback_;
|
| base::Closure tracing_enabled_callback_for_testing_;
|
| base::Closure rule_triggered_callback_for_testing_;
|
|
|