| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/autofill/chrome_autofill_client.h" | 5 #include "chrome/browser/ui/autofill/chrome_autofill_client.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
| 9 #include "chrome/browser/autofill/autofill_cc_infobar_delegate.h" | 9 #include "chrome/browser/autofill/autofill_cc_infobar_delegate.h" |
| 10 #include "chrome/browser/autofill/personal_data_manager_factory.h" | 10 #include "chrome/browser/autofill/personal_data_manager_factory.h" |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 callback.Run(AutofillClient::AutocompleteResultErrorDisabled, | 136 callback.Run(AutofillClient::AutocompleteResultErrorDisabled, |
| 137 base::string16(), | 137 base::string16(), |
| 138 NULL); | 138 NULL); |
| 139 NOTIMPLEMENTED(); | 139 NOTIMPLEMENTED(); |
| 140 } | 140 } |
| 141 } | 141 } |
| 142 | 142 |
| 143 void ChromeAutofillClient::ShowAutofillPopup( | 143 void ChromeAutofillClient::ShowAutofillPopup( |
| 144 const gfx::RectF& element_bounds, | 144 const gfx::RectF& element_bounds, |
| 145 base::i18n::TextDirection text_direction, | 145 base::i18n::TextDirection text_direction, |
| 146 const std::vector<base::string16>& values, | 146 const std::vector<autofill::Suggestion>& suggestions, |
| 147 const std::vector<base::string16>& labels, | |
| 148 const std::vector<base::string16>& icons, | |
| 149 const std::vector<int>& identifiers, | |
| 150 base::WeakPtr<AutofillPopupDelegate> delegate) { | 147 base::WeakPtr<AutofillPopupDelegate> delegate) { |
| 151 // Convert element_bounds to be in screen space. | 148 // Convert element_bounds to be in screen space. |
| 152 gfx::Rect client_area = web_contents_->GetContainerBounds(); | 149 gfx::Rect client_area = web_contents_->GetContainerBounds(); |
| 153 gfx::RectF element_bounds_in_screen_space = | 150 gfx::RectF element_bounds_in_screen_space = |
| 154 element_bounds + client_area.OffsetFromOrigin(); | 151 element_bounds + client_area.OffsetFromOrigin(); |
| 155 | 152 |
| 156 // Will delete or reuse the old |popup_controller_|. | 153 // Will delete or reuse the old |popup_controller_|. |
| 157 popup_controller_ = | 154 popup_controller_ = |
| 158 AutofillPopupControllerImpl::GetOrCreate(popup_controller_, | 155 AutofillPopupControllerImpl::GetOrCreate(popup_controller_, |
| 159 delegate, | 156 delegate, |
| 160 web_contents(), | 157 web_contents(), |
| 161 web_contents()->GetNativeView(), | 158 web_contents()->GetNativeView(), |
| 162 element_bounds_in_screen_space, | 159 element_bounds_in_screen_space, |
| 163 text_direction); | 160 text_direction); |
| 164 | 161 |
| 165 popup_controller_->Show(values, labels, icons, identifiers); | 162 popup_controller_->Show(suggestions); |
| 166 } | 163 } |
| 167 | 164 |
| 168 void ChromeAutofillClient::UpdateAutofillPopupDataListValues( | 165 void ChromeAutofillClient::UpdateAutofillPopupDataListValues( |
| 169 const std::vector<base::string16>& values, | 166 const std::vector<base::string16>& values, |
| 170 const std::vector<base::string16>& labels) { | 167 const std::vector<base::string16>& labels) { |
| 171 if (popup_controller_.get()) | 168 if (popup_controller_.get()) |
| 172 popup_controller_->UpdateDataListValues(values, labels); | 169 popup_controller_->UpdateDataListValues(values, labels); |
| 173 } | 170 } |
| 174 | 171 |
| 175 void ChromeAutofillClient::HideAutofillPopup() { | 172 void ChromeAutofillClient::HideAutofillPopup() { |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 profile_full_name); | 218 profile_full_name); |
| 222 #endif // defined(OS_ANDROID) | 219 #endif // defined(OS_ANDROID) |
| 223 } | 220 } |
| 224 | 221 |
| 225 void ChromeAutofillClient::OnFirstUserGestureObserved() { | 222 void ChromeAutofillClient::OnFirstUserGestureObserved() { |
| 226 web_contents()->SendToAllFrames( | 223 web_contents()->SendToAllFrames( |
| 227 new AutofillMsg_FirstUserGestureObservedInTab(routing_id())); | 224 new AutofillMsg_FirstUserGestureObservedInTab(routing_id())); |
| 228 } | 225 } |
| 229 | 226 |
| 230 } // namespace autofill | 227 } // namespace autofill |
| OLD | NEW |