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
ash / components / arc / mojom / chrome_feature_flags.mojom [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Next MinVersion: 15
module arc.mojom;
// The following values must be matched with `kRoundedWindowCompatStrategy_*`
// constants defined in //ash/components/arc/arc_features.cc.
[Extensible]
enum RoundedWindowCompatStrategy {
[Default] kDisabled = 0,
kBottomOnlyGesture = 1,
kLeftRightBottomGesture = 2,
};
// State of feature flags that ARC++ needs to know from Chrome.
struct FeatureFlags {
// DEPRECATED: chrome://flags#qs-revamp
bool deprecated_qs_revamp;
// chrome://flags#jelly-colors
bool jelly_colors;
// DEPRECATED: chrome://flags#arc-trackpad-scroll-touchscreen-emulation
[MinVersion=2] bool deprecated_trackpad_scroll_touchscreen_emulation = false;
// chrome://flags#arc-touchscreen-emulation
[MinVersion=2] bool touchscreen_emulation = true;
// chrome://flags#arc-rounded-window-compat
[MinVersion=3] RoundedWindowCompatStrategy rounded_window_compat_strategy;
// chrome://flags#rounded-windows
[MinVersion=3] int32 rounded_window_radius;
// chrome://flags#arc-xdg-mode
[MinVersion=4] bool xdg_mode;
// chrome://flags#enable-pip-double-tap-to-resize;
[MinVersion=5] bool enable_pip_double_tap;
// chrome://flags#render-arc-notifications-by-chrome;
[MinVersion=6] bool render_arc_notifications_by_chrome;
// ash::features::IsGameDashboardEnabled
[MinVersion=7] bool game_dashboard;
// chrome://flags#arc-resize-compat;
[MinVersion=8] bool resize_compat;
// chrome://flags#arc-ignore-hover-event-anr
[MinVersion=9] bool ignore_hover_event_anr;
// chrome://flags#arc-extend-input-anr-timeout
[MinVersion=10] bool extend_input_anr_timeout;
// `chromeos::features::IsNotificationWidthIncreaseEnabled()`
[MinVersion=11] bool notification_width_increase;
// chrome://flags#arc-friendlier-error-dialog
[MinVersion=12] bool enable_friendlier_error_dialog;
// chrome://flags#arc-extend-service-anr-timeout
[MinVersion=13] bool extend_service_anr_timeout;
// chrome://flags#arc-extend-intent-anr-timeout
[MinVersion=14] bool extend_intent_anr_timeout;
};
// This interface provides methods to propagate the feature flag status to
// ARC++.
//
// Next method ID: 2
interface ChromeFeatureFlagsInstance {
// Notifies ARC which Chrome feature flag is enabled/disabled.
NotifyFeatureFlags@1(FeatureFlags flags);
};