File: visual_properties_mojom_traits.cc

package info (click to toggle)
chromium 139.0.7258.127-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 6,122,068 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (54 lines) | stat: -rw-r--r-- 2,496 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/public/common/widget/visual_properties_mojom_traits.h"

#include "cc/mojom/browser_controls_params.mojom.h"
#include "services/viz/public/mojom/compositing/local_surface_id.mojom.h"
#include "ui/base/mojom/ui_base_types.mojom.h"
#include "ui/display/mojom/screen_infos.mojom.h"

namespace mojo {

bool StructTraits<
    blink::mojom::VisualPropertiesDataView,
    blink::VisualProperties>::Read(blink::mojom::VisualPropertiesDataView data,
                                   blink::VisualProperties* out) {
  if (!data.ReadScreenInfos(&out->screen_infos) ||
      !data.ReadMinSizeForAutoResize(&out->min_size_for_auto_resize) ||
      !data.ReadMaxSizeForAutoResize(&out->max_size_for_auto_resize) ||
      !data.ReadNewSizeDevicePx(&out->new_size_device_px) ||
      !data.ReadVisibleViewportSizeDevicePx(
          &out->visible_viewport_size_device_px) ||
      !data.ReadCompositorViewportPixelRect(
          &out->compositor_viewport_pixel_rect) ||
      !data.ReadBrowserControlsParams(&out->browser_controls_params) ||
      !data.ReadLocalSurfaceId(&out->local_surface_id) ||
      !data.ReadRootWidgetViewportSegments(
          &out->root_widget_viewport_segments) ||
      !data.ReadWindowControlsOverlayRect(&out->window_controls_overlay_rect) ||
      !data.ReadWindowShowState(&out->window_show_state) ||
      data.page_scale_factor() <= 0 || data.compositing_scale_factor() <= 0 ||
      data.cursor_accessibility_scale_factor() < 1) {
    return false;
  }
  out->auto_resize_enabled = data.auto_resize_enabled();
  out->resizable = data.resizable();
  out->scroll_focused_node_into_view = data.scroll_focused_node_into_view();
  out->is_fullscreen_granted = data.is_fullscreen_granted();
  out->display_mode = data.display_mode();
  out->capture_sequence_number = data.capture_sequence_number();
  out->zoom_level = data.zoom_level();
  out->css_zoom_factor = data.css_zoom_factor();
  out->page_scale_factor = data.page_scale_factor();
  out->compositing_scale_factor = data.compositing_scale_factor();
  out->cursor_accessibility_scale_factor =
      data.cursor_accessibility_scale_factor();
  out->is_pinch_gesture_active = data.is_pinch_gesture_active();
  out->virtual_keyboard_resize_height_device_px =
      data.virtual_keyboard_resize_height_device_px();
  return true;
}

}  // namespace mojo