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

Unified Diff: chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc

Issue 2874933008: Adds animation as feature variation to keyboard accessory. (Closed)
Patch Set: Switch to base/metrics/field_trial_params.h API from variations:: Created 3 years, 7 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/ui/android/autofill/autofill_keyboard_accessory_view.cc
diff --git a/chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc b/chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc
index 76591fc4ba6149b2ba768e11c7aec3274251d17c..8f48efa5c8cbca45aa4f25f4ac2db5138263dbee 100644
--- a/chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc
+++ b/chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.cc
@@ -45,8 +45,13 @@ void AddToJavaArray(const Suggestion& suggestion,
} // namespace
AutofillKeyboardAccessoryView::AutofillKeyboardAccessoryView(
- AutofillPopupController* controller)
- : controller_(controller), deleting_index_(-1) {
+ AutofillPopupController* controller,
+ unsigned int animation_duration_millis,
+ bool should_limit_label_width)
+ : controller_(controller),
+ animation_duration_millis_(animation_duration_millis),
+ should_limit_label_width_(should_limit_label_width),
+ deleting_index_(-1) {
JNIEnv* env = base::android::AttachCurrentThread();
java_object_.Reset(Java_AutofillKeyboardAccessoryBridge_create(env));
}
@@ -63,7 +68,8 @@ void AutofillKeyboardAccessoryView::Show() {
DCHECK(view_android);
Java_AutofillKeyboardAccessoryBridge_init(
env, java_object_, reinterpret_cast<intptr_t>(this),
- view_android->GetWindowAndroid()->GetJavaObject());
+ view_android->GetWindowAndroid()->GetJavaObject(),
+ animation_duration_millis_, should_limit_label_width_);
OnSuggestionsChanged();
}
@@ -87,20 +93,26 @@ void AutofillKeyboardAccessoryView::OnSuggestionsChanged() {
positions_.resize(count);
size_t position = 0;
- // Place "CLEAR FORM" item first in the list.
+ // Place "CLEAR FORM" and "CREATE HINT" items first in the list.
+ // Both "CLEAR FORM" and "CREATE HINT" cannot be present in the list.
for (size_t i = 0; i < count; ++i) {
const Suggestion& suggestion = controller_->GetSuggestionAt(i);
- if (suggestion.frontend_id == POPUP_ITEM_ID_CLEAR_FORM) {
- AddToJavaArray(suggestion, controller_->layout_model().GetIconResourceID(
- suggestion.icon),
- env, data_array.obj(), position, false);
+ if (suggestion.frontend_id == POPUP_ITEM_ID_CLEAR_FORM ||
+ suggestion.frontend_id == POPUP_ITEM_ID_CREATE_HINT) {
+ AddToJavaArray(
+ suggestion,
+ controller_->layout_model().GetIconResourceID(suggestion.icon), env,
+ data_array.obj(), position, false);
positions_[position++] = i;
}
}
+ DCHECK_LT(position, 2U);
+
for (size_t i = 0; i < count; ++i) {
const Suggestion& suggestion = controller_->GetSuggestionAt(i);
- if (suggestion.frontend_id != POPUP_ITEM_ID_CLEAR_FORM) {
+ if (suggestion.frontend_id != POPUP_ITEM_ID_CLEAR_FORM &&
+ suggestion.frontend_id != POPUP_ITEM_ID_CREATE_HINT) {
bool deletable =
controller_->GetRemovalConfirmationText(i, nullptr, nullptr);
AddToJavaArray(suggestion, controller_->layout_model().GetIconResourceID(

Powered by Google App Engine
This is Rietveld 408576698