| Index: chrome/browser/chromeos/gview_request_interceptor_unittest.cc
|
| diff --git a/chrome/browser/chromeos/gview_request_interceptor_unittest.cc b/chrome/browser/chromeos/gview_request_interceptor_unittest.cc
|
| index ea119a945e64d0a5b4a1f156055c236294c5cb38..5fba6c160a91ea137b137de40cd813f1c2d2f27b 100644
|
| --- a/chrome/browser/chromeos/gview_request_interceptor_unittest.cc
|
| +++ b/chrome/browser/chromeos/gview_request_interceptor_unittest.cc
|
| @@ -6,7 +6,6 @@
|
| #include <vector>
|
|
|
| #include "base/at_exit.h"
|
| -#include "base/bind.h"
|
| #include "base/message_loop.h"
|
| #include "chrome/browser/chrome_plugin_service_filter.h"
|
| #include "chrome/browser/chromeos/gview_request_interceptor.h"
|
| @@ -26,6 +25,7 @@
|
| #include "net/url_request/url_request_test_job.h"
|
| #include "net/url_request/url_request_test_util.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| +#include "webkit/plugins/npapi/mock_plugin_list.h"
|
|
|
| using content::BrowserThread;
|
|
|
| @@ -84,16 +84,13 @@ class GViewRequestProtocolFactory
|
| }
|
| };
|
|
|
| -void QuitMessageLoop(const std::vector<webkit::WebPluginInfo>&) {
|
| - MessageLoop::current()->Quit();
|
| -}
|
| -
|
| class GViewRequestInterceptorTest : public testing::Test {
|
| public:
|
| GViewRequestInterceptorTest()
|
| : ui_thread_(BrowserThread::UI, &message_loop_),
|
| file_thread_(BrowserThread::FILE, &message_loop_),
|
| - io_thread_(BrowserThread::IO, &message_loop_) {}
|
| + io_thread_(BrowserThread::IO, &message_loop_),
|
| + plugin_list_(NULL, 0) {}
|
|
|
| virtual void SetUp() {
|
| content::ResourceContext* resource_context =
|
| @@ -116,10 +113,8 @@ class GViewRequestInterceptorTest : public testing::Test {
|
|
|
| handler_ = new content::DummyResourceHandler();
|
|
|
| + PluginService::GetInstance()->SetPluginListForTesting(&plugin_list_);
|
| PluginService::GetInstance()->Init();
|
| - PluginService::GetInstance()->RefreshPlugins();
|
| - PluginService::GetInstance()->GetPlugins(base::Bind(&QuitMessageLoop));
|
| - MessageLoop::current()->RunAllPending();
|
| }
|
|
|
| virtual void TearDown() {
|
| @@ -135,25 +130,14 @@ class GViewRequestInterceptorTest : public testing::Test {
|
| PluginService::GetInstance()->set_filter(NULL);
|
| }
|
|
|
| - // GetPluginInfoByPath() will only use stale information. Because plugin
|
| - // refresh is asynchronous, spin a MessageLoop until the callback is run,
|
| - // after which, the test will continue.
|
| void RegisterPDFPlugin() {
|
| webkit::WebPluginInfo info;
|
| info.path = pdf_path_;
|
| - PluginService::GetInstance()->RegisterInternalPlugin(info);
|
| -
|
| - PluginService::GetInstance()->RefreshPlugins();
|
| - PluginService::GetInstance()->GetPlugins(base::Bind(&QuitMessageLoop));
|
| - MessageLoop::current()->RunAllPending();
|
| + plugin_list_.AddPluginToLoad(info);
|
| }
|
|
|
| void UnregisterPDFPlugin() {
|
| - PluginService::GetInstance()->UnregisterInternalPlugin(pdf_path_);
|
| -
|
| - PluginService::GetInstance()->RefreshPlugins();
|
| - PluginService::GetInstance()->GetPlugins(base::Bind(&QuitMessageLoop));
|
| - MessageLoop::current()->RunAllPending();
|
| + plugin_list_.ClearPluginsToLoad();
|
| }
|
|
|
| void SetPDFPluginLoadedState(bool want_loaded) {
|
| @@ -207,6 +191,7 @@ class GViewRequestInterceptorTest : public testing::Test {
|
| content::TestBrowserThread ui_thread_;
|
| content::TestBrowserThread file_thread_;
|
| content::TestBrowserThread io_thread_;
|
| + webkit::npapi::MockPluginList plugin_list_;
|
| TestingPrefService prefs_;
|
| scoped_refptr<PluginPrefs> plugin_prefs_;
|
| net::URLRequestJobFactory job_factory_;
|
| @@ -235,7 +220,7 @@ TEST_F(GViewRequestInterceptorTest, DoNotInterceptDownload) {
|
| EXPECT_EQ(GURL(kPdfUrl), request.url());
|
| }
|
|
|
| -TEST_F(GViewRequestInterceptorTest, DISABLED_DoNotInterceptPdfWhenEnabled) {
|
| +TEST_F(GViewRequestInterceptorTest, DoNotInterceptPdfWhenEnabled) {
|
| SetPDFPluginLoadedState(true);
|
| plugin_prefs_->EnablePlugin(true, pdf_path_);
|
|
|
| @@ -247,7 +232,7 @@ TEST_F(GViewRequestInterceptorTest, DISABLED_DoNotInterceptPdfWhenEnabled) {
|
| EXPECT_EQ(GURL(kPdfUrl), request.url());
|
| }
|
|
|
| -TEST_F(GViewRequestInterceptorTest, DISABLED_InterceptPdfWhenDisabled) {
|
| +TEST_F(GViewRequestInterceptorTest, InterceptPdfWhenDisabled) {
|
| SetPDFPluginLoadedState(true);
|
| plugin_prefs_->EnablePlugin(false, pdf_path_);
|
|
|
|
|