diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-05-16 09:59:13 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-05-20 10:28:53 +0000 |
commit | 6c11fb357ec39bf087b8b632e2b1e375aef1b38b (patch) | |
tree | c8315530db18a8ee566521c39ab8a6af4f72bc03 /chromium/ash/public | |
parent | 3ffaed019d0772e59d6cdb2d0d32fe4834c31f72 (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')
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"; |