Index: chrome/browser/geolocation/chrome_geolocation_permission_context_unittest.cc |
=================================================================== |
--- chrome/browser/geolocation/chrome_geolocation_permission_context_unittest.cc (revision 91189) |
+++ chrome/browser/geolocation/chrome_geolocation_permission_context_unittest.cc (working copy) |
@@ -2,12 +2,11 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/geolocation/chrome_geolocation_permission_context.h" |
- |
#include <set> |
#include "base/memory/scoped_vector.h" |
#include "chrome/browser/content_settings/tab_specific_content_settings.h" |
+#include "chrome/browser/geolocation/chrome_geolocation_permission_context.h" |
#include "chrome/browser/geolocation/geolocation_content_settings_map.h" |
#include "chrome/browser/tab_contents/confirm_infobar_delegate.h" |
#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
@@ -212,7 +211,14 @@ |
EXPECT_EQ(0U, contents_wrapper()->infobar_count()); |
geolocation_permission_context_->RequestGeolocationPermission( |
process_id(), render_id(), bridge_id(), requesting_frame); |
- EXPECT_EQ(1U, contents_wrapper()->infobar_count()); |
+ ASSERT_EQ(1U, contents_wrapper()->infobar_count()); |
+ ConfirmInfoBarDelegate* infobar_0 = |
+ contents_wrapper()->GetInfoBarDelegateAt(0)->AsConfirmInfoBarDelegate(); |
+ infobar_0->Cancel(); |
+ contents_wrapper()->RemoveInfoBar(infobar_0); |
+ EXPECT_EQ(1U, closed_delegate_tracker_.size()); |
+ EXPECT_TRUE(closed_delegate_tracker_.Contains(infobar_0)); |
+ infobar_0->InfoBarClosed(); |
} |
TEST_F(GeolocationPermissionContextTests, QueuedPermission) { |
@@ -233,7 +239,7 @@ |
geolocation_permission_context_->RequestGeolocationPermission( |
process_id(), render_id(), bridge_id() + 1, requesting_frame_1); |
// Ensure only one infobar is created. |
- EXPECT_EQ(1U, contents_wrapper()->infobar_count()); |
+ ASSERT_EQ(1U, contents_wrapper()->infobar_count()); |
ConfirmInfoBarDelegate* infobar_0 = |
contents_wrapper()->GetInfoBarDelegateAt(0)->AsConfirmInfoBarDelegate(); |
ASSERT_TRUE(infobar_0); |
@@ -250,7 +256,7 @@ |
closed_delegate_tracker_.Clear(); |
infobar_0->InfoBarClosed(); |
// Now we should have a new infobar for the second frame. |
- EXPECT_EQ(1U, contents_wrapper()->infobar_count()); |
+ ASSERT_EQ(1U, contents_wrapper()->infobar_count()); |
ConfirmInfoBarDelegate* infobar_1 = |
contents_wrapper()->GetInfoBarDelegateAt(0)->AsConfirmInfoBarDelegate(); |
@@ -293,7 +299,7 @@ |
process_id(), render_id(), bridge_id(), requesting_frame_0); |
geolocation_permission_context_->RequestGeolocationPermission( |
process_id(), render_id(), bridge_id() + 1, requesting_frame_1); |
- EXPECT_EQ(1U, contents_wrapper()->infobar_count()); |
+ ASSERT_EQ(1U, contents_wrapper()->infobar_count()); |
ConfirmInfoBarDelegate* infobar_0 = |
contents_wrapper()->GetInfoBarDelegateAt(0)->AsConfirmInfoBarDelegate(); |
@@ -308,7 +314,7 @@ |
EXPECT_TRUE(closed_delegate_tracker_.Contains(infobar_0)); |
closed_delegate_tracker_.Clear(); |
infobar_0->InfoBarClosed(); |
- EXPECT_EQ(1U, contents_wrapper()->infobar_count()); |
+ ASSERT_EQ(1U, contents_wrapper()->infobar_count()); |
ConfirmInfoBarDelegate* infobar_1 = |
contents_wrapper()->GetInfoBarDelegateAt(0)->AsConfirmInfoBarDelegate(); |
@@ -355,7 +361,7 @@ |
EXPECT_EQ(0U, contents_wrapper()->infobar_count()); |
geolocation_permission_context_->RequestGeolocationPermission( |
process_id(), render_id(), bridge_id(), url_a); |
- EXPECT_EQ(1U, contents_wrapper()->infobar_count()); |
+ ASSERT_EQ(1U, contents_wrapper()->infobar_count()); |
geolocation_permission_context_->RequestGeolocationPermission( |
process_id_for_tab(0), render_id_for_tab(0), bridge_id(), url_b); |
@@ -363,7 +369,7 @@ |
geolocation_permission_context_->RequestGeolocationPermission( |
process_id_for_tab(1), render_id_for_tab(1), bridge_id(), url_a); |
- EXPECT_EQ(1U, extra_tabs_[1]->infobar_count()); |
+ ASSERT_EQ(1U, extra_tabs_[1]->infobar_count()); |
ConfirmInfoBarDelegate* removed_infobar = |
extra_tabs_[1]->GetInfoBarDelegateAt(0)->AsConfirmInfoBarDelegate(); |
@@ -382,11 +388,20 @@ |
EXPECT_EQ(0U, extra_tabs_[1]->infobar_count()); |
CheckPermissionMessageSentForTab(1, bridge_id(), true); |
EXPECT_TRUE(closed_delegate_tracker_.Contains(removed_infobar)); |
+ closed_delegate_tracker_.Clear(); |
// Destroy the infobar that has just been removed. |
removed_infobar->InfoBarClosed(); |
// But the other tab should still have the info bar... |
- EXPECT_EQ(1U, extra_tabs_[0]->infobar_count()); |
+ ASSERT_EQ(1U, extra_tabs_[0]->infobar_count()); |
+ ConfirmInfoBarDelegate* infobar_1 = |
+ extra_tabs_[0]->GetInfoBarDelegateAt(0)->AsConfirmInfoBarDelegate(); |
+ infobar_1->Cancel(); |
+ extra_tabs_[0]->RemoveInfoBar(infobar_1); |
+ EXPECT_EQ(1U, closed_delegate_tracker_.size()); |
+ EXPECT_TRUE(closed_delegate_tracker_.Contains(infobar_1)); |
+ infobar_1->InfoBarClosed(); |
+ |
extra_tabs_.reset(); |
} |
@@ -399,7 +414,7 @@ |
EXPECT_EQ(0U, contents_wrapper()->infobar_count()); |
geolocation_permission_context_->RequestGeolocationPermission( |
process_id(), render_id(), bridge_id(), url_a); |
- EXPECT_EQ(1U, contents_wrapper()->infobar_count()); |
+ ASSERT_EQ(1U, contents_wrapper()->infobar_count()); |
geolocation_permission_context_->RequestGeolocationPermission( |
process_id_for_tab(0), render_id_for_tab(0), bridge_id(), url_a); |
@@ -407,7 +422,7 @@ |
geolocation_permission_context_->RequestGeolocationPermission( |
process_id_for_tab(0), render_id_for_tab(0), bridge_id() + 1, url_b); |
- EXPECT_EQ(1U, extra_tabs_[0]->infobar_count()); |
+ ASSERT_EQ(1U, extra_tabs_[0]->infobar_count()); |
ConfirmInfoBarDelegate* removed_infobar = |
contents_wrapper()->GetInfoBarDelegateAt(0)->AsConfirmInfoBarDelegate(); |
@@ -431,7 +446,7 @@ |
removed_infobar->InfoBarClosed(); |
// And we should have the queued infobar displayed now. |
- EXPECT_EQ(1U, extra_tabs_[0]->infobar_count()); |
+ ASSERT_EQ(1U, extra_tabs_[0]->infobar_count()); |
// Accept the second infobar. |
ConfirmInfoBarDelegate* infobar_1 = |
@@ -467,12 +482,12 @@ |
geolocation_permission_context_->RequestGeolocationPermission( |
process_id(), render_id(), bridge_id() + 1, requesting_frame_1); |
// Ensure only one infobar is created. |
- EXPECT_EQ(1U, contents_wrapper()->infobar_count()); |
+ ASSERT_EQ(1U, contents_wrapper()->infobar_count()); |
ConfirmInfoBarDelegate* infobar_0 = |
contents_wrapper()->GetInfoBarDelegateAt(0)->AsConfirmInfoBarDelegate(); |
ASSERT_TRUE(infobar_0); |
- string16 text_0 = infobar_0->GetMessageText(); |
// Delete the tab contents. |
DeleteContents(); |
+ infobar_0->InfoBarClosed(); |
} |