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

Side by Side Diff: chrome/browser/ui/website_settings/website_settings_unittest.cc

Issue 10829452: Auto select the connection tab of the Website Settings UI in case of an https error or mixed content (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix build issues. Created 8 years, 3 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
« no previous file with comments | « chrome/browser/ui/website_settings/website_settings_ui.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "chrome/browser/ui/website_settings/website_settings.h" 5 #include "chrome/browser/ui/website_settings/website_settings.h"
6 6
7 #include "base/at_exit.h" 7 #include "base/at_exit.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/string16.h" 9 #include "base/string16.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 }; 58 };
59 59
60 class MockWebsiteSettingsUI : public WebsiteSettingsUI { 60 class MockWebsiteSettingsUI : public WebsiteSettingsUI {
61 public: 61 public:
62 virtual ~MockWebsiteSettingsUI() {} 62 virtual ~MockWebsiteSettingsUI() {}
63 MOCK_METHOD1(SetCookieInfo, void(const CookieInfoList& cookie_info_list)); 63 MOCK_METHOD1(SetCookieInfo, void(const CookieInfoList& cookie_info_list));
64 MOCK_METHOD1(SetPermissionInfo, 64 MOCK_METHOD1(SetPermissionInfo,
65 void(const PermissionInfoList& permission_info_list)); 65 void(const PermissionInfoList& permission_info_list));
66 MOCK_METHOD1(SetIdentityInfo, void(const IdentityInfo& identity_info)); 66 MOCK_METHOD1(SetIdentityInfo, void(const IdentityInfo& identity_info));
67 MOCK_METHOD1(SetFirstVisit, void(const string16& first_visit)); 67 MOCK_METHOD1(SetFirstVisit, void(const string16& first_visit));
68 MOCK_METHOD1(SetSelectedTab, void(TabId tab_id));
68 }; 69 };
69 70
70 class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness { 71 class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness {
71 public: 72 public:
72 WebsiteSettingsTest() 73 WebsiteSettingsTest()
73 : website_settings_(NULL), 74 : website_settings_(NULL),
74 mock_ui_(NULL), 75 mock_ui_(NULL),
75 cert_id_(0), 76 cert_id_(0),
76 browser_thread_(content::BrowserThread::UI, &message_loop_), 77 browser_thread_(content::BrowserThread::UI, &message_loop_),
77 tab_specific_content_settings_(NULL), 78 tab_specific_content_settings_(NULL),
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 EXPECT_CALL(*mock_ui(), SetFirstVisit(string16())); 183 EXPECT_CALL(*mock_ui(), SetFirstVisit(string16()));
183 184
184 // SetPermissionInfo() is called once initially, and then again every time 185 // SetPermissionInfo() is called once initially, and then again every time
185 // OnSitePermissionChanged() is called. 186 // OnSitePermissionChanged() is called.
186 // TODO(markusheintz): This is a temporary hack to fix issue: http://crbug.com/1 44203. 187 // TODO(markusheintz): This is a temporary hack to fix issue: http://crbug.com/1 44203.
187 #if defined(OS_MACOSX) 188 #if defined(OS_MACOSX)
188 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_)).Times(5); 189 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_)).Times(5);
189 #else 190 #else
190 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_)).Times(1); 191 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_)).Times(1);
191 #endif 192 #endif
193 EXPECT_CALL(*mock_ui(), SetSelectedTab(
194 WebsiteSettingsUI::TAB_ID_PERMISSIONS));
192 195
193 // Execute code under tests. 196 // Execute code under tests.
194 website_settings()->OnSitePermissionChanged(CONTENT_SETTINGS_TYPE_POPUPS, 197 website_settings()->OnSitePermissionChanged(CONTENT_SETTINGS_TYPE_POPUPS,
195 CONTENT_SETTING_ALLOW); 198 CONTENT_SETTING_ALLOW);
196 website_settings()->OnSitePermissionChanged(CONTENT_SETTINGS_TYPE_PLUGINS, 199 website_settings()->OnSitePermissionChanged(CONTENT_SETTINGS_TYPE_PLUGINS,
197 CONTENT_SETTING_BLOCK); 200 CONTENT_SETTING_BLOCK);
198 website_settings()->OnSitePermissionChanged(CONTENT_SETTINGS_TYPE_GEOLOCATION, 201 website_settings()->OnSitePermissionChanged(CONTENT_SETTINGS_TYPE_GEOLOCATION,
199 CONTENT_SETTING_ALLOW); 202 CONTENT_SETTING_ALLOW);
200 website_settings()->OnSitePermissionChanged( 203 website_settings()->OnSitePermissionChanged(
201 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, CONTENT_SETTING_ALLOW); 204 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, CONTENT_SETTING_ALLOW);
(...skipping 11 matching lines...) Expand all
213 setting = content_settings->GetContentSetting( 216 setting = content_settings->GetContentSetting(
214 url(), url(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS, ""); 217 url(), url(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS, "");
215 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW); 218 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW);
216 } 219 }
217 220
218 TEST_F(WebsiteSettingsTest, OnSiteDataAccessed) { 221 TEST_F(WebsiteSettingsTest, OnSiteDataAccessed) {
219 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_)); 222 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_));
220 EXPECT_CALL(*mock_ui(), SetIdentityInfo(_)); 223 EXPECT_CALL(*mock_ui(), SetIdentityInfo(_));
221 EXPECT_CALL(*mock_ui(), SetFirstVisit(string16())); 224 EXPECT_CALL(*mock_ui(), SetFirstVisit(string16()));
222 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)).Times(2); 225 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)).Times(2);
226 EXPECT_CALL(*mock_ui(), SetSelectedTab(
227 WebsiteSettingsUI::TAB_ID_PERMISSIONS));
223 228
224 website_settings()->OnSiteDataAccessed(); 229 website_settings()->OnSiteDataAccessed();
225 } 230 }
226 231
227 TEST_F(WebsiteSettingsTest, HTTPConnection) { 232 TEST_F(WebsiteSettingsTest, HTTPConnection) {
228 SetDefaultUIExpectations(mock_ui()); 233 SetDefaultUIExpectations(mock_ui());
234 EXPECT_CALL(*mock_ui(), SetSelectedTab(
235 WebsiteSettingsUI::TAB_ID_PERMISSIONS));
229 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED, 236 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED,
230 website_settings()->site_connection_status()); 237 website_settings()->site_connection_status());
231 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_NO_CERT, 238 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_NO_CERT,
232 website_settings()->site_identity_status()); 239 website_settings()->site_identity_status());
233 EXPECT_EQ(string16(), website_settings()->organization_name()); 240 EXPECT_EQ(string16(), website_settings()->organization_name());
234 } 241 }
235 242
236 TEST_F(WebsiteSettingsTest, HTTPSConnection) { 243 TEST_F(WebsiteSettingsTest, HTTPSConnection) {
237 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED; 244 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
238 ssl_.cert_id = cert_id(); 245 ssl_.cert_id = cert_id();
239 ssl_.cert_status = 0; 246 ssl_.cert_status = 0;
240 ssl_.security_bits = 81; // No error if > 80. 247 ssl_.security_bits = 81; // No error if > 80.
241 int status = 0; 248 int status = 0;
242 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 249 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
243 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 250 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
244 ssl_.connection_status = status; 251 ssl_.connection_status = status;
245 252
246 SetDefaultUIExpectations(mock_ui()); 253 SetDefaultUIExpectations(mock_ui());
254 EXPECT_CALL(*mock_ui(), SetSelectedTab(
255 WebsiteSettingsUI::TAB_ID_PERMISSIONS));
247 256
248 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, 257 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
249 website_settings()->site_connection_status()); 258 website_settings()->site_connection_status());
250 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, 259 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT,
251 website_settings()->site_identity_status()); 260 website_settings()->site_identity_status());
252 EXPECT_EQ(string16(), website_settings()->organization_name()); 261 EXPECT_EQ(string16(), website_settings()->organization_name());
253 } 262 }
254 263
255 TEST_F(WebsiteSettingsTest, HTTPSMixedContent) { 264 TEST_F(WebsiteSettingsTest, HTTPSMixedContent) {
256 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED; 265 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
257 ssl_.cert_id = cert_id(); 266 ssl_.cert_id = cert_id();
258 ssl_.cert_status = 0; 267 ssl_.cert_status = 0;
259 ssl_.security_bits = 81; // No error if > 80. 268 ssl_.security_bits = 81; // No error if > 80.
260 ssl_.content_status = SSLStatus::DISPLAYED_INSECURE_CONTENT; 269 ssl_.content_status = SSLStatus::DISPLAYED_INSECURE_CONTENT;
261 int status = 0; 270 int status = 0;
262 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 271 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
263 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 272 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
264 ssl_.connection_status = status; 273 ssl_.connection_status = status;
265 274
266 SetDefaultUIExpectations(mock_ui()); 275 SetDefaultUIExpectations(mock_ui());
276 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
267 277
268 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_MIXED_CONTENT, 278 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_MIXED_CONTENT,
269 website_settings()->site_connection_status()); 279 website_settings()->site_connection_status());
270 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, 280 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT,
271 website_settings()->site_identity_status()); 281 website_settings()->site_identity_status());
272 EXPECT_EQ(string16(), website_settings()->organization_name()); 282 EXPECT_EQ(string16(), website_settings()->organization_name());
273 } 283 }
274 284
275 TEST_F(WebsiteSettingsTest, HTTPSEVCert) { 285 TEST_F(WebsiteSettingsTest, HTTPSEVCert) {
276 scoped_refptr<net::X509Certificate> ev_cert = 286 scoped_refptr<net::X509Certificate> ev_cert =
277 net::X509Certificate::CreateFromBytes( 287 net::X509Certificate::CreateFromBytes(
278 reinterpret_cast<const char*>(google_der), 288 reinterpret_cast<const char*>(google_der),
279 sizeof(google_der)); 289 sizeof(google_der));
280 int ev_cert_id = 1; 290 int ev_cert_id = 1;
281 EXPECT_CALL(*cert_store(), RetrieveCert(ev_cert_id, _)).WillRepeatedly( 291 EXPECT_CALL(*cert_store(), RetrieveCert(ev_cert_id, _)).WillRepeatedly(
282 DoAll(SetArgPointee<1>(ev_cert), Return(true))); 292 DoAll(SetArgPointee<1>(ev_cert), Return(true)));
283 293
284 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED; 294 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
285 ssl_.cert_id = ev_cert_id; 295 ssl_.cert_id = ev_cert_id;
286 ssl_.cert_status = net::CERT_STATUS_IS_EV; 296 ssl_.cert_status = net::CERT_STATUS_IS_EV;
287 ssl_.security_bits = 81; // No error if > 80. 297 ssl_.security_bits = 81; // No error if > 80.
288 ssl_.content_status = SSLStatus::DISPLAYED_INSECURE_CONTENT; 298 ssl_.content_status = SSLStatus::DISPLAYED_INSECURE_CONTENT;
289 int status = 0; 299 int status = 0;
290 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 300 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
291 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 301 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
292 ssl_.connection_status = status; 302 ssl_.connection_status = status;
293 303
294 SetDefaultUIExpectations(mock_ui()); 304 SetDefaultUIExpectations(mock_ui());
305 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
295 306
296 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_MIXED_CONTENT, 307 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_MIXED_CONTENT,
297 website_settings()->site_connection_status()); 308 website_settings()->site_connection_status());
298 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_EV_CERT, 309 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_EV_CERT,
299 website_settings()->site_identity_status()); 310 website_settings()->site_identity_status());
300 EXPECT_EQ(UTF8ToUTF16("Google Inc"), website_settings()->organization_name()); 311 EXPECT_EQ(UTF8ToUTF16("Google Inc"), website_settings()->organization_name());
301 } 312 }
302 313
303 TEST_F(WebsiteSettingsTest, HTTPSRevocationError) { 314 TEST_F(WebsiteSettingsTest, HTTPSRevocationError) {
304 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED; 315 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
305 ssl_.cert_id = cert_id(); 316 ssl_.cert_id = cert_id();
306 ssl_.cert_status = net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION; 317 ssl_.cert_status = net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION;
307 ssl_.security_bits = 81; // No error if > 80. 318 ssl_.security_bits = 81; // No error if > 80.
308 int status = 0; 319 int status = 0;
309 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 320 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
310 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 321 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
311 ssl_.connection_status = status; 322 ssl_.connection_status = status;
312 323
313 SetDefaultUIExpectations(mock_ui()); 324 SetDefaultUIExpectations(mock_ui());
325 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
314 326
315 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, 327 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
316 website_settings()->site_connection_status()); 328 website_settings()->site_connection_status());
317 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT_REVOCATION_UNKNOWN, 329 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT_REVOCATION_UNKNOWN,
318 website_settings()->site_identity_status()); 330 website_settings()->site_identity_status());
319 EXPECT_EQ(string16(), website_settings()->organization_name()); 331 EXPECT_EQ(string16(), website_settings()->organization_name());
320 } 332 }
321 333
322 TEST_F(WebsiteSettingsTest, HTTPSConnectionError) { 334 TEST_F(WebsiteSettingsTest, HTTPSConnectionError) {
323 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED; 335 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
324 ssl_.cert_id = cert_id(); 336 ssl_.cert_id = cert_id();
325 ssl_.cert_status = 0; 337 ssl_.cert_status = 0;
326 ssl_.security_bits = 1; 338 ssl_.security_bits = 1;
327 int status = 0; 339 int status = 0;
328 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 340 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
329 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 341 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
330 ssl_.connection_status = status; 342 ssl_.connection_status = status;
331 343
332 SetDefaultUIExpectations(mock_ui()); 344 SetDefaultUIExpectations(mock_ui());
345 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
333 346
334 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED_ERROR, 347 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED_ERROR,
335 website_settings()->site_connection_status()); 348 website_settings()->site_connection_status());
336 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, 349 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT,
337 website_settings()->site_identity_status()); 350 website_settings()->site_identity_status());
338 EXPECT_EQ(string16(), website_settings()->organization_name()); 351 EXPECT_EQ(string16(), website_settings()->organization_name());
339 } 352 }
340 353
341 TEST_F(WebsiteSettingsTest, NoInfoBar) { 354 TEST_F(WebsiteSettingsTest, NoInfoBar) {
342 SetDefaultUIExpectations(mock_ui()); 355 SetDefaultUIExpectations(mock_ui());
356 EXPECT_CALL(*mock_ui(), SetSelectedTab(
357 WebsiteSettingsUI::TAB_ID_PERMISSIONS));
343 EXPECT_EQ(0u, infobar_tab_helper()->GetInfoBarCount()); 358 EXPECT_EQ(0u, infobar_tab_helper()->GetInfoBarCount());
344 website_settings()->OnUIClosing(); 359 website_settings()->OnUIClosing();
345 EXPECT_EQ(0u, infobar_tab_helper()->GetInfoBarCount()); 360 EXPECT_EQ(0u, infobar_tab_helper()->GetInfoBarCount());
346 } 361 }
347 362
348 TEST_F(WebsiteSettingsTest, ShowInfoBar) { 363 TEST_F(WebsiteSettingsTest, ShowInfoBar) {
349 EXPECT_CALL(*mock_ui(), SetIdentityInfo(_)); 364 EXPECT_CALL(*mock_ui(), SetIdentityInfo(_));
350 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)); 365 EXPECT_CALL(*mock_ui(), SetCookieInfo(_));
351 EXPECT_CALL(*mock_ui(), SetFirstVisit(string16())); 366 EXPECT_CALL(*mock_ui(), SetFirstVisit(string16()));
352 367
353 // SetPermissionInfo() is called once initially, and then again every time 368 // SetPermissionInfo() is called once initially, and then again every time
354 // OnSitePermissionChanged() is called. 369 // OnSitePermissionChanged() is called.
355 // TODO(markusheintz): This is a temporary hack to fix issue: http://crbug.com/1 44203. 370 // TODO(markusheintz): This is a temporary hack to fix issue: http://crbug.com/1 44203.
356 #if defined(OS_MACOSX) 371 #if defined(OS_MACOSX)
357 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_)).Times(2); 372 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_)).Times(2);
358 #else 373 #else
359 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_)).Times(1); 374 EXPECT_CALL(*mock_ui(), SetPermissionInfo(_)).Times(1);
360 #endif 375 #endif
361 376
377 EXPECT_CALL(*mock_ui(), SetSelectedTab(
378 WebsiteSettingsUI::TAB_ID_PERMISSIONS));
362 EXPECT_EQ(0u, infobar_tab_helper()->GetInfoBarCount()); 379 EXPECT_EQ(0u, infobar_tab_helper()->GetInfoBarCount());
363 website_settings()->OnSitePermissionChanged( 380 website_settings()->OnSitePermissionChanged(
364 CONTENT_SETTINGS_TYPE_GEOLOCATION, CONTENT_SETTING_ALLOW); 381 CONTENT_SETTINGS_TYPE_GEOLOCATION, CONTENT_SETTING_ALLOW);
365 website_settings()->OnUIClosing(); 382 website_settings()->OnUIClosing();
366 EXPECT_EQ(1u, infobar_tab_helper()->GetInfoBarCount()); 383 EXPECT_EQ(1u, infobar_tab_helper()->GetInfoBarCount());
367 384
368 // Removing an |InfoBarDelegate| from the |InfoBarTabHelper| does not delete 385 // Removing an |InfoBarDelegate| from the |InfoBarTabHelper| does not delete
369 // it. Hence the |delegate| must be cleaned up after it was removed from the 386 // it. Hence the |delegate| must be cleaned up after it was removed from the
370 // |infobar_tab_helper|. 387 // |infobar_tab_helper|.
371 scoped_ptr<InfoBarDelegate> delegate( 388 scoped_ptr<InfoBarDelegate> delegate(
372 infobar_tab_helper()->GetInfoBarDelegateAt(0)); 389 infobar_tab_helper()->GetInfoBarDelegateAt(0));
373 infobar_tab_helper()->RemoveInfoBar(delegate.get()); 390 infobar_tab_helper()->RemoveInfoBar(delegate.get());
374 // Right now InfoBarDelegates delete themselves via 391 // Right now InfoBarDelegates delete themselves via
375 // InfoBarClosed(); once InfoBars own their delegates, this can become a 392 // InfoBarClosed(); once InfoBars own their delegates, this can become a
376 // simple reset() call 393 // simple reset() call
377 delegate.release()->InfoBarClosed(); 394 delegate.release()->InfoBarClosed();
378 } 395 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/website_settings/website_settings_ui.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698