From 653b2d15c325638d4a9aca0cba15bb6dcc35a352 Mon Sep 17 00:00:00 2001 From: joshaber Date: Thu, 30 Mar 2017 17:25:55 -0400 Subject: [PATCH] Expose the certificate trust panel as part of app --- atom/browser/api/atom_api_app.cc | 12 ++++++++++++ atom/browser/api/atom_api_app.h | 11 +++++++++++ 2 files changed, 23 insertions(+) diff --git a/atom/browser/api/atom_api_app.cc b/atom/browser/api/atom_api_app.cc index 56a11daf69bd..3a8f4ef0f8b5 100644 --- a/atom/browser/api/atom_api_app.cc +++ b/atom/browser/api/atom_api_app.cc @@ -7,6 +7,7 @@ #include #include +#include "atom/browser/api/atom_api_certificate_trust.h" #include "atom/browser/api/atom_api_menu.h" #include "atom/browser/api/atom_api_session.h" #include "atom/browser/api/atom_api_web_contents.h" @@ -810,6 +811,16 @@ void App::OnCertificateManagerModelCreated( } #endif +#if defined(OS_MACOSX) +void App::ShowCertificateTrust(atom::NativeWindow* parent_window, + const net::X509Certificate& cert, + std::string message, + const ShowTrustCallback& callback, + mate::Arguments* args) { + ShowCertificateTrustUI(parent_window, cert, message, callback); +} +#endif + #if defined(OS_WIN) v8::Local App::GetJumpListSettings() { JumpList jump_list(Browser::Get()->GetAppUserModelID()); @@ -949,6 +960,7 @@ void App::BuildPrototype( base::Bind(&Browser::GetCurrentActivityType, browser)) .SetMethod("setAboutPanelOptions", base::Bind(&Browser::SetAboutPanelOptions, browser)) + // .SetMethod("showCertificateTrust", &App::ShowCertificateTrust) #endif #if defined(OS_WIN) .SetMethod("setUserTasks", base::Bind(&Browser::SetUserTasks, browser)) diff --git a/atom/browser/api/atom_api_app.h b/atom/browser/api/atom_api_app.h index 8b276f334d5c..367709cf0c6f 100644 --- a/atom/browser/api/atom_api_app.h +++ b/atom/browser/api/atom_api_app.h @@ -8,6 +8,7 @@ #include #include +#include "atom/browser/api/atom_api_certificate_trust.h" #include "atom/browser/api/event_emitter.h" #include "atom/browser/atom_browser_client.h" #include "atom/browser/browser.h" @@ -19,6 +20,7 @@ #include "content/public/browser/gpu_data_manager_observer.h" #include "native_mate/handle.h" #include "net/base/completion_callback.h" +#include "net/cert/x509_certificate.h" #if defined(USE_NSS_CERTS) #include "chrome/browser/certificate_manager_model.h" @@ -151,6 +153,15 @@ class App : public AtomBrowserClient::Delegate, std::unique_ptr certificate_manager_model_; #endif + +#if defined(OS_MACOSX) + void ShowCertificateTrust(atom::NativeWindow* parent_window, + const net::X509Certificate& cert, + std::string message, + const ShowTrustCallback& callback, + mate::Arguments* args); +#endif + // Tracks tasks requesting file icons. base::CancelableTaskTracker cancelable_task_tracker_;