summaryrefslogtreecommitdiffstats
path: root/chromium/ash/public
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-05-16 09:59:13 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-05-20 10:28:53 +0000
commit6c11fb357ec39bf087b8b632e2b1e375aef1b38b (patch)
treec8315530db18a8ee566521c39ab8a6af4f72bc03 /chromium/ash/public
parent3ffaed019d0772e59d6cdb2d0d32fe4834c31f72 (diff)
BASELINE: Update Chromium to 74.0.3729.159
Change-Id: I8d2497da544c275415aedd94dd25328d555de811 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/ash/public')
-rw-r--r--chromium/ash/public/cpp/BUILD.gn50
-rw-r--r--chromium/ash/public/cpp/app_list/vector_icons/BUILD.gn4
-rw-r--r--chromium/ash/public/cpp/vector_icons/BUILD.gn2
-rw-r--r--chromium/ash/public/interfaces/BUILD.gn3
-rw-r--r--chromium/ash/public/interfaces/accessibility_focus_ring_controller.mojom6
-rw-r--r--chromium/ash/public/interfaces/app_list.mojom69
-rw-r--r--chromium/ash/public/interfaces/arc_custom_tab.mojom22
-rw-r--r--chromium/ash/public/interfaces/assistant_controller.mojom4
-rw-r--r--chromium/ash/public/interfaces/assistant_setup.mojom2
-rw-r--r--chromium/ash/public/interfaces/contained_shell.mojom23
-rw-r--r--chromium/ash/public/interfaces/cros_display_config.mojom2
-rw-r--r--chromium/ash/public/interfaces/kiosk_next_shell.mojom21
-rw-r--r--chromium/ash/public/interfaces/login_screen.mojom15
-rw-r--r--chromium/ash/public/interfaces/login_user_info.mojom2
-rw-r--r--chromium/ash/public/interfaces/shelf.mojom3
-rw-r--r--chromium/ash/public/interfaces/tablet_mode.mojom3
-rw-r--r--chromium/ash/public/interfaces/voice_interaction_controller.mojom29
-rw-r--r--chromium/ash/public/interfaces/wallpaper.mojom25
-rw-r--r--chromium/ash/public/interfaces/window_properties.mojom7
19 files changed, 238 insertions, 54 deletions
diff --git a/chromium/ash/public/cpp/BUILD.gn b/chromium/ash/public/cpp/BUILD.gn
index 7d5e4860882..9298d7ac062 100644
--- a/chromium/ash/public/cpp/BUILD.gn
+++ b/chromium/ash/public/cpp/BUILD.gn
@@ -11,10 +11,10 @@ component("cpp") {
"accelerators.h",
"app_list/app_list_config.cc",
"app_list/app_list_config.h",
- "app_list/app_list_constants.cc",
- "app_list/app_list_constants.h",
"app_list/app_list_features.cc",
"app_list/app_list_features.h",
+ "app_list/app_list_metrics.cc",
+ "app_list/app_list_metrics.h",
"app_list/app_list_switches.cc",
"app_list/app_list_switches.h",
"app_list/app_list_types.cc",
@@ -61,6 +61,8 @@ component("cpp") {
"default_frame_header.h",
"default_scale_factor_retriever.cc",
"default_scale_factor_retriever.h",
+ "fps_counter.cc",
+ "fps_counter.h",
"frame_header.cc",
"frame_header.h",
"frame_utils.cc",
@@ -87,6 +89,8 @@ component("cpp") {
"notification_utils.h",
"power_utils.cc",
"power_utils.h",
+ "presentation_time_recorder.cc",
+ "presentation_time_recorder.h",
"remote_shelf_item_delegate.cc",
"remote_shelf_item_delegate.h",
"rounded_corner_decorator.cc",
@@ -128,6 +132,7 @@ component("cpp") {
deps = [
"//ash/public/cpp/vector_icons",
+ "//chromeos/constants",
"//chromeos/dbus:power_manager_proto",
"//components/prefs",
"//mojo/public/cpp/bindings",
@@ -160,6 +165,45 @@ component("cpp") {
output_name = "ash_public_cpp"
}
+source_set("manifest") {
+ sources = [
+ "manifest.cc",
+ "manifest.h",
+ ]
+
+ deps = [
+ "//ash/public/interfaces:interfaces_internal",
+ "//base",
+ "//chromeos/services/multidevice_setup/public/mojom",
+ "//services/content/public/mojom",
+ "//services/data_decoder/public/mojom",
+ "//services/device/public/mojom",
+ "//services/preferences/public/mojom",
+ "//services/service_manager/public/cpp",
+ "//services/service_manager/public/mojom",
+ "//services/viz/public/interfaces",
+ "//services/ws/public/cpp:manifest",
+ "//services/ws/public/mojom",
+ ]
+}
+
+source_set("manifest_for_tests") {
+ testonly = true
+
+ sources = [
+ "test_manifest.cc",
+ "test_manifest.h",
+ ]
+
+ deps = [
+ ":manifest",
+ "//ash/public/interfaces:test_interfaces",
+ "//base",
+ "//services/service_manager/public/cpp",
+ "//services/service_manager/public/mojom",
+ ]
+}
+
# Using a test service because the traits need to pass handles around. Revisit
# this after Deserialize(Serialize()) API works with handles.
mojom("test_interfaces") {
@@ -197,6 +241,7 @@ source_set("unit_tests") {
}
source_set("test_support") {
+ testonly = true
sources = [
"immersive/immersive_fullscreen_controller_test_api.cc",
"immersive/immersive_fullscreen_controller_test_api.h",
@@ -209,6 +254,7 @@ source_set("test_support") {
"//base",
"//services/service_manager/public/cpp",
"//ui/aura",
+ "//ui/aura:test_support",
"//ui/gfx",
"//ui/keyboard:mojom",
"//ui/views",
diff --git a/chromium/ash/public/cpp/app_list/vector_icons/BUILD.gn b/chromium/ash/public/cpp/app_list/vector_icons/BUILD.gn
index 52cb6a112d6..dfe3799586b 100644
--- a/chromium/ash/public/cpp/app_list/vector_icons/BUILD.gn
+++ b/chromium/ash/public/cpp/app_list/vector_icons/BUILD.gn
@@ -23,6 +23,10 @@ aggregate_vector_icons("app_list_vector_icons") {
"search_engine_not_google.icon",
"search_result_append.icon",
"search_result_remove.icon",
+ "vertical_bar_end.icon",
+ "vertical_bar_middle.icon",
+ "vertical_bar_single.icon",
+ "vertical_bar_start.icon",
]
}
diff --git a/chromium/ash/public/cpp/vector_icons/BUILD.gn b/chromium/ash/public/cpp/vector_icons/BUILD.gn
index 89043550d39..350c537fcf6 100644
--- a/chromium/ash/public/cpp/vector_icons/BUILD.gn
+++ b/chromium/ash/public/cpp/vector_icons/BUILD.gn
@@ -10,6 +10,8 @@ aggregate_vector_icons("ash_public_vector_icons") {
icons = [
"assistant.icon",
+ "assistant_mic.icon",
+ "auto_launch_managed_guest_session.icon",
"notification_assistant.icon",
"notification_captive_portal.icon",
"notification_cellular_alert.icon",
diff --git a/chromium/ash/public/interfaces/BUILD.gn b/chromium/ash/public/interfaces/BUILD.gn
index ee4a9f3fd3f..875defeb4aa 100644
--- a/chromium/ash/public/interfaces/BUILD.gn
+++ b/chromium/ash/public/interfaces/BUILD.gn
@@ -18,6 +18,7 @@ mojom("interfaces_internal") {
"accessibility_controller_enums.mojom",
"accessibility_focus_ring_controller.mojom",
"app_list.mojom",
+ "arc_custom_tab.mojom",
"ash_display_controller.mojom",
"ash_message_center_controller.mojom",
"ash_window_manager.mojom",
@@ -27,7 +28,6 @@ mojom("interfaces_internal") {
"assistant_volume_control.mojom",
"cast_config.mojom",
"constants.mojom",
- "contained_shell.mojom",
"cros_display_config.mojom",
"display_output_protection.mojom",
"docked_magnifier_controller.mojom",
@@ -39,6 +39,7 @@ mojom("interfaces_internal") {
"ime_info.mojom",
"keyboard_controller.mojom",
"kiosk_app_info.mojom",
+ "kiosk_next_shell.mojom",
"locale.mojom",
"login_screen.mojom",
"login_user_info.mojom",
diff --git a/chromium/ash/public/interfaces/accessibility_focus_ring_controller.mojom b/chromium/ash/public/interfaces/accessibility_focus_ring_controller.mojom
index 3cd96ce19fa..ae4ff29c744 100644
--- a/chromium/ash/public/interfaces/accessibility_focus_ring_controller.mojom
+++ b/chromium/ash/public/interfaces/accessibility_focus_ring_controller.mojom
@@ -38,4 +38,10 @@ interface AccessibilityFocusRingController {
// Hides highlight on screen.
// TODO(katie): Add |caller_id| to highlights as well.
HideHighlights();
+
+ // Enables double focus rings and sets the second color for the given caller.
+ EnableDoubleFocusRing(uint32 skcolor, string caller_id);
+
+ // Disables double focus rings for the given caller.
+ DisableDoubleFocusRing(string caller_id);
};
diff --git a/chromium/ash/public/interfaces/app_list.mojom b/chromium/ash/public/interfaces/app_list.mojom
index 3336a2d800b..ce11378dfb7 100644
--- a/chromium/ash/public/interfaces/app_list.mojom
+++ b/chromium/ash/public/interfaces/app_list.mojom
@@ -26,6 +26,7 @@ struct AppListItemMetadata {
string folder_id; // The id of the item's folder.
syncer.mojom.StringOrdinal position; // The position of the item.
bool is_folder; // Whether this item is a folder.
+ bool is_persistent; // Whether this folder is allowed to contain 1 item.
gfx.mojom.ImageSkia? icon; // The icon of this item.
bool is_page_break; // Whether this item is a "page break" item.
};
@@ -81,6 +82,9 @@ struct SearchResultMetadata {
// indicates its type, e.g. installable from
// PlayStore, installable from WebStore,
// etc.
+ // If set to true, whether or not to send visibility updates through to to
+ // the chrome side when this result is set visible/invisible.
+ bool notify_visibility_change;
};
// All possible states of the app list.
@@ -88,6 +92,7 @@ enum AppListState {
kStateApps = 0,
kStateSearchResults,
kStateStart,
+ kStateEmbeddedAssistant,
};
// The status of the app list model.
@@ -96,6 +101,24 @@ enum AppListModelStatus {
kStatusSyncing, // Syncing apps or installing synced apps.
};
+// The UI component the user launched the search result from. Must match
+// chrome/browser/ui/app_list/app_launch_event_logger.proto.
+enum AppListLaunchedFrom {
+ kLaunchedFromGrid = 1,
+ kLaunchedFromSuggestionChip,
+ kLaunchedFromShelf,
+ kLaunchedFromSearchBox,
+};
+
+// The UI representation of the search result. Currently all search results
+// that are not apps (OminboxResult, LauncherSearcResult, etc.) are grouped
+// into kSearchResult. Meanwhile SearchResultTileItemView (shown in zero state)
+// and suggested chips are considered kAppSearchResult.
+enum AppListLaunchType {
+ kSearchResult = 0,
+ kAppSearchResult,
+};
+
// How the result should be displayed. Do not change the order of these as
// they are used for metrics.
enum SearchResultDisplayType {
@@ -118,6 +141,8 @@ enum SearchResultType {
kOmnibox, // Results from Omninbox.
kLauncher, // Results from launcher search (currently only from Files).
kAnswerCard, // WebContents based answer card.
+ kPlayStoreReinstallApp, // Reinstall recommendations from PlayStore.
+ kArcAppShortcut, // ARC++ app shortcuts.
// Add new values here.
};
@@ -229,7 +254,8 @@ interface AppListController {
// Publishes search results to Ash to render them.
PublishSearchResults(array<SearchResultMetadata> results);
// Update the whole model, usually when profile changes happen in Chrome.
- SetModelData(array<AppListItemMetadata> apps,
+ SetModelData(int32 profile_id,
+ array<AppListItemMetadata> apps,
bool is_search_engine_google);
//////////////////////////////////////////////////////////////////////////////
@@ -307,9 +333,17 @@ interface AppListClient {
// Triggers a search query.
// |trimmed_query|: the trimmed input texts from the search text field.
StartSearch(mojo_base.mojom.String16 trimmed_query);
- // Opens a search result when its view is clicked or pressed.
+ // Opens a search result and logs to metrics when its view is clicked or
+ // pressed.
// |result_id|: the id of the search result the user wants to open.
- OpenSearchResult(string result_id, int32 event_flags);
+ // |launched_from|: where the result was launched.
+ // |launch_type|: how the result is represented in the UI.
+ // |suggestion_index|: the position of the result as a suggestion chip in
+ // the AppsGridView or the position of the result in the zero state search
+ // page.
+ OpenSearchResult(string result_id, int32 event_flags,
+ AppListLaunchedFrom launched_from,
+ AppListLaunchType launch_type, int32 suggestion_index);
// Invokes a custom action on a result with |result_id|.
// |action_index| corresponds to the index of an action on the search result,
// for example, installing. They are stored in SearchResult::actions_.
@@ -339,27 +373,38 @@ interface AppListClient {
OnAppListVisibilityChanged(bool visible);
//////////////////////////////////////////////////////////////////////////////
- // Interfaces on app list items:
+ // Interfaces on app list items. |profile_id| indicates the profile to which
+ // app list items belong. In multi-profile mode, each profile has its own
+ // app list model updater:
// Activates (opens) the item with |id|.
- ActivateItem(string id, int32 event_flags);
+ ActivateItem(int32 profile_id, string id, int32 event_flags);
// Returns the context menu model for the item with |id|, or an empty array if
// there is currently no menu for the item (e.g. during install).
- GetContextMenuModel(string id) => (array<MenuItem> items);
+ GetContextMenuModel(int32 profile_id, string id) => (array<MenuItem> items);
// Invoked when a context menu item of an app list item is clicked.
// |id|: the clicked AppListItem's id.
// |command_id|: the clicked menu item's command id.
// |event_flags|: flags from the event which triggered this command.
- ContextMenuItemSelected(string id, int32 command_id, int32 event_flags);
+ ContextMenuItemSelected(int32 profile_id,
+ string id,
+ int32 command_id,
+ int32 event_flags);
// Invoked when a folder is created in Ash (e.g. merge items into a folder).
- OnFolderCreated(AppListItemMetadata folder);
+ OnFolderCreated(int32 profile_id, AppListItemMetadata folder);
// Invoked when a folder has only one item left and so gets removed.
- OnFolderDeleted(AppListItemMetadata folder);
+ OnFolderDeleted(int32 profile_id, AppListItemMetadata folder);
// Invoked when user changes a folder's name or an item's position.
- OnItemUpdated(AppListItemMetadata folder);
+ OnItemUpdated(int32 profile_id, AppListItemMetadata folder);
// Invoked when a "page break" item is added with |id| and |position|.
- OnPageBreakItemAdded(string id, syncer.mojom.StringOrdinal position);
+ OnPageBreakItemAdded(int32 profile_id,
+ string id,
+ syncer.mojom.StringOrdinal position);
// Invoked when a "page break" item with |id| is deleted.
- OnPageBreakItemDeleted(string id);
+ OnPageBreakItemDeleted(int32 profile_id, string id);
+
+ // Updated when item with |id| is set to |visible|. Only sent if
+ // |notify_visibility_change| was set on the SearchResultMetadata.
+ OnSearchResultVisibilityChanged(string id, bool visibility);
// Acquires a NavigableContentsFactory (indirectly) from the Content Service
// to allow the app list to display embedded web contents. Currently used only
diff --git a/chromium/ash/public/interfaces/arc_custom_tab.mojom b/chromium/ash/public/interfaces/arc_custom_tab.mojom
new file mode 100644
index 00000000000..62ad5b066d3
--- /dev/null
+++ b/chromium/ash/public/interfaces/arc_custom_tab.mojom
@@ -0,0 +1,22 @@
+// Copyright 2019 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 ash.mojom;
+
+import "mojo/public/mojom/base/unguessable_token.mojom";
+
+// An interface that an ash user uses to interact with each ARC custom tab.
+interface ArcCustomTabView {
+ // Embeds the remote view specified by the token.
+ EmbedUsingToken(mojo_base.mojom.UnguessableToken token);
+};
+
+// An exported object in ash which lets an ash consumer set a client interface.
+interface ArcCustomTabController {
+ // Creates an ArcCustomTabView instance for the ARC window specified by the
+ // task ID and the surface ID.
+ // May return null when the arguments are invalid.
+ CreateView(int32 task_id, int32 surface_id, int32 top_margin)
+ => (ArcCustomTabView? controller);
+};
diff --git a/chromium/ash/public/interfaces/assistant_controller.mojom b/chromium/ash/public/interfaces/assistant_controller.mojom
index 12e5b788d2d..75ec09c773f 100644
--- a/chromium/ash/public/interfaces/assistant_controller.mojom
+++ b/chromium/ash/public/interfaces/assistant_controller.mojom
@@ -32,7 +32,9 @@ interface AssistantController {
// true then the user gives permission to attach Assistant debug info.
// |feedback_description| is user's feedback input.
SendAssistantFeedback(
- bool pii_allowed, string feedback_description);
+ bool pii_allowed,
+ string feedback_description,
+ string screenshot_png);
};
// Interface to the AssistantAlarmTimerController which is owned by the
diff --git a/chromium/ash/public/interfaces/assistant_setup.mojom b/chromium/ash/public/interfaces/assistant_setup.mojom
index 2bc7d4f7fae..04379d80848 100644
--- a/chromium/ash/public/interfaces/assistant_setup.mojom
+++ b/chromium/ash/public/interfaces/assistant_setup.mojom
@@ -9,6 +9,8 @@ enum FlowType {
CONSENT_FLOW,
// The speaker id enrollment flow.
SPEAKER_ID_ENROLLMENT,
+ // The speaker id retrain flow.
+ SPEAKER_ID_RETRAIN,
};
// Interface for a class which is responsible for start Assistant OptIn flow.
diff --git a/chromium/ash/public/interfaces/contained_shell.mojom b/chromium/ash/public/interfaces/contained_shell.mojom
deleted file mode 100644
index 4f5b5ab6c81..00000000000
--- a/chromium/ash/public/interfaces/contained_shell.mojom
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2018 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 ash.mojom;
-
-import "components/account_id/interfaces/account_id.mojom";
-
-// Performs browser-side functionality for the ContainedShell feature,
-// e.g. launching a WebView to host the ContainedShell.
-interface ContainedShellClient {
- // Launch a contained shell experience for the current user, identified by
- // |account_id|.
- LaunchContainedShell(signin.mojom.AccountId account_id);
-};
-
-// Allows Ash and its consumers to interact with the ContainedShell
-// feature, e.g. by requesting to launch the ContainedShell WebView.
-// These requests are forwarded to the ContainedShellClient.
-interface ContainedShellController {
- // Provides a client for dispatching requests.
- SetClient(ContainedShellClient client);
-};
diff --git a/chromium/ash/public/interfaces/cros_display_config.mojom b/chromium/ash/public/interfaces/cros_display_config.mojom
index de14b580130..7039c8b7b7a 100644
--- a/chromium/ash/public/interfaces/cros_display_config.mojom
+++ b/chromium/ash/public/interfaces/cros_display_config.mojom
@@ -143,6 +143,8 @@ struct DisplayMode {
double refresh_rate;
// True if the mode is the display's native mode.
bool is_native;
+ // True if the mode is interlaced.
+ bool is_interlaced;
};
// Defines the properties of an individual display, returned by
diff --git a/chromium/ash/public/interfaces/kiosk_next_shell.mojom b/chromium/ash/public/interfaces/kiosk_next_shell.mojom
new file mode 100644
index 00000000000..a9ec5d2e8bf
--- /dev/null
+++ b/chromium/ash/public/interfaces/kiosk_next_shell.mojom
@@ -0,0 +1,21 @@
+// Copyright 2018 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 ash.mojom;
+
+import "components/account_id/interfaces/account_id.mojom";
+
+// Performs browser-side functionality for Kiosk Next, e.g. launching the
+// KioskNextShell.
+interface KioskNextShellClient {
+ // Launch the Kiosk Next Shell for the user identified by |account_id|.
+ LaunchKioskNextShell(signin.mojom.AccountId account_id);
+};
+
+// Allows Ash and its consumers to interact with Kiosk Next.
+// These requests are forwarded to the KioskNextShellClient when necessary.
+interface KioskNextShellController {
+ // Provides a client for dispatching requests.
+ SetClient(KioskNextShellClient client);
+};
diff --git a/chromium/ash/public/interfaces/login_screen.mojom b/chromium/ash/public/interfaces/login_screen.mojom
index 6e7f203d62d..764af8edcc4 100644
--- a/chromium/ash/public/interfaces/login_screen.mojom
+++ b/chromium/ash/public/interfaces/login_screen.mojom
@@ -219,7 +219,10 @@ interface LoginScreen {
SetShowGuestButtonInOobe(bool show);
// Sets whether parent access button can be shown on the login shelf.
- SetShowParentAccess(bool show);
+ SetShowParentAccessButton(bool show);
+
+ // Sets whether parent access code input dialog is shown on the lock screen.
+ SetShowParentAccessDialog(bool show);
// Transitions focus to the shelf area. If |reverse|, focuses the status area.
FocusLoginShelf(bool reverse);
@@ -262,6 +265,13 @@ interface LoginScreenClient {
// the other auth methods above.
AuthenticateUserWithEasyUnlock(signin.mojom.AccountId account_id);
+ // Validates parent access code for the user identified by |account_id|.
+ // Passes validation result in the callback.
+ // Note: This should only be used for child user.
+ ValidateParentAccessCode(
+ signin.mojom.AccountId account_id,
+ string access_code) => (bool access_code_valid);
+
// Request to hard lock the user pod.
// |account_id|: The account id of the user in the user pod.
HardlockPod(signin.mojom.AccountId account_id);
@@ -346,4 +356,7 @@ interface LoginScreenClient {
// the login screen / OOBE. |reverse| is true when the focus moves in the
// reversed direction.
OnFocusLeavingSystemTray(bool reverse);
+
+ // Used by Ash to signal that user activity occurred on the login screen.
+ OnUserActivity();
};
diff --git a/chromium/ash/public/interfaces/login_user_info.mojom b/chromium/ash/public/interfaces/login_user_info.mojom
index a58732b79f0..16f8b69b90e 100644
--- a/chromium/ash/public/interfaces/login_user_info.mojom
+++ b/chromium/ash/public/interfaces/login_user_info.mojom
@@ -10,7 +10,7 @@ import "mojo/public/mojom/base/string16.mojom";
import "mojo/public/mojom/base/values.mojom";
// Supported multi-profile user behavior values.
-// Keep in sync with the enum in md_user_pod_row.js and user_pod_row.js
+// Keep in sync with the enum in chromeos_user_pod_row.js and user_pod_row.js
enum MultiProfileUserBehavior {
UNRESTRICTED = 0,
PRIMARY_ONLY = 1,
diff --git a/chromium/ash/public/interfaces/shelf.mojom b/chromium/ash/public/interfaces/shelf.mojom
index 8bb2c6f6bbe..b048e03502e 100644
--- a/chromium/ash/public/interfaces/shelf.mojom
+++ b/chromium/ash/public/interfaces/shelf.mojom
@@ -46,9 +46,10 @@ enum ShelfItemType {
// Source of the launch or activation request, for tracking.
// These values match ash::ShelfLaunchSource.
enum ShelfLaunchSource {
- UNKNOWN, // The item was launched from outside the app list.
+ UNKNOWN, // The item was launched from elsewhere.
APP_LIST, // The item was launched from a generic app list view.
APP_LIST_SEARCH, // The item was launched from an app list search view.
+ SHELF, // The item was launched from the shelf.
};
// The Shelf controller allows clients (eg. Chrome) to control the ash shelf.
diff --git a/chromium/ash/public/interfaces/tablet_mode.mojom b/chromium/ash/public/interfaces/tablet_mode.mojom
index eec8ab9a846..0e98802e1bd 100644
--- a/chromium/ash/public/interfaces/tablet_mode.mojom
+++ b/chromium/ash/public/interfaces/tablet_mode.mojom
@@ -15,4 +15,7 @@ interface TabletModeController {
// Sets a client (e.g. chrome). Triggers OnTabletModeToggled() to provide
// the initial state.
SetClient(TabletModeClient client);
+
+ // Enables or disables tablet mode. For testing only.
+ SetTabletModeEnabledForTesting(bool enabled) => (bool enabled);
};
diff --git a/chromium/ash/public/interfaces/voice_interaction_controller.mojom b/chromium/ash/public/interfaces/voice_interaction_controller.mojom
index ccada86fdf2..b423cba22ad 100644
--- a/chromium/ash/public/interfaces/voice_interaction_controller.mojom
+++ b/chromium/ash/public/interfaces/voice_interaction_controller.mojom
@@ -46,7 +46,9 @@ enum AssistantAllowedState {
// Disallowed because the device is in demo mode.
DISALLOWED_BY_DEMO_MODE,
// Disallowed because the device is in public session.
- DISALLOWED_BY_PUBLIC_SESSION
+ DISALLOWED_BY_PUBLIC_SESSION,
+ // Disallowed because the user's account type is currently not supported.
+ DISALLOWED_BY_ACCOUNT_TYPE
};
// Allows observing changes to voice interaction status and settings.
@@ -67,8 +69,8 @@ interface VoiceInteractionObserver {
// Called when hotword is set to always on/only with power source.
OnVoiceInteractionHotwordAlwaysOn(bool always_on);
- // Called when voice interaction setup flow completed.
- OnVoiceInteractionSetupCompleted(bool completed);
+ // Called when consent status is updated.
+ OnVoiceInteractionConsentStatusUpdated(ConsentStatus consent_status);
// Called when assistant feature allowed state has changed.
OnAssistantFeatureAllowedChanged(AssistantAllowedState state);
@@ -99,8 +101,8 @@ interface VoiceInteractionController {
// Called when the hotword is set to always on/only with power source.
NotifyHotwordAlwaysOn(bool enabled);
- // Called when the voice interaction setup complete status is changed.
- NotifySetupCompleted(bool completed);
+ // Called when the consent status is obtained from the server.
+ NotifyConsentStatus(ConsentStatus consent_status);
// Notify if voice interaction feature is allowed or not. e.g. not allowed
// if disabled by policy.
@@ -118,3 +120,20 @@ interface VoiceInteractionController {
// Add an observer.
AddObserver(VoiceInteractionObserver observer);
};
+
+// The status of the user's consent. The enum values cannot be changed because
+// they are persisted on disk.
+enum ConsentStatus {
+ // The status is unknown.
+ kUnknown = 0,
+
+ // The user accepted activity control access.
+ kActivityControlAccepted = 1,
+
+ // The user is not authorized to give consent.
+ kUnauthorized = 2,
+
+ // The user's consent information is not found. This is typically the case
+ // when consent from the user has never been requested.
+ kNotFound = 3,
+};
diff --git a/chromium/ash/public/interfaces/wallpaper.mojom b/chromium/ash/public/interfaces/wallpaper.mojom
index 5c524b45178..bb5df37697f 100644
--- a/chromium/ash/public/interfaces/wallpaper.mojom
+++ b/chromium/ash/public/interfaces/wallpaper.mojom
@@ -53,14 +53,11 @@ interface WallpaperController {
// reside.
// |device_policy_wallpaper_path|: The file path of the device policy
// wallpaper (if any).
- // |is_device_wallpaper_policy_enforced|: Whether the device wallpaper policy
- // is enforced on the device.
Init(WallpaperControllerClient client,
mojo_base.mojom.FilePath user_data_path,
mojo_base.mojom.FilePath chromeos_wallpapers_path,
mojo_base.mojom.FilePath chromeos_custom_wallpapers_path,
- mojo_base.mojom.FilePath device_policy_wallpaper_path,
- bool is_device_wallpaper_policy_enforced);
+ mojo_base.mojom.FilePath device_policy_wallpaper_path);
// Sets wallpaper from a local file and updates the saved wallpaper info for
// the user.
@@ -145,9 +142,12 @@ interface WallpaperController {
string wallpaper_files_id,
string data);
- // Sets whether device wallpaper policy is enforced on this device. Updates/
- // clears the device policy controlled wallpaper if applicable.
- SetDeviceWallpaperPolicyEnforced(bool enforced);
+ // Sets the path of device policy wallpaper.
+ // |device_policy_wallpaper_path|: The file path of the device policy
+ // wallpaper if it was set or empty value if
+ // it was cleared.
+ SetDevicePolicyWallpaperPath(
+ mojo_base.mojom.FilePath device_policy_wallpaper_path);
// Sets wallpaper from a third-party app (as opposed to the Chrome OS
// wallpaper picker).
@@ -205,6 +205,17 @@ interface WallpaperController {
// when using this method.
ShowOneShotWallpaper(gfx.mojom.ImageSkia image);
+ // Shows a wallpaper that stays on top of everything except for the power off
+ // animation. All other wallpaper requests are ignored when the always-on-top
+ // wallpaper is being shown.
+ // |image_path|: The file path to read the image data from.
+ ShowAlwaysOnTopWallpaper(mojo_base.mojom.FilePath image_path);
+
+ // Removes the always-on-top wallpaper. The wallpaper will revert to the
+ // previous one, or a default one if there was none. No-op if the current
+ // wallpaper is not always-on-top.
+ RemoveAlwaysOnTopWallpaper();
+
// Removes all of the user's saved wallpapers and related info.
// |wallpaper_files_id|: The file id for user_info.account_id.
RemoveUserWallpaper(WallpaperUserInfo user_info, string wallpaper_files_id);
diff --git a/chromium/ash/public/interfaces/window_properties.mojom b/chromium/ash/public/interfaces/window_properties.mojom
index 4cc5b905ecd..8fae0829fb7 100644
--- a/chromium/ash/public/interfaces/window_properties.mojom
+++ b/chromium/ash/public/interfaces/window_properties.mojom
@@ -53,6 +53,9 @@ const string kIsDraggingTabs_Property = "ash:is-dragging-tabs";
// If true, the window is currently showing in overview mode.
const string kIsShowingInOverview_Property = "ash:is-showing-in-overview";
+// A property key to store the window state the window had before entering PIP.
+const string kPrePipWindowStateType_Property = "ash:pre-pip-window-state-type";
+
// A property key to store the address of the source window that the drag
// originated from if the window is currently in tab-dragging process.
const string kTabDraggingSourceWindow_Property =
@@ -87,3 +90,7 @@ const string kTopViewInset_Property = "ash:top-view-inset";
// A boolean property to indicate a picture-in-picture window.
const string kIsWindowPip_Property = "ash:is-window-pip";
+
+// A boolean that corresponds to kGestureDragFromClientAreaTopMovesWindow.
+const string kGestureDragFromClientAreaTopMovesWindow_Property =
+ "ash:gesture-drag-from-client-area-top-moves-window";