Index: content/browser/devtools/protocol/security_handler.h |
diff --git a/content/browser/devtools/protocol/security_handler.h b/content/browser/devtools/protocol/security_handler.h |
index 2d32c687a40374a5df7980595827ee2711f067d6..a8074e71b3c87045c2f0220645f3139016197ef1 100644 |
--- a/content/browser/devtools/protocol/security_handler.h |
+++ b/content/browser/devtools/protocol/security_handler.h |
@@ -5,14 +5,18 @@ |
#ifndef CONTENT_BROWSER_DEVTOOLS_PROTOCOL_SECURITY_HANDLER_H_ |
#define CONTENT_BROWSER_DEVTOOLS_PROTOCOL_SECURITY_HANDLER_H_ |
+#include <unordered_map> |
+ |
#include "base/macros.h" |
#include "content/browser/devtools/protocol/devtools_domain_handler.h" |
#include "content/browser/devtools/protocol/security.h" |
+#include "content/public/browser/certificate_request_result_type.h" |
#include "content/public/browser/web_contents_observer.h" |
namespace content { |
class RenderFrameHostImpl; |
+class DevToolsSession; |
namespace protocol { |
@@ -23,22 +27,40 @@ class SecurityHandler : public DevToolsDomainHandler, |
SecurityHandler(); |
~SecurityHandler() override; |
+ static SecurityHandler* FromSession(DevToolsSession* session); |
+ |
void Wire(UberDispatcher* dispatcher) override; |
void SetRenderFrameHost(RenderFrameHostImpl* host) override; |
Response Enable() override; |
Response Disable() override; |
Response ShowCertificateViewer() override; |
+ Response HandleCertificateError(int event_id, const String& action) override; |
+ Response SetOverrideCertificateErrors(bool override) override; |
+ |
+ using CertErrorCallback = |
+ base::Callback<void(content::CertificateRequestResultType)>; |
+ using CertErrorCallbackMap = std::unordered_map<int, CertErrorCallback>; |
+ |
+ bool NotifyCertificateError(int cert_error, |
+ const GURL& request_url, |
+ CertErrorCallback callback); |
private: |
void AttachToRenderFrameHost(); |
+ void FlushPendingRequests(); |
// WebContentsObserver overrides |
void DidChangeVisibleSecurityState() override; |
+ void DidFinishLoad(RenderFrameHost* render_frame_host, |
+ const GURL& validated_url) override; |
std::unique_ptr<Security::Frontend> frontend_; |
bool enabled_; |
RenderFrameHostImpl* host_; |
+ int last_cert_error_id_ = 0; |
+ CertErrorCallbackMap callbacks_; |
+ bool certificate_errors_overriden_ = false; |
DISALLOW_COPY_AND_ASSIGN(SecurityHandler); |
}; |