Replace PrintingContext::Result with mojom::ResultCode
Pushing document printing to out-of-process means that there could now
be a new possible access-denied result for PrintingContext operations.
While the PrintingResult enum could be extended to include this, it
can instead just use the same mojom::ResultCode that is used for other
operations which interact with OS APIs since they would have the same
effective enum values.
In preparation for adding access-denied support to PrintingContext,
first replace all usage of PrintingContext::Result with
mojom::ResultCode. There is no logical change with this replacement.
Bug: 809738
Change-Id: I997d4d207232142dbd36e59e3689ec71bb15fed9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3171346
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Raymes Khoury <raymes@chromium.org>
Commit-Queue: Alan Screen <awscreen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923261}
diff --git a/chrome/browser/printing/print_browsertest.cc b/chrome/browser/printing/print_browsertest.cc
index 3f75537..c5bf0918 100644
--- a/chrome/browser/printing/print_browsertest.cc
+++ b/chrome/browser/printing/print_browsertest.cc
@@ -95,7 +95,7 @@
DCHECK(printer_query);
auto params = mojom::PrintPagesParams::New();
params->params = mojom::PrintParams::New();
- if (printer_query->last_status() == PrintingContext::OK) {
+ if (printer_query->last_status() == mojom::ResultCode::kSuccess) {
RenderParamsFromPrintSettings(printer_query->settings(),
params->params.get());
params->params->document_cookie = printer_query->cookie();
@@ -103,7 +103,7 @@
snooped_settings =
std::make_unique<PrintSettings>(printer_query->settings());
}
- bool canceled = printer_query->last_status() == PrintingContext::CANCEL;
+ bool canceled = printer_query->last_status() == mojom::ResultCode::kCanceled;
params->params = GetPrintParams();
diff --git a/chrome/browser/printing/print_job_unittest.cc b/chrome/browser/printing/print_job_unittest.cc
index 01d13e4..e020df8 100644
--- a/chrome/browser/printing/print_job_unittest.cc
+++ b/chrome/browser/printing/print_job_unittest.cc
@@ -19,6 +19,7 @@
#include "content/public/browser/notification_service.h"
#include "content/public/common/child_process_host.h"
#include "content/public/test/browser_task_environment.h"
+#include "printing/mojom/print.mojom.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace printing {
@@ -41,7 +42,7 @@
void GetSettingsDone(base::OnceClosure callback,
std::unique_ptr<PrintSettings> new_settings,
- PrintingContext::Result result) override {
+ mojom::ResultCode result) override {
FAIL();
}
diff --git a/chrome/browser/printing/print_job_worker.cc b/chrome/browser/printing/print_job_worker.cc
index 43059434..fdb3b71 100644
--- a/chrome/browser/printing/print_job_worker.cc
+++ b/chrome/browser/printing/print_job_worker.cc
@@ -240,7 +240,7 @@
#endif // defined(OS_LINUX) && defined(USE_CUPS)
}
- PrintingContext::Result result;
+ mojom::ResultCode result;
{
#if defined(OS_WIN)
// Blocking is needed here because Windows printer drivers are oftentimes
@@ -257,14 +257,14 @@
std::unique_ptr<PrintSettings> new_settings,
SettingsCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- PrintingContext::Result result =
+ mojom::ResultCode result =
printing_context_->UpdatePrintSettingsFromPOD(std::move(new_settings));
GetSettingsDone(std::move(callback), result);
}
#endif
void PrintJobWorker::GetSettingsDone(SettingsCallback callback,
- PrintingContext::Result result) {
+ mojom::ResultCode result) {
std::move(callback).Run(printing_context_->TakeAndResetSettings(), result);
}
@@ -275,7 +275,7 @@
DCHECK_CURRENTLY_ON(BrowserThread::UI);
if (document_page_count > kMaxPageCount) {
- GetSettingsDone(std::move(callback), PrintingContext::Result::FAILED);
+ GetSettingsDone(std::move(callback), mojom::ResultCode::kFailed);
return;
}
@@ -313,7 +313,7 @@
}
void PrintJobWorker::UseDefaultSettings(SettingsCallback callback) {
- PrintingContext::Result result;
+ mojom::ResultCode result;
{
#if defined(OS_WIN)
// Blocking is needed here because Windows printer drivers are oftentimes
@@ -348,9 +348,8 @@
document_name = SimplifyDocumentTitle(
l10n_util::GetStringUTF16(IDS_DEFAULT_PRINT_DOCUMENT_TITLE));
}
- PrintingContext::Result result =
- printing_context_->NewDocument(document_name);
- if (result != PrintingContext::OK) {
+ mojom::ResultCode result = printing_context_->NewDocument(document_name);
+ if (result != mojom::ResultCode::kSuccess) {
OnFailure();
return;
}
@@ -480,7 +479,7 @@
DCHECK(print_job_);
int job_id = printing_context_->job_id();
- if (printing_context_->DocumentDone() != PrintingContext::OK) {
+ if (printing_context_->DocumentDone() != mojom::ResultCode::kSuccess) {
OnFailure();
return;
}
@@ -501,7 +500,7 @@
DCHECK_NE(page_number_, PageNumber::npos());
// Preprocess.
- if (printing_context_->NewPage() != PrintingContext::OK) {
+ if (printing_context_->NewPage() != mojom::ResultCode::kSuccess) {
OnFailure();
return;
}
@@ -510,7 +509,7 @@
document_->RenderPrintedPage(*page, printing_context_->context());
// Postprocess.
- if (printing_context_->PageDone() != PrintingContext::OK) {
+ if (printing_context_->PageDone() != mojom::ResultCode::kSuccess) {
OnFailure();
return;
}
diff --git a/chrome/browser/printing/print_job_worker.h b/chrome/browser/printing/print_job_worker.h
index 553277b..4b2001b 100644
--- a/chrome/browser/printing/print_job_worker.h
+++ b/chrome/browser/printing/print_job_worker.h
@@ -37,7 +37,7 @@
public:
using SettingsCallback =
base::OnceCallback<void(std::unique_ptr<PrintSettings>,
- PrintingContext::Result)>;
+ mojom::ResultCode)>;
PrintJobWorker(int render_process_id, int render_frame_id);
@@ -161,8 +161,7 @@
#endif
// Reports settings back to |callback|.
- void GetSettingsDone(SettingsCallback callback,
- PrintingContext::Result result);
+ void GetSettingsDone(SettingsCallback callback, mojom::ResultCode result);
// Use the default settings. When using GTK+ or Mac, this can still end up
// displaying a dialog. So this needs to happen from the UI thread on these
diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc
index e4cacbf..0a31c54 100644
--- a/chrome/browser/printing/print_view_manager_base.cc
+++ b/chrome/browser/printing/print_view_manager_base.cc
@@ -155,7 +155,8 @@
mojom::PrintManagerHost::GetDefaultPrintSettingsCallback callback) {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
mojom::PrintParamsPtr params = mojom::PrintParams::New();
- if (printer_query && printer_query->last_status() == PrintingContext::OK) {
+ if (printer_query &&
+ printer_query->last_status() == mojom::ResultCode::kSuccess) {
RenderParamsFromPrintSettings(printer_query->settings(), params.get());
params->document_cookie = printer_query->cookie();
}
@@ -237,13 +238,13 @@
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
DCHECK(printer_query);
mojom::PrintPagesParamsPtr params = CreateEmptyPrintPagesParamsPtr();
- if (printer_query->last_status() == PrintingContext::OK) {
+ if (printer_query->last_status() == mojom::ResultCode::kSuccess) {
RenderParamsFromPrintSettings(printer_query->settings(),
params->params.get());
params->params->document_cookie = printer_query->cookie();
params->pages = PageRange::GetPages(printer_query->settings().ranges());
}
- bool canceled = printer_query->last_status() == PrintingContext::CANCEL;
+ bool canceled = printer_query->last_status() == mojom::ResultCode::kCanceled;
#if defined(OS_WIN)
if (canceled) {
content::GetUIThreadTaskRunner({})->PostTask(
@@ -291,7 +292,7 @@
mojom::PrintManagerHost::ScriptedPrintCallback callback) {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
mojom::PrintPagesParamsPtr params = CreateEmptyPrintPagesParamsPtr();
- if (printer_query->last_status() == PrintingContext::OK &&
+ if (printer_query->last_status() == mojom::ResultCode::kSuccess &&
printer_query->settings().dpi()) {
RenderParamsFromPrintSettings(printer_query->settings(),
params->params.get());
@@ -428,7 +429,7 @@
// Check if the job was cancelled. This should only happen on Windows when
// the system dialog is cancelled.
- if (printer_query->last_status() == PrintingContext::CANCEL) {
+ if (printer_query->last_status() == mojom::ResultCode::kCanceled) {
queue_->QueuePrinterQuery(std::move(printer_query));
#if defined(OS_WIN)
content::GetUIThreadTaskRunner({})->PostTask(
diff --git a/chrome/browser/printing/printer_query.cc b/chrome/browser/printing/printer_query.cc
index a65e9fd..68f987c5 100644
--- a/chrome/browser/printing/printer_query.cc
+++ b/chrome/browser/printing/printer_query.cc
@@ -36,11 +36,11 @@
void PrinterQuery::GetSettingsDone(base::OnceClosure callback,
std::unique_ptr<PrintSettings> new_settings,
- PrintingContext::Result result) {
+ mojom::ResultCode result) {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
is_print_dialog_box_shown_ = false;
last_status_ = result;
- if (result != PrintingContext::FAILED) {
+ if (result == mojom::ResultCode::kSuccess) {
settings_ = std::move(new_settings);
cookie_ = PrintSettings::NewCookie();
} else {
@@ -54,7 +54,7 @@
void PrinterQuery::PostSettingsDoneToIO(
base::OnceClosure callback,
std::unique_ptr<PrintSettings> new_settings,
- PrintingContext::Result result) {
+ mojom::ResultCode result) {
// |this| is owned by |callback|, so |base::Unretained()| is safe.
content::GetIOThreadTaskRunner({})->PostTask(
FROM_HERE,
diff --git a/chrome/browser/printing/printer_query.h b/chrome/browser/printing/printer_query.h
index c936e39..44c0509 100644
--- a/chrome/browser/printing/printer_query.h
+++ b/chrome/browser/printing/printer_query.h
@@ -78,7 +78,7 @@
virtual void StopWorker();
int cookie() const;
- PrintingContext::Result last_status() const { return last_status_; }
+ mojom::ResultCode last_status() const { return last_status_; }
// Returns if a worker thread is still associated to this instance.
bool is_valid() const;
@@ -90,11 +90,11 @@
// Virtual so that tests can override.
virtual void GetSettingsDone(base::OnceClosure callback,
std::unique_ptr<PrintSettings> new_settings,
- PrintingContext::Result result);
+ mojom::ResultCode result);
void PostSettingsDoneToIO(base::OnceClosure callback,
std::unique_ptr<PrintSettings> new_settings,
- PrintingContext::Result result);
+ mojom::ResultCode result);
void SetSettingsForTest(std::unique_ptr<PrintSettings> settings);
@@ -112,7 +112,7 @@
int cookie_;
// Results from the last GetSettingsDone() callback.
- PrintingContext::Result last_status_ = PrintingContext::FAILED;
+ mojom::ResultCode last_status_ = mojom::ResultCode::kFailed;
// All the UI is done in a worker thread because many Win32 print functions
// are blocking and enters a message loop without your consent. There is one
diff --git a/chrome/browser/printing/test_printer_query.cc b/chrome/browser/printing/test_printer_query.cc
index 028bd4c..a0cb31fe 100644
--- a/chrome/browser/printing/test_printer_query.cc
+++ b/chrome/browser/printing/test_printer_query.cc
@@ -59,10 +59,10 @@
#endif
std::unique_ptr<PrintSettings> settings =
PrintSettingsFromJobSettings(new_settings);
- PrintingContext::Result result = PrintingContext::OK;
+ mojom::ResultCode result = mojom::ResultCode::kSuccess;
if (!settings) {
settings = std::make_unique<PrintSettings>();
- result = PrintingContext::FAILED;
+ result = mojom::ResultCode::kFailed;
}
float device_microns_per_device_unit =
diff --git a/chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc b/chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
index 1b18146..8933bc14 100644
--- a/chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
+++ b/chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
@@ -89,7 +89,7 @@
gfx::Size GetDefaultPdfMediaSizeMicrons() {
PrintingContextDelegate delegate;
auto printing_context(PrintingContext::Create(&delegate));
- if (PrintingContext::OK != printing_context->UsePdfSettings() ||
+ if (mojom::ResultCode::kSuccess != printing_context->UsePdfSettings() ||
printing_context->settings().device_units_per_inch() <= 0) {
return gfx::Size();
}
diff --git a/chrome/services/printing/print_backend_service_impl.cc b/chrome/services/printing/print_backend_service_impl.cc
index 76d6128..2a86e36 100644
--- a/chrome/services/printing/print_backend_service_impl.cc
+++ b/chrome/services/printing/print_backend_service_impl.cc
@@ -316,14 +316,11 @@
// `StartPrinting()` might be called.
std::unique_ptr<PrintingContext> context =
PrintingContext::Create(&context_delegate_);
- PrintingContext::Result context_result =
+ mojom::ResultCode result =
context->UpdatePrintSettings(base::Value(std::move(job_settings)));
- if (context_result != PrintingContext::OK) {
- std::move(callback).Run(mojom::PrintSettingsResult::NewResultCode(
- context_result == PrintingContext::CANCEL
- ? mojom::ResultCode::kCanceled
- : mojom::ResultCode::kFailed));
+ if (result != mojom::ResultCode::kSuccess) {
+ std::move(callback).Run(mojom::PrintSettingsResult::NewResultCode(result));
return;
}
@@ -408,23 +405,19 @@
}
#endif
context->ApplyPrintSettings(document->settings());
- PrintingContext::Result context_result = context->UpdatePrinterSettings(
+ mojom::ResultCode result = context->UpdatePrinterSettings(
external_preview, show_system_dialog, document_container.page_count);
- if (context_result != PrintingContext::OK) {
+ if (result != mojom::ResultCode::kSuccess) {
DLOG(ERROR) << "Failure updating printer settings for document "
- << document->cookie() << ", error: " << context_result;
- return context_result == PrintingContext::CANCEL
- ? mojom::ResultCode::kCanceled
- : mojom::ResultCode::kFailed;
+ << document->cookie() << ", error: " << result;
+ return result;
}
- context_result = context->NewDocument(document->name());
- if (context_result != PrintingContext::OK) {
+ result = context->NewDocument(document->name());
+ if (result != mojom::ResultCode::kSuccess) {
DLOG(ERROR) << "Failure initializing new document " << document->cookie()
- << ", error: " << context_result;
- return context_result == PrintingContext::CANCEL
- ? mojom::ResultCode::kCanceled
- : mojom::ResultCode::kFailed;
+ << ", error: " << result;
+ return result;
}
document_container.context = std::move(context);
diff --git a/content/browser/renderer_host/pepper/pepper_print_settings_manager.cc b/content/browser/renderer_host/pepper/pepper_print_settings_manager.cc
index 4653987..630ffc9 100644
--- a/content/browser/renderer_host/pepper/pepper_print_settings_manager.cc
+++ b/content/browser/renderer_host/pepper/pepper_print_settings_manager.cc
@@ -84,7 +84,7 @@
std::unique_ptr<printing::PrintingContext> context(
printing::PrintingContext::Create(&delegate));
if (!context.get() ||
- context->UseDefaultSettings() != printing::PrintingContext::OK) {
+ context->UseDefaultSettings() != printing::mojom::ResultCode::kSuccess) {
return PepperPrintSettingsManager::Result(PP_PrintSettings_Dev(),
PP_ERROR_FAILED);
}
diff --git a/printing/BUILD.gn b/printing/BUILD.gn
index a250fb5e..040e0c3 100644
--- a/printing/BUILD.gn
+++ b/printing/BUILD.gn
@@ -241,6 +241,7 @@
public_deps = [
"//printing",
"//printing/backend:test_support",
+ "//printing/mojom",
"//ui/gfx/geometry",
]
deps = [
diff --git a/printing/emf_win_unittest.cc b/printing/emf_win_unittest.cc
index a1a6f03..e830a101 100644
--- a/printing/emf_win_unittest.cc
+++ b/printing/emf_win_unittest.cc
@@ -91,7 +91,7 @@
// Initialize it.
PrintingContextWin context(this);
- EXPECT_EQ(PrintingContext::OK,
+ EXPECT_EQ(mojom::ResultCode::kSuccess,
context.InitWithSettingsForTest(std::move(settings)));
base::FilePath emf_file;
diff --git a/printing/printed_document_android.cc b/printing/printed_document_android.cc
index 33b4ec7..a9d26e0 100644
--- a/printing/printed_document_android.cc
+++ b/printing/printed_document_android.cc
@@ -4,19 +4,20 @@
#include "printing/printed_document.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/printing_context_android.h"
namespace printing {
bool PrintedDocument::RenderPrintedDocument(PrintingContext* context) {
- if (context->NewPage() != PrintingContext::OK)
+ if (context->NewPage() != mojom::ResultCode::kSuccess)
return false;
{
base::AutoLock lock(lock_);
const MetafilePlayer* metafile = GetMetafile();
static_cast<PrintingContextAndroid*>(context)->PrintDocument(*metafile);
}
- return context->PageDone() == PrintingContext::OK;
+ return context->PageDone() == mojom::ResultCode::kSuccess;
}
} // namespace printing
diff --git a/printing/printed_document_chromeos.cc b/printing/printed_document_chromeos.cc
index 224acd89..6e997c31 100644
--- a/printing/printed_document_chromeos.cc
+++ b/printing/printed_document_chromeos.cc
@@ -8,6 +8,7 @@
#if defined(USE_CUPS)
#include "printing/metafile.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/printing_context_chromeos.h"
#endif
@@ -17,7 +18,7 @@
#if defined(USE_CUPS)
DCHECK(context);
- if (context->NewPage() != PrintingContext::OK)
+ if (context->NewPage() != mojom::ResultCode::kSuccess)
return false;
{
base::AutoLock lock(lock_);
@@ -30,7 +31,7 @@
LOG(WARNING) << "Failed to read data from metafile";
}
}
- return context->PageDone() == PrintingContext::OK;
+ return context->PageDone() == mojom::ResultCode::kSuccess;
#else
NOTREACHED();
return false;
diff --git a/printing/printed_document_linux.cc b/printing/printed_document_linux.cc
index c2e2a5d..d6f59cd7 100644
--- a/printing/printed_document_linux.cc
+++ b/printing/printed_document_linux.cc
@@ -6,6 +6,7 @@
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/printing_context_linux.h"
#if defined(OS_ANDROID) || BUILDFLAG(IS_CHROMEOS_ASH)
@@ -15,14 +16,14 @@
namespace printing {
bool PrintedDocument::RenderPrintedDocument(PrintingContext* context) {
- if (context->NewPage() != PrintingContext::OK)
+ if (context->NewPage() != mojom::ResultCode::kSuccess)
return false;
{
base::AutoLock lock(lock_);
const MetafilePlayer* metafile = GetMetafile();
static_cast<PrintingContextLinux*>(context)->PrintDocument(*metafile);
}
- return context->PageDone() == PrintingContext::OK;
+ return context->PageDone() == mojom::ResultCode::kSuccess;
}
} // namespace printing
diff --git a/printing/printed_document_mac.cc b/printing/printed_document_mac.cc
index 204a969..0f30d2e 100644
--- a/printing/printed_document_mac.cc
+++ b/printing/printed_document_mac.cc
@@ -29,11 +29,11 @@
size_t num_pages = expected_page_count();
for (size_t metafile_page_number = 1; metafile_page_number <= num_pages;
metafile_page_number++) {
- if (context->NewPage() != PrintingContext::OK)
+ if (context->NewPage() != mojom::ResultCode::kSuccess)
return false;
metafile->RenderPage(metafile_page_number, context->context(), paper_rect,
/*autorotate=*/true, /*fit_to_page=*/false);
- if (context->PageDone() != PrintingContext::OK)
+ if (context->PageDone() != mojom::ResultCode::kSuccess)
return false;
}
return true;
diff --git a/printing/printed_document_win.cc b/printing/printed_document_win.cc
index 8806e53..9ef78e3b 100644
--- a/printing/printed_document_win.cc
+++ b/printing/printed_document_win.cc
@@ -81,7 +81,7 @@
}
bool PrintedDocument::RenderPrintedDocument(PrintingContext* context) {
- if (context->NewPage() != PrintingContext::OK)
+ if (context->NewPage() != mojom::ResultCode::kSuccess)
return false;
std::wstring device_name =
@@ -92,7 +92,7 @@
static_cast<PrintingContextWin*>(context)->PrintDocument(
device_name, *(static_cast<const MetafileSkia*>(metafile)));
}
- return context->PageDone() == PrintingContext::OK;
+ return context->PageDone() == mojom::ResultCode::kSuccess;
}
} // namespace printing
diff --git a/printing/printing_context.cc b/printing/printing_context.cc
index 744c3ac..cdfb2e0 100644
--- a/printing/printing_context.cc
+++ b/printing/printing_context.cc
@@ -81,13 +81,14 @@
return result;
}
-PrintingContext::Result PrintingContext::OnError() {
- Result result = abort_printing_ ? CANCEL : FAILED;
+mojom::ResultCode PrintingContext::OnError() {
+ mojom::ResultCode result = abort_printing_ ? mojom::ResultCode::kCanceled
+ : mojom::ResultCode::kFailed;
ResetSettings();
return result;
}
-PrintingContext::Result PrintingContext::UsePdfSettings() {
+mojom::ResultCode PrintingContext::UsePdfSettings() {
base::Value pdf_settings(base::Value::Type::DICTIONARY);
pdf_settings.SetBoolKey(kSettingHeaderFooterEnabled, false);
pdf_settings.SetBoolKey(kSettingShouldPrintBackgrounds, false);
@@ -113,7 +114,7 @@
return UpdatePrintSettings(std::move(pdf_settings));
}
-PrintingContext::Result PrintingContext::UpdatePrintSettings(
+mojom::ResultCode PrintingContext::UpdatePrintSettings(
base::Value job_settings) {
ResetSettings();
{
@@ -157,7 +158,7 @@
kCloudPrintMarginInch * settings_->device_units_per_inch());
}
settings_->SetPrinterPrintableArea(paper_size, paper_rect, true);
- return OK;
+ return mojom::ResultCode::kSuccess;
}
return UpdatePrinterSettings(
@@ -167,7 +168,7 @@
}
#if defined(OS_CHROMEOS)
-PrintingContext::Result PrintingContext::UpdatePrintSettingsFromPOD(
+mojom::ResultCode PrintingContext::UpdatePrintSettingsFromPOD(
std::unique_ptr<PrintSettings> job_settings) {
ResetSettings();
settings_ = std::move(job_settings);
diff --git a/printing/printing_context.h b/printing/printing_context.h
index 753bc1d..eac7da5 100644
--- a/printing/printing_context.h
+++ b/printing/printing_context.h
@@ -40,20 +40,13 @@
virtual std::string GetAppLocale() = 0;
};
- // Tri-state result for user behavior-dependent functions.
- enum Result {
- OK,
- CANCEL,
- FAILED,
- };
-
PrintingContext(const PrintingContext&) = delete;
PrintingContext& operator=(const PrintingContext&) = delete;
virtual ~PrintingContext();
// Callback of AskUserForSettings, used to notify the PrintJobWorker when
// print settings are available.
- using PrintSettingsCallback = base::OnceCallback<void(Result)>;
+ using PrintSettingsCallback = base::OnceCallback<void(mojom::ResultCode)>;
// Asks the user what printer and format should be used to print. Updates the
// context with the select device settings. The result of the call is returned
@@ -69,10 +62,10 @@
// Selects the user's default printer and format. Updates the context with the
// default device settings.
- virtual Result UseDefaultSettings() = 0;
+ virtual mojom::ResultCode UseDefaultSettings() = 0;
// Updates the context with PDF printer settings.
- Result UsePdfSettings();
+ mojom::ResultCode UsePdfSettings();
// Returns paper size to be used for PDF or Cloud Print in device units.
virtual gfx::Size GetPdfPaperSizeDeviceUnits() = 0;
@@ -80,17 +73,17 @@
// Updates printer settings.
// `external_preview` is true if pdf is going to be opened in external
// preview. Used by MacOS only now to open Preview.app.
- virtual Result UpdatePrinterSettings(bool external_preview,
- bool show_system_dialog,
- int page_count) = 0;
+ virtual mojom::ResultCode UpdatePrinterSettings(bool external_preview,
+ bool show_system_dialog,
+ int page_count) = 0;
// Updates Print Settings. `job_settings` contains all print job
// settings information.
- Result UpdatePrintSettings(base::Value job_settings);
+ mojom::ResultCode UpdatePrintSettings(base::Value job_settings);
#if defined(OS_CHROMEOS)
// Updates Print Settings.
- Result UpdatePrintSettingsFromPOD(
+ mojom::ResultCode UpdatePrintSettingsFromPOD(
std::unique_ptr<PrintSettings> job_settings);
#endif
@@ -104,17 +97,18 @@
// like IPC message processing! Some printers have side-effects on this call
// like virtual printers that ask the user for the path of the saved document;
// for example a PDF printer.
- virtual Result NewDocument(const std::u16string& document_name) = 0;
+ virtual mojom::ResultCode NewDocument(
+ const std::u16string& document_name) = 0;
// Starts a new page.
- virtual Result NewPage() = 0;
+ virtual mojom::ResultCode NewPage() = 0;
// Closes the printed page.
- virtual Result PageDone() = 0;
+ virtual mojom::ResultCode PageDone() = 0;
// Closes the printing job. After this call the object is ready to start a new
// document.
- virtual Result DocumentDone() = 0;
+ virtual mojom::ResultCode DocumentDone() = 0;
// Cancels printing. Can be used in a multi-threaded context. Takes effect
// immediately.
@@ -128,7 +122,7 @@
#if defined(OS_WIN)
// Initializes with predefined settings.
- virtual Result InitWithSettingsForTest(
+ virtual mojom::ResultCode InitWithSettingsForTest(
std::unique_ptr<PrintSettings> settings) = 0;
#endif
@@ -160,7 +154,7 @@
void ResetSettings();
// Does bookkeeping when an error occurs.
- PrintingContext::Result OnError();
+ mojom::ResultCode OnError();
// Complete print context settings.
std::unique_ptr<PrintSettings> settings_;
diff --git a/printing/printing_context_android.cc b/printing/printing_context_android.cc
index 079722a..c91b80c 100644
--- a/printing/printing_context_android.cc
+++ b/printing/printing_context_android.cc
@@ -18,6 +18,7 @@
#include "base/strings/string_number_conversions.h"
#include "base/values.h"
#include "printing/metafile.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_job_constants.h"
#include "printing/printing_jni_headers/PrintingContext_jni.h"
#include "printing/units.h"
@@ -117,8 +118,8 @@
jboolean success) {
DCHECK(callback_);
if (!success) {
- // TODO(cimamoglu): Differentiate between FAILED And CANCEL.
- std::move(callback_).Run(FAILED);
+ // TODO(cimamoglu): Differentiate between `kFailed` And `kCancel`.
+ std::move(callback_).Run(mojom::ResultCode::kFailed);
return;
}
@@ -145,7 +146,7 @@
height = ConvertUnit(height, kMilsPerInch, dpi);
SetSizes(settings_.get(), dpi, width, height);
- std::move(callback_).Run(OK);
+ std::move(callback_).Run(mojom::ResultCode::kSuccess);
}
void PrintingContextAndroid::ShowSystemDialogDone(
@@ -153,7 +154,7 @@
const JavaParamRef<jobject>& obj) {
DCHECK(callback_);
// Settings are not updated, callback is called only to unblock javascript.
- std::move(callback_).Run(CANCEL);
+ std::move(callback_).Run(mojom::ResultCode::kCanceled);
}
void PrintingContextAndroid::PrintDocument(const MetafilePlayer& metafile) {
@@ -162,7 +163,7 @@
metafile.SaveToFileDescriptor(fd_);
}
-PrintingContext::Result PrintingContextAndroid::UseDefaultSettings() {
+mojom::ResultCode PrintingContextAndroid::UseDefaultSettings() {
DCHECK(!in_print_job_);
ResetSettings();
@@ -170,7 +171,7 @@
gfx::Size physical_size = GetPdfPaperSizeDeviceUnits();
SetSizes(settings_.get(), kDefaultPdfDpi, physical_size.width(),
physical_size.height());
- return OK;
+ return mojom::ResultCode::kSuccess;
}
gfx::Size PrintingContextAndroid::GetPdfPaperSizeDeviceUnits() {
@@ -198,7 +199,7 @@
return gfx::Size(width, height);
}
-PrintingContext::Result PrintingContextAndroid::UpdatePrinterSettings(
+mojom::ResultCode PrintingContextAndroid::UpdatePrinterSettings(
bool external_preview,
bool show_system_dialog,
int page_count) {
@@ -207,44 +208,44 @@
// Intentional No-op.
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextAndroid::NewDocument(
+mojom::ResultCode PrintingContextAndroid::NewDocument(
const std::u16string& document_name) {
DCHECK(!in_print_job_);
in_print_job_ = true;
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextAndroid::NewPage() {
+mojom::ResultCode PrintingContextAndroid::NewPage() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
// Intentional No-op.
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextAndroid::PageDone() {
+mojom::ResultCode PrintingContextAndroid::PageDone() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
// Intentional No-op.
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextAndroid::DocumentDone() {
+mojom::ResultCode PrintingContextAndroid::DocumentDone() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
ResetSettings();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
void PrintingContextAndroid::Cancel() {
diff --git a/printing/printing_context_android.h b/printing/printing_context_android.h
index 9fbeed6..34dbc5bb1 100644
--- a/printing/printing_context_android.h
+++ b/printing/printing_context_android.h
@@ -9,6 +9,7 @@
#include "base/android/scoped_java_ref.h"
#include "base/file_descriptor_posix.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/printing_context.h"
namespace ui {
@@ -59,15 +60,15 @@
bool has_selection,
bool is_scripted,
PrintSettingsCallback callback) override;
- Result UseDefaultSettings() override;
+ mojom::ResultCode UseDefaultSettings() override;
gfx::Size GetPdfPaperSizeDeviceUnits() override;
- Result UpdatePrinterSettings(bool external_preview,
- bool show_system_dialog,
- int page_count) override;
- Result NewDocument(const std::u16string& document_name) override;
- Result NewPage() override;
- Result PageDone() override;
- Result DocumentDone() override;
+ mojom::ResultCode UpdatePrinterSettings(bool external_preview,
+ bool show_system_dialog,
+ int page_count) override;
+ mojom::ResultCode NewDocument(const std::u16string& document_name) override;
+ mojom::ResultCode NewPage() override;
+ mojom::ResultCode PageDone() override;
+ mojom::ResultCode DocumentDone() override;
void Cancel() override;
void ReleaseContext() override;
printing::NativeDrawingContext context() const override;
diff --git a/printing/printing_context_chromeos.cc b/printing/printing_context_chromeos.cc
index 2800993..0faf418 100644
--- a/printing/printing_context_chromeos.cc
+++ b/printing/printing_context_chromeos.cc
@@ -281,7 +281,7 @@
NOTREACHED();
}
-PrintingContext::Result PrintingContextChromeos::UseDefaultSettings() {
+mojom::ResultCode PrintingContextChromeos::UseDefaultSettings() {
DCHECK(!in_print_job_);
ResetSettings();
@@ -298,7 +298,7 @@
}
// Retrieve device information and set it
- if (InitializeDevice(device_name) != OK) {
+ if (InitializeDevice(device_name) != mojom::ResultCode::kSuccess) {
LOG(ERROR) << "Could not initialize printer";
return OnError();
}
@@ -316,7 +316,7 @@
printer_->GetMediaMarginsByName(paper.vendor_id);
SetPrintableArea(settings_.get(), media, margins, true /* flip landscape */);
- return OK;
+ return mojom::ResultCode::kSuccess;
}
gfx::Size PrintingContextChromeos::GetPdfPaperSizeDeviceUnits() {
@@ -343,14 +343,16 @@
return gfx::Size(width, height);
}
-PrintingContext::Result PrintingContextChromeos::UpdatePrinterSettings(
+mojom::ResultCode PrintingContextChromeos::UpdatePrinterSettings(
bool external_preview,
bool show_system_dialog,
int page_count) {
DCHECK(!show_system_dialog);
- if (InitializeDevice(base::UTF16ToUTF8(settings_->device_name())) != OK)
+ if (InitializeDevice(base::UTF16ToUTF8(settings_->device_name())) !=
+ mojom::ResultCode::kSuccess) {
return OnError();
+ }
// TODO(skau): Convert to DCHECK when https://crbug.com/613779 is resolved
// Print quality suffers when this is set to the resolution reported by the
@@ -384,10 +386,10 @@
: kUsernamePlaceholder;
}
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextChromeos::InitializeDevice(
+mojom::ResultCode PrintingContextChromeos::InitializeDevice(
const std::string& device) {
DCHECK(!in_print_job_);
@@ -399,10 +401,10 @@
printer_ = std::move(printer);
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextChromeos::NewDocument(
+mojom::ResultCode PrintingContextChromeos::NewDocument(
const std::u16string& document_name) {
DCHECK(!in_print_job_);
in_print_job_ = true;
@@ -441,34 +443,34 @@
return OnError();
}
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextChromeos::NewPage() {
+mojom::ResultCode PrintingContextChromeos::NewPage() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
// Intentional No-op.
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextChromeos::PageDone() {
+mojom::ResultCode PrintingContextChromeos::PageDone() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
// Intentional No-op.
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextChromeos::DocumentDone() {
+mojom::ResultCode PrintingContextChromeos::DocumentDone() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
@@ -486,7 +488,7 @@
}
ResetSettings();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
void PrintingContextChromeos::Cancel() {
@@ -503,10 +505,10 @@
return nullptr;
}
-PrintingContext::Result PrintingContextChromeos::StreamData(
+mojom::ResultCode PrintingContextChromeos::StreamData(
const std::vector<char>& buffer) {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
DCHECK(printer_);
@@ -514,7 +516,7 @@
if (!printer_->StreamData(buffer))
return OnError();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
} // namespace printing
diff --git a/printing/printing_context_chromeos.h b/printing/printing_context_chromeos.h
index 61b256c..4bd4c05 100644
--- a/printing/printing_context_chromeos.h
+++ b/printing/printing_context_chromeos.h
@@ -12,6 +12,7 @@
#include "printing/backend/cups_connection.h"
#include "printing/backend/cups_deleters.h"
#include "printing/backend/cups_printer.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/printing_context.h"
namespace printing {
@@ -33,20 +34,20 @@
bool has_selection,
bool is_scripted,
PrintSettingsCallback callback) override;
- Result UseDefaultSettings() override;
+ mojom::ResultCode UseDefaultSettings() override;
gfx::Size GetPdfPaperSizeDeviceUnits() override;
- Result UpdatePrinterSettings(bool external_preview,
- bool show_system_dialog,
- int page_count) override;
- Result NewDocument(const std::u16string& document_name) override;
- Result NewPage() override;
- Result PageDone() override;
- Result DocumentDone() override;
+ mojom::ResultCode UpdatePrinterSettings(bool external_preview,
+ bool show_system_dialog,
+ int page_count) override;
+ mojom::ResultCode NewDocument(const std::u16string& document_name) override;
+ mojom::ResultCode NewPage() override;
+ mojom::ResultCode PageDone() override;
+ mojom::ResultCode DocumentDone() override;
void Cancel() override;
void ReleaseContext() override;
printing::NativeDrawingContext context() const override;
- Result StreamData(const std::vector<char>& buffer);
+ mojom::ResultCode StreamData(const std::vector<char>& buffer);
private:
// For testing. Use CreateForTesting() to create.
@@ -54,7 +55,7 @@
std::unique_ptr<CupsConnection> connection);
// Lazily initializes `printer_`.
- Result InitializeDevice(const std::string& device);
+ mojom::ResultCode InitializeDevice(const std::string& device);
const std::unique_ptr<CupsConnection> connection_;
std::unique_ptr<CupsPrinter> printer_;
diff --git a/printing/printing_context_linux.cc b/printing/printing_context_linux.cc
index 4af3ccdd..2d3458c7 100644
--- a/printing/printing_context_linux.cc
+++ b/printing/printing_context_linux.cc
@@ -11,6 +11,7 @@
#include "base/notreached.h"
#include "base/values.h"
#include "printing/metafile.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_dialog_gtk_interface.h"
#include "printing/print_job_constants.h"
#include "printing/units.h"
@@ -75,7 +76,7 @@
// Can only get here if the renderer is sending bad messages.
// http://crbug.com/341777
NOTREACHED();
- std::move(callback).Run(FAILED);
+ std::move(callback).Run(mojom::ResultCode::kFailed);
return;
}
@@ -83,13 +84,13 @@
std::move(callback));
}
-PrintingContext::Result PrintingContextLinux::UseDefaultSettings() {
+mojom::ResultCode PrintingContextLinux::UseDefaultSettings() {
DCHECK(!in_print_job_);
ResetSettings();
if (!create_dialog_func_)
- return OK;
+ return mojom::ResultCode::kSuccess;
if (!print_dialog_) {
print_dialog_ = create_dialog_func_(this);
@@ -97,7 +98,7 @@
}
print_dialog_->UseDefaultSettings();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
gfx::Size PrintingContextLinux::GetPdfPaperSizeDeviceUnits() {
@@ -107,7 +108,7 @@
return gfx::Size();
}
-PrintingContext::Result PrintingContextLinux::UpdatePrinterSettings(
+mojom::ResultCode PrintingContextLinux::UpdatePrinterSettings(
bool external_preview,
bool show_system_dialog,
int page_count) {
@@ -116,7 +117,7 @@
DCHECK(!external_preview) << "Not implemented";
if (!create_dialog_func_)
- return OK;
+ return mojom::ResultCode::kSuccess;
if (!print_dialog_) {
print_dialog_ = create_dialog_func_(this);
@@ -128,7 +129,7 @@
print_dialog_->UpdateSettings(std::move(settings_));
DCHECK(settings_);
- return OK;
+ return mojom::ResultCode::kSuccess;
}
void PrintingContextLinux::InitWithSettings(
@@ -138,43 +139,43 @@
settings_ = std::move(settings);
}
-PrintingContext::Result PrintingContextLinux::NewDocument(
+mojom::ResultCode PrintingContextLinux::NewDocument(
const std::u16string& document_name) {
DCHECK(!in_print_job_);
in_print_job_ = true;
document_name_ = document_name;
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextLinux::NewPage() {
+mojom::ResultCode PrintingContextLinux::NewPage() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
// Intentional No-op.
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextLinux::PageDone() {
+mojom::ResultCode PrintingContextLinux::PageDone() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
// Intentional No-op.
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextLinux::DocumentDone() {
+mojom::ResultCode PrintingContextLinux::DocumentDone() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
ResetSettings();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
void PrintingContextLinux::Cancel() {
diff --git a/printing/printing_context_linux.h b/printing/printing_context_linux.h
index 88c8c54..3d6df6cc 100644
--- a/printing/printing_context_linux.h
+++ b/printing/printing_context_linux.h
@@ -8,6 +8,7 @@
#include <memory>
#include <string>
+#include "printing/mojom/print.mojom.h"
#include "printing/printing_context.h"
namespace printing {
@@ -43,14 +44,14 @@
bool is_scripted,
PrintSettingsCallback callback) override;
gfx::Size GetPdfPaperSizeDeviceUnits() override;
- Result UseDefaultSettings() override;
- Result UpdatePrinterSettings(bool external_preview,
- bool show_system_dialog,
- int page_count) override;
- Result NewDocument(const std::u16string& document_name) override;
- Result NewPage() override;
- Result PageDone() override;
- Result DocumentDone() override;
+ mojom::ResultCode UseDefaultSettings() override;
+ mojom::ResultCode UpdatePrinterSettings(bool external_preview,
+ bool show_system_dialog,
+ int page_count) override;
+ mojom::ResultCode NewDocument(const std::u16string& document_name) override;
+ mojom::ResultCode NewPage() override;
+ mojom::ResultCode PageDone() override;
+ mojom::ResultCode DocumentDone() override;
void Cancel() override;
void ReleaseContext() override;
printing::NativeDrawingContext context() const override;
diff --git a/printing/printing_context_mac.h b/printing/printing_context_mac.h
index 0fb5c91..7fde07c7 100644
--- a/printing/printing_context_mac.h
+++ b/printing/printing_context_mac.h
@@ -30,15 +30,15 @@
bool has_selection,
bool is_scripted,
PrintSettingsCallback callback) override;
- Result UseDefaultSettings() override;
+ mojom::ResultCode UseDefaultSettings() override;
gfx::Size GetPdfPaperSizeDeviceUnits() override;
- Result UpdatePrinterSettings(bool external_preview,
- bool show_system_dialog,
- int page_count) override;
- Result NewDocument(const std::u16string& document_name) override;
- Result NewPage() override;
- Result PageDone() override;
- Result DocumentDone() override;
+ mojom::ResultCode UpdatePrinterSettings(bool external_preview,
+ bool show_system_dialog,
+ int page_count) override;
+ mojom::ResultCode NewDocument(const std::u16string& document_name) override;
+ mojom::ResultCode NewPage() override;
+ mojom::ResultCode PageDone() override;
+ mojom::ResultCode DocumentDone() override;
void Cancel() override;
void ReleaseContext() override;
printing::NativeDrawingContext context() const override;
diff --git a/printing/printing_context_mac.mm b/printing/printing_context_mac.mm
index dfa69dfe..dd9bb77 100644
--- a/printing/printing_context_mac.mm
+++ b/printing/printing_context_mac.mm
@@ -17,6 +17,7 @@
#include "base/strings/sys_string_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_settings_initializer_mac.h"
#include "printing/printing_features.h"
#include "printing/units.h"
@@ -134,9 +135,9 @@
print_info_.reset([[panel printInfo] retain]);
settings_->set_ranges(GetPageRangesFromPrintInfo());
InitPrintSettingsFromPrintInfo();
- std::move(block_callback).Run(OK);
+ std::move(block_callback).Run(mojom::ResultCode::kSuccess);
} else {
- std::move(block_callback).Run(CANCEL);
+ std::move(block_callback).Run(mojom::ResultCode::kCanceled);
}
}];
}
@@ -160,17 +161,17 @@
return physical_size_device_units;
}
-PrintingContext::Result PrintingContextMac::UseDefaultSettings() {
+mojom::ResultCode PrintingContextMac::UseDefaultSettings() {
DCHECK(!in_print_job_);
print_info_.reset([[NSPrintInfo sharedPrintInfo] copy]);
settings_->set_ranges(GetPageRangesFromPrintInfo());
InitPrintSettingsFromPrintInfo();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextMac::UpdatePrinterSettings(
+mojom::ResultCode PrintingContextMac::UpdatePrinterSettings(
bool external_preview,
bool show_system_dialog,
int page_count) {
@@ -204,7 +205,7 @@
[print_info_.get() updateFromPMPrintSettings];
InitPrintSettingsFromPrintInfo();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
bool PrintingContextMac::SetPrintPreviewJob() {
@@ -494,7 +495,7 @@
return page_ranges;
}
-PrintingContext::Result PrintingContextMac::NewDocument(
+mojom::ResultCode PrintingContextMac::NewDocument(
const std::u16string& document_name) {
DCHECK(!in_print_job_);
@@ -516,12 +517,12 @@
if (status != noErr)
return OnError();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextMac::NewPage() {
+mojom::ResultCode PrintingContextMac::NewPage() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
DCHECK(!context_);
@@ -537,12 +538,12 @@
if (status != noErr)
return OnError();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextMac::PageDone() {
+mojom::ResultCode PrintingContextMac::PageDone() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
DCHECK(context_);
@@ -553,12 +554,12 @@
OnError();
context_ = nullptr;
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextMac::DocumentDone() {
+mojom::ResultCode PrintingContextMac::DocumentDone() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
PMPrintSession print_session =
@@ -568,7 +569,7 @@
OnError();
ResetSettings();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
void PrintingContextMac::Cancel() {
diff --git a/printing/printing_context_no_system_dialog.cc b/printing/printing_context_no_system_dialog.cc
index 59a943b..9e655e55 100644
--- a/printing/printing_context_no_system_dialog.cc
+++ b/printing/printing_context_no_system_dialog.cc
@@ -39,10 +39,10 @@
bool is_scripted,
PrintSettingsCallback callback) {
// We don't want to bring up a dialog here. Ever. Just signal the callback.
- std::move(callback).Run(OK);
+ std::move(callback).Run(mojom::ResultCode::kSuccess);
}
-PrintingContext::Result PrintingContextNoSystemDialog::UseDefaultSettings() {
+mojom::ResultCode PrintingContextNoSystemDialog::UseDefaultSettings() {
DCHECK(!in_print_job_);
ResetSettings();
@@ -52,7 +52,7 @@
gfx::Rect printable_area(0, 0, physical_size.width(), physical_size.height());
DCHECK_EQ(settings_->device_units_per_inch(), kDefaultPdfDpi);
settings_->SetPrinterPrintableArea(physical_size, printable_area, true);
- return OK;
+ return mojom::ResultCode::kSuccess;
}
gfx::Size PrintingContextNoSystemDialog::GetPdfPaperSizeDeviceUnits() {
@@ -79,7 +79,7 @@
return gfx::Size(width, height);
}
-PrintingContext::Result PrintingContextNoSystemDialog::UpdatePrinterSettings(
+mojom::ResultCode PrintingContextNoSystemDialog::UpdatePrinterSettings(
bool external_preview,
bool show_system_dialog,
int page_count) {
@@ -88,44 +88,44 @@
if (settings_->dpi() == 0)
UseDefaultSettings();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextNoSystemDialog::NewDocument(
+mojom::ResultCode PrintingContextNoSystemDialog::NewDocument(
const std::u16string& document_name) {
DCHECK(!in_print_job_);
in_print_job_ = true;
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextNoSystemDialog::NewPage() {
+mojom::ResultCode PrintingContextNoSystemDialog::NewPage() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
// Intentional No-op.
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextNoSystemDialog::PageDone() {
+mojom::ResultCode PrintingContextNoSystemDialog::PageDone() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
// Intentional No-op.
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextNoSystemDialog::DocumentDone() {
+mojom::ResultCode PrintingContextNoSystemDialog::DocumentDone() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
ResetSettings();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
void PrintingContextNoSystemDialog::Cancel() {
diff --git a/printing/printing_context_no_system_dialog.h b/printing/printing_context_no_system_dialog.h
index d68a4969..314d8a3 100644
--- a/printing/printing_context_no_system_dialog.h
+++ b/printing/printing_context_no_system_dialog.h
@@ -8,6 +8,7 @@
#include <string>
#include "base/component_export.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/printing_context.h"
namespace printing {
@@ -26,15 +27,15 @@
bool has_selection,
bool is_scripted,
PrintSettingsCallback callback) override;
- Result UseDefaultSettings() override;
+ mojom::ResultCode UseDefaultSettings() override;
gfx::Size GetPdfPaperSizeDeviceUnits() override;
- Result UpdatePrinterSettings(bool external_preview,
- bool show_system_dialog,
- int page_count) override;
- Result NewDocument(const std::u16string& document_name) override;
- Result NewPage() override;
- Result PageDone() override;
- Result DocumentDone() override;
+ mojom::ResultCode UpdatePrinterSettings(bool external_preview,
+ bool show_system_dialog,
+ int page_count) override;
+ mojom::ResultCode NewDocument(const std::u16string& document_name) override;
+ mojom::ResultCode NewPage() override;
+ mojom::ResultCode PageDone() override;
+ mojom::ResultCode DocumentDone() override;
void Cancel() override;
void ReleaseContext() override;
printing::NativeDrawingContext context() const override;
diff --git a/printing/printing_context_system_dialog_win.cc b/printing/printing_context_system_dialog_win.cc
index 891e957..acb040f 100644
--- a/printing/printing_context_system_dialog_win.cc
+++ b/printing/printing_context_system_dialog_win.cc
@@ -11,6 +11,7 @@
#include "base/strings/utf_string_conversions.h"
#include "base/task/current_thread.h"
#include "printing/backend/win_helper.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_settings_initializer_win.h"
#include "skia/ext/skia_utils_win.h"
@@ -69,7 +70,7 @@
if (ShowPrintDialog(&dialog_options) != S_OK) {
ResetSettings();
- std::move(callback).Run(FAILED);
+ std::move(callback).Run(mojom::ResultCode::kFailed);
return;
}
@@ -142,7 +143,7 @@
return true;
}
-PrintingContext::Result PrintingContextSystemDialogWin::ParseDialogResultEx(
+mojom::ResultCode PrintingContextSystemDialogWin::ParseDialogResultEx(
const PRINTDLGEX& dialog_options) {
// If the user clicked OK or Apply then Cancel, but not only Cancel.
if (dialog_options.dwResultAction != PD_RESULT_CANCEL) {
@@ -211,13 +212,15 @@
switch (dialog_options.dwResultAction) {
case PD_RESULT_PRINT:
- return context() ? OK : FAILED;
+ return context() ? mojom::ResultCode::kSuccess
+ : mojom::ResultCode::kFailed;
case PD_RESULT_APPLY:
- return context() ? CANCEL : FAILED;
+ return context() ? mojom::ResultCode::kCanceled
+ : mojom::ResultCode::kFailed;
case PD_RESULT_CANCEL:
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
default:
- return FAILED;
+ return mojom::ResultCode::kFailed;
}
}
diff --git a/printing/printing_context_system_dialog_win.h b/printing/printing_context_system_dialog_win.h
index 73397eb2..d44698f 100644
--- a/printing/printing_context_system_dialog_win.h
+++ b/printing/printing_context_system_dialog_win.h
@@ -11,6 +11,7 @@
#include <string>
+#include "printing/mojom/print.mojom.h"
#include "printing/printing_context_win.h"
#include "ui/gfx/native_widget_types.h"
@@ -46,7 +47,7 @@
bool selection_only);
// Parses the result of a PRINTDLGEX result.
- Result ParseDialogResultEx(const PRINTDLGEX& dialog_options);
+ mojom::ResultCode ParseDialogResultEx(const PRINTDLGEX& dialog_options);
};
} // namespace printing
diff --git a/printing/printing_context_win.cc b/printing/printing_context_win.cc
index a0042fea..5206d8ff 100644
--- a/printing/printing_context_win.cc
+++ b/printing/printing_context_win.cc
@@ -35,7 +35,7 @@
namespace {
-void AssignResult(PrintingContext::Result* out, PrintingContext::Result in) {
+void AssignResult(mojom::ResultCode* out, mojom::ResultCode in) {
*out = in;
}
@@ -74,7 +74,7 @@
NOTIMPLEMENTED();
}
-PrintingContext::Result PrintingContextWin::UseDefaultSettings() {
+mojom::ResultCode PrintingContextWin::UseDefaultSettings() {
DCHECK(!in_print_job_);
scoped_refptr<PrintBackend> backend =
@@ -83,7 +83,7 @@
mojom::ResultCode result =
backend->GetDefaultPrinterName(default_printer_name);
if (result != mojom::ResultCode::kSuccess)
- return FAILED;
+ return result;
std::wstring default_printer = base::UTF8ToWide(default_printer_name);
if (!default_printer.empty()) {
@@ -91,8 +91,10 @@
if (printer.OpenPrinterWithName(default_printer.c_str())) {
std::unique_ptr<DEVMODE, base::FreeDeleter> dev_mode =
CreateDevMode(printer.Get(), nullptr);
- if (InitializeSettings(default_printer, dev_mode.get()) == OK)
- return OK;
+ if (InitializeSettings(default_printer, dev_mode.get()) ==
+ mojom::ResultCode::kSuccess) {
+ return mojom::ResultCode::kSuccess;
+ }
}
}
@@ -120,11 +122,13 @@
continue;
std::unique_ptr<DEVMODE, base::FreeDeleter> dev_mode =
CreateDevMode(printer.Get(), nullptr);
- if (InitializeSettings(info_2->pPrinterName, dev_mode.get()) == OK)
- return OK;
+ if (InitializeSettings(info_2->pPrinterName, dev_mode.get()) ==
+ mojom::ResultCode::kSuccess) {
+ return mojom::ResultCode::kSuccess;
+ }
}
if (context_)
- return OK;
+ return mojom::ResultCode::kSuccess;
}
}
@@ -160,7 +164,7 @@
paper_size.height() * settings_->device_units_per_inch());
}
-PrintingContext::Result PrintingContextWin::UpdatePrinterSettings(
+mojom::ResultCode PrintingContextWin::UpdatePrinterSettings(
bool external_preview,
bool show_system_dialog,
int page_count) {
@@ -237,7 +241,7 @@
// Update data using DocumentProperties.
if (show_system_dialog) {
- PrintingContext::Result result = PrintingContext::FAILED;
+ mojom::ResultCode result = mojom::ResultCode::kFailed;
AskUserForSettings(page_count, false, false,
base::BindOnce(&AssignResult, &result));
return result;
@@ -258,7 +262,7 @@
scoped_dev_mode.get());
}
-PrintingContext::Result PrintingContextWin::InitWithSettingsForTest(
+mojom::ResultCode PrintingContextWin::InitWithSettingsForTest(
std::unique_ptr<PrintSettings> settings) {
DCHECK(!in_print_job_);
@@ -267,7 +271,7 @@
// TODO(maruel): settings_.ToDEVMODE()
ScopedPrinterHandle printer;
if (!printer.OpenPrinterWithName(base::as_wcstr(settings_->device_name())))
- return FAILED;
+ return mojom::ResultCode::kFailed;
std::unique_ptr<DEVMODE, base::FreeDeleter> dev_mode =
CreateDevMode(printer.Get(), nullptr);
@@ -276,7 +280,7 @@
dev_mode.get());
}
-PrintingContext::Result PrintingContextWin::NewDocument(
+mojom::ResultCode PrintingContextWin::NewDocument(
const std::u16string& document_name) {
DCHECK(!in_print_job_);
if (!context_)
@@ -287,8 +291,10 @@
in_print_job_ = true;
- if (base::FeatureList::IsEnabled(printing::features::kUseXpsForPrinting))
- return OK; // This is all the new document context needed when using XPS.
+ if (base::FeatureList::IsEnabled(printing::features::kUseXpsForPrinting)) {
+ // This is all the new document context needed when using XPS.
+ return mojom::ResultCode::kSuccess;
+ }
// Need more context setup when using GDI.
@@ -318,35 +324,35 @@
if (StartDoc(context_, &di) <= 0)
return OnError();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextWin::NewPage() {
+mojom::ResultCode PrintingContextWin::NewPage() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(context_);
DCHECK(in_print_job_);
// Intentional No-op. MetafileSkia::SafePlayback takes care of calling
// ::StartPage().
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextWin::PageDone() {
+mojom::ResultCode PrintingContextWin::PageDone() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
// Intentional No-op. MetafileSkia::SafePlayback takes care of calling
// ::EndPage().
- return OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result PrintingContextWin::DocumentDone() {
+mojom::ResultCode PrintingContextWin::DocumentDone() {
if (abort_printing_)
- return CANCEL;
+ return mojom::ResultCode::kCanceled;
DCHECK(in_print_job_);
DCHECK(context_);
@@ -355,7 +361,7 @@
return OnError();
ResetSettings();
- return OK;
+ return mojom::ResultCode::kSuccess;
}
void PrintingContextWin::Cancel() {
@@ -386,7 +392,7 @@
return true;
}
-PrintingContext::Result PrintingContextWin::InitializeSettings(
+mojom::ResultCode PrintingContextWin::InitializeSettings(
const std::wstring& device_name,
DEVMODE* dev_mode) {
if (!dev_mode)
@@ -404,7 +410,7 @@
PrintSettingsInitializerWin::InitPrintSettings(context_, *dev_mode,
settings_.get());
- return OK;
+ return mojom::ResultCode::kSuccess;
}
HWND PrintingContextWin::GetRootWindow(gfx::NativeView view) {
diff --git a/printing/printing_context_win.h b/printing/printing_context_win.h
index f131f461..758a193 100644
--- a/printing/printing_context_win.h
+++ b/printing/printing_context_win.h
@@ -8,6 +8,7 @@
#include <memory>
#include <string>
+#include "printing/mojom/print.mojom.h"
#include "printing/printing_context.h"
#include "ui/gfx/native_widget_types.h"
@@ -32,19 +33,19 @@
bool has_selection,
bool is_scripted,
PrintSettingsCallback callback) override;
- Result UseDefaultSettings() override;
+ mojom::ResultCode UseDefaultSettings() override;
gfx::Size GetPdfPaperSizeDeviceUnits() override;
- Result UpdatePrinterSettings(bool external_preview,
- bool show_system_dialog,
- int page_count) override;
- Result NewDocument(const std::u16string& document_name) override;
- Result NewPage() override;
- Result PageDone() override;
- Result DocumentDone() override;
+ mojom::ResultCode UpdatePrinterSettings(bool external_preview,
+ bool show_system_dialog,
+ int page_count) override;
+ mojom::ResultCode NewDocument(const std::u16string& document_name) override;
+ mojom::ResultCode NewPage() override;
+ mojom::ResultCode PageDone() override;
+ mojom::ResultCode DocumentDone() override;
void Cancel() override;
void ReleaseContext() override;
printing::NativeDrawingContext context() const override;
- Result InitWithSettingsForTest(
+ mojom::ResultCode InitWithSettingsForTest(
std::unique_ptr<PrintSettings> settings) override;
protected:
@@ -52,8 +53,8 @@
// Reads the settings from the selected device context. Updates settings_ and
// its margins.
- virtual Result InitializeSettings(const std::wstring& device_name,
- DEVMODE* dev_mode);
+ virtual mojom::ResultCode InitializeSettings(const std::wstring& device_name,
+ DEVMODE* dev_mode);
void set_context(HDC context) { context_ = context; }
diff --git a/printing/printing_context_win_unittest.cc b/printing/printing_context_win_unittest.cc
index 62ada59..ab414a0 100644
--- a/printing/printing_context_win_unittest.cc
+++ b/printing/printing_context_win_unittest.cc
@@ -28,19 +28,17 @@
class PrintingContextTest : public PrintingTest<testing::Test>,
public PrintingContext::Delegate {
public:
- void PrintSettingsCallback(PrintingContext::Result result) {
- result_ = result;
- }
+ void PrintSettingsCallback(mojom::ResultCode result) { result_ = result; }
// PrintingContext::Delegate methods.
gfx::NativeView GetParentView() override { return nullptr; }
std::string GetAppLocale() override { return std::string(); }
protected:
- PrintingContext::Result result() const { return result_; }
+ mojom::ResultCode result() const { return result_; }
private:
- PrintingContext::Result result_;
+ mojom::ResultCode result_;
};
namespace {
@@ -156,7 +154,7 @@
123, false, false,
base::BindOnce(&PrintingContextTest::PrintSettingsCallback,
base::Unretained(this)));
- EXPECT_EQ(PrintingContext::OK, result());
+ EXPECT_EQ(mojom::ResultCode::kSuccess, result());
const PrintSettings& settings = context.settings();
EXPECT_EQ(0u, settings.ranges().size());
}
@@ -172,7 +170,7 @@
123, false, false,
base::BindOnce(&PrintingContextTest::PrintSettingsCallback,
base::Unretained(this)));
- EXPECT_EQ(PrintingContext::OK, result());
+ EXPECT_EQ(mojom::ResultCode::kSuccess, result());
const PrintSettings& settings = context.settings();
EXPECT_NE(settings.color(), mojom::ColorModel::kUnknownColorModel);
}
@@ -186,7 +184,7 @@
settings->set_device_name(base::WideToUTF16(GetDefaultPrinter()));
// Initialize it.
PrintingContextWin context(this);
- EXPECT_EQ(PrintingContext::OK,
+ EXPECT_EQ(mojom::ResultCode::kSuccess,
context.InitWithSettingsForTest(std::move(settings)));
// The print may lie to use and may not support world transformation.
diff --git a/printing/test_printing_context.cc b/printing/test_printing_context.cc
index 0a54c496e9..9d2e9ea2 100644
--- a/printing/test_printing_context.cc
+++ b/printing/test_printing_context.cc
@@ -12,6 +12,7 @@
#include "base/notreached.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_settings.h"
#include "printing/printing_context.h"
#include "ui/gfx/geometry/size.h"
@@ -48,9 +49,9 @@
NOTIMPLEMENTED();
}
-PrintingContext::Result TestPrintingContext::UseDefaultSettings() {
+mojom::ResultCode TestPrintingContext::UseDefaultSettings() {
NOTIMPLEMENTED();
- return PrintingContext::FAILED;
+ return mojom::ResultCode::kFailed;
}
gfx::Size TestPrintingContext::GetPdfPaperSizeDeviceUnits() {
@@ -58,7 +59,7 @@
return gfx::Size();
}
-PrintingContext::Result TestPrintingContext::UpdatePrinterSettings(
+mojom::ResultCode TestPrintingContext::UpdatePrinterSettings(
bool external_preview,
bool show_system_dialog,
int page_count) {
@@ -73,7 +74,7 @@
if (found == device_settings_.end()) {
DLOG(ERROR) << "No such device found in test printing context: `"
<< device_name << "`";
- return PrintingContext::FAILED;
+ return mojom::ResultCode::kFailed;
}
// Perform some initialization, akin to various platform-specific actions in
@@ -87,28 +88,28 @@
settings_->advanced_settings().emplace(item.first, item.second.Clone());
#endif
- return PrintingContext::OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result TestPrintingContext::NewDocument(
+mojom::ResultCode TestPrintingContext::NewDocument(
const std::u16string& document_name) {
// No-op.
- return PrintingContext::Result::OK;
+ return mojom::ResultCode::kSuccess;
}
-PrintingContext::Result TestPrintingContext::NewPage() {
+mojom::ResultCode TestPrintingContext::NewPage() {
NOTIMPLEMENTED();
- return PrintingContext::Result::FAILED;
+ return mojom::ResultCode::kFailed;
}
-PrintingContext::Result TestPrintingContext::PageDone() {
+mojom::ResultCode TestPrintingContext::PageDone() {
NOTIMPLEMENTED();
- return PrintingContext::Result::FAILED;
+ return mojom::ResultCode::kFailed;
}
-PrintingContext::Result TestPrintingContext::DocumentDone() {
+mojom::ResultCode TestPrintingContext::DocumentDone() {
NOTIMPLEMENTED();
- return PrintingContext::Result::FAILED;
+ return mojom::ResultCode::kFailed;
}
void TestPrintingContext::Cancel() {
@@ -122,10 +123,10 @@
}
#if defined(OS_WIN)
-PrintingContext::Result TestPrintingContext::InitWithSettingsForTest(
+mojom::ResultCode TestPrintingContext::InitWithSettingsForTest(
std::unique_ptr<PrintSettings> settings) {
NOTIMPLEMENTED();
- return PrintingContext::Result::FAILED;
+ return mojom::ResultCode::kFailed;
}
#endif // defined(OS_WIN)
diff --git a/printing/test_printing_context.h b/printing/test_printing_context.h
index 88b14516..ed9ac232 100644
--- a/printing/test_printing_context.h
+++ b/printing/test_printing_context.h
@@ -10,6 +10,7 @@
#include "base/containers/flat_map.h"
#include "build/build_config.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_settings.h"
#include "printing/printing_context.h"
@@ -47,20 +48,20 @@
bool has_selection,
bool is_scripted,
PrintSettingsCallback callback) override;
- Result UseDefaultSettings() override;
+ mojom::ResultCode UseDefaultSettings() override;
gfx::Size GetPdfPaperSizeDeviceUnits() override;
- Result UpdatePrinterSettings(bool external_preview,
- bool show_system_dialog,
- int page_count) override;
- Result NewDocument(const std::u16string& document_name) override;
- Result NewPage() override;
- Result PageDone() override;
- Result DocumentDone() override;
+ mojom::ResultCode UpdatePrinterSettings(bool external_preview,
+ bool show_system_dialog,
+ int page_count) override;
+ mojom::ResultCode NewDocument(const std::u16string& document_name) override;
+ mojom::ResultCode NewPage() override;
+ mojom::ResultCode PageDone() override;
+ mojom::ResultCode DocumentDone() override;
void Cancel() override;
void ReleaseContext() override;
NativeDrawingContext context() const override;
#if defined(OS_WIN)
- Result InitWithSettingsForTest(
+ mojom::ResultCode InitWithSettingsForTest(
std::unique_ptr<PrintSettings> settings) override;
#endif
diff --git a/ui/gtk/printing/print_dialog_gtk.cc b/ui/gtk/printing/print_dialog_gtk.cc
index 62108f0..414e653e 100644
--- a/ui/gtk/printing/print_dialog_gtk.cc
+++ b/ui/gtk/printing/print_dialog_gtk.cc
@@ -23,6 +23,7 @@
#include "base/threading/sequenced_task_runner_handle.h"
#include "base/values.h"
#include "printing/metafile.h"
+#include "printing/mojom/print.mojom.h"
#include "printing/print_job_constants.h"
#include "printing/print_settings.h"
#include "ui/aura/window.h"
@@ -515,12 +516,12 @@
settings->set_selection_only(print_selection_only);
InitPrintSettingsGtk(gtk_settings_, page_setup_, settings.get());
context_->InitWithSettings(std::move(settings));
- std::move(callback_).Run(PrintingContextLinux::OK);
+ std::move(callback_).Run(printing::mojom::ResultCode::kSuccess);
return;
}
case GTK_RESPONSE_DELETE_EVENT: // Fall through.
case GTK_RESPONSE_CANCEL: {
- std::move(callback_).Run(PrintingContextLinux::CANCEL);
+ std::move(callback_).Run(printing::mojom::ResultCode::kCanceled);
return;
}
case GTK_RESPONSE_APPLY:
@@ -586,5 +587,5 @@
gtk::ClearAuraTransientParent(dialog_, window);
window->RemoveObserver(this);
if (callback_)
- std::move(callback_).Run(PrintingContextLinux::CANCEL);
+ std::move(callback_).Run(printing::mojom::ResultCode::kCanceled);
}