blob: a8aa080ee70e671f3b22edc5a488fe444f4d69d2 [file] [log] [blame]
// Copyright 2018 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.
module chrome_cleaner.mojom;
// Typemapped to chrome_cleaner::String16EmbeddedNulls.
// Note: Mojo doesn't allow sending null arrays over the wire, and the strings
// represented by this type can be empty (without a null at the end).
// Because of that, represented as a union of either something that is
// always empty (NullValue) or a non-empty array of uint16.
union String16EmbeddedNulls {
// The underlying string is a null array (not the same as an empty string,
// which has at least one character '\0').
NullValue? null_value;
// The underlying string is either a null-terminated empty string (size is 1),
// or a non-empty string that can be either null-terminated or not.
array<uint16> value;
struct NullValue {