| Index: chrome/browser/ui/views/payments/test_chrome_payment_request_delegate.cc
|
| diff --git a/chrome/browser/ui/views/payments/test_chrome_payment_request_delegate.cc b/chrome/browser/ui/views/payments/test_chrome_payment_request_delegate.cc
|
| index 09c687770d51482801b87314152ba93e2a1a747f..be45b544b4eb1ceef2d1dd41625efc24fb955d0d 100644
|
| --- a/chrome/browser/ui/views/payments/test_chrome_payment_request_delegate.cc
|
| +++ b/chrome/browser/ui/views/payments/test_chrome_payment_request_delegate.cc
|
| @@ -4,19 +4,32 @@
|
|
|
| #include "chrome/browser/ui/views/payments/test_chrome_payment_request_delegate.h"
|
|
|
| +#include <utility>
|
| +
|
| #include "content/public/browser/web_contents.h"
|
| +#include "ui/views/widget/widget.h"
|
| +#include "ui/views/widget/widget_observer.h"
|
|
|
| namespace payments {
|
|
|
| TestChromePaymentRequestDelegate::TestChromePaymentRequestDelegate(
|
| content::WebContents* web_contents,
|
| - PaymentRequestDialog::ObserverForTest* observer)
|
| - : ChromePaymentRequestDelegate(web_contents), observer_(observer) {}
|
| + PaymentRequestDialogView::ObserverForTest* observer,
|
| + views::WidgetObserver* widget_observer)
|
| + : ChromePaymentRequestDelegate(web_contents),
|
| + observer_(observer),
|
| + widget_observer_(widget_observer) {}
|
| +
|
| +void TestChromePaymentRequestDelegate::ShowDialog(PaymentRequest* request) {
|
| + PaymentRequestDialogView* dialog_view =
|
| + new PaymentRequestDialogView(request, observer_);
|
| + dialog_view->ShowDialog();
|
| +
|
| + // The widget is now valid, so register its observer.
|
| + views::Widget* widget = dialog_view->GetWidget();
|
| + widget->AddObserver(widget_observer_);
|
|
|
| -void TestChromePaymentRequestDelegate::ShowPaymentRequestDialog(
|
| - PaymentRequest* request) {
|
| - PaymentRequestDialog::ShowWebModalPaymentDialog(
|
| - new PaymentRequestDialog(request, observer_), request);
|
| + dialog_ = std::move(dialog_view);
|
| }
|
|
|
| } // namespace payments
|
|
|