| 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..faeea93ef8ae5de259c9bde916b5ddcea8d32d0f 100644
|
| --- a/content/browser/tracing/background_tracing_manager_impl.h
|
| +++ b/content/browser/tracing/background_tracing_manager_impl.h
|
| @@ -21,9 +21,25 @@ namespace content {
|
| class BackgroundTracingRule;
|
| class TracingDelegate;
|
|
|
| -class BackgroundTracingManagerImpl : public BackgroundTracingManager {
|
| +class CONTENT_EXPORT BackgroundTracingManagerImpl
|
| + : public BackgroundTracingManager {
|
| public:
|
| - static CONTENT_EXPORT BackgroundTracingManagerImpl* GetInstance();
|
| + // Enabled state observers get a callback when the state of background tracing
|
| + // changes.
|
| + class 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;
|
| + };
|
| +
|
| + static BackgroundTracingManagerImpl* GetInstance();
|
|
|
| bool SetActiveScenario(std::unique_ptr<BackgroundTracingConfig>,
|
| const ReceiveCallback&,
|
| @@ -40,14 +56,17 @@ class BackgroundTracingManagerImpl : public BackgroundTracingManager {
|
| void AbortScenario();
|
| bool HasActiveScenario() override;
|
|
|
| + void OnStartTracingDone(BackgroundTracingConfigImpl::CategoryPreset preset);
|
| +
|
| + // Add/remove EnabledStateObserver.
|
| + void AddEnabledStateObserver(EnabledStateObserver* observer);
|
| + 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 SetRuleTriggeredCallbackForTesting(const base::Closure& callback);
|
| void FireTimerForTesting() override;
|
| - CONTENT_EXPORT bool IsTracingForTesting();
|
| + bool IsTracingForTesting();
|
|
|
| private:
|
| BackgroundTracingManagerImpl();
|
| @@ -103,6 +122,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_;
|
|
|