diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-01-23 17:21:03 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-01-23 16:25:15 +0000 |
commit | c551f43206405019121bd2b2c93714319a0a3300 (patch) | |
tree | 1f48c30631c421fd4bbb3c36da20183c8a2ed7d7 /chromium/chrome/browser/ui/webui/settings/chromeos | |
parent | 7961cea6d1041e3e454dae6a1da660b453efd238 (diff) |
BASELINE: Update Chromium to 79.0.3945.139
Change-Id: I336b7182fab9bca80b709682489c07db112eaca5
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/chrome/browser/ui/webui/settings/chromeos')
26 files changed, 152 insertions, 164 deletions
diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/account_manager_handler.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/account_manager_handler.cc index 3978c28d325..53cc34c898e 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/account_manager_handler.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/account_manager_handler.cc @@ -204,7 +204,7 @@ void AccountManagerUIHandler::OnGetAccounts( if (IsSameAccount(account_key, device_account_id)) { device_account = std::move(account); } else { - accounts.GetList().push_back(std::move(account)); + accounts.Append(std::move(account)); } } diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/android_apps_handler.h b/chromium/chrome/browser/ui/webui/settings/chromeos/android_apps_handler.h index 3a7d0549e7d..db3d37534d2 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/android_apps_handler.h +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/android_apps_handler.h @@ -11,7 +11,7 @@ #include "base/macros.h" #include "base/memory/weak_ptr.h" #include "base/scoped_observer.h" -#include "chrome/browser/chromeos/arc/arc_session_manager.h" +#include "chrome/browser/chromeos/arc/session/arc_session_manager.h" #include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h" #include "chrome/browser/ui/webui/settings/settings_page_ui_handler.h" diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/app_management/app_management_page_handler_factory.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/app_management/app_management_page_handler_factory.cc index 8b3abcc9b50..7a9cb175f5b 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/app_management/app_management_page_handler_factory.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/app_management/app_management_page_handler_factory.cc @@ -11,6 +11,7 @@ #include "base/feature_list.h" #include "chrome/browser/apps/app_service/app_icon_source.h" #include "chrome/browser/profiles/profile.h" +#include "chrome/browser/ui/webui/app_management/app_management.mojom.h" #include "chrome/browser/ui/webui/app_management/app_management_page_handler.h" #include "chrome/grit/browser_resources.h" #include "chrome/grit/chromium_strings.h" @@ -19,37 +20,29 @@ #include "content/public/browser/url_data_source.h" #include "content/public/browser/web_ui.h" #include "content/public/browser/web_ui_data_source.h" +#include "mojo/public/cpp/bindings/pending_receiver.h" +#include "mojo/public/cpp/bindings/pending_remote.h" +#include "mojo/public/cpp/bindings/receiver.h" #include "ui/base/resource/resource_bundle.h" AppManagementPageHandlerFactory::AppManagementPageHandlerFactory( Profile* profile) - : page_factory_binding_(this), profile_(profile) {} + : profile_(profile) {} AppManagementPageHandlerFactory::~AppManagementPageHandlerFactory() = default; void AppManagementPageHandlerFactory::Bind( - app_management::mojom::PageHandlerFactoryRequest request) { - if (page_factory_binding_.is_bound()) { - page_factory_binding_.Unbind(); - } + mojo::PendingReceiver<app_management::mojom::PageHandlerFactory> receiver) { + page_factory_receiver_.reset(); - page_factory_binding_.Bind(std::move(request)); -} - -void AppManagementPageHandlerFactory::BindPageHandlerFactory( - app_management::mojom::PageHandlerFactoryRequest request) { - if (page_factory_binding_.is_bound()) { - page_factory_binding_.Unbind(); - } - - page_factory_binding_.Bind(std::move(request)); + page_factory_receiver_.Bind(std::move(receiver)); } void AppManagementPageHandlerFactory::CreatePageHandler( - app_management::mojom::PagePtr page, - app_management::mojom::PageHandlerRequest request) { + mojo::PendingRemote<app_management::mojom::Page> page, + mojo::PendingReceiver<app_management::mojom::PageHandler> receiver) { DCHECK(page); page_handler_ = std::make_unique<AppManagementPageHandler>( - std::move(request), std::move(page), profile_); + std::move(receiver), std::move(page), profile_); } diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/app_management/app_management_page_handler_factory.h b/chromium/chrome/browser/ui/webui/settings/chromeos/app_management/app_management_page_handler_factory.h index 3779071f093..ca3d617e7b4 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/app_management/app_management_page_handler_factory.h +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/app_management/app_management_page_handler_factory.h @@ -9,7 +9,9 @@ #include "base/macros.h" #include "chrome/browser/ui/webui/app_management/app_management.mojom.h" -#include "mojo/public/cpp/bindings/binding.h" +#include "mojo/public/cpp/bindings/pending_receiver.h" +#include "mojo/public/cpp/bindings/pending_remote.h" +#include "mojo/public/cpp/bindings/receiver.h" class Profile; @@ -21,21 +23,20 @@ class AppManagementPageHandlerFactory explicit AppManagementPageHandlerFactory(Profile* profile); ~AppManagementPageHandlerFactory() override; - void Bind(app_management::mojom::PageHandlerFactoryRequest request); + void Bind(mojo::PendingReceiver<app_management::mojom::PageHandlerFactory> + receiver); private: - void BindPageHandlerFactory( - app_management::mojom::PageHandlerFactoryRequest request); - // app_management::mojom::PageHandlerFactory: void CreatePageHandler( - app_management::mojom::PagePtr page, - app_management::mojom::PageHandlerRequest request) override; + mojo::PendingRemote<app_management::mojom::Page> page, + mojo::PendingReceiver<app_management::mojom::PageHandler> receiver) + override; std::unique_ptr<AppManagementPageHandler> page_handler_; - mojo::Binding<app_management::mojom::PageHandlerFactory> - page_factory_binding_; + mojo::Receiver<app_management::mojom::PageHandlerFactory> + page_factory_receiver_{this}; Profile* profile_; diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/app_management/app_management_uma.h b/chromium/chrome/browser/ui/webui/settings/chromeos/app_management/app_management_uma.h new file mode 100644 index 00000000000..31d7515612e --- /dev/null +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/app_management/app_management_uma.h @@ -0,0 +1,31 @@ +// 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. + +#ifndef CHROME_BROWSER_UI_WEBUI_SETTINGS_CHROMEOS_APP_MANAGEMENT_APP_MANAGEMENT_UMA_H_ +#define CHROME_BROWSER_UI_WEBUI_SETTINGS_CHROMEOS_APP_MANAGEMENT_APP_MANAGEMENT_UMA_H_ + +// These are used in histograms, do not remove/renumber entries. If you're +// adding to this enum with the intention that it will be logged, update the +// AppManagementEntryPoint enum listing in +// tools/metrics/histograms/enums.xml. +enum class AppManagementEntryPoint { + kAppListContextMenuAppInfoArc = 0, + kAppListContextMenuAppInfoChromeApp = 1, + kAppListContextMenuAppInfoWebApp = 2, + kLauncherContextMenuAppInfoArc = 3, + kLauncherContextMenuAppInfoChromeApp = 4, + kLauncherContextMenuAppInfoWebApp = 5, + kAppManagementMainViewArc = 6, + kAppManagementMainViewChromeApp = 7, + kAppManagementMainViewWebApp = 8, + kOsSettingsMainPage = 9, + kMaxValue = kOsSettingsMainPage, +}; + +// This histogram is also declared and used at chrome/browser/resources/ +// settings/chrome_os/os_apps_page/app_management_page/constants.js. +constexpr char kAppManagementEntryPointsHistogramName[] = + "AppManagement.EntryPoints"; + +#endif // CHROME_BROWSER_UI_WEBUI_SETTINGS_CHROMEOS_APP_MANAGEMENT_APP_MANAGEMENT_UMA_H_ diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/change_picture_handler.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/change_picture_handler.cc index 2038031a39e..1c5b605ea28 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/change_picture_handler.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/change_picture_handler.cc @@ -17,6 +17,7 @@ #include "base/stl_util.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" +#include "base/task/post_task.h" #include "base/values.h" #include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" @@ -84,9 +85,7 @@ const char kProfileDownloadReason[] = "Preferences"; } // namespace ChangePictureHandler::ChangePictureHandler() - : previous_image_index_(user_manager::User::USER_IMAGE_INVALID), - user_manager_observer_(this), - camera_observer_(this) { + : previous_image_index_(user_manager::User::USER_IMAGE_INVALID) { ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); audio::SoundsManager* manager = audio::SoundsManager::Get(); manager->Initialize(SOUND_OBJECT_DELETE, @@ -225,11 +224,17 @@ void ChangePictureHandler::SendSelectedImage() { user->has_image_bytes()) { previous_image_bytes_ = user->image_bytes(); SendOldImage(webui::GetPngDataUrl(previous_image_bytes_->front(), - previous_image_bytes_->size()), - -1); + previous_image_bytes_->size())); } else { previous_image_bytes_ = nullptr; - SendOldImage(webui::GetBitmapDataUrl(*previous_image_.bitmap()), -1); + DCHECK(previous_image_.IsThreadSafe()); + // Post a task because GetBitmapDataUrl does PNG encoding, which is + // slow for large images. + base::PostTaskAndReplyWithResult( + FROM_HERE, {base::ThreadPool(), base::TaskPriority::USER_BLOCKING}, + base::BindOnce(&webui::GetBitmapDataUrl, *previous_image_.bitmap()), + base::BindOnce(&ChangePictureHandler::SendOldImage, + weak_ptr_factory_.GetWeakPtr())); } break; } @@ -250,7 +255,7 @@ void ChangePictureHandler::SendSelectedImage() { previous_image_ = user->GetImage(); previous_image_bytes_ = nullptr; previous_image_format_ = user_manager::UserImage::FORMAT_UNKNOWN; - SendOldImage( + SendOldImageWithIndex( default_user_image::GetDefaultImageUrl(previous_image_index_), previous_image_index_); } @@ -277,11 +282,15 @@ void ChangePictureHandler::UpdateProfileImage() { user_image_manager->DownloadProfileImage(kProfileDownloadReason); } -void ChangePictureHandler::SendOldImage(const std::string& image_url, - int image_index) { +void ChangePictureHandler::SendOldImage(std::string&& image_url) { + SendOldImageWithIndex(std::move(image_url), -1); +} + +void ChangePictureHandler::SendOldImageWithIndex(std::string&& image_url, + int image_index) { base::DictionaryValue result; - result.SetString("url", image_url); - result.SetInteger("index", image_index); + result.SetStringPath("url", std::move(image_url)); + result.SetIntPath("index", image_index); FireWebUIListener("old-image-changed", result); } diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/change_picture_handler.h b/chromium/chrome/browser/ui/webui/settings/chromeos/change_picture_handler.h index ab0e18342c0..a3bb95d292e 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/change_picture_handler.h +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/change_picture_handler.h @@ -6,6 +6,7 @@ #define CHROME_BROWSER_UI_WEBUI_SETTINGS_CHROMEOS_CHANGE_PICTURE_HANDLER_H_ #include "base/macros.h" +#include "base/memory/weak_ptr.h" #include "base/scoped_observer.h" #include "chrome/browser/chromeos/camera_presence_notifier.h" #include "chrome/browser/image_decoder.h" @@ -60,11 +61,14 @@ class ChangePictureHandler : public ::settings::SettingsPageUIHandler, // if any, on the page. Shouldn't be called before |SendProfileImage|. void UpdateProfileImage(); + // Sends the previous user image to the page. + void SendOldImage(std::string&& image_url); + // Sends the previous user image to the page. Also sends |image_index| which // is either the index of the previous user image (if it was from an older // default image set) or -1 otherwise. This allows the WebUI to show credits // for older default images. - void SendOldImage(const std::string& image_url, int image_index); + void SendOldImageWithIndex(std::string&& image_url, int image_index); // Starts camera presence check. void CheckCameraPresence(); @@ -135,9 +139,12 @@ class ChangePictureHandler : public ::settings::SettingsPageUIHandler, // Data for |user_photo_|. scoped_refptr<base::RefCountedBytes> user_photo_data_; - ScopedObserver<user_manager::UserManager, ChangePictureHandler> - user_manager_observer_; - ScopedObserver<CameraPresenceNotifier, ChangePictureHandler> camera_observer_; + ScopedObserver<user_manager::UserManager, user_manager::UserManager::Observer> + user_manager_observer_{this}; + ScopedObserver<CameraPresenceNotifier, CameraPresenceNotifier::Observer> + camera_observer_{this}; + + base::WeakPtrFactory<ChangePictureHandler> weak_ptr_factory_{this}; DISALLOW_COPY_AND_ASSIGN(ChangePictureHandler); }; diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/crostini_handler.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/crostini_handler.cc index c548d8996f3..2a4d10fed51 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/crostini_handler.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/crostini_handler.cc @@ -154,7 +154,7 @@ base::ListValue UsbDevicesToListValue( const bool shared_in_crostini = device.vm_sharing_info[crostini::kCrostiniDefaultVmName].shared; device_info.SetKey("shared", base::Value(shared_in_crostini)); - usb_devices_list.GetList().push_back(std::move(device_info)); + usb_devices_list.Append(std::move(device_info)); } return usb_devices_list; } diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc index 2f4c1749e9a..ce238a44a78 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc @@ -36,7 +36,7 @@ #include "chrome/common/chrome_paths.h" #include "chrome/common/pref_names.h" #include "chromeos/dbus/dbus_thread_manager.h" -#include "chromeos/dbus/debug_daemon_client.h" +#include "chromeos/dbus/debug_daemon/debug_daemon_client.h" #include "chromeos/printing/ppd_cache.h" #include "chromeos/printing/ppd_line_reader.h" #include "chromeos/printing/ppd_provider.h" @@ -75,8 +75,15 @@ void OnRemovedPrinter(const Printer::PrinterProtocol& protocol, bool success) { } // Log if the IPP attributes request was succesful. -void RecordIppQuerySuccess(bool success) { - UMA_HISTOGRAM_BOOLEAN("Printing.CUPS.IppAttributesSuccess", success); +void RecordIppQueryResult(const PrinterQueryResult& result) { + bool reachable = (result != PrinterQueryResult::UNREACHABLE); + UMA_HISTOGRAM_BOOLEAN("Printing.CUPS.IppDeviceReachable", reachable); + + if (reachable) { + // Only record whether the query was successful if we reach the printer. + bool query_success = (result == PrinterQueryResult::SUCCESS); + UMA_HISTOGRAM_BOOLEAN("Printing.CUPS.IppAttributesSuccess", query_success); + } } // Returns true if |printer_uri| is an IPP uri. @@ -116,7 +123,7 @@ base::Value BuildCupsPrintersList(const std::vector<Printer>& printers) { for (const Printer& printer : printers) { // Some of these printers could be invalid but we want to allow the user // to edit them. crbug.com/778383 - printers_list.GetList().push_back( + printers_list.Append( base::Value::FromUniquePtrValue(GetCupsPrinterInfo(printer))); } @@ -491,9 +498,9 @@ void CupsPrintersHandler::OnAutoconfQueriedDiscovered( const std::string& make_and_model, const std::vector<std::string>& document_formats, bool ipp_everywhere) { - const bool success = result == PrinterQueryResult::SUCCESS; - RecordIppQuerySuccess(success); + RecordIppQueryResult(result); + const bool success = result == PrinterQueryResult::SUCCESS; if (success) { // If we queried a valid make and model, use it. The mDNS record isn't // guaranteed to have it. However, don't overwrite it if the printer @@ -537,8 +544,8 @@ void CupsPrintersHandler::OnAutoconfQueried( const std::string& make_and_model, const std::vector<std::string>& document_formats, bool ipp_everywhere) { + RecordIppQueryResult(result); const bool success = result == PrinterQueryResult::SUCCESS; - RecordIppQuerySuccess(success); if (result == PrinterQueryResult::UNREACHABLE) { PRINTER_LOG(DEBUG) << "Could not reach printer"; @@ -966,6 +973,7 @@ void CupsPrintersHandler::VerifyPpdContents(const base::FilePath& path, void CupsPrintersHandler::HandleStartDiscovery(const base::ListValue* args) { PRINTER_LOG(DEBUG) << "Start printer discovery"; + AllowJavascript(); discovery_active_ = true; OnPrintersChanged(PrinterClass::kAutomatic, printers_manager_->GetPrinters(PrinterClass::kAutomatic)); diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler_unittest.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler_unittest.cc index c9c52df5e53..e861529292c 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler_unittest.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler_unittest.cc @@ -12,7 +12,7 @@ #include "chrome/browser/chromeos/printing/printing_stubs.h" #include "chrome/test/base/testing_profile.h" #include "chromeos/dbus/dbus_thread_manager.h" -#include "chromeos/dbus/debug_daemon_client.h" +#include "chromeos/dbus/debug_daemon/debug_daemon_client.h" #include "content/public/test/browser_task_environment.h" #include "content/public/test/test_web_ui.h" #include "testing/gtest/include/gtest/gtest.h" diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/date_time_handler.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/date_time_handler.cc index e2de1a94c72..59656e6e848 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/date_time_handler.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/date_time_handler.cc @@ -12,6 +12,7 @@ #include "base/time/time.h" #include "base/values.h" #include "chrome/browser/browser_process.h" +#include "chrome/browser/browser_process_platform_part.h" #include "chrome/browser/chromeos/child_accounts/parent_access_code/parent_access_service.h" #include "chrome/browser/chromeos/set_time_dialog.h" #include "chrome/browser/chromeos/system/timezone_resolver_manager.h" diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/device_keyboard_handler.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/device_keyboard_handler.cc index c38687e6415..ee16a539c7b 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/device_keyboard_handler.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/device_keyboard_handler.cc @@ -16,7 +16,6 @@ #include "services/service_manager/public/cpp/connector.h" #include "ui/chromeos/events/event_rewriter_chromeos.h" #include "ui/chromeos/events/keyboard_layout_util.h" -#include "ui/events/devices/device_data_manager.h" namespace { @@ -59,8 +58,7 @@ void KeyboardHandler::TestAPI::Initialize() { handler_->HandleInitialize(&args); } -KeyboardHandler::KeyboardHandler() : observer_(this) {} - +KeyboardHandler::KeyboardHandler() = default; KeyboardHandler::~KeyboardHandler() = default; void KeyboardHandler::RegisterMessages() { diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/device_keyboard_handler.h b/chromium/chrome/browser/ui/webui/settings/chromeos/device_keyboard_handler.h index 89e70bb56cf..ee6c480adc5 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/device_keyboard_handler.h +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/device_keyboard_handler.h @@ -8,16 +8,13 @@ #include "base/macros.h" #include "base/scoped_observer.h" #include "chrome/browser/ui/webui/settings/settings_page_ui_handler.h" +#include "ui/events/devices/device_data_manager.h" #include "ui/events/devices/input_device_event_observer.h" namespace base { class ListValue; } -namespace ui { -class DeviceDataManager; -} - namespace chromeos { namespace settings { @@ -71,7 +68,8 @@ class KeyboardHandler // Sends the UI a message about whether hardware keyboard are attached. void UpdateKeyboards(); - ScopedObserver<ui::DeviceDataManager, KeyboardHandler> observer_; + ScopedObserver<ui::DeviceDataManager, ui::InputDeviceEventObserver> observer_{ + this}; DISALLOW_COPY_AND_ASSIGN(KeyboardHandler); }; diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/device_power_handler.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/device_power_handler.cc index 79feea807e9..1906a330cd5 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/device_power_handler.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/device_power_handler.cc @@ -109,8 +109,7 @@ void PowerHandler::TestAPI::SetLidClosedBehavior( handler_->HandleSetLidClosedBehavior(&args); } -PowerHandler::PowerHandler(PrefService* prefs) - : prefs_(prefs), power_manager_client_observer_(this) {} +PowerHandler::PowerHandler(PrefService* prefs) : prefs_(prefs) {} PowerHandler::~PowerHandler() {} diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/device_power_handler.h b/chromium/chrome/browser/ui/webui/settings/chromeos/device_power_handler.h index a362dcd45be..d55a3944bd5 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/device_power_handler.h +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/device_power_handler.h @@ -114,8 +114,8 @@ class PowerHandler : public ::settings::SettingsPageUIHandler, // Used to watch power management prefs for changes so the UI can be notified. std::unique_ptr<PrefChangeRegistrar> pref_change_registrar_; - ScopedObserver<PowerManagerClient, PowerHandler> - power_manager_client_observer_; + ScopedObserver<PowerManagerClient, PowerManagerClient::Observer> + power_manager_client_observer_{this}; // Last lid state received from powerd. PowerManagerClient::LidState lid_state_ = PowerManagerClient::LidState::OPEN; diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/device_storage_handler.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/device_storage_handler.cc index b9737dc9919..0eebb3c1814 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/device_storage_handler.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/device_storage_handler.cc @@ -25,6 +25,7 @@ #include "chrome/browser/browsing_data/browsing_data_local_storage_helper.h" #include "chrome/browser/browsing_data/browsing_data_service_worker_helper.h" #include "chrome/browser/chromeos/arc/arc_util.h" +#include "chrome/browser/chromeos/crostini/crostini_features.h" #include "chrome/browser/chromeos/crostini/crostini_manager.h" #include "chrome/browser/chromeos/crostini/crostini_util.h" #include "chrome/browser/chromeos/drive/file_system_util.h" @@ -42,7 +43,6 @@ #include "components/arc/arc_util.h" #include "components/arc/session/arc_bridge_service.h" #include "components/browsing_data/content/conditional_cache_counting_helper.h" -#include "components/drive/chromeos/file_system_interface.h" #include "components/user_manager/user_manager.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/storage_partition.h" @@ -85,7 +85,6 @@ StorageHandler::StorageHandler(Profile* profile, browser_site_data_size_(-1), has_browser_site_data_size_(false), updating_downloads_size_(false), - updating_drive_cache_size_(false), updating_browsing_data_size_(false), updating_android_size_(false), updating_crostini_size_(false), @@ -128,10 +127,6 @@ void StorageHandler::RegisterMessages() { base::BindRepeating(&StorageHandler::HandleOpenArcStorage, base::Unretained(this))); web_ui()->RegisterMessageCallback( - "clearDriveCache", - base::BindRepeating(&StorageHandler::HandleClearDriveCache, - base::Unretained(this))); - web_ui()->RegisterMessageCallback( "updateExternalStorages", base::BindRepeating(&StorageHandler::HandleUpdateExternalStorages, base::Unretained(this))); @@ -183,7 +178,6 @@ void StorageHandler::HandleUpdateStorageInfo(const base::ListValue* args) { UpdateSizeStat(); UpdateDownloadsSize(); - UpdateDriveCacheSize(); UpdateBrowsingDataSize(); UpdateAndroidRunning(); UpdateAndroidSize(); @@ -207,25 +201,11 @@ void StorageHandler::HandleOpenArcStorage( arc_storage_manager->OpenPrivateVolumeSettings(); } -void StorageHandler::HandleClearDriveCache( - const base::ListValue* unused_args) { - drive::FileSystemInterface* const file_system = - drive::util::GetFileSystemByProfile(profile_); - file_system->FreeDiskSpaceIfNeededFor( - std::numeric_limits<int64_t>::max(), // Removes as much as possible. - base::Bind(&StorageHandler::OnClearDriveCacheDone, - weak_ptr_factory_.GetWeakPtr())); -} - void StorageHandler::HandleUpdateExternalStorages( const base::ListValue* unused_args) { UpdateExternalStorages(); } -void StorageHandler::OnClearDriveCacheDone(bool /*success*/) { - UpdateDriveCacheSize(); -} - void StorageHandler::UpdateSizeStat() { const base::FilePath downloads_path = file_manager::util::GetDownloadsFolderForProfile(profile_); @@ -282,28 +262,6 @@ void StorageHandler::OnGetDownloadsSize(int64_t size) { base::Value(ui::FormatBytes(size))); } -void StorageHandler::UpdateDriveCacheSize() { - drive::FileSystemInterface* const file_system = - drive::util::GetFileSystemByProfile(profile_); - if (!file_system) - return; - - if (updating_drive_cache_size_) - return; - updating_drive_cache_size_ = true; - - // Shows the item "Offline cache" and starts calculating size. - FireWebUIListener("storage-drive-enabled-changed", base::Value(true)); - file_system->CalculateCacheSize(base::Bind( - &StorageHandler::OnGetDriveCacheSize, weak_ptr_factory_.GetWeakPtr())); -} - -void StorageHandler::OnGetDriveCacheSize(int64_t size) { - updating_drive_cache_size_ = false; - FireWebUIListener("storage-drive-cache-size-changed", - base::Value(ui::FormatBytes(size)), base::Value(size > 0)); -} - void StorageHandler::UpdateBrowsingDataSize() { if (updating_browsing_data_size_) return; @@ -410,7 +368,7 @@ void StorageHandler::OnGetAndroidSize(bool succeeded, } void StorageHandler::UpdateCrostiniSize() { - if (!crostini::IsCrostiniEnabled(profile_)) { + if (!crostini::CrostiniFeatures::Get()->IsEnabled(profile_)) { return; } @@ -500,7 +458,7 @@ void StorageHandler::UpdateExternalStorages() { base::Value device(base::Value::Type::DICTIONARY); device.SetKey("uuid", base::Value(disk->fs_uuid())); device.SetKey("label", base::Value(label)); - devices.GetList().push_back(std::move(device)); + devices.Append(std::move(device)); } FireWebUIListener("onExternalStoragesUpdated", devices); } diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/device_storage_handler.h b/chromium/chrome/browser/ui/webui/settings/chromeos/device_storage_handler.h index 32078b3aa56..4c901c9913a 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/device_storage_handler.h +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/device_storage_handler.h @@ -16,7 +16,7 @@ #include "base/optional.h" #include "base/scoped_observer.h" #include "chrome/browser/browsing_data/site_data_size_collector.h" -#include "chrome/browser/chromeos/arc/arc_session_manager.h" +#include "chrome/browser/chromeos/arc/session/arc_session_manager.h" #include "chrome/browser/ui/webui/settings/settings_page_ui_handler.h" #include "chromeos/dbus/cryptohome/rpc.pb.h" #include "chromeos/disks/disk_mount_manager.h" @@ -80,12 +80,8 @@ class StorageHandler void HandleUpdateStorageInfo(const base::ListValue* unused_args); void HandleOpenDownloads(const base::ListValue* unused_args); void HandleOpenArcStorage(const base::ListValue* unused_args); - void HandleClearDriveCache(const base::ListValue* unused_args); void HandleUpdateExternalStorages(const base::ListValue* unused_args); - // Callback called when clearing Drive cache is done. - void OnClearDriveCacheDone(bool success); - // Requests updating disk space information. void UpdateSizeStat(); @@ -98,12 +94,6 @@ class StorageHandler // Callback to update the UI about the size of Downloads directory. void OnGetDownloadsSize(int64_t size); - // Requests updating the size of Drive Cache. - void UpdateDriveCacheSize(); - - // Callback to update the UI about the size of Drive Cache. - void OnGetDriveCacheSize(int64_t size); - // Requests updating the size of browsing data. void UpdateBrowsingDataSize(); @@ -166,7 +156,6 @@ class StorageHandler // Flags indicating fetch operations for storage sizes are ongoing. bool updating_downloads_size_; - bool updating_drive_cache_size_; bool updating_browsing_data_size_; bool updating_android_size_; bool updating_crostini_size_; diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/device_stylus_handler.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/device_stylus_handler.cc index 202fcf856f8..ad7f2ee26ba 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/device_stylus_handler.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/device_stylus_handler.cc @@ -14,7 +14,6 @@ #include "chrome/browser/chromeos/arc/arc_util.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/app_list/arc/arc_app_utils.h" -#include "ui/events/devices/device_data_manager.h" namespace chromeos { namespace settings { @@ -29,8 +28,7 @@ constexpr char kAppLockScreenSupportKey[] = "lockScreenSupport"; } // namespace -StylusHandler::StylusHandler() : note_observer_(this), input_observer_(this) {} - +StylusHandler::StylusHandler() = default; StylusHandler::~StylusHandler() = default; void StylusHandler::RegisterMessages() { diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/device_stylus_handler.h b/chromium/chrome/browser/ui/webui/settings/chromeos/device_stylus_handler.h index a1be49b471f..c0e2429de10 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/device_stylus_handler.h +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/device_stylus_handler.h @@ -12,16 +12,13 @@ #include "base/scoped_observer.h" #include "chrome/browser/chromeos/note_taking_helper.h" #include "chrome/browser/ui/webui/settings/settings_page_ui_handler.h" +#include "ui/events/devices/device_data_manager.h" #include "ui/events/devices/input_device_event_observer.h" namespace base { class ListValue; } -namespace ui { -class DeviceDataManager; -} - namespace chromeos { namespace settings { @@ -63,9 +60,10 @@ class StylusHandler : public ::settings::SettingsPageUIHandler, std::set<std::string> note_taking_app_ids_; // Observer registration. - ScopedObserver<NoteTakingHelper, NoteTakingHelper::Observer> note_observer_; + ScopedObserver<NoteTakingHelper, NoteTakingHelper::Observer> note_observer_{ + this}; ScopedObserver<ui::DeviceDataManager, ui::InputDeviceEventObserver> - input_observer_; + input_observer_{this}; DISALLOW_COPY_AND_ASSIGN(StylusHandler); }; diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/fingerprint_handler.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/fingerprint_handler.cc index 577dc77a406..601eeaf2435 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/fingerprint_handler.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/fingerprint_handler.cc @@ -20,7 +20,6 @@ #include "chrome/common/pref_names.h" #include "chrome/grit/generated_resources.h" #include "components/prefs/pref_service.h" -#include "components/session_manager/core/session_manager.h" #include "content/public/browser/system_connector.h" #include "services/device/public/mojom/constants.mojom.h" #include "services/service_manager/public/cpp/connector.h" @@ -57,10 +56,9 @@ std::unique_ptr<base::DictionaryValue> GetFingerprintsInfo( } // namespace -FingerprintHandler::FingerprintHandler(Profile* profile) - : profile_(profile), binding_(this), session_observer_(this) { - content::GetSystemConnector()->BindInterface(device::mojom::kServiceName, - &fp_service_); +FingerprintHandler::FingerprintHandler(Profile* profile) : profile_(profile) { + content::GetSystemConnector()->Connect( + device::mojom::kServiceName, fp_service_.BindNewPipeAndPassReceiver()); user_id_ = ProfileHelper::Get()->GetUserIdHashFromProfile(profile); } @@ -111,14 +109,12 @@ void FingerprintHandler::OnJavascriptAllowed() { if (SessionManager::Get()) session_observer_.Add(SessionManager::Get()); - device::mojom::FingerprintObserverPtr observer; - binding_.Bind(mojo::MakeRequest(&observer)); - fp_service_->AddFingerprintObserver(std::move(observer)); + fp_service_->AddFingerprintObserver(receiver_.BindNewPipeAndPassRemote()); } void FingerprintHandler::OnJavascriptDisallowed() { session_observer_.RemoveAll(); - binding_.Close(); + receiver_.reset(); } void FingerprintHandler::OnRestarted() {} diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/fingerprint_handler.h b/chromium/chrome/browser/ui/webui/settings/chromeos/fingerprint_handler.h index 766d8842ee6..97c85fd65d9 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/fingerprint_handler.h +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/fingerprint_handler.h @@ -8,8 +8,10 @@ #include "base/containers/flat_map.h" #include "base/scoped_observer.h" #include "chrome/browser/ui/webui/settings/settings_page_ui_handler.h" +#include "components/session_manager/core/session_manager.h" #include "components/session_manager/core/session_manager_observer.h" -#include "mojo/public/cpp/bindings/binding.h" +#include "mojo/public/cpp/bindings/receiver.h" +#include "mojo/public/cpp/bindings/remote.h" #include "services/device/public/mojom/fingerprint.mojom.h" class Profile; @@ -18,10 +20,6 @@ namespace base { class ListValue; } // namespace base -namespace session_manager { -class SessionManager; -} // namespace session_manager - namespace chromeos { namespace settings { @@ -79,11 +77,11 @@ class FingerprintHandler : public ::settings::SettingsPageUIHandler, std::vector<std::string> fingerprints_paths_; std::string user_id_; - device::mojom::FingerprintPtr fp_service_; - mojo::Binding<device::mojom::FingerprintObserver> binding_; + mojo::Remote<device::mojom::Fingerprint> fp_service_; + mojo::Receiver<device::mojom::FingerprintObserver> receiver_{this}; ScopedObserver<session_manager::SessionManager, session_manager::SessionManagerObserver> - session_observer_; + session_observer_{this}; base::WeakPtrFactory<FingerprintHandler> weak_ptr_factory_{this}; diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/internet_handler.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/internet_handler.cc index 883457370ee..e75796ecd32 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/internet_handler.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/internet_handler.cc @@ -213,7 +213,7 @@ void InternetHandler::SendGmsCoreNotificationsDisabledDeviceNames() { base::ListValue device_names_value; for (const auto& device_name : device_names_without_notifications_) - device_names_value.GetList().push_back(device_name->Clone()); + device_names_value.Append(device_name->Clone()); FireWebUIListener(kSendGmsCoreNotificationsDisabledDeviceNames, device_names_value); diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/kerberos_accounts_handler.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/kerberos_accounts_handler.cc index d6125af737b..f249f72f2ad 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/kerberos_accounts_handler.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/kerberos_accounts_handler.cc @@ -21,9 +21,7 @@ namespace chromeos { namespace settings { -KerberosAccountsHandler::KerberosAccountsHandler() - : credentials_manager_observer_(this) {} - +KerberosAccountsHandler::KerberosAccountsHandler() = default; KerberosAccountsHandler::~KerberosAccountsHandler() = default; void KerberosAccountsHandler::RegisterMessages() { @@ -105,7 +103,7 @@ void KerberosAccountsHandler::OnListAccounts( account_dict.SetBoolean("passwordWasRemembered", account.password_was_remembered()); account_dict.SetString("pic", ticket_icon); - accounts.GetList().push_back(std::move(account_dict)); + accounts.Append(std::move(account_dict)); } ResolveJavascriptCallback(base::Value(callback_id), std::move(accounts)); diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/kerberos_accounts_handler.h b/chromium/chrome/browser/ui/webui/settings/chromeos/kerberos_accounts_handler.h index 296cf45bb46..00dfa0cf7bc 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/kerberos_accounts_handler.h +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/kerberos_accounts_handler.h @@ -77,7 +77,7 @@ class KerberosAccountsHandler : public ::settings::SettingsPageUIHandler, // This class keeps track of that and removes this instance on destruction. ScopedObserver<KerberosCredentialsManager, KerberosCredentialsManager::Observer> - credentials_manager_observer_; + credentials_manager_observer_{this}; base::WeakPtrFactory<KerberosAccountsHandler> weak_factory_{this}; diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.cc b/chromium/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.cc index a0fd1fe87ff..ca0d04c1df6 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.cc +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.cc @@ -16,6 +16,7 @@ #include "base/bind.h" #include "base/feature_list.h" #include "build/build_config.h" +#include "chrome/browser/ui/web_applications/system_web_app_ui_utils.h" #include "chrome/browser/ui/webui/app_management/app_management.mojom.h" #include "chrome/browser/ui/webui/app_management/app_management_page_handler.h" #include "chrome/browser/ui/webui/managed_ui_handler.h" @@ -28,6 +29,7 @@ #include "chrome/browser/ui/webui/settings/chromeos/wallpaper_handler.h" #include "chrome/browser/ui/webui/settings/downloads_handler.h" #include "chrome/browser/ui/webui/settings/extension_control_handler.h" +#include "chrome/browser/ui/webui/settings/font_handler.h" #include "chrome/browser/ui/webui/settings/languages_handler.h" #include "chrome/browser/ui/webui/settings/people_handler.h" #include "chrome/browser/ui/webui/settings/profile_info_handler.h" @@ -49,6 +51,7 @@ #include "components/password_manager/core/common/password_manager_features.h" #include "components/unified_consent/feature.h" #include "content/public/browser/web_ui_data_source.h" +#include "mojo/public/cpp/bindings/pending_receiver.h" namespace chromeos { namespace settings { @@ -84,6 +87,7 @@ OSSettingsUI::OSSettingsUI(content::WebUI* web_ui) std::make_unique<::settings::DownloadsHandler>(profile)); AddSettingsPageUIHandler( std::make_unique<::settings::ExtensionControlHandler>()); + AddSettingsPageUIHandler(std::make_unique<::settings::FontHandler>(web_ui)); AddSettingsPageUIHandler( std::make_unique<::settings::LanguagesHandler>(web_ui)); AddSettingsPageUIHandler( @@ -102,8 +106,8 @@ OSSettingsUI::OSSettingsUI(content::WebUI* web_ui) html_source->AddBoolean("unifiedConsentEnabled", unified_consent::IsUnifiedConsentFeatureEnabled()); - html_source->AddBoolean( - "showApps", base::FeatureList::IsEnabled(features::kAppManagement)); + html_source->AddBoolean("showAppManagement", base::FeatureList::IsEnabled( + features::kAppManagement)); #if defined(OS_CHROMEOS) html_source->AddBoolean( @@ -124,7 +128,8 @@ OSSettingsUI::OSSettingsUI(content::WebUI* web_ui) if (web_app::SystemWebAppManager::IsEnabled()) { html_source->AddResourcePath("icon-192.png", IDR_SETTINGS_LOGO_192); html_source->AddResourcePath("pwa.html", IDR_PWA_HTML); - html_source->AddResourcePath("manifest.json", IDR_OS_SETTINGS_MANIFEST); + web_app::SetManifestRequestFilter(html_source, IDR_OS_SETTINGS_MANIFEST, + IDS_SETTINGS_SETTINGS); } #if BUILDFLAG(OPTIMIZE_WEBUI) @@ -154,7 +159,8 @@ OSSettingsUI::OSSettingsUI(content::WebUI* web_ui) html_source->AddResourcePath("app-management/image_info.mojom-lite.js", IDR_APP_MANAGEMENT_IMAGE_INFO_MOJO_LITE_JS); - ::settings::AddLocalizedStrings(html_source, profile); + ::settings::AddLocalizedStrings(html_source, profile, + web_ui->GetWebContents()); auto plural_string_handler = std::make_unique<PluralStringHandler>(); plural_string_handler->AddLocalizedString("profileLabel", @@ -183,18 +189,18 @@ void OSSettingsUI::AddSettingsPageUIHandler( } void OSSettingsUI::BindCrosNetworkConfig( - network_config::mojom::CrosNetworkConfigRequest request) { - ash::GetNetworkConfigService(std::move(request)); + mojo::PendingReceiver<network_config::mojom::CrosNetworkConfig> receiver) { + ash::GetNetworkConfigService(std::move(receiver)); } void OSSettingsUI::BindAppManagementPageHandlerFactory( - app_management::mojom::PageHandlerFactoryRequest request) { + mojo::PendingReceiver<app_management::mojom::PageHandlerFactory> receiver) { if (!app_management_page_handler_factory_) { app_management_page_handler_factory_ = std::make_unique<AppManagementPageHandlerFactory>( Profile::FromWebUI(web_ui())); } - app_management_page_handler_factory_->Bind(std::move(request)); + app_management_page_handler_factory_->Bind(std::move(receiver)); } } // namespace settings diff --git a/chromium/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.h b/chromium/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.h index 63131cfb6f6..ff325c20bc3 100644 --- a/chromium/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.h +++ b/chromium/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.h @@ -12,6 +12,7 @@ #include "chrome/browser/ui/webui/settings/chromeos/app_management/app_management_page_handler_factory.h" #include "chrome/browser/ui/webui/webui_load_timer.h" #include "chromeos/services/network_config/public/mojom/cros_network_config.mojom-forward.h" +#include "mojo/public/cpp/bindings/pending_receiver.h" #include "ui/webui/mojo_web_ui_controller.h" namespace content { @@ -31,9 +32,10 @@ class OSSettingsUI : public ui::MojoWebUIController { void AddSettingsPageUIHandler( std::unique_ptr<content::WebUIMessageHandler> handler); void BindCrosNetworkConfig( - network_config::mojom::CrosNetworkConfigRequest request); + mojo::PendingReceiver<network_config::mojom::CrosNetworkConfig> receiver); void BindAppManagementPageHandlerFactory( - app_management::mojom::PageHandlerFactoryRequest request); + mojo::PendingReceiver<app_management::mojom::PageHandlerFactory> + receiver); WebuiLoadTimer webui_load_timer_; |