// Copyright 2017 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.

#include "chrome/browser/ui/webui/settings/printing_handler.h"

#include "base/bind.h"
#include "base/bind_helpers.h"
#include "chrome/browser/printing/printer_manager_dialog.h"
#include "content/public/browser/web_ui.h"

namespace settings {

PrintingHandler::PrintingHandler() {}

PrintingHandler::~PrintingHandler() {}

void PrintingHandler::RegisterMessages() {
  web_ui()->RegisterMessageCallback(
      "openSystemPrintDialog",
      base::BindRepeating(&PrintingHandler::HandleOpenSystemPrintDialog,
                          base::Unretained(this)));
}

void PrintingHandler::OnJavascriptAllowed() {}

void PrintingHandler::OnJavascriptDisallowed() {}

void PrintingHandler::HandleOpenSystemPrintDialog(const base::ListValue* args) {
  printing::PrinterManagerDialog::ShowPrinterManagerDialog();
}

}  // namespace settings
