diff options
Diffstat (limited to 'chromium/ui/base/mojom')
-rw-r--r-- | chromium/ui/base/mojom/BUILD.gn | 9 | ||||
-rw-r--r-- | chromium/ui/base/mojom/attributed_string.mojom | 32 | ||||
-rw-r--r-- | chromium/ui/base/mojom/window_open_disposition_mojom_traits.h | 2 |
3 files changed, 42 insertions, 1 deletions
diff --git a/chromium/ui/base/mojom/BUILD.gn b/chromium/ui/base/mojom/BUILD.gn index 8b330d88d52..49ea535072d 100644 --- a/chromium/ui/base/mojom/BUILD.gn +++ b/chromium/ui/base/mojom/BUILD.gn @@ -10,6 +10,15 @@ mojom("mojom") { "ui_base_types.mojom", "window_open_disposition.mojom", ] + + if (is_mac) { + sources += [ "attributed_string.mojom" ] + public_deps = [ + "//mojo/public/mojom/base", + "//ui/gfx/range/mojom", + ] + } + cpp_typemaps = [ { types = [ 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; +}; diff --git a/chromium/ui/base/mojom/window_open_disposition_mojom_traits.h b/chromium/ui/base/mojom/window_open_disposition_mojom_traits.h index 84b7c86f102..a9862b8d62d 100644 --- a/chromium/ui/base/mojom/window_open_disposition_mojom_traits.h +++ b/chromium/ui/base/mojom/window_open_disposition_mojom_traits.h @@ -5,7 +5,7 @@ #ifndef UI_BASE_MOJOM_WINDOW_OPEN_DISPOSITION_MOJOM_TRAITS_H_ #define UI_BASE_MOJOM_WINDOW_OPEN_DISPOSITION_MOJOM_TRAITS_H_ -#include "base/logging.h" +#include "base/notreached.h" #include "mojo/public/cpp/bindings/enum_traits.h" #include "ui/base/mojom/window_open_disposition.mojom.h" #include "ui/base/window_open_disposition.h" |