File: indicator_spec.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 (106 lines) | stat: -rw-r--r-- 3,640 bytes parent folder | download | duplicates (5)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/vr/elements/indicator_spec.h"

#include "build/build_config.h"
#include "chrome/app/vector_icons/vector_icons.h"
#include "chrome/grit/generated_resources.h"
#include "components/vector_icons/vector_icons.h"

namespace vr {

IndicatorSpec::IndicatorSpec(UiElementName name,
                             UiElementName webvr_name,
                             const gfx::VectorIcon& icon,
                             int resource_string,
                             int background_resource_string,
                             int potential_resource_string,
                             CapturingStateModelMemberPtr signal)
    : name(name),
      webvr_name(webvr_name),
      icon(icon),
      resource_string(resource_string),
      background_resource_string(background_resource_string),
      potential_resource_string(potential_resource_string),
      signal(signal) {}

IndicatorSpec::IndicatorSpec(const IndicatorSpec& other)
    : name(other.name),
      webvr_name(other.webvr_name),
      icon(*other.icon),
      resource_string(other.resource_string),
      background_resource_string(other.background_resource_string),
      potential_resource_string(other.potential_resource_string),
      signal(other.signal) {}

IndicatorSpec::~IndicatorSpec() = default;

// clang-format off
std::vector<IndicatorSpec> GetIndicatorSpecs() {

  std::vector<IndicatorSpec> specs = {
      {kLocationAccessIndicator, kWebVrLocationAccessIndicator,
       kMyLocationIcon,
       IDS_VR_SHELL_SITE_IS_TRACKING_LOCATION,
       // Background tabs cannot track high accuracy location.
       0,
       IDS_VR_SHELL_SITE_CAN_TRACK_LOCATION,
       &CapturingStateModel::location_access_enabled},

      {kAudioCaptureIndicator, kWebVrAudioCaptureIndicator,
       vector_icons::kMicIcon,
       IDS_VR_SHELL_SITE_IS_USING_MICROPHONE,
       IDS_VR_SHELL_BG_IS_USING_MICROPHONE,
       IDS_VR_SHELL_SITE_CAN_USE_MICROPHONE,
       &CapturingStateModel::audio_capture_enabled},

      {kVideoCaptureIndicator, kWebVrVideoCaptureIndicator,
       vector_icons::kVideocamIcon,
       IDS_VR_SHELL_SITE_IS_USING_CAMERA,
       IDS_VR_SHELL_BG_IS_USING_CAMERA,
       IDS_VR_SHELL_SITE_CAN_USE_CAMERA,
       &CapturingStateModel::video_capture_enabled},

      {kBluetoothConnectedIndicator, kWebVrBluetoothConnectedIndicator,
       vector_icons::kBluetoothConnectedIcon,
       IDS_VR_SHELL_SITE_IS_USING_BLUETOOTH,
#if BUILDFLAG(IS_ANDROID)
       IDS_VR_SHELL_BG_IS_USING_BLUETOOTH,
#else
       0,
#endif
       IDS_VR_SHELL_SITE_CAN_USE_BLUETOOTH,
       &CapturingStateModel::bluetooth_connected},

      {kScreenCaptureIndicator, kWebVrScreenCaptureIndicator,
       // TODO(crbug.com/413285138): Update to kScreenShareIcon
       vector_icons::kScreenShareOldIcon,
       IDS_VR_SHELL_SITE_IS_SHARING_SCREEN,
       IDS_VR_SHELL_BG_IS_SHARING_SCREEN,
       IDS_VR_SHELL_SITE_CAN_SHARE_SCREEN,
       &CapturingStateModel::screen_capture_enabled},

#if !BUILDFLAG(IS_ANDROID)
      {kUsbConnectedIndicator, kWebXrUsbConnectedIndicator,
       vector_icons::kUsbIcon,
       IDS_VR_SHELL_SITE_IS_USING_USB,
       0,
       0,
       &CapturingStateModel::usb_connected},

       {kMidiConnectedIndicator, kWebXrMidiConnectedIndicator,
       vector_icons::kMidiIcon,
       IDS_VR_SHELL_SITE_IS_USING_MIDI,
       0,
       IDS_VR_SHELL_SITE_CAN_USE_MIDI,
       &CapturingStateModel::midi_connected},
#endif
  };

  return specs;
}
// clang-format on

}  // namespace vr