blob: 7f2d517fc6d955bd08f33d3c6fd7b07eb9101970 [file] [log] [blame]
// 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.
#include "platform/instrumentation/tracing/TracedValue.h"
#include "platform/wtf/PtrUtil.h"
#include "platform/wtf/text/StringUTF8Adaptor.h"
namespace blink {
std::unique_ptr<TracedValue> TracedValue::Create() {
return WTF::WrapUnique(new TracedValue());
}
TracedValue::TracedValue() {}
TracedValue::~TracedValue() {}
void TracedValue::SetInteger(const char* name, int value) {
traced_value_.SetIntegerWithCopiedName(name, value);
}
void TracedValue::SetDouble(const char* name, double value) {
traced_value_.SetDoubleWithCopiedName(name, value);
}
void TracedValue::SetBoolean(const char* name, bool value) {
traced_value_.SetBooleanWithCopiedName(name, value);
}
void TracedValue::SetString(const char* name, const String& value) {
StringUTF8Adaptor adaptor(value);
traced_value_.SetStringWithCopiedName(name, adaptor.AsStringPiece());
}
void TracedValue::BeginDictionary(const char* name) {
traced_value_.BeginDictionaryWithCopiedName(name);
}
void TracedValue::BeginArray(const char* name) {
traced_value_.BeginArrayWithCopiedName(name);
}
void TracedValue::EndDictionary() {
traced_value_.EndDictionary();
}
void TracedValue::PushInteger(int value) {
traced_value_.AppendInteger(value);
}
void TracedValue::PushDouble(double value) {
traced_value_.AppendDouble(value);
}
void TracedValue::PushBoolean(bool value) {
traced_value_.AppendBoolean(value);
}
void TracedValue::PushString(const String& value) {
StringUTF8Adaptor adaptor(value);
traced_value_.AppendString(adaptor.AsStringPiece());
}
void TracedValue::BeginArray() {
traced_value_.BeginArray();
}
void TracedValue::BeginDictionary() {
traced_value_.BeginDictionary();
}
void TracedValue::EndArray() {
traced_value_.EndArray();
}
String TracedValue::ToString() const {
return String(traced_value_.ToString().c_str());
}
void TracedValue::AppendAsTraceFormat(std::string* out) const {
traced_value_.AppendAsTraceFormat(out);
}
void TracedValue::EstimateTraceMemoryOverhead(
base::trace_event::TraceEventMemoryOverhead* overhead) {
traced_value_.EstimateTraceMemoryOverhead(overhead);
}
} // namespace blink