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 <string> | 5 #include <string> |
6 | 6 |
7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
8 #include "chrome/browser/chromeos/gview_request_interceptor.h" | 8 #include "chrome/browser/chromeos/gview_request_interceptor.h" |
9 #include "chrome/common/chrome_paths.h" | 9 #include "chrome/common/chrome_paths.h" |
10 #include "content/browser/plugin_service.h" | 10 #include "content/browser/plugin_service.h" |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 public: | 65 public: |
66 virtual void SetUp() { | 66 virtual void SetUp() { |
67 job_factory_.SetProtocolHandler("http", new GViewRequestProtocolFactory); | 67 job_factory_.SetProtocolHandler("http", new GViewRequestProtocolFactory); |
68 job_factory_.AddInterceptor(new GViewRequestInterceptor); | 68 job_factory_.AddInterceptor(new GViewRequestInterceptor); |
69 request_context_ = new TestURLRequestContext; | 69 request_context_ = new TestURLRequestContext; |
70 request_context_->set_job_factory(&job_factory_); | 70 request_context_->set_job_factory(&job_factory_); |
71 ASSERT_TRUE(PathService::Get(chrome::FILE_PDF_PLUGIN, &pdf_path_)); | 71 ASSERT_TRUE(PathService::Get(chrome::FILE_PDF_PLUGIN, &pdf_path_)); |
72 } | 72 } |
73 | 73 |
74 void RegisterPDFPlugin() { | 74 void RegisterPDFPlugin() { |
75 webkit::npapi::WebPluginInfo info; | 75 webkit::WebPluginInfo info; |
76 info.path = pdf_path_; | 76 info.path = pdf_path_; |
77 info.enabled = webkit::npapi::WebPluginInfo::USER_ENABLED_POLICY_UNMANAGED; | 77 info.enabled = webkit::WebPluginInfo::USER_ENABLED_POLICY_UNMANAGED; |
78 webkit::npapi::PluginList::Singleton()->RegisterInternalPlugin(info); | 78 webkit::npapi::PluginList::Singleton()->RegisterInternalPlugin(info); |
79 webkit::npapi::PluginList::Singleton()->RefreshPlugins(); | 79 webkit::npapi::PluginList::Singleton()->RefreshPlugins(); |
80 } | 80 } |
81 | 81 |
82 void UnregisterPDFPlugin() { | 82 void UnregisterPDFPlugin() { |
83 webkit::npapi::PluginList::Singleton()->UnregisterInternalPlugin(pdf_path_); | 83 webkit::npapi::PluginList::Singleton()->UnregisterInternalPlugin(pdf_path_); |
84 webkit::npapi::PluginList::Singleton()->RefreshPlugins(); | 84 webkit::npapi::PluginList::Singleton()->RefreshPlugins(); |
85 } | 85 } |
86 | 86 |
87 void SetPDFPluginLoadedState(bool want_loaded, bool* out_is_enabled) { | 87 void SetPDFPluginLoadedState(bool want_loaded, bool* out_is_enabled) { |
88 webkit::npapi::WebPluginInfo info; | 88 webkit::WebPluginInfo info; |
89 bool is_loaded = | 89 bool is_loaded = |
90 webkit::npapi::PluginList::Singleton()->GetPluginInfoByPath( | 90 webkit::npapi::PluginList::Singleton()->GetPluginInfoByPath( |
91 pdf_path_, &info); | 91 pdf_path_, &info); |
92 if (is_loaded && !want_loaded) { | 92 if (is_loaded && !want_loaded) { |
93 UnregisterPDFPlugin(); | 93 UnregisterPDFPlugin(); |
94 is_loaded = webkit::npapi::PluginList::Singleton()->GetPluginInfoByPath( | 94 is_loaded = webkit::npapi::PluginList::Singleton()->GetPluginInfoByPath( |
95 pdf_path_, &info); | 95 pdf_path_, &info); |
96 } else if (!is_loaded && want_loaded) { | 96 } else if (!is_loaded && want_loaded) { |
97 // This "loads" the plug-in even if it's not present on the | 97 // This "loads" the plug-in even if it's not present on the |
98 // system - which is OK since we don't actually use it, just | 98 // system - which is OK since we don't actually use it, just |
99 // need it to be "enabled" for the test. | 99 // need it to be "enabled" for the test. |
100 RegisterPDFPlugin(); | 100 RegisterPDFPlugin(); |
101 is_loaded = webkit::npapi::PluginList::Singleton()->GetPluginInfoByPath( | 101 is_loaded = webkit::npapi::PluginList::Singleton()->GetPluginInfoByPath( |
102 pdf_path_, &info); | 102 pdf_path_, &info); |
103 } | 103 } |
104 EXPECT_EQ(want_loaded, is_loaded); | 104 EXPECT_EQ(want_loaded, is_loaded); |
105 *out_is_enabled = webkit::npapi::IsPluginEnabled(info); | 105 *out_is_enabled = webkit::IsPluginEnabled(info); |
106 } | 106 } |
107 | 107 |
108 protected: | 108 protected: |
109 MessageLoopForIO message_loop_; | 109 MessageLoopForIO message_loop_; |
110 net::URLRequestJobFactory job_factory_; | 110 net::URLRequestJobFactory job_factory_; |
111 scoped_refptr<TestURLRequestContext> request_context_; | 111 scoped_refptr<TestURLRequestContext> request_context_; |
112 TestDelegate test_delegate_; | 112 TestDelegate test_delegate_; |
113 FilePath pdf_path_; | 113 FilePath pdf_path_; |
114 }; | 114 }; |
115 | 115 |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 request.Start(); | 189 request.Start(); |
190 MessageLoop::current()->Run(); | 190 MessageLoop::current()->Run(); |
191 EXPECT_EQ(1, test_delegate_.received_redirect_count()); | 191 EXPECT_EQ(1, test_delegate_.received_redirect_count()); |
192 EXPECT_EQ(GURL("http://docs.google.com/gview?url=http%3A//foo.com/file.ppt"), | 192 EXPECT_EQ(GURL("http://docs.google.com/gview?url=http%3A//foo.com/file.ppt"), |
193 request.url()); | 193 request.url()); |
194 } | 194 } |
195 | 195 |
196 } // namespace | 196 } // namespace |
197 | 197 |
198 } // namespace chromeos | 198 } // namespace chromeos |
OLD | NEW |