Index: chrome/browser/ui/webui/print_preview/print_preview_handler.cc |
diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc |
index a68f6d9978e5c5fa75e0b198206e3a121270c5e1..eb67359d8e87512c9228a79f8cd69acc6c610ae0 100644 |
--- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc |
+++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc |
@@ -1359,9 +1359,13 @@ void PrintPreviewHandler::LocalPrinterChanged( |
const std::string& name, |
bool has_local_printing, |
const local_discovery::DeviceDescription& description) { |
- base::DictionaryValue info; |
- FillPrinterDescription(name, description, has_local_printing, &info); |
- web_ui()->CallJavascriptFunction("onPrivetPrinterChanged", info); |
+ CommandLine* command_line = CommandLine::ForCurrentProcess(); |
+ if (has_local_printing || |
+ command_line->HasSwitch(switches::kEnablePrintPreviewRegisterPromos)) { |
+ base::DictionaryValue info; |
+ FillPrinterDescription(name, description, has_local_printing, &info); |
+ web_ui()->CallJavascriptFunction("onPrivetPrinterChanged", info); |
+ } |
} |
void PrintPreviewHandler::LocalPrinterRemoved(const std::string& name) { |
@@ -1531,12 +1535,15 @@ void PrintPreviewHandler::FillPrinterDescription( |
const local_discovery::DeviceDescription& description, |
bool has_local_printing, |
base::DictionaryValue* printer_value) { |
+ CommandLine* command_line = CommandLine::ForCurrentProcess(); |
+ |
printer_value->SetString("serviceName", name); |
printer_value->SetString("name", description.name); |
printer_value->SetBoolean("hasLocalPrinting", has_local_printing); |
printer_value->SetBoolean( |
"isUnregistered", |
- description.id.empty()); |
+ description.id.empty() && |
+ command_line->HasSwitch(switches::kEnablePrintPreviewRegisterPromos)); |
printer_value->SetString("cloudID", description.id); |
} |