1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_UI_CERTIFICATE_DIALOGS_H_
6#define CHROME_BROWSER_UI_CERTIFICATE_DIALOGS_H_
7
8#include "net/cert/x509_certificate.h"
9#include "ui/shell_dialogs/select_file_dialog.h"
10
11namespace content {
12class WebContents;
13}
14
15void ShowCertSelectFileDialog(ui::SelectFileDialog* select_file_dialog,
16                              ui::SelectFileDialog::Type type,
17                              const base::FilePath& suggested_path,
18                              gfx::NativeWindow parent,
19                              void* params);
20
21// Show a dialog to save |cert| alone or the cert + its chain.
22void ShowCertExportDialog(content::WebContents* web_contents,
23                          gfx::NativeWindow parent,
24                          const scoped_refptr<net::X509Certificate>& cert);
25
26// Show a dialog to save the first certificate or the whole chain encompassed by
27// the iterators.
28void ShowCertExportDialog(
29    content::WebContents* web_contents,
30    gfx::NativeWindow parent,
31    net::X509Certificate::OSCertHandles::iterator certs_begin,
32    net::X509Certificate::OSCertHandles::iterator certs_end);
33
34#endif  // CHROME_BROWSER_UI_CERTIFICATE_DIALOGS_H_
35