mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
String parameters passed to the trace macros in base/trace_event must either be std::string (which Sky doesn't use very much), pointers to null terminated C-style strings that live forever (like a string literal) pointers to C-style strings that are annotated by macro as needing to be copied. This fixes up a few instances that passed pointers to temporary strings without the copying annotation or pointers to non-null-terminated strings so the trace data doesn't have random garbage memory in it. R=eseidel@chromium.org Review URL: https://codereview.chromium.org/1107853003
38 lines
926 B
C++
38 lines
926 B
C++
// Copyright 2015 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.
|
|
|
|
#include "sky/engine/config.h"
|
|
#include "sky/engine/core/frame/Tracing.h"
|
|
|
|
#include "base/trace_event/trace_event.h"
|
|
#include "sky/engine/wtf/text/StringUTF8Adaptor.h"
|
|
|
|
namespace blink {
|
|
|
|
Tracing::Tracing()
|
|
{
|
|
}
|
|
|
|
Tracing::~Tracing()
|
|
{
|
|
}
|
|
|
|
void Tracing::begin(const String& name)
|
|
{
|
|
StringUTF8Adaptor utf8(name);
|
|
// TRACE_EVENT_COPY_BEGIN0 needs a c-style null-terminated string.
|
|
CString cstring(utf8.data(), utf8.length());
|
|
TRACE_EVENT_COPY_BEGIN0("script", cstring.data());
|
|
}
|
|
|
|
void Tracing::end(const String& name)
|
|
{
|
|
StringUTF8Adaptor utf8(name);
|
|
// TRACE_EVENT_COPY_END0 needs a c-style null-terminated string.
|
|
CString cstring(utf8.data(), utf8.length());
|
|
TRACE_EVENT_COPY_END0("script", cstring.data());
|
|
}
|
|
|
|
} // namespace blink
|