[M108 Migration][Text Selection] Selection handles & Caret Selection
[platform/framework/web/chromium-efl.git] / third_party / blink / common / context_menu_data / context_menu_mojom_traits.cc
1 // Copyright 2021 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "third_party/blink/public/common/context_menu_data/context_menu_mojom_traits.h"
6
7 #include "build/build_config.h"
8 #include "third_party/blink/public/common/context_menu_data/menu_item_info.h"
9
10 namespace mojo {
11
12 // static
13 bool StructTraits<blink::mojom::FormRendererIdDataView, uint64_t>::Read(
14     blink::mojom::FormRendererIdDataView data,
15     uint64_t* out) {
16   *out = data.id();
17   return true;
18 }
19
20 // static
21 bool StructTraits<blink::mojom::FieldRendererIdDataView, uint64_t>::Read(
22     blink::mojom::FieldRendererIdDataView data,
23     uint64_t* out) {
24   *out = data.id();
25   return true;
26 }
27
28 // static
29 bool StructTraits<blink::mojom::UntrustworthyContextMenuParamsDataView,
30                   blink::UntrustworthyContextMenuParams>::
31     Read(blink::mojom::UntrustworthyContextMenuParamsDataView data,
32          blink::UntrustworthyContextMenuParams* out) {
33   if (!data.ReadMediaType(&out->media_type) ||
34       !data.ReadLinkUrl(&out->link_url) ||
35       !data.ReadLinkText(&out->link_text) ||
36       !data.ReadImpression(&out->impression) ||
37       !data.ReadUnfilteredLinkUrl(&out->unfiltered_link_url) ||
38       !data.ReadSrcUrl(&out->src_url) ||
39       !data.ReadSelectionText(&out->selection_text) ||
40       !data.ReadTitleText(&out->title_text) ||
41       !data.ReadAltText(&out->alt_text) ||
42       !data.ReadSuggestedFilename(&out->suggested_filename) ||
43       !data.ReadMisspelledWord(&out->misspelled_word) ||
44       !data.ReadDictionarySuggestions(&out->dictionary_suggestions) ||
45       !data.ReadFrameCharset(&out->frame_charset) ||
46       !data.ReadReferrerPolicy(&out->referrer_policy) ||
47       !data.ReadLinkFollowed(&out->link_followed) ||
48       !data.ReadCustomItems(&out->custom_items) ||
49       !data.ReadSourceType(&out->source_type) ||
50       !data.ReadInputFieldType(&out->input_field_type) ||
51       !data.ReadSelectionRect(&out->selection_rect) ||
52       !data.ReadFormRendererId(&out->form_renderer_id) ||
53       !data.ReadFieldRendererId(&out->field_renderer_id))
54     return false;
55
56   out->x = data.x();
57   out->y = data.y();
58   out->has_image_contents = data.has_image_contents();
59   out->media_flags = data.media_flags();
60   out->spellcheck_enabled = data.spellcheck_enabled();
61   out->is_editable = data.is_editable();
62 #if BUILDFLAG(IS_EFL)
63   out->is_text_node = data.is_text_node();
64 #endif
65   out->writing_direction_default = data.writing_direction_default();
66   out->writing_direction_left_to_right = data.writing_direction_left_to_right();
67   out->writing_direction_right_to_left = data.writing_direction_right_to_left();
68   out->edit_flags = data.edit_flags();
69   out->selection_start_offset = data.selection_start_offset();
70   out->opened_from_highlight = data.opened_from_highlight();
71   return true;
72 }
73
74 }  // namespace mojo