summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2022-05-17 17:24:03 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2022-06-22 07:51:41 +0000
commit774f54339e5db91f785733232d3950366db65d07 (patch)
tree068e1b47bd1af94d77094ed12b604a6b83d9c22a /chromium/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc
parentf7eaed5286974984ba5f9e3189d8f49d03e99f81 (diff)
BASELINE: Update Chromium to 102.0.5005.57
Change-Id: I885f714bb40ee724c28f94ca6bd8dbdb39915158 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc')
-rw-r--r--chromium/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc65
1 files changed, 36 insertions, 29 deletions
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 cab349cb15f..88849c6dbc3 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
@@ -18,7 +18,6 @@
#include "base/metrics/histogram_macros.h"
#include "base/path_service.h"
#include "base/strings/string_util.h"
-#include "base/task/post_task.h"
#include "base/task/thread_pool.h"
#include "base/threading/sequenced_task_runner_handle.h"
#include "base/values.h"
@@ -275,7 +274,10 @@ std::unique_ptr<CupsPrintersHandler> CupsPrintersHandler::CreateForTesting(
profile, ppd_provider, std::move(printer_configurer), printers_manager));
}
-CupsPrintersHandler::~CupsPrintersHandler() = default;
+CupsPrintersHandler::~CupsPrintersHandler() {
+ if (select_file_dialog_)
+ select_file_dialog_->ListenerDestroyed();
+}
void CupsPrintersHandler::RegisterMessages() {
web_ui()->RegisterMessageCallback(
@@ -372,7 +374,7 @@ void CupsPrintersHandler::SetWebUIForTest(content::WebUI* web_ui) {
}
void CupsPrintersHandler::HandleGetCupsSavedPrintersList(
- base::Value::ConstListView args) {
+ const base::Value::List& args) {
AllowJavascript();
CHECK_EQ(1U, args.size());
@@ -386,7 +388,7 @@ void CupsPrintersHandler::HandleGetCupsSavedPrintersList(
}
void CupsPrintersHandler::HandleGetCupsEnterprisePrintersList(
- base::Value::ConstListView args) {
+ const base::Value::List& args) {
AllowJavascript();
CHECK_EQ(1U, args.size());
@@ -400,7 +402,7 @@ void CupsPrintersHandler::HandleGetCupsEnterprisePrintersList(
}
void CupsPrintersHandler::HandleUpdateCupsPrinter(
- base::Value::ConstListView args) {
+ const base::Value::List& args) {
CHECK_EQ(3U, args.size());
const std::string& callback_id = args[0].GetString();
const std::string& printer_id = args[1].GetString();
@@ -427,7 +429,7 @@ void CupsPrintersHandler::HandleUpdateCupsPrinter(
}
void CupsPrintersHandler::HandleRemoveCupsPrinter(
- base::Value::ConstListView args) {
+ const base::Value::List& args) {
PRINTER_LOG(USER) << "Removing printer";
// Printer name also expected in 2nd parameter.
const std::string& printer_id = args[0].GetString();
@@ -449,8 +451,7 @@ void CupsPrintersHandler::HandleRemoveCupsPrinter(
base::DoNothing());
}
-void CupsPrintersHandler::HandleGetPrinterInfo(
- base::Value::ConstListView args) {
+void CupsPrintersHandler::HandleGetPrinterInfo(const base::Value::List& args) {
if (args.empty() || !args[0].is_string()) {
NOTREACHED() << "Expected request for a promise";
return;
@@ -625,21 +626,19 @@ void CupsPrintersHandler::OnPpdResolved(const std::string& callback_id,
ResolveJavascriptCallback(base::Value(callback_id), info);
}
-void CupsPrintersHandler::HandleAddCupsPrinter(
- base::Value::ConstListView args) {
+void CupsPrintersHandler::HandleAddCupsPrinter(const base::Value::List& args) {
AllowJavascript();
AddOrReconfigurePrinter(args, false /* is_printer_edit */);
}
void CupsPrintersHandler::HandleReconfigureCupsPrinter(
- base::Value::ConstListView args) {
+ const base::Value::List& args) {
AllowJavascript();
AddOrReconfigurePrinter(args, true /* is_printer_edit */);
}
-void CupsPrintersHandler::AddOrReconfigurePrinter(
- base::Value::ConstListView args,
- bool is_printer_edit) {
+void CupsPrintersHandler::AddOrReconfigurePrinter(const base::Value::List& args,
+ bool is_printer_edit) {
CHECK_EQ(2U, args.size());
std::string callback_id = args[0].GetString();
const base::Value& printer_value = args[1];
@@ -846,7 +845,7 @@ void CupsPrintersHandler::OnAddOrEditPrinterError(
}
void CupsPrintersHandler::HandleGetCupsPrinterManufacturers(
- base::Value::ConstListView args) {
+ const base::Value::List& args) {
AllowJavascript();
CHECK_EQ(1U, args.size());
const std::string& callback_id = args[0].GetString();
@@ -856,7 +855,7 @@ void CupsPrintersHandler::HandleGetCupsPrinterManufacturers(
}
void CupsPrintersHandler::HandleGetCupsPrinterModels(
- base::Value::ConstListView args) {
+ const base::Value::List& args) {
AllowJavascript();
CHECK_EQ(2U, args.size());
const std::string& callback_id = args[0].GetString();
@@ -878,7 +877,11 @@ void CupsPrintersHandler::HandleGetCupsPrinterModels(
weak_factory_.GetWeakPtr(), manufacturer, callback_id));
}
-void CupsPrintersHandler::HandleSelectPPDFile(base::Value::ConstListView args) {
+void CupsPrintersHandler::HandleSelectPPDFile(const base::Value::List& args) {
+ // Early return if the select file dialog is already active.
+ if (select_file_dialog_)
+ return;
+
CHECK_EQ(1U, args.size());
webui_callback_id_ = args[0].GetString();
@@ -943,7 +946,9 @@ void CupsPrintersHandler::FileSelected(const base::FilePath& path,
void* params) {
DCHECK(!webui_callback_id_.empty());
- // Load the beggining contents of the file located at |path| and callback into
+ select_file_dialog_ = nullptr;
+
+ // Load the beginning contents of the file located at |path| and callback into
// VerifyPpdContents() in order to determine whether the file appears to be a
// PPD file. The task's priority is USER_BLOCKING because the this task
// updates the UI as a result of a direct user action.
@@ -954,6 +959,10 @@ void CupsPrintersHandler::FileSelected(const base::FilePath& path,
weak_factory_.GetWeakPtr(), path));
}
+void CupsPrintersHandler::FileSelectionCanceled(void* params) {
+ select_file_dialog_ = nullptr;
+}
+
void CupsPrintersHandler::VerifyPpdContents(const base::FilePath& path,
const std::string& contents) {
std::string result;
@@ -965,8 +974,7 @@ void CupsPrintersHandler::VerifyPpdContents(const base::FilePath& path,
webui_callback_id_.clear();
}
-void CupsPrintersHandler::HandleStartDiscovery(
- base::Value::ConstListView args) {
+void CupsPrintersHandler::HandleStartDiscovery(const base::Value::List& args) {
PRINTER_LOG(DEBUG) << "Start printer discovery";
AllowJavascript();
discovery_active_ = true;
@@ -982,7 +990,7 @@ void CupsPrintersHandler::HandleStartDiscovery(
FireWebUIListener("on-printer-discovery-done");
}
-void CupsPrintersHandler::HandleStopDiscovery(base::Value::ConstListView args) {
+void CupsPrintersHandler::HandleStopDiscovery(const base::Value::List& args) {
PRINTER_LOG(DEBUG) << "Stop printer discovery";
discovered_printers_.clear();
automatic_printers_.clear();
@@ -993,7 +1001,7 @@ void CupsPrintersHandler::HandleStopDiscovery(base::Value::ConstListView args) {
discovery_active_ = false;
}
-void CupsPrintersHandler::HandleSetUpCancel(base::Value::ConstListView args) {
+void CupsPrintersHandler::HandleSetUpCancel(const base::Value::List& args) {
PRINTER_LOG(DEBUG) << "Printer setup cancelled";
const base::Value& printer_value = args[0];
CHECK(printer_value.is_dict());
@@ -1056,7 +1064,7 @@ void CupsPrintersHandler::UpdateDiscoveredPrinters() {
}
void CupsPrintersHandler::HandleAddDiscoveredPrinter(
- base::Value::ConstListView args) {
+ const base::Value::List& args) {
AllowJavascript();
CHECK_EQ(2U, args.size());
const std::string& callback_id = args[0].GetString();
@@ -1120,7 +1128,7 @@ void CupsPrintersHandler::HandleAddDiscoveredPrinter(
}
void CupsPrintersHandler::HandleGetPrinterPpdManufacturerAndModel(
- base::Value::ConstListView args) {
+ const base::Value::List& args) {
AllowJavascript();
CHECK_EQ(2U, args.size());
const std::string& callback_id = args[0].GetString();
@@ -1153,7 +1161,7 @@ void CupsPrintersHandler::OnGetPrinterPpdManufacturerAndModel(
ResolveJavascriptCallback(base::Value(callback_id), info);
}
-void CupsPrintersHandler::HandleGetEulaUrl(base::Value::ConstListView args) {
+void CupsPrintersHandler::HandleGetEulaUrl(const base::Value::List& args) {
CHECK_EQ(3U, args.size());
const std::string callback_id = args[0].GetString();
const std::string ppd_manufacturer = args[1].GetString();
@@ -1232,7 +1240,7 @@ void CupsPrintersHandler::OnIpResolved(const std::string& callback_id,
}
void CupsPrintersHandler::HandleQueryPrintServer(
- base::Value::ConstListView args) {
+ const base::Value::List& args) {
CHECK_EQ(2U, args.size());
const std::string& callback_id = args[0].GetString();
const std::string& server_url = args[1].GetString();
@@ -1313,13 +1321,12 @@ void CupsPrintersHandler::OnQueryPrintServerCompleted(
}
void CupsPrintersHandler::HandleOpenPrintManagementApp(
- base::Value::ConstListView args) {
+ const base::Value::List& args) {
DCHECK(args.empty());
chrome::ShowPrintManagementApp(profile_);
}
-void CupsPrintersHandler::HandleOpenScanningApp(
- base::Value::ConstListView args) {
+void CupsPrintersHandler::HandleOpenScanningApp(const base::Value::List& args) {
DCHECK(args.empty());
chrome::ShowScanningApp(profile_);
}