Index: chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc |
diff --git a/chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc b/chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc |
index bd1f213f08cb40455ce4c5f1e11be60c627663c8..22bef08e98741d7a94d0e40aecbfc4d334c3e1ee 100644 |
--- a/chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc |
+++ b/chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc |
@@ -588,10 +588,12 @@ base::WeakPtr<AutofillDialogController> AutofillDialogController::Create( |
void AutofillDialogControllerImpl::Show() { |
dialog_shown_timestamp_ = base::Time::Now(); |
- content::NavigationEntry* entry = |
- web_contents()->GetController().GetActiveEntry(); |
- const GURL& active_url = entry ? entry->GetURL() : web_contents()->GetURL(); |
- invoked_from_same_origin_ = active_url.GetOrigin() == source_url_.GetOrigin(); |
+ // Autocomplete is shown in response to a message from the renderer. As such, |
+ // it can only be made in the context of the current document and we must use |
+ // last committed URL for access checks. |
+ const GURL& current_url = web_contents()->GetLastCommittedURL(); |
+ invoked_from_same_origin_ = |
+ current_url.GetOrigin() == source_url_.GetOrigin(); |
// Log any relevant UI metrics and security exceptions. |
GetMetricLogger().LogDialogUiEvent(AutofillMetrics::DIALOG_UI_SHOWN); |