blob: 4eefbd94acde8b8a1ed7d1fd0b4049d071493518 [file] [log] [blame]
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_CERTIFICATE_DIALOGS_H_
#define CHROME_BROWSER_UI_CERTIFICATE_DIALOGS_H_
#include "chrome/common/buildflags.h"
#include "third_party/boringssl/src/include/openssl/base.h"
#include "third_party/boringssl/src/include/openssl/pool.h"
#include "ui/shell_dialogs/select_file_dialog.h"
namespace content {
class WebContents;
}
void ShowCertSelectFileDialog(ui::SelectFileDialog* select_file_dialog,
ui::SelectFileDialog::Type type,
const base::FilePath& suggested_path,
gfx::NativeWindow parent);
// Show a dialog to save the first certificate or the whole chain.
void ShowCertExportDialog(content::WebContents* web_contents,
gfx::NativeWindow parent,
std::vector<bssl::UniquePtr<CRYPTO_BUFFER>> certs,
const std::string& cert_title);
#if BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI)
// Show a dialog to save all the certs provided; certs are not necessarily part
// of any chain.
void ShowCertExportDialogSaveAll(
content::WebContents* web_contents,
gfx::NativeWindow parent,
std::vector<bssl::UniquePtr<CRYPTO_BUFFER>> certs,
const std::string& suggested_file_name);
#endif // BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI)
#endif // CHROME_BROWSER_UI_CERTIFICATE_DIALOGS_H_