Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(118)

Side by Side Diff: chrome/browser/ui/website_settings/website_settings.h

Issue 473643002: Add button to page info to revoke user certificate decisions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_WEBSITE_SETTINGS_WEBSITE_SETTINGS_H_ 5 #ifndef CHROME_BROWSER_UI_WEBSITE_SETTINGS_WEBSITE_SETTINGS_H_
6 #define CHROME_BROWSER_UI_WEBSITE_SETTINGS_WEBSITE_SETTINGS_H_ 6 #define CHROME_BROWSER_UI_WEBSITE_SETTINGS_WEBSITE_SETTINGS_H_
7 7
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/strings/string16.h" 9 #include "base/strings/string16.h"
10 #include "base/task/cancelable_task_tracker.h" 10 #include "base/task/cancelable_task_tracker.h"
11 #include "base/time/time.h" 11 #include "base/time/time.h"
12 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 12 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
13 #include "chrome/browser/history/history_service.h" 13 #include "chrome/browser/history/history_service.h"
14 #include "chrome/common/content_settings.h" 14 #include "chrome/common/content_settings.h"
15 #include "components/content_settings/core/common/content_settings_types.h" 15 #include "components/content_settings/core/common/content_settings_types.h"
16 #include "content/public/common/signed_certificate_timestamp_id_and_status.h" 16 #include "content/public/common/signed_certificate_timestamp_id_and_status.h"
17 #include "ui/gfx/native_widget_types.h" 17 #include "ui/gfx/native_widget_types.h"
18 #include "url/gurl.h" 18 #include "url/gurl.h"
19 19
20 namespace content { 20 namespace content {
21 class CertStore; 21 class CertStore;
22 struct SSLStatus; 22 struct SSLStatus;
23 } 23 }
24 24
25 class ChromeSSLHostStateDelegate;
25 class InfoBarService; 26 class InfoBarService;
26 class HostContentSettingsMap; 27 class HostContentSettingsMap;
27 class Profile; 28 class Profile;
28 class WebsiteSettingsUI; 29 class WebsiteSettingsUI;
29 30
30 // The |WebsiteSettings| provides information about a website's permissions, 31 // The |WebsiteSettings| provides information about a website's permissions,
31 // connection state and its identity. It owns a UI that displays the 32 // connection state and its identity. It owns a UI that displays the
32 // information and allows users to change the permissions. |WebsiteSettings| 33 // information and allows users to change the permissions. |WebsiteSettings|
33 // objects must be created on the heap. They destroy themselves after the UI is 34 // objects must be created on the heap. They destroy themselves after the UI is
34 // closed. 35 // closed.
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 base::Time first_visit); 91 base::Time first_visit);
91 92
92 // This method is called by the UI when the UI is closing. 93 // This method is called by the UI when the UI is closing.
93 void OnUIClosing(); 94 void OnUIClosing();
94 95
95 // Accessors. 96 // Accessors.
96 SiteConnectionStatus site_connection_status() const { 97 SiteConnectionStatus site_connection_status() const {
97 return site_connection_status_; 98 return site_connection_status_;
98 } 99 }
99 100
101 const GURL& site_url() const { return site_url_; }
102
100 SiteIdentityStatus site_identity_status() const { 103 SiteIdentityStatus site_identity_status() const {
101 return site_identity_status_; 104 return site_identity_status_;
102 } 105 }
103 106
104 base::string16 site_connection_details() const { 107 base::string16 site_connection_details() const {
105 return site_connection_details_; 108 return site_connection_details_;
106 } 109 }
107 110
108 base::string16 site_identity_details() const { 111 base::string16 site_identity_details() const {
109 return site_identity_details_; 112 return site_identity_details_;
110 } 113 }
111 114
112 base::string16 organization_name() const { 115 base::string16 organization_name() const {
113 return organization_name_; 116 return organization_name_;
114 } 117 }
115 118
119 ChromeSSLHostStateDelegate* chrome_ssl_host_state_delegate() {
120 return chrome_ssl_host_state_delegate_;
121 }
122
116 // SiteDataObserver implementation. 123 // SiteDataObserver implementation.
117 virtual void OnSiteDataAccessed() OVERRIDE; 124 virtual void OnSiteDataAccessed() OVERRIDE;
118 125
119 private: 126 private:
120 // Initializes the |WebsiteSettings|. 127 // Initializes the |WebsiteSettings|.
121 void Init(Profile* profile, 128 void Init(Profile* profile,
122 const GURL& url, 129 const GURL& url,
123 const content::SSLStatus& ssl); 130 const content::SSLStatus& ssl);
124 131
125 // Sets (presents) the information about the site's permissions in the |ui_|. 132 // Sets (presents) the information about the site's permissions in the |ui_|.
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 178
172 // TODO(markusheintz): Move the creation of all the base::string16 typed UI 179 // TODO(markusheintz): Move the creation of all the base::string16 typed UI
173 // strings below to the corresponding UI code, in order to prevent 180 // strings below to the corresponding UI code, in order to prevent
174 // unnecessary UTF-8 string conversions. 181 // unnecessary UTF-8 string conversions.
175 182
176 // Details about the website's identity. If the website's identity has been 183 // Details about the website's identity. If the website's identity has been
177 // verified then |site_identity_details_| contains who verified the identity. 184 // verified then |site_identity_details_| contains who verified the identity.
178 // This string will be displayed in the UI. 185 // This string will be displayed in the UI.
179 base::string16 site_identity_details_; 186 base::string16 site_identity_details_;
180 187
188 // Set when the user has explicitly bypassed an SSL error for this host or
189 // explicitly denied it (the latter of which is not currently possible in the
190 // Chrome UI) and has a flag set to remember ssl decisions (explicit flag or
191 // in the experimental group). When |show_ssl_decision_revoke_button| is
192 // true, the connection area of the page info will include an option for the
193 // user to revoke their decision to bypass the SSL error for this host.
194 bool show_ssl_decision_revoke_button_;
195
181 // Details about the connection to the website. In case of an encrypted 196 // Details about the connection to the website. In case of an encrypted
182 // connection |site_connection_details_| contains encryption details, like 197 // connection |site_connection_details_| contains encryption details, like
183 // encryption strength and ssl protocol version. This string will be 198 // encryption strength and ssl protocol version. This string will be
184 // displayed in the UI. 199 // displayed in the UI.
185 base::string16 site_connection_details_; 200 base::string16 site_connection_details_;
186 201
187 // For websites that provided an EV certificate |orgainization_name_| 202 // For websites that provided an EV certificate |orgainization_name_|
188 // contains the organization name of the certificate. In all other cases 203 // contains the organization name of the certificate. In all other cases
189 // |organization_name| is an empty string. This string will be displayed in 204 // |organization_name| is an empty string. This string will be displayed in
190 // the UI. 205 // the UI.
191 base::string16 organization_name_; 206 base::string16 organization_name_;
192 207
193 // The |CertStore| provides all X509Certificates. 208 // The |CertStore| provides all X509Certificates.
194 content::CertStore* cert_store_; 209 content::CertStore* cert_store_;
195 210
196 // The |HostContentSettingsMap| is the service that provides and manages 211 // The |HostContentSettingsMap| is the service that provides and manages
197 // content settings (aka. site permissions). 212 // content settings (aka. site permissions).
198 HostContentSettingsMap* content_settings_; 213 HostContentSettingsMap* content_settings_;
199 214
200 // Used to request the number of page visits. 215 // Used to request the number of page visits.
201 base::CancelableTaskTracker visit_count_task_tracker_; 216 base::CancelableTaskTracker visit_count_task_tracker_;
202 217
218 // Service for managing SSL error page bypasses. Used to revoke bypass
219 // decisions by users.
220 ChromeSSLHostStateDelegate* chrome_ssl_host_state_delegate_;
221
203 DISALLOW_COPY_AND_ASSIGN(WebsiteSettings); 222 DISALLOW_COPY_AND_ASSIGN(WebsiteSettings);
204 }; 223 };
205 224
206 #endif // CHROME_BROWSER_UI_WEBSITE_SETTINGS_WEBSITE_SETTINGS_H_ 225 #endif // CHROME_BROWSER_UI_WEBSITE_SETTINGS_WEBSITE_SETTINGS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698