diff options
Diffstat (limited to 'chromium/ui/base/mojom/attributed_string.mojom')
-rw-r--r-- | chromium/ui/base/mojom/attributed_string.mojom | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/chromium/ui/base/mojom/attributed_string.mojom b/chromium/ui/base/mojom/attributed_string.mojom new file mode 100644 index 00000000000..18969f51079 --- /dev/null +++ b/chromium/ui/base/mojom/attributed_string.mojom @@ -0,0 +1,32 @@ +// Copyright 2020 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 ui.mojom; + +import "mojo/public/mojom/base/string16.mojom"; +import "ui/gfx/range/mojom/range.mojom"; + +// This will serialize the font information of an NSAttributedString so that +// it can be sent over mojo. This only stores the information of the +// NSFontAttributeName. The motive is that of security: using NSArchiver and +// friends to send objects from the renderer to the browser could lead to +// deserialization of arbitrary objects. This restricts serialization to a +// specific object class and specific attributes of that object. + +// A C++ mojo-friendly representation of the NSFontAttributeName attribute +// set. +struct FontAttribute { + mojo_base.mojom.String16 font_name; + float font_point_size; + gfx.mojom.Range effective_range; +}; + +// A struct that contains the pertinent information from an NSAttributedString, +// which can be serialized over mojo. +struct AttributedString { + // The plain-text string. + mojo_base.mojom.String16 string; + // The set of attributes that style |string|. + array<FontAttribute> attributes; +}; |