summaryrefslogtreecommitdiffstats
path: root/android_webview/common/devtools_instrumentation.h
blob: fbe6f636ee576e44f701db42c6b9bff39495d893 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright 2014 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 ANDROID_WEBVIEW_COMMON_DEVTOOLS_INSTRUMENTATION_H_
#define ANDROID_WEBVIEW_COMMON_DEVTOOLS_INSTRUMENTATION_H_

#include "base/trace_event/trace_event.h"

namespace android_webview {
namespace devtools_instrumentation {

namespace internal {
const char kCategory[] = "Java,devtools,disabled-by-default-devtools.timeline";
const char kEmbedderCallback[] = "EmbedderCallback";
const char kCallbackNameArgument[] = "callbackName";
}  // namespace internal

class ScopedEmbedderCallbackTask {
 public:
  ScopedEmbedderCallbackTask(const char* callback_name) {
    TRACE_EVENT_BEGIN1(internal::kCategory,
                       internal::kEmbedderCallback,
                       internal::kCallbackNameArgument,
                       callback_name);
  }
  ~ScopedEmbedderCallbackTask() {
    TRACE_EVENT_END0(internal::kCategory,
                     internal::kEmbedderCallback);
  }

 private:
  DISALLOW_COPY_AND_ASSIGN(ScopedEmbedderCallbackTask);
};

}  // namespace devtools_instrumentation
}  // namespace android_webview

#endif  // ANDROID_WEBVIEW_COMMON_DEVTOOLS_INSTRUMENTATION_H_