ApplicationImpl cleanup, part 1:
[chromium-blink-merge.git] / content / public / browser / background_tracing_reactive_config.h
blob12f2342cd09de1c20b2b896dcba7b766e9c4a4d5
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_PUBLIC_BROWSER_BACKGROUND_TRACING_REACTIVE_CONFIG_H_
6 #define CONTENT_PUBLIC_BROWSER_BACKGROUND_TRACING_REACTIVE_CONFIG_H_
8 #include "content/public/browser/background_tracing_config.h"
10 namespace content {
12 // BackgroundTracingReactiveConfig holds trigger rules for use during
13 // reactive tracing. Tracing will be not be enabled immediately, rather
14 // the BackgroundTracingManager will wait for a trigger to occur, and
15 // enable tracing at that point. Tracing will be finalized later, either
16 // after some time has elapsed or the trigger occurs again.
17 struct CONTENT_EXPORT BackgroundTracingReactiveConfig
18 : public BackgroundTracingConfig {
19 public:
20 BackgroundTracingReactiveConfig();
21 ~BackgroundTracingReactiveConfig() override;
23 enum RuleType { TRACE_FOR_10S_OR_TRIGGER_OR_FULL };
24 struct TracingRule {
25 RuleType type;
26 std::string trigger_name;
27 CategoryPreset category_preset;
30 std::vector<TracingRule> configs;
33 } // namespace content
35 #endif // CONTENT_PUBLIC_BROWSER_BACKGROUND_TRACING_REACTIVE_CONFIG_H_