Index: net/log/net_log_entry.cc |
diff --git a/net/log/net_log_entry.cc b/net/log/net_log_entry.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1258139f74897fa64fa3fa3be22e113ceb5bbd83 |
--- /dev/null |
+++ b/net/log/net_log_entry.cc |
@@ -0,0 +1,69 @@ |
+// Copyright 2016 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 "net/log/net_log_entry.h" |
+ |
+#include <utility> |
+ |
+#include "base/callback.h" |
+#include "base/values.h" |
+#include "net/log/net_log.h" |
+ |
+namespace net { |
+ |
+std::unique_ptr<base::Value> NetLogEntry::ToValue() const { |
+ std::unique_ptr<base::DictionaryValue> entry_dict( |
+ new base::DictionaryValue()); |
+ |
+ entry_dict->SetString("time", NetLog::TickCountToString(data_->time)); |
+ |
+ // Set the entry source. |
+ std::unique_ptr<base::DictionaryValue> source_dict( |
+ new base::DictionaryValue()); |
+ source_dict->SetInteger("id", data_->source.id); |
+ source_dict->SetInteger("type", static_cast<int>(data_->source.type)); |
+ entry_dict->Set("source", std::move(source_dict)); |
+ |
+ // Set the event info. |
+ entry_dict->SetInteger("type", static_cast<int>(data_->type)); |
+ entry_dict->SetInteger("phase", static_cast<int>(data_->phase)); |
+ |
+ // Set the event-specific parameters. |
+ if (data_->parameters_callback) { |
+ std::unique_ptr<base::Value> value( |
+ data_->parameters_callback->Run(capture_mode_)); |
+ if (value) |
+ entry_dict->Set("params", std::move(value)); |
+ } |
+ |
+ return std::move(entry_dict); |
+} |
+ |
+std::unique_ptr<base::Value> NetLogEntry::ParametersToValue() const { |
+ if (data_->parameters_callback) |
+ return data_->parameters_callback->Run(capture_mode_); |
+ return nullptr; |
+} |
+ |
+NetLogEntryData::NetLogEntryData( |
+ NetLogEventType type, |
+ NetLogSource source, |
+ NetLogEventPhase phase, |
+ base::TimeTicks time, |
+ const NetLogParametersCallback* parameters_callback) |
+ : type(type), |
+ source(source), |
+ phase(phase), |
+ time(time), |
+ parameters_callback(parameters_callback) {} |
+ |
+NetLogEntryData::~NetLogEntryData() {} |
+ |
+NetLogEntry::NetLogEntry(const NetLogEntryData* data, |
+ NetLogCaptureMode capture_mode) |
+ : data_(data), capture_mode_(capture_mode) {} |
+ |
+NetLogEntry::~NetLogEntry() {} |
+ |
+} // namespace net |