| Index: chrome/browser/ui/autofill/password_generation_popup_controller_impl.cc
|
| diff --git a/chrome/browser/ui/autofill/password_generation_popup_controller_impl.cc b/chrome/browser/ui/autofill/password_generation_popup_controller_impl.cc
|
| index a68e65ca4c48ef2518b08f3e22696ea107c30c44..11aba40882dcbb1cbbe5d5a3cfa87bf1693c93aa 100644
|
| --- a/chrome/browser/ui/autofill/password_generation_popup_controller_impl.cc
|
| +++ b/chrome/browser/ui/autofill/password_generation_popup_controller_impl.cc
|
| @@ -20,6 +20,8 @@
|
| #include "chrome/common/url_constants.h"
|
| #include "chrome/grit/chromium_strings.h"
|
| #include "chrome/grit/generated_resources.h"
|
| +#include "components/autofill/content/browser/content_autofill_driver.h"
|
| +#include "components/autofill/content/browser/content_autofill_driver_factory.h"
|
| #include "components/autofill/core/browser/password_generator.h"
|
| #include "components/autofill/core/browser/suggestion.h"
|
| #include "components/password_manager/core/browser/password_bubble_experiment.h"
|
| @@ -51,9 +53,8 @@ PasswordGenerationPopupControllerImpl::GetOrCreate(
|
| PasswordGenerationPopupObserver* observer,
|
| content::WebContents* web_contents,
|
| gfx::NativeView container_view) {
|
| - if (previous.get() &&
|
| - previous->element_bounds() == bounds &&
|
| - previous->web_contents() == web_contents &&
|
| + if (previous.get() && previous->element_bounds() == bounds &&
|
| + previous->web_contents_ == web_contents &&
|
| previous->container_view() == container_view) {
|
| return previous;
|
| }
|
| @@ -84,17 +85,11 @@ PasswordGenerationPopupControllerImpl::PasswordGenerationPopupControllerImpl(
|
| observer_(observer),
|
| generator_(new PasswordGenerator(max_length)),
|
| // TODO(estade): use correct text direction.
|
| - controller_common_(bounds,
|
| - base::i18n::LEFT_TO_RIGHT,
|
| - container_view,
|
| - web_contents),
|
| + controller_common_(bounds, base::i18n::LEFT_TO_RIGHT, container_view),
|
| password_selected_(false),
|
| display_password_(false),
|
| + web_contents_(web_contents),
|
| weak_ptr_factory_(this) {
|
| - controller_common_.SetKeyPressCallback(
|
| - base::Bind(&PasswordGenerationPopupControllerImpl::HandleKeyPressEvent,
|
| - base::Unretained(this)));
|
| -
|
| base::string16 link =
|
| l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_SMART_LOCK);
|
| size_t offset = 0;
|
| @@ -196,7 +191,10 @@ void PasswordGenerationPopupControllerImpl::Show(bool display_password) {
|
| view_->UpdateBoundsAndRedrawPopup();
|
| }
|
|
|
| - controller_common_.RegisterKeyPressCallback();
|
| + static_cast<ContentAutofillDriver*>(driver_->GetAutofillDriver())
|
| + ->RegisterKeyPressHandler(base::Bind(
|
| + &PasswordGenerationPopupControllerImpl::HandleKeyPressEvent,
|
| + base::Unretained(this)));
|
|
|
| if (observer_)
|
| observer_->OnPopupShown(display_password_);
|
| @@ -207,7 +205,8 @@ void PasswordGenerationPopupControllerImpl::HideAndDestroy() {
|
| }
|
|
|
| void PasswordGenerationPopupControllerImpl::Hide() {
|
| - controller_common_.RemoveKeyPressCallback();
|
| + static_cast<ContentAutofillDriver*>(driver_->GetAutofillDriver())
|
| + ->RemoveKeyPressHandler();
|
|
|
| if (view_)
|
| view_->Hide();
|
| @@ -229,7 +228,7 @@ void PasswordGenerationPopupControllerImpl::OnSavedPasswordsLinkClicked() {
|
| chrome::android::PreferencesLauncher::ShowPasswordSettings();
|
| #else
|
| chrome::NavigateParams params(
|
| - chrome::FindBrowserWithWebContents(web_contents()),
|
| + chrome::FindBrowserWithWebContents(web_contents_),
|
| GURL(password_manager::kPasswordManagerAccountDashboardURL),
|
| ui::PAGE_TRANSITION_LINK);
|
| params.disposition = WindowOpenDisposition::NEW_FOREGROUND_TAB;
|
| @@ -255,7 +254,7 @@ void PasswordGenerationPopupControllerImpl::SelectionCleared() {
|
| }
|
|
|
| gfx::NativeView PasswordGenerationPopupControllerImpl::container_view() {
|
| - return controller_common_.container_view();
|
| + return controller_common_.container_view;
|
| }
|
|
|
| gfx::Rect PasswordGenerationPopupControllerImpl::popup_bounds() const {
|
| @@ -264,7 +263,7 @@ gfx::Rect PasswordGenerationPopupControllerImpl::popup_bounds() const {
|
|
|
| const gfx::RectF& PasswordGenerationPopupControllerImpl::element_bounds()
|
| const {
|
| - return controller_common_.element_bounds();
|
| + return controller_common_.element_bounds;
|
| }
|
|
|
| bool PasswordGenerationPopupControllerImpl::IsRTL() const {
|
|
|