1 // Copyright 2017 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 COMPONENTS_SECURITY_STATE_CONTENT_SSL_STATUS_INPUT_EVENT_DATA_H_
6 #define COMPONENTS_SECURITY_STATE_CONTENT_SSL_STATUS_INPUT_EVENT_DATA_H_
7 
8 #include <memory>
9 
10 #include "components/security_state/core/insecure_input_event_data.h"
11 #include "content/public/browser/ssl_status.h"
12 
13 namespace security_state {
14 
15 using content::SSLStatus;
16 
17 // Stores flags about Input Events in the SSLStatus UserData to
18 // influence the Security Level of the page.
19 class SSLStatusInputEventData : public SSLStatus::UserData {
20  public:
21   SSLStatusInputEventData();
22   explicit SSLStatusInputEventData(const InsecureInputEventData& initial_data);
23   ~SSLStatusInputEventData() override;
24 
25   InsecureInputEventData* input_events();
26 
27   // SSLStatus::UserData:
28   std::unique_ptr<SSLStatus::UserData> Clone() override;
29 
30  private:
31   InsecureInputEventData data_;
32 
33   DISALLOW_COPY_AND_ASSIGN(SSLStatusInputEventData);
34 };
35 
36 }  // namespace security_state
37 
38 #endif  // COMPONENTS_SECURITY_STATE_CONTENT_SSL_STATUS_INPUT_EVENT_DATA_H_
39