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

Unified Diff: chrome/browser/ui/views/payments/test_chrome_payment_request_delegate.cc

Issue 2649683002: [Payments] Improve the closing of the PR dialog. (Closed)
Patch Set: addressed comments from sky Created 3 years, 11 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/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
« no previous file with comments | « chrome/browser/ui/views/payments/test_chrome_payment_request_delegate.h ('k') | components/payments/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698