| OLD | NEW |
| 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 <string> | 5 #include <string> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/at_exit.h" | 8 #include "base/at_exit.h" |
| 9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
| 10 #include "chrome/browser/chrome_plugin_service_filter.h" | 10 #include "chrome/browser/chrome_plugin_service_filter.h" |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 const char kHtmlUrl[] = "http://foo.com/index.html"; | 38 const char kHtmlUrl[] = "http://foo.com/index.html"; |
| 39 const char kPdfBlob[] = "blob:blobinternal:///d17c4eef-28e7-42bd-bafa-78d5cb8"; | 39 const char kPdfBlob[] = "blob:blobinternal:///d17c4eef-28e7-42bd-bafa-78d5cb8"; |
| 40 | 40 |
| 41 const char kPdfUrlIntercepted[] = | 41 const char kPdfUrlIntercepted[] = |
| 42 "http://docs.google.com/gview?url=http%3A//foo.com/file.pdf"; | 42 "http://docs.google.com/gview?url=http%3A//foo.com/file.pdf"; |
| 43 const char kPptUrlIntercepted[] = | 43 const char kPptUrlIntercepted[] = |
| 44 "http://docs.google.com/gview?url=http%3A//foo.com/file.ppt"; | 44 "http://docs.google.com/gview?url=http%3A//foo.com/file.ppt"; |
| 45 | 45 |
| 46 class GViewURLRequestTestJob : public net::URLRequestTestJob { | 46 class GViewURLRequestTestJob : public net::URLRequestTestJob { |
| 47 public: | 47 public: |
| 48 explicit GViewURLRequestTestJob(net::URLRequest* request) | 48 GViewURLRequestTestJob(net::URLRequest* request, |
| 49 : net::URLRequestTestJob(request, true) { | 49 net::NetworkDelegate* network_delegate) |
| 50 : net::URLRequestTestJob(request, network_delegate, true) { |
| 50 } | 51 } |
| 51 | 52 |
| 52 virtual bool GetMimeType(std::string* mime_type) const { | 53 virtual bool GetMimeType(std::string* mime_type) const { |
| 53 // During the course of a single test, two URLRequestJobs are | 54 // During the course of a single test, two URLRequestJobs are |
| 54 // created -- the first is for the viewable document URL, and the | 55 // created -- the first is for the viewable document URL, and the |
| 55 // second is for the rediected URL. In order to test the | 56 // second is for the rediected URL. In order to test the |
| 56 // interceptor, the mime type of the first request must be one of | 57 // interceptor, the mime type of the first request must be one of |
| 57 // the supported viewable mime types. So when the net::URLRequestJob | 58 // the supported viewable mime types. So when the net::URLRequestJob |
| 58 // is a request for one of the test URLs that point to viewable | 59 // is a request for one of the test URLs that point to viewable |
| 59 // content, return an appropraite mime type. Otherwise, return | 60 // content, return an appropraite mime type. Otherwise, return |
| (...skipping 12 matching lines...) Expand all Loading... |
| 72 private: | 73 private: |
| 73 ~GViewURLRequestTestJob() {} | 74 ~GViewURLRequestTestJob() {} |
| 74 }; | 75 }; |
| 75 | 76 |
| 76 class GViewRequestProtocolFactory | 77 class GViewRequestProtocolFactory |
| 77 : public net::URLRequestJobFactory::ProtocolHandler { | 78 : public net::URLRequestJobFactory::ProtocolHandler { |
| 78 public: | 79 public: |
| 79 GViewRequestProtocolFactory() {} | 80 GViewRequestProtocolFactory() {} |
| 80 virtual ~GViewRequestProtocolFactory() {} | 81 virtual ~GViewRequestProtocolFactory() {} |
| 81 | 82 |
| 82 virtual net::URLRequestJob* MaybeCreateJob(net::URLRequest* request) const { | 83 virtual net::URLRequestJob* MaybeCreateJob( |
| 83 return new GViewURLRequestTestJob(request); | 84 net::URLRequest* request, net::NetworkDelegate* network_delegate) const { |
| 85 return new GViewURLRequestTestJob(request, network_delegate); |
| 84 } | 86 } |
| 85 }; | 87 }; |
| 86 | 88 |
| 87 class GViewRequestInterceptorTest : public testing::Test { | 89 class GViewRequestInterceptorTest : public testing::Test { |
| 88 public: | 90 public: |
| 89 GViewRequestInterceptorTest() | 91 GViewRequestInterceptorTest() |
| 90 : ui_thread_(BrowserThread::UI, &message_loop_), | 92 : ui_thread_(BrowserThread::UI, &message_loop_), |
| 91 file_thread_(BrowserThread::FILE, &message_loop_), | 93 file_thread_(BrowserThread::FILE, &message_loop_), |
| 92 io_thread_(BrowserThread::IO, &message_loop_), | 94 io_thread_(BrowserThread::IO, &message_loop_), |
| 93 plugin_list_(NULL, 0) {} | 95 plugin_list_(NULL, 0) {} |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 277 SetupRequest(&request); | 279 SetupRequest(&request); |
| 278 request.Start(); | 280 request.Start(); |
| 279 MessageLoop::current()->Run(); | 281 MessageLoop::current()->Run(); |
| 280 EXPECT_EQ(0, test_delegate_.received_redirect_count()); | 282 EXPECT_EQ(0, test_delegate_.received_redirect_count()); |
| 281 EXPECT_EQ(GURL(kPdfBlob), request.url()); | 283 EXPECT_EQ(GURL(kPdfBlob), request.url()); |
| 282 } | 284 } |
| 283 | 285 |
| 284 } // namespace | 286 } // namespace |
| 285 | 287 |
| 286 } // namespace chromeos | 288 } // namespace chromeos |
| OLD | NEW |