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

Unified Diff: chrome/browser/geolocation/geolocation_permission_context_unittest.cc

Issue 459953002: Migrate geolocation permissions to the new common permission class. (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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/geolocation/geolocation_permission_context_unittest.cc
diff --git a/chrome/browser/geolocation/geolocation_permission_context_unittest.cc b/chrome/browser/geolocation/geolocation_permission_context_unittest.cc
index 9ae3a305414dee56dd96abfacef9508e28c93f37..220a158a05b1b83704ceeb8b1e623cb8b780564f 100644
--- a/chrome/browser/geolocation/geolocation_permission_context_unittest.cc
+++ b/chrome/browser/geolocation/geolocation_permission_context_unittest.cc
@@ -103,6 +103,7 @@ void ClosedInfoBarTracker::Clear() {
class GeolocationPermissionContextTests
: public ChromeRenderViewHostTestHarness {
protected:
+
// ChromeRenderViewHostTestHarness:
virtual void SetUp() OVERRIDE;
virtual void TearDown() OVERRIDE;
@@ -119,10 +120,7 @@ class GeolocationPermissionContextTests
void RequestGeolocationPermission(content::WebContents* web_contents,
const PermissionRequestID& id,
const GURL& requesting_frame);
- void RequestGeolocationPermission(content::WebContents* web_contents,
- const PermissionRequestID& id,
- const GURL& requesting_frame,
- base::Closure* cancel_callback);
+
void PermissionResponse(const PermissionRequestID& id,
bool allowed);
void CheckPermissionMessageSent(int bridge_id, bool allowed);
@@ -134,7 +132,8 @@ class GeolocationPermissionContextTests
void CheckTabContentsState(const GURL& requesting_frame,
ContentSetting expected_content_setting);
- scoped_refptr<GeolocationPermissionContext> geolocation_permission_context_;
+ // owned by the browser context
+ GeolocationPermissionContext* geolocation_permission_context_;
ClosedInfoBarTracker closed_infobar_tracker_;
ScopedVector<content::WebContents> extra_tabs_;
@@ -166,19 +165,10 @@ void GeolocationPermissionContextTests::RequestGeolocationPermission(
content::WebContents* web_contents,
const PermissionRequestID& id,
const GURL& requesting_frame) {
- RequestGeolocationPermission(web_contents, id, requesting_frame, NULL);
-}
-
-void GeolocationPermissionContextTests::RequestGeolocationPermission(
- content::WebContents* web_contents,
- const PermissionRequestID& id,
- const GURL& requesting_frame,
- base::Closure* cancel_callback) {
- geolocation_permission_context_->RequestGeolocationPermission(
- web_contents, id.bridge_id(), requesting_frame, false,
+ geolocation_permission_context_->RequestPermission(
+ web_contents, id, requesting_frame, false,
base::Bind(&GeolocationPermissionContextTests::PermissionResponse,
- base::Unretained(this), id),
- cancel_callback);
+ base::Unretained(this), id));
content::BrowserThread::GetBlockingPool()->FlushForTesting();
base::RunLoop().RunUntilIdle();
}
@@ -467,10 +457,10 @@ TEST_F(GeolocationPermissionContextTests, CancelGeolocationPermissionRequest) {
NavigateAndCommit(requesting_frame_0);
EXPECT_EQ(0U, infobar_service()->infobar_count());
+
// Request permission for two frames.
- base::Closure cancel_callback;
RequestGeolocationPermission(
- web_contents(), RequestID(0), requesting_frame_0, &cancel_callback);
+ web_contents(), RequestID(0), requesting_frame_0);
RequestGeolocationPermission(
web_contents(), RequestID(1), requesting_frame_1);
ASSERT_EQ(1U, infobar_service()->infobar_count());
@@ -481,9 +471,10 @@ TEST_F(GeolocationPermissionContextTests, CancelGeolocationPermissionRequest) {
ASSERT_TRUE(infobar_delegate_0);
base::string16 text_0 = infobar_delegate_0->GetMessageText();
- // Simulate the frame going away, ensure the infobar for this frame
+ // Simulate the first frame going away, ensure the infobar for this frame
// is removed and the next pending infobar is created.
- cancel_callback.Run();
+ geolocation_permission_context_->CancelPermissionRequest(web_contents(),
+ RequestID(0));
EXPECT_EQ(1U, closed_infobar_tracker_.size());
EXPECT_TRUE(closed_infobar_tracker_.Contains(infobar_0));
closed_infobar_tracker_.Clear();
@@ -656,37 +647,6 @@ TEST_F(GeolocationPermissionContextTests, TabDestroyed) {
ASSERT_TRUE(closed_infobar_tracker_.Contains(infobar));
}
-TEST_F(GeolocationPermissionContextTests, InfoBarUsesCommittedEntry) {
- GURL requesting_frame_0("http://www.example.com/geolocation");
- GURL requesting_frame_1("http://www.example-2.com/geolocation");
- NavigateAndCommit(requesting_frame_0);
- NavigateAndCommit(requesting_frame_1);
- EXPECT_EQ(0U, infobar_service()->infobar_count());
- // Go back: navigate to a pending entry before requesting geolocation
- // permission.
- web_contents()->GetController().GoBack();
- // Request permission for the committed frame (not the pending one).
- RequestGeolocationPermission(
- web_contents(), RequestID(0), requesting_frame_1);
- // Ensure the infobar is created.
- ASSERT_EQ(1U, infobar_service()->infobar_count());
- infobars::InfoBarDelegate* infobar_delegate =
- infobar_service()->infobar_at(0)->delegate();
- ASSERT_TRUE(infobar_delegate);
- // Ensure the infobar wouldn't expire for a navigation to the committed entry.
- content::LoadCommittedDetails details;
- details.entry = web_contents()->GetController().GetLastCommittedEntry();
- EXPECT_FALSE(infobar_delegate->ShouldExpire(
- InfoBarService::NavigationDetailsFromLoadCommittedDetails(details)));
- // Ensure the infobar will expire when we commit the pending navigation.
- details.entry = web_contents()->GetController().GetActiveEntry();
- EXPECT_TRUE(infobar_delegate->ShouldExpire(
- InfoBarService::NavigationDetailsFromLoadCommittedDetails(details)));
-
- // Delete the tab contents.
- DeleteContents();
-}
-
TEST_F(GeolocationPermissionContextTests, LastUsageAudited) {
GURL requesting_frame("http://www.example.com/geolocation");
NavigateAndCommit(requesting_frame);
@@ -722,8 +682,8 @@ TEST_F(GeolocationPermissionContextTests, LastUsageAudited) {
10);
test_clock->Advance(base::TimeDelta::FromSeconds(3));
- RequestGeolocationPermission(web_contents(), RequestID(0), requesting_frame);
+ RequestGeolocationPermission(web_contents(), RequestID(0), requesting_frame);
// Permission has been used three seconds later.
EXPECT_EQ(map->GetLastUsage(requesting_frame.GetOrigin(),
requesting_frame.GetOrigin(),

Powered by Google App Engine
This is Rietveld 408576698