Commit 5a69fbc0 authored by rbpotter's avatar rbpotter Committed by Commit Bot

Print Preview: Redirect manage printers button to the OS printer dialog

Bug: 1144931
Change-Id: Ia5822311a43935e2086613c5b2ff0470d342544e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2520081
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Reviewed-by: default avatardpapad <dpapad@chromium.org>
Reviewed-by: default avatarDaniel Hosseinian <dhoss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#824982}
parent e2bd0ed5
...@@ -226,10 +226,10 @@ export class NativeLayer { ...@@ -226,10 +226,10 @@ export class NativeLayer {
getPreview(printTicket) {} getPreview(printTicket) {}
/** /**
* Opens the chrome://settings printing page. For Chrome OS, open the * Opens the OS's printer manager dialog. For Chrome OS, open the printing
* printing settings in the Settings App. * settings in the Settings App.
*/ */
openSettingsPrintPage() {} managePrinters() {}
/** /**
* Requests that the document be printed. * Requests that the document be printed.
...@@ -348,8 +348,8 @@ export class NativeLayerImpl { ...@@ -348,8 +348,8 @@ export class NativeLayerImpl {
} }
/** @override */ /** @override */
openSettingsPrintPage() { managePrinters() {
chrome.send('openPrinterSettings'); chrome.send('managePrinters');
} }
/** @override */ /** @override */
......
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
margin-bottom: 16px; margin-bottom: 16px;
} }
iron-icon { .destinations-status iron-icon {
--google-orange-600: rgb(232, 113, 10); /* e8710a */ --google-orange-600: rgb(232, 113, 10); /* e8710a */
fill: var(--google-orange-600); fill: var(--google-orange-600);
flex-shrink: 0; flex-shrink: 0;
...@@ -106,6 +106,11 @@ ...@@ -106,6 +106,11 @@
padding-inline-start: 4px; padding-inline-start: 4px;
} }
cr-button iron-icon {
--iron-icon-fill-color: currentColor;
margin-inline-start: 8px;
}
#warning-message { #warning-message {
color: var(--cr-primary-text-color); color: var(--cr-primary-text-color);
} }
...@@ -145,8 +150,9 @@ ...@@ -145,8 +150,9 @@
</print-preview-provisional-destination-resolver> </print-preview-provisional-destination-resolver>
</div> </div>
<div slot="button-container"> <div slot="button-container">
<cr-button on-click="onOpenSettingsPrintPage_"> <cr-button on-click="onManageButtonClick_">
$i18n{manage} $i18n{manage}
<iron-icon icon="cr:open-in-new"></iron-icon>
</cr-button> </cr-button>
<cr-button class="cancel-button" on-click="onCancelButtonClick_"> <cr-button class="cancel-button" on-click="onCancelButtonClick_">
$i18n{cancel} $i18n{cancel}
......
...@@ -435,8 +435,8 @@ Polymer({ ...@@ -435,8 +435,8 @@ Polymer({
}, },
/** @private */ /** @private */
onOpenSettingsPrintPage_() { onManageButtonClick_() {
this.metrics_.record(Metrics.DestinationSearchBucket.MANAGE_BUTTON_CLICKED); this.metrics_.record(Metrics.DestinationSearchBucket.MANAGE_BUTTON_CLICKED);
NativeLayerImpl.getInstance().openSettingsPrintPage(); NativeLayerImpl.getInstance().managePrinters();
}, },
}); });
...@@ -449,9 +449,10 @@ void PrintPreviewHandler::RegisterMessages() { ...@@ -449,9 +449,10 @@ void PrintPreviewHandler::RegisterMessages() {
&PrintPreviewHandler::HandleGrantExtensionPrinterAccess, &PrintPreviewHandler::HandleGrantExtensionPrinterAccess,
base::Unretained(this))); base::Unretained(this)));
web_ui()->RegisterMessageCallback( web_ui()->RegisterMessageCallback(
"openPrinterSettings", "managePrinters",
base::BindRepeating(&PrintPreviewHandler::HandleOpenPrinterSettings, base::BindRepeating(&PrintPreviewHandler::HandleManagePrinters,
base::Unretained(this))); base::Unretained(this)));
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
web_ui()->RegisterMessageCallback( web_ui()->RegisterMessageCallback(
"getEulaUrl", base::BindRepeating(&PrintPreviewHandler::HandleGetEulaUrl, "getEulaUrl", base::BindRepeating(&PrintPreviewHandler::HandleGetEulaUrl,
...@@ -884,21 +885,6 @@ void PrintPreviewHandler::HandleClosePreviewDialog( ...@@ -884,21 +885,6 @@ void PrintPreviewHandler::HandleClosePreviewDialog(
regenerate_preview_request_count_); regenerate_preview_request_count_);
} }
void PrintPreviewHandler::HandleOpenPrinterSettings(
const base::ListValue* args) {
#if defined(OS_CHROMEOS)
chrome::SettingsWindowManager::GetInstance()->ShowOSSettings(
Profile::FromWebUI(web_ui()),
chromeos::settings::mojom::kPrintingDetailsSubpagePath);
#else
GURL url(chrome::GetSettingsUrl(chrome::kPrintingSettingsSubPage));
content::OpenURLParams params(url, content::Referrer(),
WindowOpenDisposition::NEW_FOREGROUND_TAB,
ui::PAGE_TRANSITION_LINK, false);
preview_web_contents()->OpenURL(params);
#endif
}
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
void PrintPreviewHandler::HandleGetEulaUrl(const base::ListValue* args) { void PrintPreviewHandler::HandleGetEulaUrl(const base::ListValue* args) {
CHECK_EQ(2U, args->GetSize()); CHECK_EQ(2U, args->GetSize());
...@@ -1430,4 +1416,15 @@ void PrintPreviewHandler::OnPrinterStatusUpdated( ...@@ -1430,4 +1416,15 @@ void PrintPreviewHandler::OnPrinterStatusUpdated(
} }
#endif #endif
void PrintPreviewHandler::HandleManagePrinters(const base::ListValue* args) {
#if defined(OS_CHROMEOS)
chrome::SettingsWindowManager::GetInstance()->ShowOSSettings(
Profile::FromWebUI(web_ui()),
chromeos::settings::mojom::kPrintingDetailsSubpagePath);
#else
printing::PrinterManagerDialog::ShowPrinterManagerDialog(
Profile::FromWebUI(web_ui()));
#endif
}
} // namespace printing } // namespace printing
...@@ -234,9 +234,9 @@ class PrintPreviewHandler : public content::WebUIMessageHandler, ...@@ -234,9 +234,9 @@ class PrintPreviewHandler : public content::WebUIMessageHandler,
// preview is displayed. // preview is displayed.
void HandleGetInitialSettings(const base::ListValue* args); void HandleGetInitialSettings(const base::ListValue* args);
// Opens printer settings in the Chrome OS Settings App or the // Opens printer settings in the Chrome OS Settings App or OS's printer manger
// chrome://settings page. // dialog. |args| is unused.
void HandleOpenPrinterSettings(const base::ListValue* args); void HandleManagePrinters(const base::ListValue* args);
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
// Gets the EULA URL. // Gets the EULA URL.
......
...@@ -262,7 +262,7 @@ export class NativeLayerStub extends TestBrowserProxy { ...@@ -262,7 +262,7 @@ export class NativeLayerStub extends TestBrowserProxy {
cancelPendingPrintRequest() {} cancelPendingPrintRequest() {}
/** @override */ /** @override */
openSettingsPrintPage() {} managePrinters() {}
/** /**
* @param {!NativeInitialSettings} settings The settings * @param {!NativeInitialSettings} settings The settings
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment