summaryrefslogtreecommitdiff
path: root/tools/inspector_protocol/lib/Values_cpp.template
diff options
context:
space:
mode:
authorRich Trott <rtrott@gmail.com>2021-07-31 18:22:51 -0700
committerNode.js GitHub Bot <github-bot@iojs.org>2021-08-03 04:54:54 +0000
commit9e904470f4755eeb122be27632ff1350c35af17a (patch)
tree569e66df4b559cc83b1cf6341f578663b78e2dfd /tools/inspector_protocol/lib/Values_cpp.template
parentcf8a235fd1d9225f826220bc38c2c2832ddf0f4e (diff)
downloadnode-new-9e904470f4755eeb122be27632ff1350c35af17a.tar.gz
inspector: update inspector_protocol to 8ec18cf
Apply 8ec18cf: "Support STRING16 in the template when converting CBOR map keys" Refs: https://chromium.googlesource.com/deps/inspector_protocol/+/8ec18cf0885bef0b5c2a922c5dc3813cbf63e962 We're over 2 years out of date in the tools/inspector_protocol directory and I have to imagine this will come back to bite us at some point. But I also don't want to do a huge update all at once, so starting with a single commit. I might bundle commits together a bit more if this goes well. PR-URL: https://github.com/nodejs/node/pull/39614 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Diffstat (limited to 'tools/inspector_protocol/lib/Values_cpp.template')
-rw-r--r--tools/inspector_protocol/lib/Values_cpp.template7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/inspector_protocol/lib/Values_cpp.template b/tools/inspector_protocol/lib/Values_cpp.template
index be3149d503..17c6925585 100644
--- a/tools/inspector_protocol/lib/Values_cpp.template
+++ b/tools/inspector_protocol/lib/Values_cpp.template
@@ -178,7 +178,12 @@ std::unique_ptr<DictionaryValue> parseMap(
key = StringUtil::fromUTF8(key_span.data(), key_span.size());
tokenizer->Next();
} else if (tokenizer->TokenTag() == cbor::CBORTokenTag::STRING16) {
- return nullptr; // STRING16 not supported yet.
+ span<uint8_t> key_span = tokenizer->GetString16WireRep();
+ if (key_span.size() & 1) return nullptr; // UTF16 is 2 byte multiple.
+ key = StringUtil::fromUTF16(
+ reinterpret_cast<const uint16_t*>(key_span.data()),
+ key_span.size() / 2);
+ tokenizer->Next();
} else {
// Error::CBOR_INVALID_MAP_KEY
return nullptr;