Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2110)

Unified Diff: blimp/common/logging.cc

Issue 1970463004: Blimp: Add BlobChannel Helium messages and delegate impls. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: wez feedback Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: blimp/common/logging.cc
diff --git a/blimp/common/logging.cc b/blimp/common/logging.cc
index 6f5587b20843d6e1e5ebb98c77a8b7b944421679..d83135d3b972c1d02f22848c9a1fbc73faa50dca 100644
--- a/blimp/common/logging.cc
+++ b/blimp/common/logging.cc
@@ -12,13 +12,18 @@
#include "base/json/string_escape.h"
#include "base/lazy_instance.h"
#include "base/memory/ptr_util.h"
+#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
+#include "blimp/common/create_blimp_message.h"
#include "blimp/common/proto/blimp_message.pb.h"
namespace blimp {
namespace {
+// TODO(kmarshall): Remove "default" cases from switch statements in favor of
+// explicit coverage of all enum values, including TYPE_NOT_SET.
Wez 2016/05/25 02:47:44 nit: Let's file a bug for that cleanup, rather tha
Kevin M 2016/05/25 20:23:38 Done, crbug.com/614748
+
static base::LazyInstance<BlimpMessageLogger> g_logger =
LAZY_INSTANCE_INITIALIZER;
@@ -248,6 +253,28 @@ class TabControlLogExtractor : public LogExtractor {
}
};
+// Logs fields from BLOB_CHANNEL messages.
+class BlobChannelLogExtractor : public LogExtractor {
+ void ExtractFields(const BlimpMessage& message,
+ LogFields* output) const override {
+ switch (message.blob_channel().type_case()) {
+ case BlobChannelMessage::TypeCase::kTransferBlob:
+ AddField("subtype", "TRANSFER_BLOB", output);
+ AddField("id",
+ base::HexEncode(
+ message.blob_channel().transfer_blob().blob_id().data(),
+ message.blob_channel().transfer_blob().blob_id().size()),
+ output);
+ AddField("payload_size",
+ message.blob_channel().transfer_blob().payload().size(),
+ output);
+ break;
+ case BlobChannelMessage::TypeCase::TYPE_NOT_SET: // unknown
+ break;
+ }
+ }
+};
+
// No fields are extracted from |message|.
class NullLogExtractor : public LogExtractor {
void ExtractFields(const BlimpMessage& message,
@@ -271,6 +298,8 @@ BlimpMessageLogger::BlimpMessageLogger() {
base::WrapUnique(new SettingsLogExtractor));
AddHandler("TAB_CONTROL", BlimpMessage::TAB_CONTROL,
base::WrapUnique(new TabControlLogExtractor));
+ AddHandler("BLOB_CHANNEL", BlimpMessage::BLOB_CHANNEL,
+ base::WrapUnique(new BlobChannelLogExtractor));
}
BlimpMessageLogger::~BlimpMessageLogger() {}

Powered by Google App Engine
This is Rietveld 408576698