OLD | NEW |
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_VIEWS_WEBSITE_SETTINGS_WEBSITE_SETTINGS_POPUP_VIEW_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_WEBSITE_SETTINGS_WEBSITE_SETTINGS_POPUP_VIEW_H_ |
6 #define CHROME_BROWSER_UI_VIEWS_WEBSITE_SETTINGS_WEBSITE_SETTINGS_POPUP_VIEW_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_WEBSITE_SETTINGS_WEBSITE_SETTINGS_POPUP_VIEW_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
11 #include "base/memory/weak_ptr.h" | 11 #include "base/memory/weak_ptr.h" |
12 #include "base/strings/string16.h" | 12 #include "base/strings/string16.h" |
13 #include "chrome/browser/ui/views/website_settings/permission_selector_view_obse
rver.h" | 13 #include "chrome/browser/ui/views/website_settings/permission_selector_view_obse
rver.h" |
14 #include "chrome/browser/ui/website_settings/website_settings_ui.h" | 14 #include "chrome/browser/ui/website_settings/website_settings_ui.h" |
15 #include "content/public/common/signed_certificate_timestamp_id_and_status.h" | 15 #include "content/public/common/signed_certificate_timestamp_id_and_status.h" |
16 #include "ui/views/bubble/bubble_delegate.h" | 16 #include "ui/views/bubble/bubble_delegate.h" |
17 #include "ui/views/controls/button/button.h" | 17 #include "ui/views/controls/button/button.h" |
18 #include "ui/views/controls/button/label_button.h" | |
19 #include "ui/views/controls/link_listener.h" | 18 #include "ui/views/controls/link_listener.h" |
20 #include "ui/views/controls/tabbed_pane/tabbed_pane_listener.h" | 19 #include "ui/views/controls/tabbed_pane/tabbed_pane_listener.h" |
21 | 20 |
22 class Browser; | 21 class Browser; |
23 class GURL; | 22 class GURL; |
24 class PermissionSelectorView; | 23 class PermissionSelectorView; |
25 class PopupHeaderView; | 24 class PopupHeaderView; |
26 class Profile; | 25 class Profile; |
27 | 26 |
28 namespace content { | 27 namespace content { |
29 struct SSLStatus; | 28 struct SSLStatus; |
30 class WebContents; | 29 class WebContents; |
31 } | 30 } |
32 | 31 |
33 namespace views { | 32 namespace views { |
34 class LabelButton; | |
35 class Link; | 33 class Link; |
36 class TabbedPane; | 34 class TabbedPane; |
37 class Widget; | 35 class Widget; |
38 } | 36 } |
39 | 37 |
40 // The views implementation of the website settings UI. | 38 // The views implementation of the website settings UI. |
41 class WebsiteSettingsPopupView | 39 class WebsiteSettingsPopupView |
42 : public PermissionSelectorViewObserver, | 40 : public PermissionSelectorViewObserver, |
43 public views::BubbleDelegateView, | 41 public views::BubbleDelegateView, |
44 public views::ButtonListener, | 42 public views::ButtonListener, |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 // are cleared and destroyed first. Then the |icon|, |headline|, |text| and | 111 // are cleared and destroyed first. Then the |icon|, |headline|, |text| and |
114 // |link| are layout out properly. If the |headline| is an empty string then | 112 // |link| are layout out properly. If the |headline| is an empty string then |
115 // no headline will be displayed. The ownership of the passed |link| is | 113 // no headline will be displayed. The ownership of the passed |link| is |
116 // transfered to the ResetConnectionSection method and the |link| is added to | 114 // transfered to the ResetConnectionSection method and the |link| is added to |
117 // the views hierarchy. If the |link| is NULL then no link is be displayed. | 115 // the views hierarchy. If the |link| is NULL then no link is be displayed. |
118 void ResetConnectionSection(views::View* section_container, | 116 void ResetConnectionSection(views::View* section_container, |
119 const gfx::Image& icon, | 117 const gfx::Image& icon, |
120 const base::string16& headline, | 118 const base::string16& headline, |
121 const base::string16& text, | 119 const base::string16& text, |
122 views::Link* link, | 120 views::Link* link, |
123 views::Link* secondary_link, | 121 views::Link* secondary_link); |
124 views::LabelButton* reset_decisions_button); | 122 // Handles LinkClicked asynchronously. |
| 123 void HandleLinkClickedAsync(views::Link* source); |
125 | 124 |
126 // The web contents of the current tab. The popup can't live longer than a | 125 // The web contents of the current tab. The popup can't live longer than a |
127 // tab. | 126 // tab. |
128 content::WebContents* web_contents_; | 127 content::WebContents* web_contents_; |
129 | 128 |
130 // The Browser is used to load the help center page. | 129 // The Browser is used to load the help center page. |
131 Browser* browser_; | 130 Browser* browser_; |
132 | 131 |
133 // The presenter that controlls the Website Settings UI. | 132 // The presenter that controlls the Website Settings UI. |
134 scoped_ptr<WebsiteSettings> presenter_; | 133 scoped_ptr<WebsiteSettings> presenter_; |
(...skipping 18 matching lines...) Expand all Loading... |
153 // the site's identity. | 152 // the site's identity. |
154 views::View* identity_info_content_; | 153 views::View* identity_info_content_; |
155 // The link to open the certificate viewer for displaying the certificate | 154 // The link to open the certificate viewer for displaying the certificate |
156 // provided by the website. If the site does not provide a certificate then | 155 // provided by the website. If the site does not provide a certificate then |
157 // |certificate_dialog_link_| is NULL. | 156 // |certificate_dialog_link_| is NULL. |
158 views::Link* certificate_dialog_link_; | 157 views::Link* certificate_dialog_link_; |
159 // The link to open the signed certificate timestamps viewer for displaying | 158 // The link to open the signed certificate timestamps viewer for displaying |
160 // Certificate Transparency info. If no such SCTs accompany the certificate | 159 // Certificate Transparency info. If no such SCTs accompany the certificate |
161 // then |signed_certificate_timestamps_link_| is NULL. | 160 // then |signed_certificate_timestamps_link_| is NULL. |
162 views::Link* signed_certificate_timestamps_link_; | 161 views::Link* signed_certificate_timestamps_link_; |
163 // The button to reset the Allow/Deny certificate errors decision for the | |
164 // current host. | |
165 views::LabelButton* reset_decisions_button_; | |
166 | 162 |
167 // The id of the certificate provided by the site. If the site does not | 163 // The id of the certificate provided by the site. If the site does not |
168 // provide a certificate then |cert_id_| is 0. | 164 // provide a certificate then |cert_id_| is 0. |
169 int cert_id_; | 165 int cert_id_; |
170 // The IDs and validation status of Signed Certificate TImestamps provided | 166 // The IDs and validation status of Signed Certificate TImestamps provided |
171 // by the site. Empty if no SCTs accompany the certificate. | 167 // by the site. Empty if no SCTs accompany the certificate. |
172 content::SignedCertificateTimestampIDStatusList | 168 content::SignedCertificateTimestampIDStatusList |
173 signed_certificate_timestamp_ids_; | 169 signed_certificate_timestamp_ids_; |
174 | 170 |
175 // The link to open the help center page that contains more information about | 171 // The link to open the help center page that contains more information about |
176 // the connection status icons. | 172 // the connection status icons. |
177 views::Link* help_center_link_; | 173 views::Link* help_center_link_; |
178 | 174 |
179 views::View* connection_info_content_; | 175 views::View* connection_info_content_; |
180 views::View* page_info_content_; | 176 views::View* page_info_content_; |
181 | 177 |
182 base::WeakPtrFactory<WebsiteSettingsPopupView> weak_factory_; | 178 base::WeakPtrFactory<WebsiteSettingsPopupView> weak_factory_; |
183 | 179 |
184 DISALLOW_COPY_AND_ASSIGN(WebsiteSettingsPopupView); | 180 DISALLOW_COPY_AND_ASSIGN(WebsiteSettingsPopupView); |
185 }; | 181 }; |
186 | 182 |
187 #endif // CHROME_BROWSER_UI_VIEWS_WEBSITE_SETTINGS_WEBSITE_SETTINGS_POPUP_VIEW_
H_ | 183 #endif // CHROME_BROWSER_UI_VIEWS_WEBSITE_SETTINGS_WEBSITE_SETTINGS_POPUP_VIEW_
H_ |
OLD | NEW |