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

Side by Side Diff: chrome/browser/ui/views/ssl_client_certificate_selector_browsertest.cc

Issue 2630773002: Avoid blocking while mapping an X11 window (Closed)
Patch Set: Address feedback Created 3 years, 9 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 unified diff | Download patch
OLDNEW
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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/files/file_path.h" 6 #include "base/files/file_path.h"
7 #include "base/synchronization/waitable_event.h" 7 #include "base/synchronization/waitable_event.h"
8 #include "build/build_config.h" 8 #include "build/build_config.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/ssl/ssl_client_auth_requestor_mock.h" 10 #include "chrome/browser/ssl/ssl_client_auth_requestor_mock.h"
11 #include "chrome/browser/ui/browser.h" 11 #include "chrome/browser/ui/browser.h"
12 #include "chrome/browser/ui/browser_window.h"
12 #include "chrome/browser/ui/tabs/tab_strip_model.h" 13 #include "chrome/browser/ui/tabs/tab_strip_model.h"
13 #include "chrome/browser/ui/views/ssl_client_certificate_selector.h" 14 #include "chrome/browser/ui/views/ssl_client_certificate_selector.h"
14 #include "chrome/test/base/in_process_browser_test.h" 15 #include "chrome/test/base/in_process_browser_test.h"
15 #include "chrome/test/base/interactive_test_utils.h" 16 #include "chrome/test/base/interactive_test_utils.h"
16 #include "chrome/test/base/ui_test_utils.h" 17 #include "chrome/test/base/ui_test_utils.h"
17 #include "content/public/browser/client_certificate_delegate.h" 18 #include "content/public/browser/client_certificate_delegate.h"
18 #include "content/public/browser/web_contents.h" 19 #include "content/public/browser/web_contents.h"
19 #include "content/public/test/browser_test_utils.h" 20 #include "content/public/test/browser_test_utils.h"
20 #include "net/base/request_priority.h" 21 #include "net/base/request_priority.h"
21 #include "net/cert/x509_certificate.h" 22 #include "net/cert/x509_certificate.h"
22 #include "net/http/http_transaction_factory.h" 23 #include "net/http/http_transaction_factory.h"
23 #include "net/ssl/ssl_cert_request_info.h" 24 #include "net/ssl/ssl_cert_request_info.h"
24 #include "net/test/cert_test_util.h" 25 #include "net/test/cert_test_util.h"
25 #include "net/test/test_data_directory.h" 26 #include "net/test/test_data_directory.h"
26 #include "net/url_request/url_request.h" 27 #include "net/url_request/url_request.h"
27 #include "net/url_request/url_request_context.h" 28 #include "net/url_request/url_request_context.h"
28 #include "net/url_request/url_request_context_getter.h" 29 #include "net/url_request/url_request_context_getter.h"
29 #include "testing/gtest/include/gtest/gtest.h" 30 #include "testing/gtest/include/gtest/gtest.h"
31 #include "ui/views/test/widget_test.h"
30 32
31 #if defined(USE_NSS_CERTS) 33 #if defined(USE_NSS_CERTS)
32 #include "crypto/scoped_test_nss_db.h" 34 #include "crypto/scoped_test_nss_db.h"
33 #endif 35 #endif
34 36
35 using ::testing::Mock; 37 using ::testing::Mock;
36 using ::testing::StrictMock; 38 using ::testing::StrictMock;
37 using content::BrowserThread; 39 using content::BrowserThread;
38 40
39 // We don't have a way to do end-to-end SSL client auth testing, so this test 41 // We don't have a way to do end-to-end SSL client auth testing, so this test
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 // Also calls SetUpOnIOThread. 256 // Also calls SetUpOnIOThread.
255 SSLClientCertificateSelectorTest::SetUpOnMainThread(); 257 SSLClientCertificateSelectorTest::SetUpOnMainThread();
256 258
257 selector_1_ = new SSLClientCertificateSelector( 259 selector_1_ = new SSLClientCertificateSelector(
258 browser_1_->tab_strip_model()->GetActiveWebContents(), 260 browser_1_->tab_strip_model()->GetActiveWebContents(),
259 auth_requestor_1_->cert_request_info_, 261 auth_requestor_1_->cert_request_info_,
260 auth_requestor_1_->CreateDelegate()); 262 auth_requestor_1_->CreateDelegate());
261 selector_1_->Init(); 263 selector_1_->Init();
262 selector_1_->Show(); 264 selector_1_->Show();
263 265
266 gfx::NativeWindow window = browser_1_->window()->GetNativeWindow();
267 views::Widget* widget = views::Widget::GetWidgetForNativeWindow(window);
268 ASSERT_NE(nullptr, widget);
269 views::test::WidgetActivationWaiter waiter(widget, true);
270 waiter.Wait();
271
264 EXPECT_EQ(client_cert_1_.get(), selector_1_->GetSelectedCert()); 272 EXPECT_EQ(client_cert_1_.get(), selector_1_->GetSelectedCert());
265 } 273 }
266 274
267 void SetUpOnIOThread() override { 275 void SetUpOnIOThread() override {
268 url_request_1_ = 276 url_request_1_ =
269 MakeURLRequest(url_request_context_getter_1_.get()).release(); 277 MakeURLRequest(url_request_context_getter_1_.get()).release();
270 278
271 auth_requestor_1_ = new StrictMock<SSLClientAuthRequestorMock>( 279 auth_requestor_1_ = new StrictMock<SSLClientAuthRequestorMock>(
272 url_request_1_, 280 url_request_1_,
273 cert_request_info_1_); 281 cert_request_info_1_);
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 EXPECT_TRUE(ui_test_utils::SendKeyPressSync( 396 EXPECT_TRUE(ui_test_utils::SendKeyPressSync(
389 browser_1_, ui::VKEY_RETURN, false, false, false, false)); 397 browser_1_, ui::VKEY_RETURN, false, false, false, false));
390 398
391 Mock::VerifyAndClear(auth_requestor_.get()); 399 Mock::VerifyAndClear(auth_requestor_.get());
392 Mock::VerifyAndClear(auth_requestor_1_.get()); 400 Mock::VerifyAndClear(auth_requestor_1_.get());
393 401
394 // Now let the default selection for auth_requestor_ mock get checked on 402 // Now let the default selection for auth_requestor_ mock get checked on
395 // destruction. 403 // destruction.
396 EXPECT_CALL(*auth_requestor_.get(), CancelCertificateSelection()); 404 EXPECT_CALL(*auth_requestor_.get(), CancelCertificateSelection());
397 } 405 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698