OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome_frame/test/net/fake_external_tab.h" | 5 #include "chrome_frame/test/net/fake_external_tab.h" |
6 | 6 |
7 #include <atlbase.h> | 7 #include <atlbase.h> |
8 #include <atlcom.h> | 8 #include <atlcom.h> |
9 #include <exdisp.h> | 9 #include <exdisp.h> |
10 | 10 |
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
598 | 598 |
599 void CFUrlRequestUnittestRunner::PreCreateThreads() { | 599 void CFUrlRequestUnittestRunner::PreCreateThreads() { |
600 fake_chrome_.reset(new FakeExternalTab()); | 600 fake_chrome_.reset(new FakeExternalTab()); |
601 fake_chrome_->Initialize(); | 601 fake_chrome_->Initialize(); |
602 | 602 |
603 pss_subclass_.reset(new ProcessSingletonSubclass(this)); | 603 pss_subclass_.reset(new ProcessSingletonSubclass(this)); |
604 EXPECT_TRUE(pss_subclass_->Subclass(fake_chrome_->user_data())); | 604 EXPECT_TRUE(pss_subclass_->Subclass(fake_chrome_->user_data())); |
605 StartChromeFrameInHostBrowser(); | 605 StartChromeFrameInHostBrowser(); |
606 } | 606 } |
607 | 607 |
608 void CFUrlRequestUnittestRunner::PreStartThread(BrowserThread::ID identifier) { | |
609 fake_chrome_->browser_process()->PreStartThread(identifier); | |
610 } | |
611 | |
612 void CFUrlRequestUnittestRunner::PostStartThread(BrowserThread::ID identifier) { | |
613 fake_chrome_->browser_process()->PostStartThread(identifier); | |
614 } | |
615 | |
616 void CFUrlRequestUnittestRunner::PreMainMessageLoopRun() { | 608 void CFUrlRequestUnittestRunner::PreMainMessageLoopRun() { |
617 fake_chrome_->InitializePostThreadsCreated(); | |
618 } | 609 } |
619 | 610 |
620 bool CFUrlRequestUnittestRunner::MainMessageLoopRun(int* result_code) { | 611 bool CFUrlRequestUnittestRunner::MainMessageLoopRun(int* result_code) { |
621 DCHECK(MessageLoop::current()); | 612 DCHECK(MessageLoop::current()); |
622 DCHECK(MessageLoop::current()->type() == MessageLoop::TYPE_UI); | 613 DCHECK(MessageLoop::current()->type() == MessageLoop::TYPE_UI); |
623 | 614 |
624 // We need to allow IO on the main thread for these tests. | 615 // We need to allow IO on the main thread for these tests. |
625 base::ThreadRestrictions::SetIOAllowed(true); | 616 base::ThreadRestrictions::SetIOAllowed(true); |
626 | 617 |
627 return false; | 618 return false; |
628 } | 619 } |
629 | 620 |
630 void CFUrlRequestUnittestRunner::PostMainMessageLoopRun() { | 621 void CFUrlRequestUnittestRunner::PostMainMessageLoopRun() { |
631 fake_chrome_->browser_process()->StartTearDown(); | 622 fake_chrome_->browser_process()->StartTearDown(); |
632 | 623 |
633 // Must do this separately as the mock profile_manager_ is not the | 624 // Must do this separately as the mock profile_manager_ is not the |
634 // same member as BrowserProcessImpl::StartTearDown resets. | 625 // same member as BrowserProcessImpl::StartTearDown resets. |
635 fake_chrome_->browser_process()->DestroyProfileManager(); | 626 fake_chrome_->browser_process()->DestroyProfileManager(); |
636 | 627 |
637 if (crash_service_) | 628 if (crash_service_) |
638 base::KillProcess(crash_service_, 0, false); | 629 base::KillProcess(crash_service_, 0, false); |
639 | 630 |
640 base::KillProcesses(chrome_frame_test::kIEImageName, 0, NULL); | 631 base::KillProcesses(chrome_frame_test::kIEImageName, 0, NULL); |
641 base::KillProcesses(chrome_frame_test::kIEBrokerImageName, 0, NULL); | 632 base::KillProcesses(chrome_frame_test::kIEBrokerImageName, 0, NULL); |
642 } | 633 } |
643 | 634 |
644 void CFUrlRequestUnittestRunner::PreStopThread( | |
645 content::BrowserThread::ID identifier) { | |
646 fake_chrome_->browser_process()->PreStopThread(identifier); | |
647 } | |
648 | |
649 void CFUrlRequestUnittestRunner::PostStopThread( | |
650 content::BrowserThread::ID identifier) { | |
651 fake_chrome_->browser_process()->PostStopThread(identifier); | |
652 } | |
653 | |
654 void CFUrlRequestUnittestRunner::PostDestroyThreads() { | 635 void CFUrlRequestUnittestRunner::PostDestroyThreads() { |
655 fake_chrome_->Shutdown(); | 636 fake_chrome_->Shutdown(); |
656 fake_chrome_.reset(); | 637 fake_chrome_.reset(); |
657 | 638 |
658 #ifndef NDEBUG | 639 #ifndef NDEBUG |
659 // Avoid CRT cleanup in debug test runs to ensure that webkit ASSERTs which | 640 // Avoid CRT cleanup in debug test runs to ensure that webkit ASSERTs which |
660 // check if globals are created and destroyed on the same thread don't fire. | 641 // check if globals are created and destroyed on the same thread don't fire. |
661 // Webkit global objects are created on the inproc renderer thread. | 642 // Webkit global objects are created on the inproc renderer thread. |
662 ExitProcess(test_result()); | 643 ExitProcess(test_result()); |
663 #endif | 644 #endif |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
747 // content::InitializeSandboxInfo(&sandbox_info); | 728 // content::InitializeSandboxInfo(&sandbox_info); |
748 FakeMainDelegate delegate; | 729 FakeMainDelegate delegate; |
749 content::ContentMain( | 730 content::ContentMain( |
750 reinterpret_cast<HINSTANCE>(GetModuleHandle(NULL)), | 731 reinterpret_cast<HINSTANCE>(GetModuleHandle(NULL)), |
751 &sandbox_info, | 732 &sandbox_info, |
752 &delegate); | 733 &delegate); |
753 | 734 |
754 // Note: In debug builds, we ExitProcess during PostDestroyThreads. | 735 // Note: In debug builds, we ExitProcess during PostDestroyThreads. |
755 return g_test_suite->test_result(); | 736 return g_test_suite->test_result(); |
756 } | 737 } |
OLD | NEW |