| 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 c75f4a24be6365cd52eee61156d559c26e8f4e62..d7b61740f6aa1fce43b159b7f84ff135b7530f5d 100644 | 
| --- a/chrome/browser/geolocation/geolocation_permission_context_unittest.cc | 
| +++ b/chrome/browser/geolocation/geolocation_permission_context_unittest.cc | 
| @@ -27,6 +27,7 @@ | 
| #include "components/infobars/core/infobar.h" | 
| #include "content/public/browser/browser_thread.h" | 
| #include "content/public/browser/navigation_details.h" | 
| +#include "content/public/browser/notification_observer.h" | 
| #include "content/public/browser/notification_registrar.h" | 
| #include "content/public/browser/notification_service.h" | 
| #include "content/public/browser/web_contents.h" | 
| @@ -120,10 +121,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); | 
| @@ -135,7 +133,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_; | 
|  | 
| @@ -167,20 +166,11 @@ 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); | 
| -  content::RunAllBlockingPoolTasksUntilIdle(); | 
| +                 base::Unretained(this), id)); | 
| +   content::RunAllBlockingPoolTasksUntilIdle(); | 
| } | 
|  | 
| void GeolocationPermissionContextTests::PermissionResponse( | 
| @@ -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()); | 
| @@ -483,7 +473,8 @@ TEST_F(GeolocationPermissionContextTests, CancelGeolocationPermissionRequest) { | 
|  | 
| // Simulate the 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); | 
|  |