OLD | NEW |
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2015 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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/guid.h" | 6 #include "base/guid.h" |
7 #include "base/message_loop/message_loop.h" | 7 #include "base/message_loop/message_loop.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/browser/autofill/risk_util.h" | 9 #include "chrome/browser/autofill/risk_util.h" |
10 #include "chrome/browser/ui/autofill/card_unmask_prompt_view_tester.h" | 10 #include "chrome/browser/ui/autofill/card_unmask_prompt_view_tester.h" |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 delegate()->GetWeakPtr()); | 129 delegate()->GetWeakPtr()); |
130 controller()->OnUnmaskResponse(base::ASCIIToUTF16("123"), | 130 controller()->OnUnmaskResponse(base::ASCIIToUTF16("123"), |
131 base::ASCIIToUTF16("10"), | 131 base::ASCIIToUTF16("10"), |
132 base::ASCIIToUTF16("19"), false); | 132 base::ASCIIToUTF16("19"), false); |
133 EXPECT_EQ(base::ASCIIToUTF16("123"), delegate()->response().cvc); | 133 EXPECT_EQ(base::ASCIIToUTF16("123"), delegate()->response().cvc); |
134 controller()->OnVerificationResult(AutofillClient::SUCCESS); | 134 controller()->OnVerificationResult(AutofillClient::SUCCESS); |
135 | 135 |
136 // Simulate the user clicking [x] before the "Success!" message disappears. | 136 // Simulate the user clicking [x] before the "Success!" message disappears. |
137 CardUnmaskPromptViewTester::For(controller()->view())->Close(); | 137 CardUnmaskPromptViewTester::For(controller()->view())->Close(); |
138 // Wait a little while; there should be no crash. | 138 // Wait a little while; there should be no crash. |
139 base::MessageLoop::current()->PostDelayedTask( | 139 base::MessageLoop::current()->task_runner()->PostDelayedTask( |
140 FROM_HERE, base::Bind(&content::MessageLoopRunner::Quit, | 140 FROM_HERE, base::Bind(&content::MessageLoopRunner::Quit, |
141 base::Unretained(runner_.get())), | 141 base::Unretained(runner_.get())), |
142 2 * controller()->GetSuccessMessageDuration()); | 142 2 * controller()->GetSuccessMessageDuration()); |
143 runner_->Run(); | 143 runner_->Run(); |
144 } | 144 } |
145 #endif | 145 #endif |
146 | 146 |
147 // Makes sure the tab can be closed while the dialog is showing. | 147 // Makes sure the tab can be closed while the dialog is showing. |
148 // https://crbug.com/484376 | 148 // https://crbug.com/484376 |
149 IN_PROC_BROWSER_TEST_F(CardUnmaskPromptViewBrowserTest, | 149 IN_PROC_BROWSER_TEST_F(CardUnmaskPromptViewBrowserTest, |
150 CloseTabWhileDialogShowing) { | 150 CloseTabWhileDialogShowing) { |
151 controller()->ShowPrompt(CreateCardUnmaskPromptView(controller(), contents()), | 151 controller()->ShowPrompt(CreateCardUnmaskPromptView(controller(), contents()), |
152 test::GetMaskedServerCard(), | 152 test::GetMaskedServerCard(), |
153 delegate()->GetWeakPtr()); | 153 delegate()->GetWeakPtr()); |
154 // Simulate AutofillManager (the delegate in production code) being destroyed | 154 // Simulate AutofillManager (the delegate in production code) being destroyed |
155 // before CardUnmaskPromptViewBridge::OnConstrainedWindowClosed() is called. | 155 // before CardUnmaskPromptViewBridge::OnConstrainedWindowClosed() is called. |
156 FreeDelegate(); | 156 FreeDelegate(); |
157 browser()->tab_strip_model()->GetActiveWebContents()->Close(); | 157 browser()->tab_strip_model()->GetActiveWebContents()->Close(); |
158 | 158 |
159 content::RunAllPendingInMessageLoop(); | 159 content::RunAllPendingInMessageLoop(); |
160 } | 160 } |
161 | 161 |
162 } // namespace | 162 } // namespace |
163 | 163 |
164 } // namespace autofill | 164 } // namespace autofill |
OLD | NEW |