1// Copyright 2014 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. 4 5#ifndef ANDROID_WEBVIEW_COMMON_DEVTOOLS_INSTRUMENTATION_H_ 6#define ANDROID_WEBVIEW_COMMON_DEVTOOLS_INSTRUMENTATION_H_ 7 8#include "base/debug/trace_event.h" 9 10namespace android_webview { 11namespace devtools_instrumentation { 12 13namespace internal { 14const char kCategory[] = "Java,devtools,disabled-by-default-devtools.timeline"; 15const char kEmbedderCallback[] = "EmbedderCallback"; 16const char kCallbackNameArgument[] = "callbackName"; 17} // namespace internal 18 19class ScopedEmbedderCallbackTask { 20 public: 21 ScopedEmbedderCallbackTask(const char* callback_name) { 22 TRACE_EVENT_BEGIN1(internal::kCategory, 23 internal::kEmbedderCallback, 24 internal::kCallbackNameArgument, 25 callback_name); 26 } 27 ~ScopedEmbedderCallbackTask() { 28 TRACE_EVENT_END0(internal::kCategory, 29 internal::kEmbedderCallback); 30 } 31 32 private: 33 DISALLOW_COPY_AND_ASSIGN(ScopedEmbedderCallbackTask); 34}; 35 36} // namespace devtools_instrumentation 37} // namespace android_webview 38 39#endif // ANDROID_WEBVIEW_COMMON_DEVTOOLS_INSTRUMENTATION_H_ 40