Index: chrome/browser/geolocation/geolocation_infobar_delegate.cc |
diff --git a/chrome/browser/geolocation/geolocation_infobar_delegate.cc b/chrome/browser/geolocation/geolocation_infobar_delegate.cc |
index 0d1e5aa8a63d2655dbc6db48bf58da1a7add66b9..9017d99c4fdca3c0bbfdf8991fc7125929e97d65 100644 |
--- a/chrome/browser/geolocation/geolocation_infobar_delegate.cc |
+++ b/chrome/browser/geolocation/geolocation_infobar_delegate.cc |
@@ -33,10 +33,16 @@ InfoBarDelegate* GeolocationInfoBarDelegate::Create( |
const std::string& display_languages) { |
const content::NavigationEntry* committed_entry = |
infobar_service->web_contents()->GetController().GetLastCommittedEntry(); |
- return infobar_service->AddInfoBar(scoped_ptr<InfoBarDelegate>( |
+ GeolocationInfoBarDelegate* const delegate = |
new DelegateType(infobar_service, controller, id, requesting_frame, |
committed_entry ? committed_entry->GetUniqueID() : 0, |
- display_languages))); |
+ display_languages); |
+ delegate->Show(infobar_service); |
+ return delegate; |
+} |
+ |
+void GeolocationInfoBarDelegate::Show(InfoBarService* infobar_service) { |
+ infobar_service->AddInfoBar(scoped_ptr<InfoBarDelegate>(this)); |
} |
GeolocationInfoBarDelegate::GeolocationInfoBarDelegate( |