| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/autofill_popup_controller_impl.h" | 5 #include "chrome/browser/ui/autofill/autofill_popup_controller_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 280 void AutofillPopupControllerImpl::SelectionCleared() { | 280 void AutofillPopupControllerImpl::SelectionCleared() { |
| 281 SetSelectedLine(kNoSelection); | 281 SetSelectedLine(kNoSelection); |
| 282 } | 282 } |
| 283 | 283 |
| 284 void AutofillPopupControllerImpl::AcceptSuggestion(size_t index) { | 284 void AutofillPopupControllerImpl::AcceptSuggestion(size_t index) { |
| 285 const autofill::Suggestion& suggestion = suggestions_[index]; | 285 const autofill::Suggestion& suggestion = suggestions_[index]; |
| 286 delegate_->DidAcceptSuggestion(suggestion.value, suggestion.frontend_id, | 286 delegate_->DidAcceptSuggestion(suggestion.value, suggestion.frontend_id, |
| 287 index); | 287 index); |
| 288 } | 288 } |
| 289 | 289 |
| 290 bool AutofillPopupControllerImpl::IsWarning(size_t index) const { | |
| 291 return suggestions_[index].frontend_id == POPUP_ITEM_ID_WARNING_MESSAGE; | |
| 292 } | |
| 293 | |
| 294 gfx::Rect AutofillPopupControllerImpl::popup_bounds() const { | 290 gfx::Rect AutofillPopupControllerImpl::popup_bounds() const { |
| 295 return layout_model_.popup_bounds(); | 291 return layout_model_.popup_bounds(); |
| 296 } | 292 } |
| 297 | 293 |
| 298 content::WebContents* AutofillPopupControllerImpl::web_contents() { | 294 content::WebContents* AutofillPopupControllerImpl::web_contents() { |
| 299 return controller_common_->web_contents(); | 295 return controller_common_->web_contents(); |
| 300 } | 296 } |
| 301 | 297 |
| 302 gfx::NativeView AutofillPopupControllerImpl::container_view() { | 298 gfx::NativeView AutofillPopupControllerImpl::container_view() { |
| 303 return controller_common_->container_view(); | 299 return controller_common_->container_view(); |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 453 bool AutofillPopupControllerImpl::RemoveSelectedLine() { | 449 bool AutofillPopupControllerImpl::RemoveSelectedLine() { |
| 454 if (selected_line_ == kNoSelection) | 450 if (selected_line_ == kNoSelection) |
| 455 return false; | 451 return false; |
| 456 | 452 |
| 457 DCHECK_GE(selected_line_, 0); | 453 DCHECK_GE(selected_line_, 0); |
| 458 DCHECK_LT(selected_line_, static_cast<int>(GetLineCount())); | 454 DCHECK_LT(selected_line_, static_cast<int>(GetLineCount())); |
| 459 return RemoveSuggestion(selected_line_); | 455 return RemoveSuggestion(selected_line_); |
| 460 } | 456 } |
| 461 | 457 |
| 462 bool AutofillPopupControllerImpl::CanAccept(int id) { | 458 bool AutofillPopupControllerImpl::CanAccept(int id) { |
| 463 return id != POPUP_ITEM_ID_SEPARATOR && id != POPUP_ITEM_ID_WARNING_MESSAGE && | 459 // TODO(lshang): Make POPUP_ITEM_ID_HTTP_NOT_SECURE_WARNING_MESSAGE clickable |
| 464 id != POPUP_ITEM_ID_TITLE; | 460 // and redirect to chrome security connection help center page. |
| 461 return id != POPUP_ITEM_ID_SEPARATOR && |
| 462 id != POPUP_ITEM_ID_INSECURE_CONTEXT_PAYMENT_DISABLED_MESSAGE && |
| 463 id != POPUP_ITEM_ID_TITLE && |
| 464 id != POPUP_ITEM_ID_HTTP_NOT_SECURE_WARNING_MESSAGE; |
| 465 } | 465 } |
| 466 | 466 |
| 467 bool AutofillPopupControllerImpl::HasSuggestions() { | 467 bool AutofillPopupControllerImpl::HasSuggestions() { |
| 468 if (suggestions_.empty()) | 468 if (suggestions_.empty()) |
| 469 return false; | 469 return false; |
| 470 int id = suggestions_[0].frontend_id; | 470 int id = suggestions_[0].frontend_id; |
| 471 return id > 0 || | 471 return id > 0 || |
| 472 id == POPUP_ITEM_ID_AUTOCOMPLETE_ENTRY || | 472 id == POPUP_ITEM_ID_AUTOCOMPLETE_ENTRY || |
| 473 id == POPUP_ITEM_ID_PASSWORD_ENTRY || | 473 id == POPUP_ITEM_ID_PASSWORD_ENTRY || |
| 474 id == POPUP_ITEM_ID_DATALIST_ENTRY || | 474 id == POPUP_ITEM_ID_DATALIST_ENTRY || |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 532 // Don't clear view_, because otherwise the popup will have to get regenerated | 532 // Don't clear view_, because otherwise the popup will have to get regenerated |
| 533 // and this will cause flickering. | 533 // and this will cause flickering. |
| 534 suggestions_.clear(); | 534 suggestions_.clear(); |
| 535 elided_values_.clear(); | 535 elided_values_.clear(); |
| 536 elided_labels_.clear(); | 536 elided_labels_.clear(); |
| 537 | 537 |
| 538 selected_line_ = kNoSelection; | 538 selected_line_ = kNoSelection; |
| 539 } | 539 } |
| 540 | 540 |
| 541 } // namespace autofill | 541 } // namespace autofill |
| OLD | NEW |